summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Baumann <abaumann@yahoo.com>2010-04-29 20:14:59 +0200
committerAndreas Baumann <abaumann@yahoo.com>2010-04-29 20:14:59 +0200
commit202993df722a3a9a8b6e70454a07e3c4c9c17c4b (patch)
treeffba495d6f8cf63a2d64b80eeca9d12d7def19f5
parenta8208e10d8f313e07e0b2cc72048fa511567e391 (diff)
downloadtvisiontest-202993df722a3a9a8b6e70454a07e3c4c9c17c4b.tar.gz
tvisiontest-202993df722a3a9a8b6e70454a07e3c4c9c17c4b.tar.bz2
added the freebsd version, renamed rhtvision
-rw-r--r--freebsdtvision/Announce18
-rw-r--r--freebsdtvision/COPYRIGHT33
-rw-r--r--freebsdtvision/ChangeLog183
-rw-r--r--freebsdtvision/INSTALL182
-rw-r--r--freebsdtvision/Makefile.am13
-rw-r--r--freebsdtvision/Makefile.in545
-rw-r--r--freebsdtvision/README50
-rw-r--r--freebsdtvision/TODO45
-rw-r--r--freebsdtvision/acinclude.m43704
-rw-r--r--freebsdtvision/aclocal.m44447
-rw-r--r--freebsdtvision/color-xterm.ti42
-rw-r--r--freebsdtvision/config.h.in91
-rwxr-xr-xfreebsdtvision/configure9995
-rw-r--r--freebsdtvision/configure.in98
-rw-r--r--freebsdtvision/demo/DEMOHELP.H32bin0 -> 16243 bytes
-rw-r--r--freebsdtvision/demo/Makefile.am14
-rw-r--r--freebsdtvision/demo/Makefile.in443
-rw-r--r--freebsdtvision/demo/ascii.cc305
-rw-r--r--freebsdtvision/demo/ascii.h145
-rw-r--r--freebsdtvision/demo/calc.cc346
-rw-r--r--freebsdtvision/demo/calc.h117
-rw-r--r--freebsdtvision/demo/calendar.cc293
-rw-r--r--freebsdtvision/demo/calendar.h94
-rw-r--r--freebsdtvision/demo/demohelp.h40
-rw-r--r--freebsdtvision/demo/fileview.cc178
-rw-r--r--freebsdtvision/demo/fileview.h88
-rw-r--r--freebsdtvision/demo/gadgets.cc160
-rw-r--r--freebsdtvision/demo/gadgets.h57
-rw-r--r--freebsdtvision/demo/mousedlg.cc147
-rw-r--r--freebsdtvision/demo/mousedlg.h (renamed from tvision/examples/demo/mousedlg.h)0
-rw-r--r--freebsdtvision/demo/puzzle.cc354
-rw-r--r--freebsdtvision/demo/puzzle.h101
-rw-r--r--freebsdtvision/demo/tvcmds.h25
-rw-r--r--freebsdtvision/demo/tvdemo.h58
-rw-r--r--freebsdtvision/demo/tvdemo1.cc286
-rw-r--r--freebsdtvision/demo/tvdemo2.cc354
-rw-r--r--freebsdtvision/demo/tvdemo3.cc218
-rw-r--r--freebsdtvision/doc/Doxyfile993
-rw-r--r--freebsdtvision/doc/Makefile.am56
-rw-r--r--freebsdtvision/doc/Makefile.in334
-rw-r--r--freebsdtvision/doc/example.gif.inbin0 -> 9544 bytes
-rw-r--r--freebsdtvision/doc/html/annotated.html149
-rw-r--r--freebsdtvision/doc/html/app_8h-source.html315
-rw-r--r--freebsdtvision/doc/html/app_8h.html445
-rw-r--r--freebsdtvision/doc/html/buffers_8h-source.html73
-rw-r--r--freebsdtvision/doc/html/buffers_8h.html57
-rw-r--r--freebsdtvision/doc/html/classMsgBoxText-members.html23
-rw-r--r--freebsdtvision/doc/html/classMsgBoxText.html234
-rw-r--r--freebsdtvision/doc/html/classTApplication-members.html206
-rw-r--r--freebsdtvision/doc/html/classTApplication.html233
-rw-r--r--freebsdtvision/doc/html/classTApplication.pngbin0 -> 1410 bytes
-rw-r--r--freebsdtvision/doc/html/classTBackground-members.html124
-rw-r--r--freebsdtvision/doc/html/classTBackground.html341
-rw-r--r--freebsdtvision/doc/html/classTBackground.pngbin0 -> 612 bytes
-rw-r--r--freebsdtvision/doc/html/classTBufListEntry-members.html18
-rw-r--r--freebsdtvision/doc/html/classTBufListEntry.html29
-rw-r--r--freebsdtvision/doc/html/classTButton-members.html132
-rw-r--r--freebsdtvision/doc/html/classTButton.html705
-rw-r--r--freebsdtvision/doc/html/classTButton.pngbin0 -> 568 bytes
-rw-r--r--freebsdtvision/doc/html/classTChDirDialog-members.html176
-rw-r--r--freebsdtvision/doc/html/classTChDirDialog.html484
-rw-r--r--freebsdtvision/doc/html/classTChDirDialog.pngbin0 -> 1250 bytes
-rw-r--r--freebsdtvision/doc/html/classTCheckBoxes-members.html138
-rw-r--r--freebsdtvision/doc/html/classTCheckBoxes.html295
-rw-r--r--freebsdtvision/doc/html/classTCheckBoxes.pngbin0 -> 729 bytes
-rw-r--r--freebsdtvision/doc/html/classTCluster-members.html136
-rw-r--r--freebsdtvision/doc/html/classTCluster.html955
-rw-r--r--freebsdtvision/doc/html/classTCluster.pngbin0 -> 1340 bytes
-rw-r--r--freebsdtvision/doc/html/classTCollection-members.html50
-rw-r--r--freebsdtvision/doc/html/classTCollection.html235
-rw-r--r--freebsdtvision/doc/html/classTCollection.pngbin0 -> 1932 bytes
-rw-r--r--freebsdtvision/doc/html/classTColorDialog-members.html188
-rw-r--r--freebsdtvision/doc/html/classTColorDialog.html727
-rw-r--r--freebsdtvision/doc/html/classTColorDialog.pngbin0 -> 1201 bytes
-rw-r--r--freebsdtvision/doc/html/classTColorDisplay-members.html127
-rw-r--r--freebsdtvision/doc/html/classTColorDisplay.html421
-rw-r--r--freebsdtvision/doc/html/classTColorDisplay.pngbin0 -> 630 bytes
-rw-r--r--freebsdtvision/doc/html/classTColorGroup-members.html23
-rw-r--r--freebsdtvision/doc/html/classTColorGroup.html297
-rw-r--r--freebsdtvision/doc/html/classTColorGroupList-members.html144
-rw-r--r--freebsdtvision/doc/html/classTColorGroupList.html543
-rw-r--r--freebsdtvision/doc/html/classTColorGroupList.pngbin0 -> 784 bytes
-rw-r--r--freebsdtvision/doc/html/classTColorIndex-members.html18
-rw-r--r--freebsdtvision/doc/html/classTColorIndex.html103
-rw-r--r--freebsdtvision/doc/html/classTColorItem-members.html22
-rw-r--r--freebsdtvision/doc/html/classTColorItem.html271
-rw-r--r--freebsdtvision/doc/html/classTColorItemList-members.html139
-rw-r--r--freebsdtvision/doc/html/classTColorItemList.html323
-rw-r--r--freebsdtvision/doc/html/classTColorItemList.pngbin0 -> 750 bytes
-rw-r--r--freebsdtvision/doc/html/classTColorSelector-members.html129
-rw-r--r--freebsdtvision/doc/html/classTColorSelector.html425
-rw-r--r--freebsdtvision/doc/html/classTColorSelector.pngbin0 -> 624 bytes
-rw-r--r--freebsdtvision/doc/html/classTCommandSet-members.html33
-rw-r--r--freebsdtvision/doc/html/classTCommandSet.html650
-rw-r--r--freebsdtvision/doc/html/classTCrossRef-members.html19
-rw-r--r--freebsdtvision/doc/html/classTCrossRef.html139
-rw-r--r--freebsdtvision/doc/html/classTDeskInit-members.html17
-rw-r--r--freebsdtvision/doc/html/classTDeskInit.html94
-rw-r--r--freebsdtvision/doc/html/classTDeskInit.pngbin0 -> 344 bytes
-rw-r--r--freebsdtvision/doc/html/classTDeskTop-members.html166
-rw-r--r--freebsdtvision/doc/html/classTDeskTop.html448
-rw-r--r--freebsdtvision/doc/html/classTDeskTop.pngbin0 -> 939 bytes
-rw-r--r--freebsdtvision/doc/html/classTDialog-members.html173
-rw-r--r--freebsdtvision/doc/html/classTDialog.html301
-rw-r--r--freebsdtvision/doc/html/classTDialog.pngbin0 -> 1789 bytes
-rw-r--r--freebsdtvision/doc/html/classTDirCollection-members.html59
-rw-r--r--freebsdtvision/doc/html/classTDirCollection.html534
-rw-r--r--freebsdtvision/doc/html/classTDirCollection.pngbin0 -> 935 bytes
-rw-r--r--freebsdtvision/doc/html/classTDirEntry-members.html19
-rw-r--r--freebsdtvision/doc/html/classTDirEntry.html170
-rw-r--r--freebsdtvision/doc/html/classTDirListBox-members.html151
-rw-r--r--freebsdtvision/doc/html/classTDirListBox.html553
-rw-r--r--freebsdtvision/doc/html/classTDirListBox.pngbin0 -> 821 bytes
-rw-r--r--freebsdtvision/doc/html/classTDisplay-members.html20
-rw-r--r--freebsdtvision/doc/html/classTDisplay.html68
-rw-r--r--freebsdtvision/doc/html/classTDisplay.pngbin0 -> 446 bytes
-rw-r--r--freebsdtvision/doc/html/classTDrawBuffer-members.html24
-rw-r--r--freebsdtvision/doc/html/classTDrawBuffer.html358
-rw-r--r--freebsdtvision/doc/html/classTEditWindow-members.html174
-rw-r--r--freebsdtvision/doc/html/classTEditWindow.html412
-rw-r--r--freebsdtvision/doc/html/classTEditWindow.pngbin0 -> 1120 bytes
-rw-r--r--freebsdtvision/doc/html/classTEditor-members.html207
-rw-r--r--freebsdtvision/doc/html/classTEditor.html3191
-rw-r--r--freebsdtvision/doc/html/classTEditor.pngbin0 -> 777 bytes
-rw-r--r--freebsdtvision/doc/html/classTEventQueue-members.html17
-rw-r--r--freebsdtvision/doc/html/classTEventQueue.html88
-rw-r--r--freebsdtvision/doc/html/classTFileCollection-members.html66
-rw-r--r--freebsdtvision/doc/html/classTFileCollection.html533
-rw-r--r--freebsdtvision/doc/html/classTFileCollection.pngbin0 -> 2085 bytes
-rw-r--r--freebsdtvision/doc/html/classTFileDialog-members.html181
-rw-r--r--freebsdtvision/doc/html/classTFileDialog.html629
-rw-r--r--freebsdtvision/doc/html/classTFileDialog.pngbin0 -> 1194 bytes
-rw-r--r--freebsdtvision/doc/html/classTFileEditor-members.html214
-rw-r--r--freebsdtvision/doc/html/classTFileEditor.html640
-rw-r--r--freebsdtvision/doc/html/classTFileEditor.pngbin0 -> 694 bytes
-rw-r--r--freebsdtvision/doc/html/classTFileInfoPane-members.html123
-rw-r--r--freebsdtvision/doc/html/classTFileInfoPane.html260
-rw-r--r--freebsdtvision/doc/html/classTFileInfoPane.pngbin0 -> 622 bytes
-rw-r--r--freebsdtvision/doc/html/classTFileInputLine-members.html134
-rw-r--r--freebsdtvision/doc/html/classTFileInputLine.html209
-rw-r--r--freebsdtvision/doc/html/classTFileInputLine.pngbin0 -> 741 bytes
-rw-r--r--freebsdtvision/doc/html/classTFileList-members.html152
-rw-r--r--freebsdtvision/doc/html/classTFileList.html564
-rw-r--r--freebsdtvision/doc/html/classTFileList.pngbin0 -> 976 bytes
-rw-r--r--freebsdtvision/doc/html/classTFilterValidator-members.html35
-rw-r--r--freebsdtvision/doc/html/classTFilterValidator.html399
-rw-r--r--freebsdtvision/doc/html/classTFilterValidator.pngbin0 -> 845 bytes
-rw-r--r--freebsdtvision/doc/html/classTFrame-members.html127
-rw-r--r--freebsdtvision/doc/html/classTFrame.html407
-rw-r--r--freebsdtvision/doc/html/classTFrame.pngbin0 -> 579 bytes
-rw-r--r--freebsdtvision/doc/html/classTGroup-members.html155
-rw-r--r--freebsdtvision/doc/html/classTGroup.html1809
-rw-r--r--freebsdtvision/doc/html/classTGroup.pngbin0 -> 2549 bytes
-rw-r--r--freebsdtvision/doc/html/classTHelpFile-members.html28
-rw-r--r--freebsdtvision/doc/html/classTHelpFile.html317
-rw-r--r--freebsdtvision/doc/html/classTHelpFile.pngbin0 -> 329 bytes
-rw-r--r--freebsdtvision/doc/html/classTHelpIndex-members.html29
-rw-r--r--freebsdtvision/doc/html/classTHelpIndex.html372
-rw-r--r--freebsdtvision/doc/html/classTHelpIndex.pngbin0 -> 483 bytes
-rw-r--r--freebsdtvision/doc/html/classTHelpTopic-members.html37
-rw-r--r--freebsdtvision/doc/html/classTHelpTopic.html641
-rw-r--r--freebsdtvision/doc/html/classTHelpTopic.pngbin0 -> 479 bytes
-rw-r--r--freebsdtvision/doc/html/classTHelpViewer-members.html140
-rw-r--r--freebsdtvision/doc/html/classTHelpViewer.html407
-rw-r--r--freebsdtvision/doc/html/classTHelpViewer.pngbin0 -> 731 bytes
-rw-r--r--freebsdtvision/doc/html/classTHelpWindow-members.html172
-rw-r--r--freebsdtvision/doc/html/classTHelpWindow.html109
-rw-r--r--freebsdtvision/doc/html/classTHelpWindow.pngbin0 -> 1119 bytes
-rw-r--r--freebsdtvision/doc/html/classTHistInit-members.html17
-rw-r--r--freebsdtvision/doc/html/classTHistInit.html94
-rw-r--r--freebsdtvision/doc/html/classTHistInit.pngbin0 -> 375 bytes
-rw-r--r--freebsdtvision/doc/html/classTHistory-members.html128
-rw-r--r--freebsdtvision/doc/html/classTHistory.html512
-rw-r--r--freebsdtvision/doc/html/classTHistory.pngbin0 -> 591 bytes
-rw-r--r--freebsdtvision/doc/html/classTHistoryViewer-members.html139
-rw-r--r--freebsdtvision/doc/html/classTHistoryViewer.html265
-rw-r--r--freebsdtvision/doc/html/classTHistoryViewer.pngbin0 -> 791 bytes
-rw-r--r--freebsdtvision/doc/html/classTHistoryWindow-members.html177
-rw-r--r--freebsdtvision/doc/html/classTHistoryWindow.html223
-rw-r--r--freebsdtvision/doc/html/classTHistoryWindow.pngbin0 -> 1635 bytes
-rw-r--r--freebsdtvision/doc/html/classTIndicator-members.html128
-rw-r--r--freebsdtvision/doc/html/classTIndicator.html405
-rw-r--r--freebsdtvision/doc/html/classTIndicator.pngbin0 -> 583 bytes
-rw-r--r--freebsdtvision/doc/html/classTInputLine-members.html132
-rw-r--r--freebsdtvision/doc/html/classTInputLine.html783
-rw-r--r--freebsdtvision/doc/html/classTInputLine.pngbin0 -> 762 bytes
-rw-r--r--freebsdtvision/doc/html/classTLabel-members.html130
-rw-r--r--freebsdtvision/doc/html/classTLabel.html434
-rw-r--r--freebsdtvision/doc/html/classTLabel.pngbin0 -> 701 bytes
-rw-r--r--freebsdtvision/doc/html/classTListBox-members.html142
-rw-r--r--freebsdtvision/doc/html/classTListBox.html538
-rw-r--r--freebsdtvision/doc/html/classTListBox.pngbin0 -> 1088 bytes
-rw-r--r--freebsdtvision/doc/html/classTListViewer-members.html136
-rw-r--r--freebsdtvision/doc/html/classTListViewer.html875
-rw-r--r--freebsdtvision/doc/html/classTListViewer.pngbin0 -> 1843 bytes
-rw-r--r--freebsdtvision/doc/html/classTLookupValidator-members.html34
-rw-r--r--freebsdtvision/doc/html/classTLookupValidator.html235
-rw-r--r--freebsdtvision/doc/html/classTLookupValidator.pngbin0 -> 1084 bytes
-rw-r--r--freebsdtvision/doc/html/classTMemo-members.html209
-rw-r--r--freebsdtvision/doc/html/classTMemo.html417
-rw-r--r--freebsdtvision/doc/html/classTMemo.pngbin0 -> 664 bytes
-rw-r--r--freebsdtvision/doc/html/classTMenu-members.html21
-rw-r--r--freebsdtvision/doc/html/classTMenu.html226
-rw-r--r--freebsdtvision/doc/html/classTMenuBar-members.html135
-rw-r--r--freebsdtvision/doc/html/classTMenuBar.html311
-rw-r--r--freebsdtvision/doc/html/classTMenuBar.pngbin0 -> 723 bytes
-rw-r--r--freebsdtvision/doc/html/classTMenuBox-members.html134
-rw-r--r--freebsdtvision/doc/html/classTMenuBox.html271
-rw-r--r--freebsdtvision/doc/html/classTMenuBox.pngbin0 -> 852 bytes
-rw-r--r--freebsdtvision/doc/html/classTMenuItem-members.html27
-rw-r--r--freebsdtvision/doc/html/classTMenuItem.html427
-rw-r--r--freebsdtvision/doc/html/classTMenuItem.pngbin0 -> 358 bytes
-rw-r--r--freebsdtvision/doc/html/classTMenuPopup-members.html133
-rw-r--r--freebsdtvision/doc/html/classTMenuPopup.html67
-rw-r--r--freebsdtvision/doc/html/classTMenuPopup.pngbin0 -> 855 bytes
-rw-r--r--freebsdtvision/doc/html/classTMenuView-members.html131
-rw-r--r--freebsdtvision/doc/html/classTMenuView.html659
-rw-r--r--freebsdtvision/doc/html/classTMenuView.pngbin0 -> 958 bytes
-rw-r--r--freebsdtvision/doc/html/classTMonoSelector-members.html139
-rw-r--r--freebsdtvision/doc/html/classTMonoSelector.html359
-rw-r--r--freebsdtvision/doc/html/classTMonoSelector.pngbin0 -> 743 bytes
-rw-r--r--freebsdtvision/doc/html/classTMultiCheckBoxes-members.html139
-rw-r--r--freebsdtvision/doc/html/classTMultiCheckBoxes.html475
-rw-r--r--freebsdtvision/doc/html/classTMultiCheckBoxes.pngbin0 -> 800 bytes
-rw-r--r--freebsdtvision/doc/html/classTNSCollection-members.html45
-rw-r--r--freebsdtvision/doc/html/classTNSCollection.html1102
-rw-r--r--freebsdtvision/doc/html/classTNSCollection.pngbin0 -> 3008 bytes
-rw-r--r--freebsdtvision/doc/html/classTNSSortedCollection-members.html50
-rw-r--r--freebsdtvision/doc/html/classTNSSortedCollection.html296
-rw-r--r--freebsdtvision/doc/html/classTNSSortedCollection.pngbin0 -> 2104 bytes
-rw-r--r--freebsdtvision/doc/html/classTNode-members.html22
-rw-r--r--freebsdtvision/doc/html/classTNode.html258
-rw-r--r--freebsdtvision/doc/html/classTObject-members.html18
-rw-r--r--freebsdtvision/doc/html/classTObject.html155
-rw-r--r--freebsdtvision/doc/html/classTObject.pngbin0 -> 1411 bytes
-rw-r--r--freebsdtvision/doc/html/classTOutline-members.html161
-rw-r--r--freebsdtvision/doc/html/classTOutline.html621
-rw-r--r--freebsdtvision/doc/html/classTOutline.pngbin0 -> 845 bytes
-rw-r--r--freebsdtvision/doc/html/classTOutlineViewer-members.html155
-rw-r--r--freebsdtvision/doc/html/classTOutlineViewer.html1106
-rw-r--r--freebsdtvision/doc/html/classTOutlineViewer.pngbin0 -> 870 bytes
-rw-r--r--freebsdtvision/doc/html/classTPReadObjects-members.html45
-rw-r--r--freebsdtvision/doc/html/classTPReadObjects.html72
-rw-r--r--freebsdtvision/doc/html/classTPReadObjects.pngbin0 -> 506 bytes
-rw-r--r--freebsdtvision/doc/html/classTPWObj-members.html15
-rw-r--r--freebsdtvision/doc/html/classTPWObj.html29
-rw-r--r--freebsdtvision/doc/html/classTPWrittenObjects-members.html49
-rw-r--r--freebsdtvision/doc/html/classTPWrittenObjects.html73
-rw-r--r--freebsdtvision/doc/html/classTPWrittenObjects.pngbin0 -> 844 bytes
-rw-r--r--freebsdtvision/doc/html/classTPXPictureValidator-members.html36
-rw-r--r--freebsdtvision/doc/html/classTPXPictureValidator.html501
-rw-r--r--freebsdtvision/doc/html/classTPXPictureValidator.pngbin0 -> 752 bytes
-rw-r--r--freebsdtvision/doc/html/classTPalette-members.html21
-rw-r--r--freebsdtvision/doc/html/classTPalette.html221
-rw-r--r--freebsdtvision/doc/html/classTParagraph-members.html20
-rw-r--r--freebsdtvision/doc/html/classTParagraph.html164
-rw-r--r--freebsdtvision/doc/html/classTParamText-members.html132
-rw-r--r--freebsdtvision/doc/html/classTParamText.html390
-rw-r--r--freebsdtvision/doc/html/classTParamText.pngbin0 -> 741 bytes
-rw-r--r--freebsdtvision/doc/html/classTPoint-members.html23
-rw-r--r--freebsdtvision/doc/html/classTPoint.html316
-rw-r--r--freebsdtvision/doc/html/classTProgInit-members.html19
-rw-r--r--freebsdtvision/doc/html/classTProgInit.html162
-rw-r--r--freebsdtvision/doc/html/classTProgInit.pngbin0 -> 448 bytes
-rw-r--r--freebsdtvision/doc/html/classTProgram-members.html181
-rw-r--r--freebsdtvision/doc/html/classTProgram.html973
-rw-r--r--freebsdtvision/doc/html/classTProgram.pngbin0 -> 1099 bytes
-rw-r--r--freebsdtvision/doc/html/classTRadioButtons-members.html138
-rw-r--r--freebsdtvision/doc/html/classTRadioButtons.html365
-rw-r--r--freebsdtvision/doc/html/classTRadioButtons.pngbin0 -> 738 bytes
-rw-r--r--freebsdtvision/doc/html/classTRangeValidator-members.html39
-rw-r--r--freebsdtvision/doc/html/classTRangeValidator.html413
-rw-r--r--freebsdtvision/doc/html/classTRangeValidator.pngbin0 -> 821 bytes
-rw-r--r--freebsdtvision/doc/html/classTRect-members.html28
-rw-r--r--freebsdtvision/doc/html/classTRect.html531
-rw-r--r--freebsdtvision/doc/html/classTResourceCollection-members.html62
-rw-r--r--freebsdtvision/doc/html/classTResourceCollection.html211
-rw-r--r--freebsdtvision/doc/html/classTResourceCollection.pngbin0 -> 2372 bytes
-rw-r--r--freebsdtvision/doc/html/classTResourceFile-members.html32
-rw-r--r--freebsdtvision/doc/html/classTResourceFile.html459
-rw-r--r--freebsdtvision/doc/html/classTResourceFile.pngbin0 -> 358 bytes
-rw-r--r--freebsdtvision/doc/html/classTSItem-members.html19
-rw-r--r--freebsdtvision/doc/html/classTSItem.html163
-rw-r--r--freebsdtvision/doc/html/classTScreen-members.html41
-rw-r--r--freebsdtvision/doc/html/classTScreen.html689
-rw-r--r--freebsdtvision/doc/html/classTScreen.pngbin0 -> 446 bytes
-rw-r--r--freebsdtvision/doc/html/classTScrollBar-members.html140
-rw-r--r--freebsdtvision/doc/html/classTScrollBar.html870
-rw-r--r--freebsdtvision/doc/html/classTScrollBar.pngbin0 -> 603 bytes
-rw-r--r--freebsdtvision/doc/html/classTScroller-members.html133
-rw-r--r--freebsdtvision/doc/html/classTScroller.html732
-rw-r--r--freebsdtvision/doc/html/classTScroller.pngbin0 -> 1454 bytes
-rw-r--r--freebsdtvision/doc/html/classTSortedCollection-members.html57
-rw-r--r--freebsdtvision/doc/html/classTSortedCollection.html219
-rw-r--r--freebsdtvision/doc/html/classTSortedCollection.pngbin0 -> 2415 bytes
-rw-r--r--freebsdtvision/doc/html/classTSortedListBox-members.html146
-rw-r--r--freebsdtvision/doc/html/classTSortedListBox.html352
-rw-r--r--freebsdtvision/doc/html/classTSortedListBox.pngbin0 -> 994 bytes
-rw-r--r--freebsdtvision/doc/html/classTStaticText-members.html126
-rw-r--r--freebsdtvision/doc/html/classTStaticText.html407
-rw-r--r--freebsdtvision/doc/html/classTStaticText.pngbin0 -> 827 bytes
-rw-r--r--freebsdtvision/doc/html/classTStatusDef-members.html20
-rw-r--r--freebsdtvision/doc/html/classTStatusDef.html188
-rw-r--r--freebsdtvision/doc/html/classTStatusItem-members.html21
-rw-r--r--freebsdtvision/doc/html/classTStatusItem.html225
-rw-r--r--freebsdtvision/doc/html/classTStatusLine-members.html129
-rw-r--r--freebsdtvision/doc/html/classTStatusLine.html505
-rw-r--r--freebsdtvision/doc/html/classTStatusLine.pngbin0 -> 613 bytes
-rw-r--r--freebsdtvision/doc/html/classTStrIndexRec-members.html19
-rw-r--r--freebsdtvision/doc/html/classTStrIndexRec.html137
-rw-r--r--freebsdtvision/doc/html/classTStrListMaker-members.html25
-rw-r--r--freebsdtvision/doc/html/classTStrListMaker.html278
-rw-r--r--freebsdtvision/doc/html/classTStrListMaker.pngbin0 -> 525 bytes
-rw-r--r--freebsdtvision/doc/html/classTStreamable-members.html19
-rw-r--r--freebsdtvision/doc/html/classTStreamable.html137
-rw-r--r--freebsdtvision/doc/html/classTStreamable.pngbin0 -> 9443 bytes
-rw-r--r--freebsdtvision/doc/html/classTStreamableClass-members.html16
-rw-r--r--freebsdtvision/doc/html/classTStreamableClass.html92
-rw-r--r--freebsdtvision/doc/html/classTStreamableTypes-members.html55
-rw-r--r--freebsdtvision/doc/html/classTStreamableTypes.html229
-rw-r--r--freebsdtvision/doc/html/classTStreamableTypes.pngbin0 -> 503 bytes
-rw-r--r--freebsdtvision/doc/html/classTStringCollection-members.html60
-rw-r--r--freebsdtvision/doc/html/classTStringCollection.html182
-rw-r--r--freebsdtvision/doc/html/classTStringCollection.pngbin0 -> 2430 bytes
-rw-r--r--freebsdtvision/doc/html/classTStringList-members.html25
-rw-r--r--freebsdtvision/doc/html/classTStringList.html264
-rw-r--r--freebsdtvision/doc/html/classTStringList.pngbin0 -> 499 bytes
-rw-r--r--freebsdtvision/doc/html/classTStringLookupValidator-members.html39
-rw-r--r--freebsdtvision/doc/html/classTStringLookupValidator.html377
-rw-r--r--freebsdtvision/doc/html/classTStringLookupValidator.pngbin0 -> 1023 bytes
-rw-r--r--freebsdtvision/doc/html/classTSubMenu-members.html28
-rw-r--r--freebsdtvision/doc/html/classTSubMenu.html84
-rw-r--r--freebsdtvision/doc/html/classTSubMenu.pngbin0 -> 354 bytes
-rw-r--r--freebsdtvision/doc/html/classTTerminal-members.html149
-rw-r--r--freebsdtvision/doc/html/classTTerminal.html541
-rw-r--r--freebsdtvision/doc/html/classTTerminal.pngbin0 -> 822 bytes
-rw-r--r--freebsdtvision/doc/html/classTTextDevice-members.html135
-rw-r--r--freebsdtvision/doc/html/classTTextDevice.html134
-rw-r--r--freebsdtvision/doc/html/classTTextDevice.pngbin0 -> 837 bytes
-rw-r--r--freebsdtvision/doc/html/classTVMemMgr-members.html22
-rw-r--r--freebsdtvision/doc/html/classTVMemMgr.html265
-rw-r--r--freebsdtvision/doc/html/classTValidator-members.html31
-rw-r--r--freebsdtvision/doc/html/classTValidator.html522
-rw-r--r--freebsdtvision/doc/html/classTValidator.pngbin0 -> 1630 bytes
-rw-r--r--freebsdtvision/doc/html/classTView-members.html121
-rw-r--r--freebsdtvision/doc/html/classTView.html3612
-rw-r--r--freebsdtvision/doc/html/classTView.pngbin0 -> 2869 bytes
-rw-r--r--freebsdtvision/doc/html/classTWindow-members.html171
-rw-r--r--freebsdtvision/doc/html/classTWindow.html840
-rw-r--r--freebsdtvision/doc/html/classTWindow.pngbin0 -> 2295 bytes
-rw-r--r--freebsdtvision/doc/html/classTWindowInit-members.html17
-rw-r--r--freebsdtvision/doc/html/classTWindowInit.html102
-rw-r--r--freebsdtvision/doc/html/classTWindowInit.pngbin0 -> 1430 bytes
-rw-r--r--freebsdtvision/doc/html/classTerminalBuf-members.html19
-rw-r--r--freebsdtvision/doc/html/classTerminalBuf.html149
-rw-r--r--freebsdtvision/doc/html/classes.html55
-rw-r--r--freebsdtvision/doc/html/classfpbase-members.html53
-rw-r--r--freebsdtvision/doc/html/classfpbase.html394
-rw-r--r--freebsdtvision/doc/html/classfpbase.pngbin0 -> 744 bytes
-rw-r--r--freebsdtvision/doc/html/classfpstream-members.html121
-rw-r--r--freebsdtvision/doc/html/classfpstream.html299
-rw-r--r--freebsdtvision/doc/html/classfpstream.pngbin0 -> 985 bytes
-rw-r--r--freebsdtvision/doc/html/classifpstream-members.html88
-rw-r--r--freebsdtvision/doc/html/classifpstream.html296
-rw-r--r--freebsdtvision/doc/html/classifpstream.pngbin0 -> 785 bytes
-rw-r--r--freebsdtvision/doc/html/classiopstream-members.html106
-rw-r--r--freebsdtvision/doc/html/classiopstream.html129
-rw-r--r--freebsdtvision/doc/html/classiopstream.pngbin0 -> 828 bytes
-rw-r--r--freebsdtvision/doc/html/classipstream-members.html73
-rw-r--r--freebsdtvision/doc/html/classipstream.html1108
-rw-r--r--freebsdtvision/doc/html/classipstream.pngbin0 -> 769 bytes
-rw-r--r--freebsdtvision/doc/html/classofpstream-members.html88
-rw-r--r--freebsdtvision/doc/html/classofpstream.html296
-rw-r--r--freebsdtvision/doc/html/classofpstream.pngbin0 -> 775 bytes
-rw-r--r--freebsdtvision/doc/html/classopstream-members.html73
-rw-r--r--freebsdtvision/doc/html/classopstream.html1098
-rw-r--r--freebsdtvision/doc/html/classopstream.pngbin0 -> 764 bytes
-rw-r--r--freebsdtvision/doc/html/classotstream-members.html17
-rw-r--r--freebsdtvision/doc/html/classotstream.html85
-rw-r--r--freebsdtvision/doc/html/classpstream-members.html43
-rw-r--r--freebsdtvision/doc/html/classpstream.html728
-rw-r--r--freebsdtvision/doc/html/classpstream.pngbin0 -> 1504 bytes
-rw-r--r--freebsdtvision/doc/html/colorsel_8h-source.html384
-rw-r--r--freebsdtvision/doc/html/colorsel_8h.html1147
-rw-r--r--freebsdtvision/doc/html/dialogs_8h-source.html878
-rw-r--r--freebsdtvision/doc/html/dialogs_8h.html2158
-rw-r--r--freebsdtvision/doc/html/doxygen.css49
-rw-r--r--freebsdtvision/doc/html/doxygen.pngbin0 -> 2352 bytes
-rw-r--r--freebsdtvision/doc/html/drawbuf_8h-source.html66
-rw-r--r--freebsdtvision/doc/html/drawbuf_8h.html27
-rw-r--r--freebsdtvision/doc/html/editors_8h-source.html467
-rw-r--r--freebsdtvision/doc/html/editors_8h.html1396
-rw-r--r--freebsdtvision/doc/html/example.gifbin0 -> 9544 bytes
-rw-r--r--freebsdtvision/doc/html/files.html41
-rw-r--r--freebsdtvision/doc/html/functions.html868
-rw-r--r--freebsdtvision/doc/html/globals.html236
-rw-r--r--freebsdtvision/doc/html/help_8h-source.html76
-rw-r--r--freebsdtvision/doc/html/help_8h.html95
-rw-r--r--freebsdtvision/doc/html/helpbase_8h-source.html160
-rw-r--r--freebsdtvision/doc/html/helpbase_8h.html483
-rw-r--r--freebsdtvision/doc/html/hierarchy.html244
-rw-r--r--freebsdtvision/doc/html/index.html44
-rw-r--r--freebsdtvision/doc/html/menus_8h-source.html469
-rw-r--r--freebsdtvision/doc/html/menus_8h.html892
-rw-r--r--freebsdtvision/doc/html/msgbox_8h-source.html81
-rw-r--r--freebsdtvision/doc/html/msgbox_8h.html342
-rw-r--r--freebsdtvision/doc/html/objects_8h-source.html238
-rw-r--r--freebsdtvision/doc/html/objects_8h.html707
-rw-r--r--freebsdtvision/doc/html/outline_8h-source.html191
-rw-r--r--freebsdtvision/doc/html/outline_8h.html197
-rw-r--r--freebsdtvision/doc/html/resource_8h-source.html224
-rw-r--r--freebsdtvision/doc/html/resource_8h.html697
-rw-r--r--freebsdtvision/doc/html/stddlg_8h-source.html610
-rw-r--r--freebsdtvision/doc/html/stddlg_8h.html1534
-rw-r--r--freebsdtvision/doc/html/structCharScanType-members.html17
-rw-r--r--freebsdtvision/doc/html/structCharScanType.html86
-rw-r--r--freebsdtvision/doc/html/structKeyDownEvent-members.html18
-rw-r--r--freebsdtvision/doc/html/structKeyDownEvent.html132
-rw-r--r--freebsdtvision/doc/html/structMessageEvent-members.html22
-rw-r--r--freebsdtvision/doc/html/structMessageEvent.html215
-rw-r--r--freebsdtvision/doc/html/structMouseEventType-members.html19
-rw-r--r--freebsdtvision/doc/html/structMouseEventType.html174
-rw-r--r--freebsdtvision/doc/html/structTEvent-members.html19
-rw-r--r--freebsdtvision/doc/html/structTEvent.html166
-rw-r--r--freebsdtvision/doc/html/structTFindDialogRec-members.html18
-rw-r--r--freebsdtvision/doc/html/structTFindDialogRec.html128
-rw-r--r--freebsdtvision/doc/html/structTListBoxRec-members.html17
-rw-r--r--freebsdtvision/doc/html/structTListBoxRec.html79
-rw-r--r--freebsdtvision/doc/html/structTMemoData-members.html17
-rw-r--r--freebsdtvision/doc/html/structTMemoData.html81
-rw-r--r--freebsdtvision/doc/html/structTReplaceDialogRec-members.html19
-rw-r--r--freebsdtvision/doc/html/structTReplaceDialogRec.html161
-rw-r--r--freebsdtvision/doc/html/structTResourceItem-members.html18
-rw-r--r--freebsdtvision/doc/html/structTResourceItem.html106
-rw-r--r--freebsdtvision/doc/html/structTSearchRec-members.html19
-rw-r--r--freebsdtvision/doc/html/structTSearchRec.html132
-rw-r--r--freebsdtvision/doc/html/structfLink-members.html17
-rw-r--r--freebsdtvision/doc/html/structfLink.html81
-rw-r--r--freebsdtvision/doc/html/structftime-members.html21
-rw-r--r--freebsdtvision/doc/html/structftime.html181
-rw-r--r--freebsdtvision/doc/html/system_8h-source.html187
-rw-r--r--freebsdtvision/doc/html/system_8h.html309
-rw-r--r--freebsdtvision/doc/html/textview_8h-source.html108
-rw-r--r--freebsdtvision/doc/html/textview_8h.html31
-rw-r--r--freebsdtvision/doc/html/tkeys_8h-source.html103
-rw-r--r--freebsdtvision/doc/html/tkeys_8h.html24
-rw-r--r--freebsdtvision/doc/html/tobjstrm_8h-source.html511
-rw-r--r--freebsdtvision/doc/html/tobjstrm_8h.html135
-rw-r--r--freebsdtvision/doc/html/ttypes_8h-source.html58
-rw-r--r--freebsdtvision/doc/html/ttypes_8h.html345
-rw-r--r--freebsdtvision/doc/html/tv_8h-source.html710
-rw-r--r--freebsdtvision/doc/html/tv_8h.html24
-rw-r--r--freebsdtvision/doc/html/tvconfig_8h-source.html41
-rw-r--r--freebsdtvision/doc/html/tvconfig_8h.html143
-rw-r--r--freebsdtvision/doc/html/tvision.html1193
-rw-r--r--freebsdtvision/doc/html/tvobjs_8h-source.html117
-rw-r--r--freebsdtvision/doc/html/tvobjs_8h.html31
-rw-r--r--freebsdtvision/doc/html/util_8h-source.html79
-rw-r--r--freebsdtvision/doc/html/util_8h.html834
-rw-r--r--freebsdtvision/doc/html/validate_8h-source.html277
-rw-r--r--freebsdtvision/doc/html/validate_8h.html859
-rw-r--r--freebsdtvision/doc/html/views_8h-source.html909
-rw-r--r--freebsdtvision/doc/html/views_8h.html2880
-rw-r--r--freebsdtvision/doc/index.html.in44
-rw-r--r--freebsdtvision/doc/texinfo.tex5992
-rw-r--r--freebsdtvision/doc/tvision.info679
-rw-r--r--freebsdtvision/doc/tvision.texi653
-rw-r--r--freebsdtvision/lib/Makefile.am43
-rw-r--r--freebsdtvision/lib/Makefile.in810
-rw-r--r--freebsdtvision/lib/TApplication.cc48
-rw-r--r--freebsdtvision/lib/TBackground.cc65
-rw-r--r--freebsdtvision/lib/TButton.cc323
-rw-r--r--freebsdtvision/lib/TChDirDialog.cc220
-rw-r--r--freebsdtvision/lib/TCheckBoxes.cc42
-rw-r--r--freebsdtvision/lib/TCluster.cc466
-rw-r--r--freebsdtvision/lib/TCollection.cc233
-rw-r--r--freebsdtvision/lib/TCommandSet.cc108
-rw-r--r--freebsdtvision/lib/TDeskTop.cc258
-rw-r--r--freebsdtvision/lib/TDialog.cc113
-rw-r--r--freebsdtvision/lib/TDirCollection.cc104
-rw-r--r--freebsdtvision/lib/TDirListBox.cc197
-rw-r--r--freebsdtvision/lib/TEditWindow.cc120
-rw-r--r--freebsdtvision/lib/TEditor.cc1144
-rw-r--r--freebsdtvision/lib/TFileCollection.cc65
-rw-r--r--freebsdtvision/lib/TFileDialog.cc335
-rw-r--r--freebsdtvision/lib/TFileEditor.cc303
-rw-r--r--freebsdtvision/lib/TFileList.cc246
-rw-r--r--freebsdtvision/lib/TFrame.cc205
-rw-r--r--freebsdtvision/lib/TGroup.cc1137
-rw-r--r--freebsdtvision/lib/THistory.cc150
-rw-r--r--freebsdtvision/lib/THistoryViewer.cc85
-rw-r--r--freebsdtvision/lib/THistoryWindow.cc53
-rw-r--r--freebsdtvision/lib/TIndicator.cc102
-rw-r--r--freebsdtvision/lib/TInputLine.cc517
-rw-r--r--freebsdtvision/lib/TLabel.cc195
-rw-r--r--freebsdtvision/lib/TListBox.cc102
-rw-r--r--freebsdtvision/lib/TListViewer.cc429
-rw-r--r--freebsdtvision/lib/TMemo.cc105
-rw-r--r--freebsdtvision/lib/TMenuBar.cc115
-rw-r--r--freebsdtvision/lib/TMenuBox.cc148
-rw-r--r--freebsdtvision/lib/TMenuPopup.cc46
-rw-r--r--freebsdtvision/lib/TMenuView.cc592
-rw-r--r--freebsdtvision/lib/TMultiCheckBoxes.cc102
-rw-r--r--freebsdtvision/lib/TObject.cc56
-rw-r--r--freebsdtvision/lib/TOutline.cc737
-rw-r--r--freebsdtvision/lib/TParamText.cc116
-rw-r--r--freebsdtvision/lib/TPoint.cc39
-rw-r--r--freebsdtvision/lib/TProgram.cc365
-rw-r--r--freebsdtvision/lib/TRadioButtons.cc53
-rw-r--r--freebsdtvision/lib/TResourceCollection.cc59
-rw-r--r--freebsdtvision/lib/TResourceFile.cc247
-rw-r--r--freebsdtvision/lib/TScrollBar.cc364
-rw-r--r--freebsdtvision/lib/TScroller.cc188
-rw-r--r--freebsdtvision/lib/TSortedCollection.cc100
-rw-r--r--freebsdtvision/lib/TStaticText.cc161
-rw-r--r--freebsdtvision/lib/TStatusLine.cc327
-rw-r--r--freebsdtvision/lib/TStrListMaker.cc150
-rw-r--r--freebsdtvision/lib/TStringCollection.cc47
-rw-r--r--freebsdtvision/lib/TValidator.cc846
-rw-r--r--freebsdtvision/lib/TView.cc832
-rw-r--r--freebsdtvision/lib/TWindow.cc260
-rw-r--r--freebsdtvision/lib/allnames.cc129
-rw-r--r--freebsdtvision/lib/app.h954
-rw-r--r--freebsdtvision/lib/asm.cc897
-rw-r--r--freebsdtvision/lib/colorsel.cc919
-rw-r--r--freebsdtvision/lib/colorsel.h999
-rw-r--r--freebsdtvision/lib/dialogs.h2411
-rw-r--r--freebsdtvision/lib/drawbuf.h135
-rw-r--r--freebsdtvision/lib/drivers.cc234
-rw-r--r--freebsdtvision/lib/editors.h1534
-rw-r--r--freebsdtvision/lib/editstat.cc25
-rw-r--r--freebsdtvision/lib/help.cc272
-rw-r--r--freebsdtvision/lib/help.h117
-rw-r--r--freebsdtvision/lib/helpbase.cc644
-rw-r--r--freebsdtvision/lib/helpbase.h341
-rw-r--r--freebsdtvision/lib/histlist.cc190
-rw-r--r--freebsdtvision/lib/menu.cc77
-rw-r--r--freebsdtvision/lib/menus.h980
-rw-r--r--freebsdtvision/lib/misc.cc76
-rw-r--r--freebsdtvision/lib/msgbox.cc180
-rw-r--r--freebsdtvision/lib/msgbox.h155
-rw-r--r--freebsdtvision/lib/myendian.h55
-rw-r--r--freebsdtvision/lib/objects.h531
-rw-r--r--freebsdtvision/lib/outline.h511
-rw-r--r--freebsdtvision/lib/palette.cc53
-rw-r--r--freebsdtvision/lib/resource.h548
-rw-r--r--freebsdtvision/lib/sall.cc381
-rw-r--r--freebsdtvision/lib/stddlg.cc324
-rw-r--r--freebsdtvision/lib/stddlg.h1498
-rw-r--r--freebsdtvision/lib/system.cc2379
-rw-r--r--freebsdtvision/lib/system.h622
-rw-r--r--freebsdtvision/lib/textview.cc313
-rw-r--r--freebsdtvision/lib/textview.h224
-rw-r--r--freebsdtvision/lib/tkeys.h93
-rw-r--r--freebsdtvision/lib/tobjstrm.cc1024
-rw-r--r--freebsdtvision/lib/tobjstrm.h640
-rw-r--r--freebsdtvision/lib/ttypes.h100
-rw-r--r--freebsdtvision/lib/tv.h694
-rw-r--r--freebsdtvision/lib/tvconfig.h50
-rw-r--r--freebsdtvision/lib/tvobjs.h436
-rw-r--r--freebsdtvision/lib/tvtext.cc237
-rw-r--r--freebsdtvision/lib/util.h201
-rw-r--r--freebsdtvision/lib/validate.h933
-rw-r--r--freebsdtvision/lib/views.h3320
-rw-r--r--freebsdtvision/tutorial/Makefile.am37
-rw-r--r--freebsdtvision/tutorial/Makefile.in675
-rw-r--r--freebsdtvision/tutorial/README68
-rw-r--r--freebsdtvision/tutorial/background.cc29
-rw-r--r--freebsdtvision/tutorial/basicMakefile72
-rw-r--r--freebsdtvision/tutorial/listbox.cc160
-rw-r--r--freebsdtvision/tutorial/load.cc270
-rw-r--r--freebsdtvision/tutorial/nomenus.cc191
-rw-r--r--freebsdtvision/tutorial/splash.cc92
-rw-r--r--freebsdtvision/tutorial/tvedit.cc466
-rw-r--r--freebsdtvision/tutorial/tvguid01.cc40
-rw-r--r--freebsdtvision/tutorial/tvguid02.cc57
-rw-r--r--freebsdtvision/tutorial/tvguid03.cc79
-rw-r--r--freebsdtvision/tutorial/tvguid04.cc146
-rw-r--r--freebsdtvision/tutorial/tvguid05.cc169
-rw-r--r--freebsdtvision/tutorial/tvguid06.cc215
-rw-r--r--freebsdtvision/tutorial/tvguid07.cc226
-rw-r--r--freebsdtvision/tutorial/tvguid08.cc248
-rw-r--r--freebsdtvision/tutorial/tvguid09.cc278
-rw-r--r--freebsdtvision/tutorial/tvguid10.cc290
-rw-r--r--freebsdtvision/tutorial/tvguid11.cc314
-rw-r--r--freebsdtvision/tutorial/tvguid12.cc311
-rw-r--r--freebsdtvision/tutorial/tvguid13.cc318
-rw-r--r--freebsdtvision/tutorial/tvguid14.cc338
-rw-r--r--freebsdtvision/tutorial/tvguid15.cc344
-rw-r--r--freebsdtvision/tutorial/tvguid16.cc374
-rw-r--r--freebsdtvision/tutorial/tvlife.cc947
-rw-r--r--freebsdtvision/tutorial/validator.cc137
-rw-r--r--freebsdtvision/tvhc/DEMOHELP.TXT505
-rw-r--r--freebsdtvision/tvhc/Makefile.am11
-rw-r--r--freebsdtvision/tvhc/Makefile.in423
-rw-r--r--freebsdtvision/tvhc/README83
-rw-r--r--freebsdtvision/tvhc/tvhc.cc999
-rw-r--r--freebsdtvision/tvhc/tvhc.h113
-rwxr-xr-xfreebsdtvision/util/config.guess1363
-rwxr-xr-xfreebsdtvision/util/config.sub1470
-rwxr-xr-xfreebsdtvision/util/depcomp464
-rwxr-xr-xfreebsdtvision/util/install-sh276
-rw-r--r--freebsdtvision/util/ltmain.sh5062
-rwxr-xr-xfreebsdtvision/util/missing336
-rwxr-xr-xfreebsdtvision/util/mkinstalldirs111
-rw-r--r--rhtvision/INSTALL.txt (renamed from tvision/INSTALL.txt)0
-rw-r--r--rhtvision/Makefile.bcc (renamed from tvision/Makefile.bcc)0
-rw-r--r--rhtvision/Makefile.in (renamed from tvision/Makefile.in)0
-rw-r--r--rhtvision/Makefile.nmk (renamed from tvision/Makefile.nmk)0
-rw-r--r--rhtvision/Makefile.wat (renamed from tvision/Makefile.wat)0
-rw-r--r--rhtvision/THANKS (renamed from tvision/THANKS)0
-rw-r--r--rhtvision/TODO (renamed from tvision/TODO)0
-rw-r--r--rhtvision/borland.txt (renamed from tvision/borland.txt)0
-rw-r--r--rhtvision/change.log (renamed from tvision/change.log)0
-rw-r--r--rhtvision/change1.log (renamed from tvision/change1.log)0
-rw-r--r--rhtvision/classes/alcon/alcon.cc (renamed from tvision/classes/alcon/alcon.cc)0
-rw-r--r--rhtvision/classes/alcon/alcondis.cc (renamed from tvision/classes/alcon/alcondis.cc)0
-rw-r--r--rhtvision/classes/alcon/alconkey.cc (renamed from tvision/classes/alcon/alconkey.cc)0
-rw-r--r--rhtvision/classes/alcon/alconmouse.cc (renamed from tvision/classes/alcon/alconmouse.cc)0
-rw-r--r--rhtvision/classes/alcon/alconscr.cc (renamed from tvision/classes/alcon/alconscr.cc)0
-rw-r--r--rhtvision/classes/calcdisp.cc (renamed from tvision/classes/calcdisp.cc)0
-rw-r--r--rhtvision/classes/calculat.cc (renamed from tvision/classes/calculat.cc)0
-rw-r--r--rhtvision/classes/codepage.cc (renamed from tvision/classes/codepage.cc)0
-rw-r--r--rhtvision/classes/configfile.cc (renamed from tvision/classes/configfile.cc)0
-rw-r--r--rhtvision/classes/dos/dosdis.cc (renamed from tvision/classes/dos/dosdis.cc)0
-rw-r--r--rhtvision/classes/dos/doskey.cc (renamed from tvision/classes/dos/doskey.cc)0
-rw-r--r--rhtvision/classes/dos/dosmouse.cc (renamed from tvision/classes/dos/dosmouse.cc)0
-rw-r--r--rhtvision/classes/dos/dosscr.cc (renamed from tvision/classes/dos/dosscr.cc)0
-rw-r--r--rhtvision/classes/dos/rhscreen.cc (renamed from tvision/classes/dos/rhscreen.cc)0
-rw-r--r--rhtvision/classes/dos/screen.cc (renamed from tvision/classes/dos/screen.cc)0
-rw-r--r--rhtvision/classes/dos/sescreen.cc (renamed from tvision/classes/dos/sescreen.cc)0
-rw-r--r--rhtvision/classes/dos/vesa.cc (renamed from tvision/classes/dos/vesa.cc)0
-rw-r--r--rhtvision/classes/dos/vga.cc (renamed from tvision/classes/dos/vga.cc)0
-rw-r--r--rhtvision/classes/dos/vgaregs.c (renamed from tvision/classes/dos/vgaregs.c)0
-rw-r--r--rhtvision/classes/dos/vgaregs.h (renamed from tvision/classes/dos/vgaregs.h)0
-rw-r--r--rhtvision/classes/dos/vgastate.c (renamed from tvision/classes/dos/vgastate.c)0
-rw-r--r--rhtvision/classes/dos/vgastate.h (renamed from tvision/classes/dos/vgastate.h)0
-rw-r--r--rhtvision/classes/fontcoll.cc (renamed from tvision/classes/fontcoll.cc)0
-rw-r--r--rhtvision/classes/fpbase.cc (renamed from tvision/classes/fpbase.cc)0
-rw-r--r--rhtvision/classes/fpstream.cc (renamed from tvision/classes/fpstream.cc)0
-rw-r--r--rhtvision/classes/help.cc (renamed from tvision/classes/help.cc)0
-rw-r--r--rhtvision/classes/helpbase.cc (renamed from tvision/classes/helpbase.cc)0
-rw-r--r--rhtvision/classes/ifpstrea.cc (renamed from tvision/classes/ifpstrea.cc)0
-rw-r--r--rhtvision/classes/iopstrea.cc (renamed from tvision/classes/iopstrea.cc)0
-rw-r--r--rhtvision/classes/ipstream.cc (renamed from tvision/classes/ipstream.cc)0
-rw-r--r--rhtvision/classes/linux/linuxdis.cc (renamed from tvision/classes/linux/linuxdis.cc)0
-rw-r--r--rhtvision/classes/linux/linuxkey.cc (renamed from tvision/classes/linux/linuxkey.cc)0
-rw-r--r--rhtvision/classes/linux/linuxmouse.cc (renamed from tvision/classes/linux/linuxmouse.cc)0
-rw-r--r--rhtvision/classes/linux/linuxscr.cc (renamed from tvision/classes/linux/linuxscr.cc)0
-rw-r--r--rhtvision/classes/ofpstrea.cc (renamed from tvision/classes/ofpstrea.cc)0
-rw-r--r--rhtvision/classes/opstream.cc (renamed from tvision/classes/opstream.cc)0
-rw-r--r--rhtvision/classes/osclipboard.cc (renamed from tvision/classes/osclipboard.cc)0
-rw-r--r--rhtvision/classes/pstream.cc (renamed from tvision/classes/pstream.cc)0
-rw-r--r--rhtvision/classes/qnx4/qnx4dis.cc (renamed from tvision/classes/qnx4/qnx4dis.cc)0
-rw-r--r--rhtvision/classes/qnx4/qnx4key.cc (renamed from tvision/classes/qnx4/qnx4key.cc)0
-rw-r--r--rhtvision/classes/qnx4/qnx4mouse.cc (renamed from tvision/classes/qnx4/qnx4mouse.cc)0
-rw-r--r--rhtvision/classes/qnx4/qnx4scr.cc (renamed from tvision/classes/qnx4/qnx4scr.cc)0
-rw-r--r--rhtvision/classes/qnxrtp/qnxdis.cc (renamed from tvision/classes/qnxrtp/qnxdis.cc)0
-rw-r--r--rhtvision/classes/qnxrtp/qnxkey.cc (renamed from tvision/classes/qnxrtp/qnxkey.cc)0
-rw-r--r--rhtvision/classes/qnxrtp/qnxmouse.cc (renamed from tvision/classes/qnxrtp/qnxmouse.cc)0
-rw-r--r--rhtvision/classes/qnxrtp/qnxscr.cc (renamed from tvision/classes/qnxrtp/qnxscr.cc)0
-rw-r--r--rhtvision/classes/tapplica.cc (renamed from tvision/classes/tapplica.cc)0
-rw-r--r--rhtvision/classes/tbackgro.cc (renamed from tvision/classes/tbackgro.cc)0
-rw-r--r--rhtvision/classes/tbutton.cc (renamed from tvision/classes/tbutton.cc)0
-rw-r--r--rhtvision/classes/tchdirdi.cc (renamed from tvision/classes/tchdirdi.cc)0
-rw-r--r--rhtvision/classes/tcheckbo.cc (renamed from tvision/classes/tcheckbo.cc)0
-rw-r--r--rhtvision/classes/tclrdisp.cc (renamed from tvision/classes/tclrdisp.cc)0
-rw-r--r--rhtvision/classes/tcluster.cc (renamed from tvision/classes/tcluster.cc)0
-rw-r--r--rhtvision/classes/tcollect.cc (renamed from tvision/classes/tcollect.cc)0
-rw-r--r--rhtvision/classes/tcolordi.cc (renamed from tvision/classes/tcolordi.cc)0
-rw-r--r--rhtvision/classes/tcolorgr.cc (renamed from tvision/classes/tcolorgr.cc)0
-rw-r--r--rhtvision/classes/tcolorit.cc (renamed from tvision/classes/tcolorit.cc)0
-rw-r--r--rhtvision/classes/tcolorse.cc (renamed from tvision/classes/tcolorse.cc)0
-rw-r--r--rhtvision/classes/tcommand.cc (renamed from tvision/classes/tcommand.cc)0
-rw-r--r--rhtvision/classes/tdesktop.cc (renamed from tvision/classes/tdesktop.cc)0
-rw-r--r--rhtvision/classes/tdialog.cc (renamed from tvision/classes/tdialog.cc)0
-rw-r--r--rhtvision/classes/tdircoll.cc (renamed from tvision/classes/tdircoll.cc)0
-rw-r--r--rhtvision/classes/tdirlist.cc (renamed from tvision/classes/tdirlist.cc)0
-rw-r--r--rhtvision/classes/tdisplay.cc (renamed from tvision/classes/tdisplay.cc)0
-rw-r--r--rhtvision/classes/tdrawbuf.cc (renamed from tvision/classes/tdrawbuf.cc)0
-rw-r--r--rhtvision/classes/teditor.cc (renamed from tvision/classes/teditor.cc)0
-rw-r--r--rhtvision/classes/teditorf.cc (renamed from tvision/classes/teditorf.cc)0
-rw-r--r--rhtvision/classes/teditwin.cc (renamed from tvision/classes/teditwin.cc)0
-rw-r--r--rhtvision/classes/tevent.cc (renamed from tvision/classes/tevent.cc)0
-rw-r--r--rhtvision/classes/tfilecol.cc (renamed from tvision/classes/tfilecol.cc)0
-rw-r--r--rhtvision/classes/tfiledia.cc (renamed from tvision/classes/tfiledia.cc)0
-rw-r--r--rhtvision/classes/tfileedi.cc (renamed from tvision/classes/tfileedi.cc)0
-rw-r--r--rhtvision/classes/tfileinf.cc (renamed from tvision/classes/tfileinf.cc)0
-rw-r--r--rhtvision/classes/tfileinp.cc (renamed from tvision/classes/tfileinp.cc)0
-rw-r--r--rhtvision/classes/tfilelis.cc (renamed from tvision/classes/tfilelis.cc)0
-rw-r--r--rhtvision/classes/tfilterv.cc (renamed from tvision/classes/tfilterv.cc)0
-rw-r--r--rhtvision/classes/tframe.cc (renamed from tvision/classes/tframe.cc)0
-rw-r--r--rhtvision/classes/tgkey.cc (renamed from tvision/classes/tgkey.cc)0
-rw-r--r--rhtvision/classes/tgroup.cc (renamed from tvision/classes/tgroup.cc)0
-rw-r--r--rhtvision/classes/thistory.cc (renamed from tvision/classes/thistory.cc)0
-rw-r--r--rhtvision/classes/thistvie.cc (renamed from tvision/classes/thistvie.cc)0
-rw-r--r--rhtvision/classes/thistwin.cc (renamed from tvision/classes/thistwin.cc)0
-rw-r--r--rhtvision/classes/thwmouse.cc (renamed from tvision/classes/thwmouse.cc)0
-rw-r--r--rhtvision/classes/tindicat.cc (renamed from tvision/classes/tindicat.cc)0
-rw-r--r--rhtvision/classes/tinputli.cc (renamed from tvision/classes/tinputli.cc)0
-rw-r--r--rhtvision/classes/tlabel.cc (renamed from tvision/classes/tlabel.cc)0
-rw-r--r--rhtvision/classes/tlistbox.cc (renamed from tvision/classes/tlistbox.cc)0
-rw-r--r--rhtvision/classes/tlistvie.cc (renamed from tvision/classes/tlistvie.cc)0
-rw-r--r--rhtvision/classes/tlookupv.cc (renamed from tvision/classes/tlookupv.cc)0
-rw-r--r--rhtvision/classes/tmemo.cc (renamed from tvision/classes/tmemo.cc)0
-rw-r--r--rhtvision/classes/tmenubar.cc (renamed from tvision/classes/tmenubar.cc)0
-rw-r--r--rhtvision/classes/tmenubox.cc (renamed from tvision/classes/tmenubox.cc)0
-rw-r--r--rhtvision/classes/tmenuvie.cc (renamed from tvision/classes/tmenuvie.cc)0
-rw-r--r--rhtvision/classes/tmonosel.cc (renamed from tvision/classes/tmonosel.cc)0
-rw-r--r--rhtvision/classes/tmouse.cc (renamed from tvision/classes/tmouse.cc)0
-rw-r--r--rhtvision/classes/tnscolle.cc (renamed from tvision/classes/tnscolle.cc)0
-rw-r--r--rhtvision/classes/tnssorte.cc (renamed from tvision/classes/tnssorte.cc)0
-rw-r--r--rhtvision/classes/tobject.cc (renamed from tvision/classes/tobject.cc)0
-rw-r--r--rhtvision/classes/tpalette.cc (renamed from tvision/classes/tpalette.cc)0
-rw-r--r--rhtvision/classes/tparamte.cc (renamed from tvision/classes/tparamte.cc)0
-rw-r--r--rhtvision/classes/tpoint.cc (renamed from tvision/classes/tpoint.cc)0
-rw-r--r--rhtvision/classes/tprogini.cc (renamed from tvision/classes/tprogini.cc)0
-rw-r--r--rhtvision/classes/tprogram.cc (renamed from tvision/classes/tprogram.cc)0
-rw-r--r--rhtvision/classes/tpwobj.cc (renamed from tvision/classes/tpwobj.cc)0
-rw-r--r--rhtvision/classes/tpwreado.cc (renamed from tvision/classes/tpwreado.cc)0
-rw-r--r--rhtvision/classes/tpwritte.cc (renamed from tvision/classes/tpwritte.cc)0
-rw-r--r--rhtvision/classes/tpxvalid.cc (renamed from tvision/classes/tpxvalid.cc)0
-rw-r--r--rhtvision/classes/tradiobu.cc (renamed from tvision/classes/tradiobu.cc)0
-rw-r--r--rhtvision/classes/trangeva.cc (renamed from tvision/classes/trangeva.cc)0
-rw-r--r--rhtvision/classes/trescoll.cc (renamed from tvision/classes/trescoll.cc)0
-rw-r--r--rhtvision/classes/tresfile.cc (renamed from tvision/classes/tresfile.cc)0
-rw-r--r--rhtvision/classes/tscreen.cc (renamed from tvision/classes/tscreen.cc)0
-rw-r--r--rhtvision/classes/tscrollb.cc (renamed from tvision/classes/tscrollb.cc)0
-rw-r--r--rhtvision/classes/tscrolle.cc (renamed from tvision/classes/tscrolle.cc)0
-rw-r--r--rhtvision/classes/tsortedc.cc (renamed from tvision/classes/tsortedc.cc)0
-rw-r--r--rhtvision/classes/tsortedl.cc (renamed from tvision/classes/tsortedl.cc)0
-rw-r--r--rhtvision/classes/tstatict.cc (renamed from tvision/classes/tstatict.cc)0
-rw-r--r--rhtvision/classes/tstatusd.cc (renamed from tvision/classes/tstatusd.cc)0
-rw-r--r--rhtvision/classes/tstatusl.cc (renamed from tvision/classes/tstatusl.cc)0
-rw-r--r--rhtvision/classes/tstrinde.cc (renamed from tvision/classes/tstrinde.cc)0
-rw-r--r--rhtvision/classes/tstringc.cc (renamed from tvision/classes/tstringc.cc)0
-rw-r--r--rhtvision/classes/tstringl.cc (renamed from tvision/classes/tstringl.cc)0
-rw-r--r--rhtvision/classes/tstrlist.cc (renamed from tvision/classes/tstrlist.cc)0
-rw-r--r--rhtvision/classes/tstrmcla.cc (renamed from tvision/classes/tstrmcla.cc)0
-rw-r--r--rhtvision/classes/tstrmtyp.cc (renamed from tvision/classes/tstrmtyp.cc)0
-rw-r--r--rhtvision/classes/tsubmenu.cc (renamed from tvision/classes/tsubmenu.cc)0
-rw-r--r--rhtvision/classes/ttermina.cc (renamed from tvision/classes/ttermina.cc)0
-rw-r--r--rhtvision/classes/ttextdev.cc (renamed from tvision/classes/ttextdev.cc)0
-rw-r--r--rhtvision/classes/tvalidat.cc (renamed from tvision/classes/tvalidat.cc)0
-rw-r--r--rhtvision/classes/tvedit1.cc (renamed from tvision/classes/tvedit1.cc)0
-rw-r--r--rhtvision/classes/tvedit2.cc (renamed from tvision/classes/tvedit2.cc)0
-rw-r--r--rhtvision/classes/tvedit3.cc (renamed from tvision/classes/tvedit3.cc)0
-rw-r--r--rhtvision/classes/tview.cc (renamed from tvision/classes/tview.cc)0
-rw-r--r--rhtvision/classes/tvintl.cc (renamed from tvision/classes/tvintl.cc)0
-rw-r--r--rhtvision/classes/tvtext1.cc (renamed from tvision/classes/tvtext1.cc)0
-rw-r--r--rhtvision/classes/tvtext2.cc (renamed from tvision/classes/tvtext2.cc)0
-rw-r--r--rhtvision/classes/twindow.cc (renamed from tvision/classes/twindow.cc)0
-rw-r--r--rhtvision/classes/unix/unixdis.cc (renamed from tvision/classes/unix/unixdis.cc)0
-rw-r--r--rhtvision/classes/unix/unixkey.cc (renamed from tvision/classes/unix/unixkey.cc)0
-rw-r--r--rhtvision/classes/unix/unixmouse.cc (renamed from tvision/classes/unix/unixmouse.cc)0
-rw-r--r--rhtvision/classes/unix/unixscr.cc (renamed from tvision/classes/unix/unixscr.cc)0
-rw-r--r--rhtvision/classes/unix/xtermdis.cc (renamed from tvision/classes/unix/xtermdis.cc)0
-rw-r--r--rhtvision/classes/unix/xtermkey.cc (renamed from tvision/classes/unix/xtermkey.cc)0
-rw-r--r--rhtvision/classes/unix/xtermmouse.cc (renamed from tvision/classes/unix/xtermmouse.cc)0
-rw-r--r--rhtvision/classes/unix/xtermscr.cc (renamed from tvision/classes/unix/xtermscr.cc)0
-rw-r--r--rhtvision/classes/win32/win32clip.cc (renamed from tvision/classes/win32/win32clip.cc)0
-rw-r--r--rhtvision/classes/win32/win32dis.cc (renamed from tvision/classes/win32/win32dis.cc)0
-rw-r--r--rhtvision/classes/win32/win32key.cc (renamed from tvision/classes/win32/win32key.cc)0
-rw-r--r--rhtvision/classes/win32/win32mouse.cc (renamed from tvision/classes/win32/win32mouse.cc)0
-rw-r--r--rhtvision/classes/win32/win32scr.cc (renamed from tvision/classes/win32/win32scr.cc)0
-rw-r--r--rhtvision/classes/wingr/wingrdis.cc (renamed from tvision/classes/wingr/wingrdis.cc)0
-rw-r--r--rhtvision/classes/wingr/wingrkey.cc (renamed from tvision/classes/wingr/wingrkey.cc)0
-rw-r--r--rhtvision/classes/wingr/wingrmouse.cc (renamed from tvision/classes/wingr/wingrmouse.cc)0
-rw-r--r--rhtvision/classes/wingr/wingrscr.cc (renamed from tvision/classes/wingr/wingrscr.cc)0
-rw-r--r--rhtvision/classes/winnt/winntdis.cc (renamed from tvision/classes/winnt/winntdis.cc)0
-rw-r--r--rhtvision/classes/winnt/winntkey.cc (renamed from tvision/classes/winnt/winntkey.cc)0
-rw-r--r--rhtvision/classes/winnt/winntmouse.cc (renamed from tvision/classes/winnt/winntmouse.cc)0
-rw-r--r--rhtvision/classes/winnt/winntscr.cc (renamed from tvision/classes/winnt/winntscr.cc)0
-rw-r--r--rhtvision/classes/x11/x11dis.cc (renamed from tvision/classes/x11/x11dis.cc)0
-rw-r--r--rhtvision/classes/x11/x11key.cc (renamed from tvision/classes/x11/x11key.cc)0
-rw-r--r--rhtvision/classes/x11/x11mouse.cc (renamed from tvision/classes/x11/x11mouse.cc)0
-rw-r--r--rhtvision/classes/x11/x11src.cc (renamed from tvision/classes/x11/x11src.cc)0
-rw-r--r--rhtvision/compat/beep.c (renamed from tvision/compat/beep.c)0
-rw-r--r--rhtvision/compat/compat.gpr (renamed from tvision/compat/compat.gpr)bin18684 -> 18684 bytes
-rw-r--r--rhtvision/compat/compat.imk (renamed from tvision/compat/compat.imk)0
-rw-r--r--rhtvision/compat/compat.umk (renamed from tvision/compat/compat.umk)0
-rw-r--r--rhtvision/compat/drivevalid.c (renamed from tvision/compat/drivevalid.c)0
-rw-r--r--rhtvision/compat/expandpath.c (renamed from tvision/compat/expandpath.c)0
-rw-r--r--rhtvision/compat/fexpand.c (renamed from tvision/compat/fexpand.c)0
-rw-r--r--rhtvision/compat/fileattrs.c (renamed from tvision/compat/fileattrs.c)0
-rw-r--r--rhtvision/compat/fileexists.c (renamed from tvision/compat/fileexists.c)0
-rw-r--r--rhtvision/compat/filelength.c (renamed from tvision/compat/filelength.c)0
-rw-r--r--rhtvision/compat/fixpath.c (renamed from tvision/compat/fixpath.c)0
-rw-r--r--rhtvision/compat/fnmatch.c (renamed from tvision/compat/fnmatch.c)0
-rw-r--r--rhtvision/compat/getcurdir.c (renamed from tvision/compat/getcurdir.c)0
-rw-r--r--rhtvision/compat/getline.c (renamed from tvision/compat/getline.c)0
-rw-r--r--rhtvision/compat/getopt.c (renamed from tvision/compat/getopt.c)0
-rw-r--r--rhtvision/compat/getopt1.c (renamed from tvision/compat/getopt1.c)0
-rw-r--r--rhtvision/compat/getshell.c (renamed from tvision/compat/getshell.c)0
-rw-r--r--rhtvision/compat/glob.c (renamed from tvision/compat/glob.c)0
-rw-r--r--rhtvision/compat/globfree.c (renamed from tvision/compat/globfree.c)0
-rw-r--r--rhtvision/compat/iffilelen.cc (renamed from tvision/compat/iffilelen.cc)0
-rw-r--r--rhtvision/compat/isdir.c (renamed from tvision/compat/isdir.c)0
-rw-r--r--rhtvision/compat/isrelpath.c (renamed from tvision/compat/isrelpath.c)0
-rw-r--r--rhtvision/compat/iswild.c (renamed from tvision/compat/iswild.c)0
-rw-r--r--rhtvision/compat/itoa.c (renamed from tvision/compat/itoa.c)0
-rw-r--r--rhtvision/compat/mkstemp.c (renamed from tvision/compat/mkstemp.c)0
-rw-r--r--rhtvision/compat/nl_langinfo.c (renamed from tvision/compat/nl_langinfo.c)0
-rw-r--r--rhtvision/compat/ntdirent.c (renamed from tvision/compat/ntdirent.c)0
-rw-r--r--rhtvision/compat/obj/delete.me (renamed from tvision/compat/obj/delete.me)0
-rw-r--r--rhtvision/compat/pathvalid.c (renamed from tvision/compat/pathvalid.c)0
-rw-r--r--rhtvision/compat/regex.c (renamed from tvision/compat/regex.c)0
-rw-r--r--rhtvision/compat/releasec.c (renamed from tvision/compat/releasec.c)0
-rw-r--r--rhtvision/compat/snprintf.c (renamed from tvision/compat/snprintf.c)0
-rw-r--r--rhtvision/compat/ssc_streams.cc (renamed from tvision/compat/ssc_streams.cc)0
-rw-r--r--rhtvision/compat/strlwr.c (renamed from tvision/compat/strlwr.c)0
-rw-r--r--rhtvision/compat/strupr.c (renamed from tvision/compat/strupr.c)0
-rw-r--r--rhtvision/compat/ticks.c (renamed from tvision/compat/ticks.c)0
-rw-r--r--rhtvision/compat/unc.c (renamed from tvision/compat/unc.c)0
-rw-r--r--rhtvision/compat/unc_95.c (renamed from tvision/compat/unc_95.c)0
-rw-r--r--rhtvision/compat/unc_nt.c (renamed from tvision/compat/unc_nt.c)0
-rw-r--r--rhtvision/compat/validfilename.c (renamed from tvision/compat/validfilename.c)0
-rw-r--r--rhtvision/compat/yieldpro.c (renamed from tvision/compat/yieldpro.c)0
-rw-r--r--rhtvision/config.pl (renamed from tvision/config.pl)0
-rw-r--r--rhtvision/confignt.pl (renamed from tvision/confignt.pl)0
-rwxr-xr-xrhtvision/configset (renamed from tvision/configset)0
-rw-r--r--rhtvision/configset.bat (renamed from tvision/configset.bat)0
-rwxr-xr-xrhtvision/configure (renamed from tvision/configure)0
-rw-r--r--rhtvision/configure.bat (renamed from tvision/configure.bat)0
-rw-r--r--rhtvision/conflib.pl (renamed from tvision/conflib.pl)0
-rw-r--r--rhtvision/copying (renamed from tvision/copying)0
-rw-r--r--rhtvision/copying.rh (renamed from tvision/copying.rh)0
-rw-r--r--rhtvision/debian/.cvsignore (renamed from tvision/debian/.cvsignore)0
-rw-r--r--rhtvision/debian/README (renamed from tvision/debian/README)0
-rw-r--r--rhtvision/debian/README.debian (renamed from tvision/debian/README.debian)0
-rw-r--r--rhtvision/debian/buildpackage (renamed from tvision/debian/buildpackage)0
-rw-r--r--rhtvision/debian/changelog (renamed from tvision/debian/changelog)0
-rw-r--r--rhtvision/debian/control (renamed from tvision/debian/control)0
-rw-r--r--rhtvision/debian/control.in (renamed from tvision/debian/control.in)0
-rw-r--r--rhtvision/debian/copyright (renamed from tvision/debian/copyright)0
-rw-r--r--rhtvision/debian/diversions.ex (renamed from tvision/debian/diversions.ex)0
-rw-r--r--rhtvision/debian/files_to_backup (renamed from tvision/debian/files_to_backup)0
-rw-r--r--rhtvision/debian/info.ex (renamed from tvision/debian/info.ex)0
-rw-r--r--rhtvision/debian/maintainer.notes (renamed from tvision/debian/maintainer.notes)0
-rw-r--r--rhtvision/debian/rhtvision.postinst (renamed from tvision/debian/rhtvision.postinst)0
-rw-r--r--rhtvision/debian/rhtvision.postrm (renamed from tvision/debian/rhtvision.postrm)0
-rw-r--r--rhtvision/debian/rules (renamed from tvision/debian/rules)0
-rw-r--r--rhtvision/debian/shlibs.local.ex (renamed from tvision/debian/shlibs.local.ex)0
-rw-r--r--rhtvision/debian/watch.ex (renamed from tvision/debian/watch.ex)0
-rw-r--r--rhtvision/djgpp/compress.bat (renamed from tvision/djgpp/compress.bat)0
-rw-r--r--rhtvision/djgpp/compress.pl (renamed from tvision/djgpp/compress.pl)0
-rw-r--r--rhtvision/djgpp/distlist (renamed from tvision/djgpp/distlist)0
-rw-r--r--rhtvision/djgpp/sacadeb.bat (renamed from tvision/djgpp/sacadeb.bat)0
-rw-r--r--rhtvision/djgpp/tmp/delete.me (renamed from tvision/djgpp/tmp/delete.me)0
-rw-r--r--rhtvision/doc/Alcon.txt (renamed from tvision/doc/Alcon.txt)0
-rw-r--r--rhtvision/doc/CodePages.txt (renamed from tvision/doc/CodePages.txt)0
-rw-r--r--rhtvision/doc/ConfigFile.txt (renamed from tvision/doc/ConfigFile.txt)0
-rw-r--r--rhtvision/doc/DOS.txt (renamed from tvision/doc/DOS.txt)0
-rw-r--r--rhtvision/doc/Eterm.txt (renamed from tvision/doc/Eterm.txt)0
-rw-r--r--rhtvision/doc/I18n.txt (renamed from tvision/doc/I18n.txt)0
-rw-r--r--rhtvision/doc/Linux.txt (renamed from tvision/doc/Linux.txt)0
-rw-r--r--rhtvision/doc/QNX.txt (renamed from tvision/doc/QNX.txt)0
-rw-r--r--rhtvision/doc/Streams.txt (renamed from tvision/doc/Streams.txt)0
-rw-r--r--rhtvision/doc/TVReference.html (renamed from tvision/doc/TVReference.html)0
-rw-r--r--rhtvision/doc/Win32.txt (renamed from tvision/doc/Win32.txt)0
-rw-r--r--rhtvision/doc/WinGr.txt (renamed from tvision/doc/WinGr.txt)0
-rw-r--r--rhtvision/doc/X11.txt (renamed from tvision/doc/X11.txt)0
-rw-r--r--rhtvision/doc/XTerm.txt (renamed from tvision/doc/XTerm.txt)0
-rw-r--r--rhtvision/doc/html.frt (renamed from tvision/doc/html.frt)0
-rw-r--r--rhtvision/doc/install/bcc.txt (renamed from tvision/doc/install/bcc.txt)0
-rw-r--r--rhtvision/doc/install/cygwin.txt (renamed from tvision/doc/install/cygwin.txt)0
-rw-r--r--rhtvision/doc/install/djgpp.txt (renamed from tvision/doc/install/djgpp.txt)0
-rw-r--r--rhtvision/doc/install/linux.txt (renamed from tvision/doc/install/linux.txt)0
-rw-r--r--rhtvision/doc/install/mingwin.txt (renamed from tvision/doc/install/mingwin.txt)0
-rw-r--r--rhtvision/doc/install/msvc.txt (renamed from tvision/doc/install/msvc.txt)0
-rw-r--r--rhtvision/doc/install/tools.txt (renamed from tvision/doc/install/tools.txt)0
-rw-r--r--rhtvision/doc/install/unix.txt (renamed from tvision/doc/install/unix.txt)0
-rw-r--r--rhtvision/doc/install/watcom.txt (renamed from tvision/doc/install/watcom.txt)0
-rw-r--r--rhtvision/doc/libdocs.epr (renamed from tvision/doc/libdocs.epr)bin1202 -> 1202 bytes
-rwxr-xr-xrhtvision/doc/troubleshooting/Linux/1/code.cc (renamed from tvision/doc/troubleshooting/Linux/1/code.cc)0
-rwxr-xr-xrhtvision/doc/troubleshooting/Linux/1/readme.txt (renamed from tvision/doc/troubleshooting/Linux/1/readme.txt)0
-rwxr-xr-xrhtvision/doc/troubleshooting/Linux/1/test-utf8.txt (renamed from tvision/doc/troubleshooting/Linux/1/test-utf8.txt)0
-rwxr-xr-xrhtvision/doc/troubleshooting/Linux/1/test.txt (renamed from tvision/doc/troubleshooting/Linux/1/test.txt)0
-rwxr-xr-xrhtvision/doc/troubleshooting/Linux/1/utf8.cc (renamed from tvision/doc/troubleshooting/Linux/1/utf8.cc)0
-rwxr-xr-xrhtvision/doc/troubleshooting/Linux/2/readme.txt (renamed from tvision/doc/troubleshooting/Linux/2/readme.txt)0
-rwxr-xr-xrhtvision/doc/troubleshooting/Linux/3/readme.txt (renamed from tvision/doc/troubleshooting/Linux/3/readme.txt)0
-rwxr-xr-xrhtvision/doc/troubleshooting/Linux/4/readme.txt (renamed from tvision/doc/troubleshooting/Linux/4/readme.txt)0
-rwxr-xr-xrhtvision/doc/troubleshooting/Linux/4/test.cc (renamed from tvision/doc/troubleshooting/Linux/4/test.cc)0
-rwxr-xr-xrhtvision/doc/troubleshooting/Linux/readme.txt (renamed from tvision/doc/troubleshooting/Linux/readme.txt)0
-rwxr-xr-xrhtvision/doc/troubleshooting/readme.txt (renamed from tvision/doc/troubleshooting/readme.txt)0
-rw-r--r--rhtvision/drivers2.cc (renamed from tvision/drivers2.cc)0
-rw-r--r--rhtvision/dual.cc (renamed from tvision/dual.cc)0
-rw-r--r--rhtvision/examples/Makefile (renamed from tvision/examples/Makefile)0
-rw-r--r--rhtvision/examples/bhelp/.tvrc (renamed from tvision/examples/bhelp/.tvrc)0
-rw-r--r--rhtvision/examples/bhelp/bhelp.cc (renamed from tvision/examples/bhelp/bhelp.cc)0
-rw-r--r--rhtvision/examples/bhelp/bhelp.h (renamed from tvision/examples/bhelp/bhelp.h)0
-rw-r--r--rhtvision/examples/bhelp/rhide.env (renamed from tvision/examples/bhelp/rhide.env)0
-rw-r--r--rhtvision/examples/bhelp/thelp.bmk (renamed from tvision/examples/bhelp/thelp.bmk)0
-rw-r--r--rhtvision/examples/bhelp/thelp.cc (renamed from tvision/examples/bhelp/thelp.cc)0
-rw-r--r--rhtvision/examples/bhelp/thelp.gpr (renamed from tvision/examples/bhelp/thelp.gpr)bin11230 -> 11230 bytes
-rw-r--r--rhtvision/examples/bhelp/thelp.mkf (renamed from tvision/examples/bhelp/thelp.mkf)0
-rw-r--r--rhtvision/examples/bhelp/thelp.umk (renamed from tvision/examples/bhelp/thelp.umk)0
-rw-r--r--rhtvision/examples/clipboard/rhide.env (renamed from tvision/examples/clipboard/rhide.env)0
-rw-r--r--rhtvision/examples/clipboard/test.bmk (renamed from tvision/examples/clipboard/test.bmk)0
-rw-r--r--rhtvision/examples/clipboard/test.cc (renamed from tvision/examples/clipboard/test.cc)0
-rw-r--r--rhtvision/examples/clipboard/test.gpr (renamed from tvision/examples/clipboard/test.gpr)bin10994 -> 10994 bytes
-rw-r--r--rhtvision/examples/clipboard/test.mkf (renamed from tvision/examples/clipboard/test.mkf)0
-rw-r--r--rhtvision/examples/clipboard/test.umk (renamed from tvision/examples/clipboard/test.umk)0
-rw-r--r--rhtvision/examples/common.bmk (renamed from tvision/examples/common.bmk)0
-rw-r--r--rhtvision/examples/cyrillic/linuxkoi8/README (renamed from tvision/examples/cyrillic/linuxkoi8/README)0
-rw-r--r--rhtvision/examples/cyrillic/linuxkoi8/koi8-r.acm.gz (renamed from tvision/examples/cyrillic/linuxkoi8/koi8-r.acm.gz)bin994 -> 994 bytes
-rw-r--r--rhtvision/examples/cyrillic/linuxkoi8/koi8-r.psf.gz (renamed from tvision/examples/cyrillic/linuxkoi8/koi8-r.psf.gz)bin1936 -> 1936 bytes
-rw-r--r--rhtvision/examples/cyrillic/linuxkoi8/lat1-16.psf.gz (renamed from tvision/examples/cyrillic/linuxkoi8/lat1-16.psf.gz)bin1973 -> 1973 bytes
-rw-r--r--rhtvision/examples/cyrillic/linuxkoi8/rhide.env (renamed from tvision/examples/cyrillic/linuxkoi8/rhide.env)0
-rw-r--r--rhtvision/examples/cyrillic/linuxkoi8/ru1.kmap.gz (renamed from tvision/examples/cyrillic/linuxkoi8/ru1.kmap.gz)bin3489 -> 3489 bytes
-rwxr-xr-xrhtvision/examples/cyrillic/linuxkoi8/setkoi8.sh (renamed from tvision/examples/cyrillic/linuxkoi8/setkoi8.sh)0
-rwxr-xr-xrhtvision/examples/cyrillic/linuxkoi8/setlat1.sh (renamed from tvision/examples/cyrillic/linuxkoi8/setlat1.sh)0
-rw-r--r--rhtvision/examples/cyrillic/linuxkoi8/test.cc (renamed from tvision/examples/cyrillic/linuxkoi8/test.cc)0
-rw-r--r--rhtvision/examples/cyrillic/linuxkoi8/test.gpr (renamed from tvision/examples/cyrillic/linuxkoi8/test.gpr)bin10994 -> 10994 bytes
-rw-r--r--rhtvision/examples/cyrillic/linuxkoi8/test.mkf (renamed from tvision/examples/cyrillic/linuxkoi8/test.mkf)0
-rw-r--r--rhtvision/examples/cyrillic/linuxkoi8/test.umk (renamed from tvision/examples/cyrillic/linuxkoi8/test.umk)0
-rw-r--r--rhtvision/examples/cyrillic/linuxkoi8/trivial.acm (renamed from tvision/examples/cyrillic/linuxkoi8/trivial.acm)0
-rw-r--r--rhtvision/examples/cyrillic/x11koi8/rhide.env (renamed from tvision/examples/cyrillic/x11koi8/rhide.env)0
-rw-r--r--rhtvision/examples/cyrillic/x11koi8/test.cc (renamed from tvision/examples/cyrillic/x11koi8/test.cc)0
-rw-r--r--rhtvision/examples/cyrillic/x11koi8/test.gpr (renamed from tvision/examples/cyrillic/x11koi8/test.gpr)bin10994 -> 10994 bytes
-rw-r--r--rhtvision/examples/cyrillic/x11koi8/test.mkf (renamed from tvision/examples/cyrillic/x11koi8/test.mkf)0
-rw-r--r--rhtvision/examples/cyrillic/x11koi8/test.umk (renamed from tvision/examples/cyrillic/x11koi8/test.umk)0
-rw-r--r--rhtvision/examples/demo/ascii.cc (renamed from tvision/examples/demo/ascii.cc)0
-rw-r--r--rhtvision/examples/demo/ascii.h (renamed from tvision/examples/demo/ascii.h)0
-rw-r--r--rhtvision/examples/demo/calendar.cc (renamed from tvision/examples/demo/calendar.cc)0
-rw-r--r--rhtvision/examples/demo/calendar.h (renamed from tvision/examples/demo/calendar.h)0
-rw-r--r--rhtvision/examples/demo/demo.bmk (renamed from tvision/examples/demo/demo.bmk)0
-rw-r--r--rhtvision/examples/demo/demo.gpr (renamed from tvision/examples/demo/demo.gpr)bin13092 -> 13092 bytes
-rw-r--r--rhtvision/examples/demo/demo.mkf (renamed from tvision/examples/demo/demo.mkf)0
-rw-r--r--rhtvision/examples/demo/demo.umk (renamed from tvision/examples/demo/demo.umk)0
-rw-r--r--rhtvision/examples/demo/demohelp.h (renamed from tvision/examples/demo/demohelp.h)0
-rw-r--r--rhtvision/examples/demo/demohelp.h32 (renamed from tvision/examples/demo/demohelp.h32)bin16221 -> 16221 bytes
-rw-r--r--rhtvision/examples/demo/diffs.cc (renamed from tvision/examples/demo/diffs.cc)0
-rw-r--r--rhtvision/examples/demo/fileview.cc (renamed from tvision/examples/demo/fileview.cc)0
-rw-r--r--rhtvision/examples/demo/fileview.h (renamed from tvision/examples/demo/fileview.h)0
-rw-r--r--rhtvision/examples/demo/gadgets.cc (renamed from tvision/examples/demo/gadgets.cc)0
-rw-r--r--rhtvision/examples/demo/gadgets.h (renamed from tvision/examples/demo/gadgets.h)0
-rw-r--r--rhtvision/examples/demo/mousedlg.cc (renamed from tvision/examples/demo/mousedlg.cc)0
-rw-r--r--rhtvision/examples/demo/mousedlg.h44
-rw-r--r--rhtvision/examples/demo/puzzle.cc (renamed from tvision/examples/demo/puzzle.cc)0
-rw-r--r--rhtvision/examples/demo/puzzle.h (renamed from tvision/examples/demo/puzzle.h)0
-rw-r--r--rhtvision/examples/demo/rhide.env (renamed from tvision/examples/demo/rhide.env)0
-rw-r--r--rhtvision/examples/demo/tvcmds.h (renamed from tvision/examples/demo/tvcmds.h)0
-rw-r--r--rhtvision/examples/demo/tvdemo.h (renamed from tvision/examples/demo/tvdemo.h)0
-rw-r--r--rhtvision/examples/demo/tvdemo1.cc (renamed from tvision/examples/demo/tvdemo1.cc)0
-rw-r--r--rhtvision/examples/demo/tvdemo2.cc (renamed from tvision/examples/demo/tvdemo2.cc)0
-rw-r--r--rhtvision/examples/demo/tvdemo3.cc (renamed from tvision/examples/demo/tvdemo3.cc)0
-rw-r--r--rhtvision/examples/desklogo/desklogo.bmk (renamed from tvision/examples/desklogo/desklogo.bmk)0
-rw-r--r--rhtvision/examples/desklogo/desklogo.cc (renamed from tvision/examples/desklogo/desklogo.cc)0
-rw-r--r--rhtvision/examples/desklogo/desklogo.gpr (renamed from tvision/examples/desklogo/desklogo.gpr)bin11002 -> 11002 bytes
-rw-r--r--rhtvision/examples/desklogo/desklogo.mkf (renamed from tvision/examples/desklogo/desklogo.mkf)0
-rw-r--r--rhtvision/examples/desklogo/desklogo.umk (renamed from tvision/examples/desklogo/desklogo.umk)0
-rw-r--r--rhtvision/examples/desklogo/rhide.env (renamed from tvision/examples/desklogo/rhide.env)0
-rw-r--r--rhtvision/examples/desklogo/set-logo.bmk (renamed from tvision/examples/desklogo/set-logo.bmk)0
-rw-r--r--rhtvision/examples/desklogo/set-logo.cc (renamed from tvision/examples/desklogo/set-logo.cc)0
-rw-r--r--rhtvision/examples/desklogo/set-logo.gpr (renamed from tvision/examples/desklogo/set-logo.gpr)bin10987 -> 10987 bytes
-rw-r--r--rhtvision/examples/desklogo/set-logo.mkf (renamed from tvision/examples/desklogo/set-logo.mkf)0
-rw-r--r--rhtvision/examples/desklogo/set-logo.umk (renamed from tvision/examples/desklogo/set-logo.umk)0
-rw-r--r--rhtvision/examples/desklogo/tv_logo.bmk (renamed from tvision/examples/desklogo/tv_logo.bmk)0
-rw-r--r--rhtvision/examples/desklogo/tv_logo.cc (renamed from tvision/examples/desklogo/tv_logo.cc)0
-rw-r--r--rhtvision/examples/desklogo/tv_logo.gpr (renamed from tvision/examples/desklogo/tv_logo.gpr)bin10999 -> 10999 bytes
-rw-r--r--rhtvision/examples/desklogo/tv_logo.mkf (renamed from tvision/examples/desklogo/tv_logo.mkf)0
-rw-r--r--rhtvision/examples/desklogo/tv_logo.umk (renamed from tvision/examples/desklogo/tv_logo.umk)0
-rw-r--r--rhtvision/examples/dlgdsn/codebldr.cc (renamed from tvision/examples/dlgdsn/codebldr.cc)0
-rw-r--r--rhtvision/examples/dlgdsn/consted.cc (renamed from tvision/examples/dlgdsn/consted.cc)0
-rw-r--r--rhtvision/examples/dlgdsn/consted.h (renamed from tvision/examples/dlgdsn/consted.h)0
-rw-r--r--rhtvision/examples/dlgdsn/dsgdata.h (renamed from tvision/examples/dlgdsn/dsgdata.h)0
-rw-r--r--rhtvision/examples/dlgdsn/dsgobjs.cc (renamed from tvision/examples/dlgdsn/dsgobjs.cc)0
-rw-r--r--rhtvision/examples/dlgdsn/dsgobjs.h (renamed from tvision/examples/dlgdsn/dsgobjs.h)0
-rw-r--r--rhtvision/examples/dlgdsn/fdconsts.h (renamed from tvision/examples/dlgdsn/fdconsts.h)0
-rw-r--r--rhtvision/examples/dlgdsn/freedsgn.cc (renamed from tvision/examples/dlgdsn/freedsgn.cc)0
-rw-r--r--rhtvision/examples/dlgdsn/libtest.gpr (renamed from tvision/examples/dlgdsn/libtest.gpr)bin13769 -> 13769 bytes
-rw-r--r--rhtvision/examples/dlgdsn/libtest.mkf (renamed from tvision/examples/dlgdsn/libtest.mkf)0
-rw-r--r--rhtvision/examples/dlgdsn/libtest.umk (renamed from tvision/examples/dlgdsn/libtest.umk)0
-rw-r--r--rhtvision/examples/dlgdsn/propdlgs.cc (renamed from tvision/examples/dlgdsn/propdlgs.cc)0
-rw-r--r--rhtvision/examples/dlgdsn/propdlgs.h (renamed from tvision/examples/dlgdsn/propdlgs.h)0
-rw-r--r--rhtvision/examples/dlgdsn/propedit.cc (renamed from tvision/examples/dlgdsn/propedit.cc)0
-rw-r--r--rhtvision/examples/dlgdsn/propedit.h (renamed from tvision/examples/dlgdsn/propedit.h)0
-rw-r--r--rhtvision/examples/dlgdsn/rhide.env (renamed from tvision/examples/dlgdsn/rhide.env)0
-rw-r--r--rhtvision/examples/dlgdsn/strmoper.cc (renamed from tvision/examples/dlgdsn/strmoper.cc)0
-rw-r--r--rhtvision/examples/dlgdsn/strmoper.h (renamed from tvision/examples/dlgdsn/strmoper.h)0
-rw-r--r--rhtvision/examples/dlgdsn/tappwnd.cc (renamed from tvision/examples/dlgdsn/tappwnd.cc)0
-rw-r--r--rhtvision/examples/dyntxt/dyntext.bmk (renamed from tvision/examples/dyntxt/dyntext.bmk)0
-rw-r--r--rhtvision/examples/dyntxt/dyntext.cpp (renamed from tvision/examples/dyntxt/dyntext.cpp)0
-rw-r--r--rhtvision/examples/dyntxt/dyntext.gpr (renamed from tvision/examples/dyntxt/dyntext.gpr)bin11249 -> 11249 bytes
-rw-r--r--rhtvision/examples/dyntxt/dyntext.h (renamed from tvision/examples/dyntxt/dyntext.h)0
-rw-r--r--rhtvision/examples/dyntxt/dyntext.mkf (renamed from tvision/examples/dyntxt/dyntext.mkf)0
-rw-r--r--rhtvision/examples/dyntxt/dyntext.umk (renamed from tvision/examples/dyntxt/dyntext.umk)0
-rw-r--r--rhtvision/examples/dyntxt/readme (renamed from tvision/examples/dyntxt/readme)0
-rw-r--r--rhtvision/examples/dyntxt/rhide.env (renamed from tvision/examples/dyntxt/rhide.env)0
-rw-r--r--rhtvision/examples/dyntxt/testdyn.cpp (renamed from tvision/examples/dyntxt/testdyn.cpp)0
-rw-r--r--rhtvision/examples/eterm/menus.cfg (renamed from tvision/examples/eterm/menus.cfg)0
-rw-r--r--rhtvision/examples/eterm/theme.cfg (renamed from tvision/examples/eterm/theme.cfg)0
-rw-r--r--rhtvision/examples/fonts/font.016 (renamed from tvision/examples/fonts/font.016)bin4096 -> 4096 bytes
-rw-r--r--rhtvision/examples/fonts/genraw.cc (renamed from tvision/examples/fonts/genraw.cc)0
-rw-r--r--rhtvision/examples/fonts/genraw.gpr (renamed from tvision/examples/fonts/genraw.gpr)bin11623 -> 11623 bytes
-rw-r--r--rhtvision/examples/fonts/genraw.mkf (renamed from tvision/examples/fonts/genraw.mkf)0
-rw-r--r--rhtvision/examples/fonts/genraw.umk (renamed from tvision/examples/fonts/genraw.umk)0
-rw-r--r--rhtvision/examples/fonts/ocr.sft (renamed from tvision/examples/fonts/ocr.sft)bin19051 -> 19051 bytes
-rw-r--r--rhtvision/examples/fonts/rhide.env (renamed from tvision/examples/fonts/rhide.env)0
-rw-r--r--rhtvision/examples/fonts/test.cc (renamed from tvision/examples/fonts/test.cc)0
-rw-r--r--rhtvision/examples/fonts/test.gpr (renamed from tvision/examples/fonts/test.gpr)bin10994 -> 10994 bytes
-rw-r--r--rhtvision/examples/fonts/test.mkf (renamed from tvision/examples/fonts/test.mkf)0
-rw-r--r--rhtvision/examples/fonts/test.umk (renamed from tvision/examples/fonts/test.umk)0
-rw-r--r--rhtvision/examples/gen_mkf.pl (renamed from tvision/examples/gen_mkf.pl)0
-rw-r--r--rhtvision/examples/helpdemo/helpdemo.bmk (renamed from tvision/examples/helpdemo/helpdemo.bmk)0
-rw-r--r--rhtvision/examples/helpdemo/helpdemo.cc (renamed from tvision/examples/helpdemo/helpdemo.cc)0
-rw-r--r--rhtvision/examples/helpdemo/helpdemo.gpr (renamed from tvision/examples/helpdemo/helpdemo.gpr)bin11006 -> 11006 bytes
-rw-r--r--rhtvision/examples/helpdemo/helpdemo.mkf (renamed from tvision/examples/helpdemo/helpdemo.mkf)0
-rw-r--r--rhtvision/examples/helpdemo/helpdemo.umk (renamed from tvision/examples/helpdemo/helpdemo.umk)0
-rw-r--r--rhtvision/examples/helpdemo/rhide.env (renamed from tvision/examples/helpdemo/rhide.env)0
-rw-r--r--rhtvision/examples/i18n/README (renamed from tvision/examples/i18n/README)0
-rw-r--r--rhtvision/examples/i18n/es.po (renamed from tvision/examples/i18n/es.po)0
-rwxr-xr-xrhtvision/examples/i18n/extract.sh (renamed from tvision/examples/i18n/extract.sh)0
-rw-r--r--rhtvision/examples/i18n/intl/es/LC_MESSAGES/test.mo (renamed from tvision/examples/i18n/intl/es/LC_MESSAGES/test.mo)bin67 -> 67 bytes
-rw-r--r--rhtvision/examples/i18n/intl/es/LC_MESSAGES/tvision.mo (renamed from tvision/examples/i18n/intl/es/LC_MESSAGES/tvision.mo)bin8427 -> 8427 bytes
-rw-r--r--rhtvision/examples/i18n/rhide.env (renamed from tvision/examples/i18n/rhide.env)0
-rw-r--r--rhtvision/examples/i18n/test.cc (renamed from tvision/examples/i18n/test.cc)0
-rw-r--r--rhtvision/examples/i18n/test.gpr (renamed from tvision/examples/i18n/test.gpr)bin10994 -> 10994 bytes
-rw-r--r--rhtvision/examples/i18n/test.mkf (renamed from tvision/examples/i18n/test.mkf)0
-rw-r--r--rhtvision/examples/i18n/test.po (renamed from tvision/examples/i18n/test.po)0
-rw-r--r--rhtvision/examples/i18n/test.umk (renamed from tvision/examples/i18n/test.umk)0
-rw-r--r--rhtvision/examples/inplis/implis.bmk (renamed from tvision/examples/inplis/implis.bmk)0
-rw-r--r--rhtvision/examples/inplis/implis.gpr (renamed from tvision/examples/inplis/implis.gpr)bin11224 -> 11224 bytes
-rw-r--r--rhtvision/examples/inplis/implis.mkf (renamed from tvision/examples/inplis/implis.mkf)0
-rw-r--r--rhtvision/examples/inplis/implis.umk (renamed from tvision/examples/inplis/implis.umk)0
-rw-r--r--rhtvision/examples/inplis/inplist.cpp (renamed from tvision/examples/inplis/inplist.cpp)0
-rw-r--r--rhtvision/examples/inplis/inplist.h (renamed from tvision/examples/inplis/inplist.h)0
-rw-r--r--rhtvision/examples/inplis/rhide.env (renamed from tvision/examples/inplis/rhide.env)0
-rw-r--r--rhtvision/examples/inplis/test.cpp (renamed from tvision/examples/inplis/test.cpp)0
-rw-r--r--rhtvision/examples/listvi/listbox2.cpp (renamed from tvision/examples/listvi/listbox2.cpp)0
-rw-r--r--rhtvision/examples/listvi/lst_view.bmk (renamed from tvision/examples/listvi/lst_view.bmk)0
-rw-r--r--rhtvision/examples/listvi/lst_view.cpp (renamed from tvision/examples/listvi/lst_view.cpp)0
-rw-r--r--rhtvision/examples/listvi/lst_view.gpr (renamed from tvision/examples/listvi/lst_view.gpr)bin11244 -> 11244 bytes
-rw-r--r--rhtvision/examples/listvi/lst_view.h (renamed from tvision/examples/listvi/lst_view.h)0
-rw-r--r--rhtvision/examples/listvi/lst_view.mkf (renamed from tvision/examples/listvi/lst_view.mkf)0
-rw-r--r--rhtvision/examples/listvi/lst_view.umk (renamed from tvision/examples/listvi/lst_view.umk)0
-rw-r--r--rhtvision/examples/listvi/readme.txt (renamed from tvision/examples/listvi/readme.txt)0
-rw-r--r--rhtvision/examples/listvi/rhide.env (renamed from tvision/examples/listvi/rhide.env)0
-rw-r--r--rhtvision/examples/msgcls/msgcls.bmk (renamed from tvision/examples/msgcls/msgcls.bmk)0
-rw-r--r--rhtvision/examples/msgcls/msgcls.gpr (renamed from tvision/examples/msgcls/msgcls.gpr)bin11145 -> 11145 bytes
-rw-r--r--rhtvision/examples/msgcls/msgcls.mkf (renamed from tvision/examples/msgcls/msgcls.mkf)0
-rw-r--r--rhtvision/examples/msgcls/msgcls.umk (renamed from tvision/examples/msgcls/msgcls.umk)0
-rw-r--r--rhtvision/examples/msgcls/readme.txt (renamed from tvision/examples/msgcls/readme.txt)0
-rw-r--r--rhtvision/examples/msgcls/rhide.env (renamed from tvision/examples/msgcls/rhide.env)0
-rw-r--r--rhtvision/examples/msgcls/testdyn.cpp (renamed from tvision/examples/msgcls/testdyn.cpp)0
-rw-r--r--rhtvision/examples/msgcls/tlnmsg.cpp (renamed from tvision/examples/msgcls/tlnmsg.cpp)0
-rw-r--r--rhtvision/examples/msgcls/tlnmsg.h (renamed from tvision/examples/msgcls/tlnmsg.h)0
-rw-r--r--rhtvision/examples/patchenv.pl (renamed from tvision/examples/patchenv.pl)0
-rw-r--r--rhtvision/examples/porting.txt (renamed from tvision/examples/porting.txt)0
-rw-r--r--rhtvision/examples/progba/example.cpp (renamed from tvision/examples/progba/example.cpp)0
-rw-r--r--rhtvision/examples/progba/makerez.cpp (renamed from tvision/examples/progba/makerez.cpp)0
-rw-r--r--rhtvision/examples/progba/readrez.cpp (renamed from tvision/examples/progba/readrez.cpp)0
-rw-r--r--rhtvision/examples/progba/rhide.env (renamed from tvision/examples/progba/rhide.env)0
-rw-r--r--rhtvision/examples/progba/test.bmk (renamed from tvision/examples/progba/test.bmk)0
-rw-r--r--rhtvision/examples/progba/test.gpr (renamed from tvision/examples/progba/test.gpr)bin11128 -> 11128 bytes
-rw-r--r--rhtvision/examples/progba/test.mkf (renamed from tvision/examples/progba/test.mkf)0
-rw-r--r--rhtvision/examples/progba/test.umk (renamed from tvision/examples/progba/test.umk)0
-rw-r--r--rhtvision/examples/progba/tprogbar.cpp (renamed from tvision/examples/progba/tprogbar.cpp)0
-rw-r--r--rhtvision/examples/progba/tprogbar.h (renamed from tvision/examples/progba/tprogbar.h)0
-rw-r--r--rhtvision/examples/readme.txt (renamed from tvision/examples/readme.txt)0
-rw-r--r--rhtvision/examples/sdlg/dlg.h (renamed from tvision/examples/sdlg/dlg.h)0
-rw-r--r--rhtvision/examples/sdlg/main.cpp (renamed from tvision/examples/sdlg/main.cpp)0
-rw-r--r--rhtvision/examples/sdlg/rhide.env (renamed from tvision/examples/sdlg/rhide.env)0
-rw-r--r--rhtvision/examples/sdlg/scrldlg.cpp (renamed from tvision/examples/sdlg/scrldlg.cpp)0
-rw-r--r--rhtvision/examples/sdlg/scrlgrp.cpp (renamed from tvision/examples/sdlg/scrlgrp.cpp)0
-rw-r--r--rhtvision/examples/sdlg/test.bmk (renamed from tvision/examples/sdlg/test.bmk)0
-rw-r--r--rhtvision/examples/sdlg/test.gpr (renamed from tvision/examples/sdlg/test.gpr)bin11343 -> 11343 bytes
-rw-r--r--rhtvision/examples/sdlg/test.mkf (renamed from tvision/examples/sdlg/test.mkf)0
-rw-r--r--rhtvision/examples/sdlg/test.umk (renamed from tvision/examples/sdlg/test.umk)0
-rw-r--r--rhtvision/examples/sdlg2/dlg.h (renamed from tvision/examples/sdlg2/dlg.h)0
-rw-r--r--rhtvision/examples/sdlg2/main.cpp (renamed from tvision/examples/sdlg2/main.cpp)0
-rw-r--r--rhtvision/examples/sdlg2/rhide.env (renamed from tvision/examples/sdlg2/rhide.env)0
-rw-r--r--rhtvision/examples/sdlg2/scrldlg.cpp (renamed from tvision/examples/sdlg2/scrldlg.cpp)0
-rw-r--r--rhtvision/examples/sdlg2/scrlgrp.cpp (renamed from tvision/examples/sdlg2/scrlgrp.cpp)0
-rw-r--r--rhtvision/examples/sdlg2/test.bmk (renamed from tvision/examples/sdlg2/test.bmk)0
-rw-r--r--rhtvision/examples/sdlg2/test.gpr (renamed from tvision/examples/sdlg2/test.gpr)bin11344 -> 11344 bytes
-rw-r--r--rhtvision/examples/sdlg2/test.mkf (renamed from tvision/examples/sdlg2/test.mkf)0
-rw-r--r--rhtvision/examples/sdlg2/test.umk (renamed from tvision/examples/sdlg2/test.umk)0
-rw-r--r--rhtvision/examples/tcombo/nmcmbobx.cpp (renamed from tvision/examples/tcombo/nmcmbobx.cpp)0
-rw-r--r--rhtvision/examples/tcombo/nmcmbovw.cpp (renamed from tvision/examples/tcombo/nmcmbovw.cpp)0
-rw-r--r--rhtvision/examples/tcombo/nmcmbown.cpp (renamed from tvision/examples/tcombo/nmcmbown.cpp)0
-rw-r--r--rhtvision/examples/tcombo/nmsinput.cpp (renamed from tvision/examples/tcombo/nmsinput.cpp)0
-rw-r--r--rhtvision/examples/tcombo/readme.txt (renamed from tvision/examples/tcombo/readme.txt)0
-rw-r--r--rhtvision/examples/tcombo/rhide.env (renamed from tvision/examples/tcombo/rhide.env)0
-rw-r--r--rhtvision/examples/tcombo/scombobx.cpp (renamed from tvision/examples/tcombo/scombobx.cpp)0
-rw-r--r--rhtvision/examples/tcombo/scombovw.cpp (renamed from tvision/examples/tcombo/scombovw.cpp)0
-rw-r--r--rhtvision/examples/tcombo/scombown.cpp (renamed from tvision/examples/tcombo/scombown.cpp)0
-rw-r--r--rhtvision/examples/tcombo/ssinputl.cpp (renamed from tvision/examples/tcombo/ssinputl.cpp)0
-rw-r--r--rhtvision/examples/tcombo/tcmbovwr.cpp (renamed from tvision/examples/tcombo/tcmbovwr.cpp)0
-rw-r--r--rhtvision/examples/tcombo/tcmbowin.cpp (renamed from tvision/examples/tcombo/tcmbowin.cpp)0
-rw-r--r--rhtvision/examples/tcombo/tcombo.txt (renamed from tvision/examples/tcombo/tcombo.txt)0
-rw-r--r--rhtvision/examples/tcombo/tcombobx.cpp (renamed from tvision/examples/tcombo/tcombobx.cpp)0
-rw-r--r--rhtvision/examples/tcombo/tcombobx.h (renamed from tvision/examples/tcombo/tcombobx.h)0
-rw-r--r--rhtvision/examples/tcombo/test.bmk (renamed from tvision/examples/tcombo/test.bmk)0
-rw-r--r--rhtvision/examples/tcombo/test.cpp (renamed from tvision/examples/tcombo/test.cpp)0
-rw-r--r--rhtvision/examples/tcombo/test.gpr (renamed from tvision/examples/tcombo/test.gpr)bin12830 -> 12830 bytes
-rw-r--r--rhtvision/examples/tcombo/test.mkf (renamed from tvision/examples/tcombo/test.mkf)0
-rw-r--r--rhtvision/examples/tcombo/test.umk (renamed from tvision/examples/tcombo/test.umk)0
-rw-r--r--rhtvision/examples/tcombo/tsinputl.cpp (renamed from tvision/examples/tcombo/tsinputl.cpp)0
-rw-r--r--rhtvision/examples/tcombo/tsinputl.h (renamed from tvision/examples/tcombo/tsinputl.h)0
-rw-r--r--rhtvision/examples/terminal/rhide.env (renamed from tvision/examples/terminal/rhide.env)0
-rw-r--r--rhtvision/examples/terminal/terminal.cc (renamed from tvision/examples/terminal/terminal.cc)0
-rw-r--r--rhtvision/examples/terminal/test.bmk (renamed from tvision/examples/terminal/test.bmk)0
-rw-r--r--rhtvision/examples/terminal/test.gpr (renamed from tvision/examples/terminal/test.gpr)bin11021 -> 11021 bytes
-rw-r--r--rhtvision/examples/terminal/test.mkf (renamed from tvision/examples/terminal/test.mkf)0
-rw-r--r--rhtvision/examples/terminal/test.umk (renamed from tvision/examples/terminal/test.umk)0
-rw-r--r--rhtvision/examples/tprogb/calc.cpp (renamed from tvision/examples/tprogb/calc.cpp)0
-rw-r--r--rhtvision/examples/tprogb/rhide.env (renamed from tvision/examples/tprogb/rhide.env)0
-rw-r--r--rhtvision/examples/tprogb/test.bmk (renamed from tvision/examples/tprogb/test.bmk)0
-rw-r--r--rhtvision/examples/tprogb/test.gpr (renamed from tvision/examples/tprogb/test.gpr)bin11211 -> 11211 bytes
-rw-r--r--rhtvision/examples/tprogb/test.mkf (renamed from tvision/examples/tprogb/test.mkf)0
-rw-r--r--rhtvision/examples/tprogb/test.umk (renamed from tvision/examples/tprogb/test.umk)0
-rw-r--r--rhtvision/examples/tprogb/tprogbar.cpp (renamed from tvision/examples/tprogb/tprogbar.cpp)0
-rw-r--r--rhtvision/examples/tprogb/tprogbar.h (renamed from tvision/examples/tprogb/tprogbar.h)0
-rw-r--r--rhtvision/examples/tutorial/rhide.env (renamed from tvision/examples/tutorial/rhide.env)0
-rw-r--r--rhtvision/examples/tutorial/tvguid01.bmk (renamed from tvision/examples/tutorial/tvguid01.bmk)0
-rw-r--r--rhtvision/examples/tutorial/tvguid01.cc (renamed from tvision/examples/tutorial/tvguid01.cc)0
-rw-r--r--rhtvision/examples/tutorial/tvguid01.gpr (renamed from tvision/examples/tutorial/tvguid01.gpr)bin11002 -> 11002 bytes
-rw-r--r--rhtvision/examples/tutorial/tvguid01.mkf (renamed from tvision/examples/tutorial/tvguid01.mkf)0
-rw-r--r--rhtvision/examples/tutorial/tvguid01.umk (renamed from tvision/examples/tutorial/tvguid01.umk)0
-rw-r--r--rhtvision/examples/tutorial/tvguid02.bmk (renamed from tvision/examples/tutorial/tvguid02.bmk)0
-rw-r--r--rhtvision/examples/tutorial/tvguid02.cc (renamed from tvision/examples/tutorial/tvguid02.cc)0
-rw-r--r--rhtvision/examples/tutorial/tvguid02.gpr (renamed from tvision/examples/tutorial/tvguid02.gpr)bin11002 -> 11002 bytes
-rw-r--r--rhtvision/examples/tutorial/tvguid02.mkf (renamed from tvision/examples/tutorial/tvguid02.mkf)0
-rw-r--r--rhtvision/examples/tutorial/tvguid02.umk (renamed from tvision/examples/tutorial/tvguid02.umk)0
-rw-r--r--rhtvision/examples/tutorial/tvguid03.bmk (renamed from tvision/examples/tutorial/tvguid03.bmk)0
-rw-r--r--rhtvision/examples/tutorial/tvguid03.cc (renamed from tvision/examples/tutorial/tvguid03.cc)0
-rw-r--r--rhtvision/examples/tutorial/tvguid03.gpr (renamed from tvision/examples/tutorial/tvguid03.gpr)bin11002 -> 11002 bytes
-rw-r--r--rhtvision/examples/tutorial/tvguid03.mkf (renamed from tvision/examples/tutorial/tvguid03.mkf)0
-rw-r--r--rhtvision/examples/tutorial/tvguid03.umk (renamed from tvision/examples/tutorial/tvguid03.umk)0
-rw-r--r--rhtvision/examples/tutorial/tvguid04.bmk (renamed from tvision/examples/tutorial/tvguid04.bmk)0
-rw-r--r--rhtvision/examples/tutorial/tvguid04.cc (renamed from tvision/examples/tutorial/tvguid04.cc)0
-rw-r--r--rhtvision/examples/tutorial/tvguid04.gpr (renamed from tvision/examples/tutorial/tvguid04.gpr)bin11002 -> 11002 bytes
-rw-r--r--rhtvision/examples/tutorial/tvguid04.mkf (renamed from tvision/examples/tutorial/tvguid04.mkf)0
-rw-r--r--rhtvision/examples/tutorial/tvguid04.umk (renamed from tvision/examples/tutorial/tvguid04.umk)0
-rw-r--r--rhtvision/examples/tutorial/tvguid05.bmk (renamed from tvision/examples/tutorial/tvguid05.bmk)0
-rw-r--r--rhtvision/examples/tutorial/tvguid05.cc (renamed from tvision/examples/tutorial/tvguid05.cc)0
-rw-r--r--rhtvision/examples/tutorial/tvguid05.gpr (renamed from tvision/examples/tutorial/tvguid05.gpr)bin11002 -> 11002 bytes
-rw-r--r--rhtvision/examples/tutorial/tvguid05.mkf (renamed from tvision/examples/tutorial/tvguid05.mkf)0
-rw-r--r--rhtvision/examples/tutorial/tvguid05.umk (renamed from tvision/examples/tutorial/tvguid05.umk)0
-rw-r--r--rhtvision/examples/tutorial/tvguid06.bmk (renamed from tvision/examples/tutorial/tvguid06.bmk)0
-rw-r--r--rhtvision/examples/tutorial/tvguid06.cc (renamed from tvision/examples/tutorial/tvguid06.cc)0
-rw-r--r--rhtvision/examples/tutorial/tvguid06.gpr (renamed from tvision/examples/tutorial/tvguid06.gpr)bin11002 -> 11002 bytes
-rw-r--r--rhtvision/examples/tutorial/tvguid06.mkf (renamed from tvision/examples/tutorial/tvguid06.mkf)0
-rw-r--r--rhtvision/examples/tutorial/tvguid06.umk (renamed from tvision/examples/tutorial/tvguid06.umk)0
-rw-r--r--rhtvision/examples/tutorial/tvguid07.bmk (renamed from tvision/examples/tutorial/tvguid07.bmk)0
-rw-r--r--rhtvision/examples/tutorial/tvguid07.cc (renamed from tvision/examples/tutorial/tvguid07.cc)0
-rw-r--r--rhtvision/examples/tutorial/tvguid07.gpr (renamed from tvision/examples/tutorial/tvguid07.gpr)bin11002 -> 11002 bytes
-rw-r--r--rhtvision/examples/tutorial/tvguid07.mkf (renamed from tvision/examples/tutorial/tvguid07.mkf)0
-rw-r--r--rhtvision/examples/tutorial/tvguid07.umk (renamed from tvision/examples/tutorial/tvguid07.umk)0
-rw-r--r--rhtvision/examples/tutorial/tvguid08.bmk (renamed from tvision/examples/tutorial/tvguid08.bmk)0
-rw-r--r--rhtvision/examples/tutorial/tvguid08.cc (renamed from tvision/examples/tutorial/tvguid08.cc)0
-rw-r--r--rhtvision/examples/tutorial/tvguid08.gpr (renamed from tvision/examples/tutorial/tvguid08.gpr)bin11002 -> 11002 bytes
-rw-r--r--rhtvision/examples/tutorial/tvguid08.mkf (renamed from tvision/examples/tutorial/tvguid08.mkf)0
-rw-r--r--rhtvision/examples/tutorial/tvguid08.umk (renamed from tvision/examples/tutorial/tvguid08.umk)0
-rw-r--r--rhtvision/examples/tutorial/tvguid09.bmk (renamed from tvision/examples/tutorial/tvguid09.bmk)0
-rw-r--r--rhtvision/examples/tutorial/tvguid09.cc (renamed from tvision/examples/tutorial/tvguid09.cc)0
-rw-r--r--rhtvision/examples/tutorial/tvguid09.gpr (renamed from tvision/examples/tutorial/tvguid09.gpr)bin11002 -> 11002 bytes
-rw-r--r--rhtvision/examples/tutorial/tvguid09.mkf (renamed from tvision/examples/tutorial/tvguid09.mkf)0
-rw-r--r--rhtvision/examples/tutorial/tvguid09.umk (renamed from tvision/examples/tutorial/tvguid09.umk)0
-rw-r--r--rhtvision/examples/tutorial/tvguid10.bmk (renamed from tvision/examples/tutorial/tvguid10.bmk)0
-rw-r--r--rhtvision/examples/tutorial/tvguid10.cc (renamed from tvision/examples/tutorial/tvguid10.cc)0
-rw-r--r--rhtvision/examples/tutorial/tvguid10.gpr (renamed from tvision/examples/tutorial/tvguid10.gpr)bin11002 -> 11002 bytes
-rw-r--r--rhtvision/examples/tutorial/tvguid10.mkf (renamed from tvision/examples/tutorial/tvguid10.mkf)0
-rw-r--r--rhtvision/examples/tutorial/tvguid10.umk (renamed from tvision/examples/tutorial/tvguid10.umk)0
-rw-r--r--rhtvision/examples/tutorial/tvguid11.bmk (renamed from tvision/examples/tutorial/tvguid11.bmk)0
-rw-r--r--rhtvision/examples/tutorial/tvguid11.cc (renamed from tvision/examples/tutorial/tvguid11.cc)0
-rw-r--r--rhtvision/examples/tutorial/tvguid11.gpr (renamed from tvision/examples/tutorial/tvguid11.gpr)bin11002 -> 11002 bytes
-rw-r--r--rhtvision/examples/tutorial/tvguid11.mkf (renamed from tvision/examples/tutorial/tvguid11.mkf)0
-rw-r--r--rhtvision/examples/tutorial/tvguid11.umk (renamed from tvision/examples/tutorial/tvguid11.umk)0
-rw-r--r--rhtvision/examples/tutorial/tvguid12.bmk (renamed from tvision/examples/tutorial/tvguid12.bmk)0
-rw-r--r--rhtvision/examples/tutorial/tvguid12.cc (renamed from tvision/examples/tutorial/tvguid12.cc)0
-rw-r--r--rhtvision/examples/tutorial/tvguid12.gpr (renamed from tvision/examples/tutorial/tvguid12.gpr)bin11002 -> 11002 bytes
-rw-r--r--rhtvision/examples/tutorial/tvguid12.mkf (renamed from tvision/examples/tutorial/tvguid12.mkf)0
-rw-r--r--rhtvision/examples/tutorial/tvguid12.umk (renamed from tvision/examples/tutorial/tvguid12.umk)0
-rw-r--r--rhtvision/examples/tutorial/tvguid13.bmk (renamed from tvision/examples/tutorial/tvguid13.bmk)0
-rw-r--r--rhtvision/examples/tutorial/tvguid13.cc (renamed from tvision/examples/tutorial/tvguid13.cc)0
-rw-r--r--rhtvision/examples/tutorial/tvguid13.gpr (renamed from tvision/examples/tutorial/tvguid13.gpr)bin11002 -> 11002 bytes
-rw-r--r--rhtvision/examples/tutorial/tvguid13.mkf (renamed from tvision/examples/tutorial/tvguid13.mkf)0
-rw-r--r--rhtvision/examples/tutorial/tvguid13.umk (renamed from tvision/examples/tutorial/tvguid13.umk)0
-rw-r--r--rhtvision/examples/tutorial/tvguid14.bmk (renamed from tvision/examples/tutorial/tvguid14.bmk)0
-rw-r--r--rhtvision/examples/tutorial/tvguid14.cc (renamed from tvision/examples/tutorial/tvguid14.cc)0
-rw-r--r--rhtvision/examples/tutorial/tvguid14.gpr (renamed from tvision/examples/tutorial/tvguid14.gpr)bin11002 -> 11002 bytes
-rw-r--r--rhtvision/examples/tutorial/tvguid14.mkf (renamed from tvision/examples/tutorial/tvguid14.mkf)0
-rw-r--r--rhtvision/examples/tutorial/tvguid14.umk (renamed from tvision/examples/tutorial/tvguid14.umk)0
-rw-r--r--rhtvision/examples/tutorial/tvguid15.bmk (renamed from tvision/examples/tutorial/tvguid15.bmk)0
-rw-r--r--rhtvision/examples/tutorial/tvguid15.cc (renamed from tvision/examples/tutorial/tvguid15.cc)0
-rw-r--r--rhtvision/examples/tutorial/tvguid15.gpr (renamed from tvision/examples/tutorial/tvguid15.gpr)bin11002 -> 11002 bytes
-rw-r--r--rhtvision/examples/tutorial/tvguid15.mkf (renamed from tvision/examples/tutorial/tvguid15.mkf)0
-rw-r--r--rhtvision/examples/tutorial/tvguid15.umk (renamed from tvision/examples/tutorial/tvguid15.umk)0
-rw-r--r--rhtvision/examples/tutorial/tvguid16.bmk (renamed from tvision/examples/tutorial/tvguid16.bmk)0
-rw-r--r--rhtvision/examples/tutorial/tvguid16.cc (renamed from tvision/examples/tutorial/tvguid16.cc)0
-rw-r--r--rhtvision/examples/tutorial/tvguid16.gpr (renamed from tvision/examples/tutorial/tvguid16.gpr)bin11002 -> 11002 bytes
-rw-r--r--rhtvision/examples/tutorial/tvguid16.mkf (renamed from tvision/examples/tutorial/tvguid16.mkf)0
-rw-r--r--rhtvision/examples/tutorial/tvguid16.umk (renamed from tvision/examples/tutorial/tvguid16.umk)0
-rw-r--r--rhtvision/examples/tvedit/rhide.env (renamed from tvision/examples/tvedit/rhide.env)0
-rw-r--r--rhtvision/examples/tvedit/tvedit.bmk (renamed from tvision/examples/tvedit/tvedit.bmk)0
-rw-r--r--rhtvision/examples/tvedit/tvedit.cc (renamed from tvision/examples/tvedit/tvedit.cc)0
-rw-r--r--rhtvision/examples/tvedit/tvedit.gpr (renamed from tvision/examples/tvedit/tvedit.gpr)bin11010 -> 11010 bytes
-rw-r--r--rhtvision/examples/tvedit/tvedit.mkf (renamed from tvision/examples/tvedit/tvedit.mkf)0
-rw-r--r--rhtvision/examples/tvedit/tvedit.umk (renamed from tvision/examples/tvedit/tvedit.umk)0
-rw-r--r--rhtvision/examples/tvhc/demohelp.txt (renamed from tvision/examples/tvhc/demohelp.txt)0
-rw-r--r--rhtvision/examples/tvhc/rhide.env (renamed from tvision/examples/tvhc/rhide.env)0
-rw-r--r--rhtvision/examples/tvhc/tvhc.bmk (renamed from tvision/examples/tvhc/tvhc.bmk)0
-rw-r--r--rhtvision/examples/tvhc/tvhc.cc (renamed from tvision/examples/tvhc/tvhc.cc)0
-rw-r--r--rhtvision/examples/tvhc/tvhc.gpr (renamed from tvision/examples/tvhc/tvhc.gpr)bin11711 -> 11711 bytes
-rw-r--r--rhtvision/examples/tvhc/tvhc.h (renamed from tvision/examples/tvhc/tvhc.h)0
-rw-r--r--rhtvision/examples/tvhc/tvhc.mkf (renamed from tvision/examples/tvhc/tvhc.mkf)0
-rw-r--r--rhtvision/examples/tvhc/tvhc.umk (renamed from tvision/examples/tvhc/tvhc.umk)0
-rw-r--r--rhtvision/examples/videomode/rhide.env (renamed from tvision/examples/videomode/rhide.env)0
-rw-r--r--rhtvision/examples/videomode/test.bmk (renamed from tvision/examples/videomode/test.bmk)0
-rw-r--r--rhtvision/examples/videomode/test.cc (renamed from tvision/examples/videomode/test.cc)0
-rw-r--r--rhtvision/examples/videomode/test.gpr (renamed from tvision/examples/videomode/test.gpr)bin10994 -> 10994 bytes
-rw-r--r--rhtvision/examples/videomode/test.mkf (renamed from tvision/examples/videomode/test.mkf)0
-rw-r--r--rhtvision/examples/videomode/test.umk (renamed from tvision/examples/videomode/test.umk)0
-rw-r--r--rhtvision/examples/viewers/test.bmk (renamed from tvision/examples/viewers/test.bmk)0
-rw-r--r--rhtvision/examples/viewers/test.mkf (renamed from tvision/examples/viewers/test.mkf)0
-rw-r--r--rhtvision/examples/viewers/test.umk (renamed from tvision/examples/viewers/test.umk)0
-rwxr-xr-xrhtvision/examples/xterm/Xterm.res (renamed from tvision/examples/xterm/Xterm.res)0
-rw-r--r--rhtvision/extra/doskeys/kextend.asm (renamed from tvision/extra/doskeys/kextend.asm)0
-rw-r--r--rhtvision/extra/doskeys/kextend.com (renamed from tvision/extra/doskeys/kextend.com)bin397 -> 397 bytes
-rw-r--r--rhtvision/extra/doskeys/kextend.txt (renamed from tvision/extra/doskeys/kextend.txt)0
-rw-r--r--rhtvision/extra/eterm/Setedit/MAIN (renamed from tvision/extra/eterm/Setedit/MAIN)0
-rw-r--r--rhtvision/extra/eterm/Setedit/Setedit.menu (renamed from tvision/extra/eterm/Setedit/Setedit.menu)0
-rw-r--r--rhtvision/extra/eterm/readme.txt (renamed from tvision/extra/eterm/readme.txt)0
-rw-r--r--rhtvision/extra/eterm/xterm-eterm-tv (renamed from tvision/extra/eterm/xterm-eterm-tv)0
-rw-r--r--rhtvision/extra/pifexamp/setedit.pif (renamed from tvision/extra/pifexamp/setedit.pif)bin995 -> 995 bytes
-rw-r--r--rhtvision/fileview.cc (renamed from tvision/fileview.cc)0
-rw-r--r--rhtvision/fromdos.pl (renamed from tvision/fromdos.pl)0
-rw-r--r--rhtvision/fromunix.pl (renamed from tvision/fromunix.pl)0
-rw-r--r--rhtvision/histlist.cc (renamed from tvision/histlist.cc)0
-rw-r--r--rhtvision/include/cl/dir.h (renamed from tvision/include/cl/dir.h)0
-rw-r--r--rhtvision/include/cl/dirent.h (renamed from tvision/include/cl/dirent.h)0
-rw-r--r--rhtvision/include/cl/fnmatch.h (renamed from tvision/include/cl/fnmatch.h)0
-rw-r--r--rhtvision/include/cl/getopt.h (renamed from tvision/include/cl/getopt.h)0
-rw-r--r--rhtvision/include/cl/glob.h (renamed from tvision/include/cl/glob.h)0
-rw-r--r--rhtvision/include/cl/needs.h (renamed from tvision/include/cl/needs.h)0
-rw-r--r--rhtvision/include/cl/regex.h (renamed from tvision/include/cl/regex.h)0
-rw-r--r--rhtvision/include/cl/strstream.h (renamed from tvision/include/cl/strstream.h)0
-rw-r--r--rhtvision/include/cl/unistd.h (renamed from tvision/include/cl/unistd.h)0
-rw-r--r--rhtvision/include/cl/utime.h (renamed from tvision/include/cl/utime.h)0
-rw-r--r--rhtvision/include/cl/utsname.h (renamed from tvision/include/cl/utsname.h)0
-rw-r--r--rhtvision/include/compatlayer.h (renamed from tvision/include/compatlayer.h)0
-rw-r--r--rhtvision/include/tv.h (renamed from tvision/include/tv.h)0
-rw-r--r--rhtvision/include/tv/alcon/alcon.h (renamed from tvision/include/tv/alcon/alcon.h)0
-rw-r--r--rhtvision/include/tv/alcon/key.h (renamed from tvision/include/tv/alcon/key.h)0
-rw-r--r--rhtvision/include/tv/alcon/mouse.h (renamed from tvision/include/tv/alcon/mouse.h)0
-rw-r--r--rhtvision/include/tv/alcon/screen.h (renamed from tvision/include/tv/alcon/screen.h)0
-rw-r--r--rhtvision/include/tv/app.h (renamed from tvision/include/tv/app.h)0
-rw-r--r--rhtvision/include/tv/applictn.h (renamed from tvision/include/tv/applictn.h)0
-rw-r--r--rhtvision/include/tv/backgrnd.h (renamed from tvision/include/tv/backgrnd.h)0
-rw-r--r--rhtvision/include/tv/button.h (renamed from tvision/include/tv/button.h)0
-rw-r--r--rhtvision/include/tv/calc.h (renamed from tvision/include/tv/calc.h)0
-rw-r--r--rhtvision/include/tv/chdirdlg.h (renamed from tvision/include/tv/chdirdlg.h)0
-rw-r--r--rhtvision/include/tv/checkbox.h (renamed from tvision/include/tv/checkbox.h)0
-rw-r--r--rhtvision/include/tv/clrdisp.h (renamed from tvision/include/tv/clrdisp.h)0
-rw-r--r--rhtvision/include/tv/clrdlg.h (renamed from tvision/include/tv/clrdlg.h)0
-rw-r--r--rhtvision/include/tv/clrgroup.h (renamed from tvision/include/tv/clrgroup.h)0
-rw-r--r--rhtvision/include/tv/clrgrpli.h (renamed from tvision/include/tv/clrgrpli.h)0
-rw-r--r--rhtvision/include/tv/clritem.h (renamed from tvision/include/tv/clritem.h)0
-rw-r--r--rhtvision/include/tv/clriteml.h (renamed from tvision/include/tv/clriteml.h)0
-rw-r--r--rhtvision/include/tv/clrselct.h (renamed from tvision/include/tv/clrselct.h)0
-rw-r--r--rhtvision/include/tv/cluster.h (renamed from tvision/include/tv/cluster.h)0
-rw-r--r--rhtvision/include/tv/cmdset.h (renamed from tvision/include/tv/cmdset.h)0
-rw-r--r--rhtvision/include/tv/codepage.h (renamed from tvision/include/tv/codepage.h)0
-rw-r--r--rhtvision/include/tv/collectn.h (renamed from tvision/include/tv/collectn.h)0
-rw-r--r--rhtvision/include/tv/colorsel.h (renamed from tvision/include/tv/colorsel.h)0
-rw-r--r--rhtvision/include/tv/configfile.h (renamed from tvision/include/tv/configfile.h)0
-rw-r--r--rhtvision/include/tv/desktop.h (renamed from tvision/include/tv/desktop.h)0
-rw-r--r--rhtvision/include/tv/dialog.h (renamed from tvision/include/tv/dialog.h)0
-rw-r--r--rhtvision/include/tv/dialogs.h (renamed from tvision/include/tv/dialogs.h)0
-rw-r--r--rhtvision/include/tv/dircoll.h (renamed from tvision/include/tv/dircoll.h)0
-rw-r--r--rhtvision/include/tv/direntr.h (renamed from tvision/include/tv/direntr.h)0
-rw-r--r--rhtvision/include/tv/dirlibo.h (renamed from tvision/include/tv/dirlibo.h)0
-rw-r--r--rhtvision/include/tv/dos/key.h (renamed from tvision/include/tv/dos/key.h)0
-rw-r--r--rhtvision/include/tv/dos/mouse.h (renamed from tvision/include/tv/dos/mouse.h)0
-rw-r--r--rhtvision/include/tv/dos/screen.h (renamed from tvision/include/tv/dos/screen.h)0
-rw-r--r--rhtvision/include/tv/drawbuf.h (renamed from tvision/include/tv/drawbuf.h)0
-rw-r--r--rhtvision/include/tv/drivers.h (renamed from tvision/include/tv/drivers.h)0
-rw-r--r--rhtvision/include/tv/editors.h (renamed from tvision/include/tv/editors.h)0
-rw-r--r--rhtvision/include/tv/event.h (renamed from tvision/include/tv/event.h)0
-rw-r--r--rhtvision/include/tv/eventqu.h (renamed from tvision/include/tv/eventqu.h)0
-rw-r--r--rhtvision/include/tv/filecoll.h (renamed from tvision/include/tv/filecoll.h)0
-rw-r--r--rhtvision/include/tv/filedlg.h (renamed from tvision/include/tv/filedlg.h)0
-rw-r--r--rhtvision/include/tv/filelist.h (renamed from tvision/include/tv/filelist.h)0
-rw-r--r--rhtvision/include/tv/fileview.h (renamed from tvision/include/tv/fileview.h)0
-rw-r--r--rhtvision/include/tv/filinfpn.h (renamed from tvision/include/tv/filinfpn.h)0
-rw-r--r--rhtvision/include/tv/filinpln.h (renamed from tvision/include/tv/filinpln.h)0
-rw-r--r--rhtvision/include/tv/findrepl.h (renamed from tvision/include/tv/findrepl.h)0
-rw-r--r--rhtvision/include/tv/fontcoll.h (renamed from tvision/include/tv/fontcoll.h)0
-rw-r--r--rhtvision/include/tv/fpbase.h (renamed from tvision/include/tv/fpbase.h)0
-rw-r--r--rhtvision/include/tv/fpstream.h (renamed from tvision/include/tv/fpstream.h)0
-rw-r--r--rhtvision/include/tv/frame.h (renamed from tvision/include/tv/frame.h)0
-rw-r--r--rhtvision/include/tv/gkey.h (renamed from tvision/include/tv/gkey.h)0
-rw-r--r--rhtvision/include/tv/group.h (renamed from tvision/include/tv/group.h)0
-rw-r--r--rhtvision/include/tv/help.h (renamed from tvision/include/tv/help.h)0
-rw-r--r--rhtvision/include/tv/helpbase.h (renamed from tvision/include/tv/helpbase.h)0
-rw-r--r--rhtvision/include/tv/history.h (renamed from tvision/include/tv/history.h)0
-rw-r--r--rhtvision/include/tv/histvwer.h (renamed from tvision/include/tv/histvwer.h)0
-rw-r--r--rhtvision/include/tv/histwind.h (renamed from tvision/include/tv/histwind.h)0
-rw-r--r--rhtvision/include/tv/ifpstrm.h (renamed from tvision/include/tv/ifpstrm.h)0
-rw-r--r--rhtvision/include/tv/indicato.h (renamed from tvision/include/tv/indicato.h)0
-rw-r--r--rhtvision/include/tv/inputln.h (renamed from tvision/include/tv/inputln.h)0
-rw-r--r--rhtvision/include/tv/intl.h (renamed from tvision/include/tv/intl.h)0
-rw-r--r--rhtvision/include/tv/iopstrm.h (renamed from tvision/include/tv/iopstrm.h)0
-rw-r--r--rhtvision/include/tv/ipstream.h (renamed from tvision/include/tv/ipstream.h)0
-rw-r--r--rhtvision/include/tv/label.h (renamed from tvision/include/tv/label.h)0
-rw-r--r--rhtvision/include/tv/linux/key.h (renamed from tvision/include/tv/linux/key.h)0
-rw-r--r--rhtvision/include/tv/linux/log.h (renamed from tvision/include/tv/linux/log.h)0
-rw-r--r--rhtvision/include/tv/linux/mouse.h (renamed from tvision/include/tv/linux/mouse.h)0
-rw-r--r--rhtvision/include/tv/linux/screen.h (renamed from tvision/include/tv/linux/screen.h)0
-rw-r--r--rhtvision/include/tv/listbox.h (renamed from tvision/include/tv/listbox.h)0
-rw-r--r--rhtvision/include/tv/lstviewr.h (renamed from tvision/include/tv/lstviewr.h)0
-rw-r--r--rhtvision/include/tv/menu.h (renamed from tvision/include/tv/menu.h)0
-rw-r--r--rhtvision/include/tv/menubar.h (renamed from tvision/include/tv/menubar.h)0
-rw-r--r--rhtvision/include/tv/menubox.h (renamed from tvision/include/tv/menubox.h)0
-rw-r--r--rhtvision/include/tv/menuitem.h (renamed from tvision/include/tv/menuitem.h)0
-rw-r--r--rhtvision/include/tv/menus.h (renamed from tvision/include/tv/menus.h)0
-rw-r--r--rhtvision/include/tv/menuview.h (renamed from tvision/include/tv/menuview.h)0
-rw-r--r--rhtvision/include/tv/mnoselct.h (renamed from tvision/include/tv/mnoselct.h)0
-rw-r--r--rhtvision/include/tv/msgbox.h (renamed from tvision/include/tv/msgbox.h)0
-rw-r--r--rhtvision/include/tv/no_mss.h (renamed from tvision/include/tv/no_mss.h)0
-rw-r--r--rhtvision/include/tv/nointl.h (renamed from tvision/include/tv/nointl.h)0
-rw-r--r--rhtvision/include/tv/nscoll.h (renamed from tvision/include/tv/nscoll.h)0
-rw-r--r--rhtvision/include/tv/nssorcol.h (renamed from tvision/include/tv/nssorcol.h)0
-rw-r--r--rhtvision/include/tv/object.h (renamed from tvision/include/tv/object.h)0
-rw-r--r--rhtvision/include/tv/objects.h (renamed from tvision/include/tv/objects.h)0
-rw-r--r--rhtvision/include/tv/ofpstrm.h (renamed from tvision/include/tv/ofpstrm.h)0
-rw-r--r--rhtvision/include/tv/opstream.h (renamed from tvision/include/tv/opstream.h)0
-rw-r--r--rhtvision/include/tv/osclipboard.h (renamed from tvision/include/tv/osclipboard.h)0
-rw-r--r--rhtvision/include/tv/otstream.h (renamed from tvision/include/tv/otstream.h)0
-rw-r--r--rhtvision/include/tv/palette.h (renamed from tvision/include/tv/palette.h)0
-rw-r--r--rhtvision/include/tv/parmtext.h (renamed from tvision/include/tv/parmtext.h)0
-rw-r--r--rhtvision/include/tv/parttree.h (renamed from tvision/include/tv/parttree.h)0
-rw-r--r--rhtvision/include/tv/point.h (renamed from tvision/include/tv/point.h)0
-rw-r--r--rhtvision/include/tv/preadobj.h (renamed from tvision/include/tv/preadobj.h)0
-rw-r--r--rhtvision/include/tv/program.h (renamed from tvision/include/tv/program.h)0
-rw-r--r--rhtvision/include/tv/pstream.h (renamed from tvision/include/tv/pstream.h)0
-rw-r--r--rhtvision/include/tv/pwritobj.h (renamed from tvision/include/tv/pwritobj.h)0
-rw-r--r--rhtvision/include/tv/qnx4/key.h (renamed from tvision/include/tv/qnx4/key.h)0
-rw-r--r--rhtvision/include/tv/qnx4/mouse.h (renamed from tvision/include/tv/qnx4/mouse.h)0
-rw-r--r--rhtvision/include/tv/qnx4/screen.h (renamed from tvision/include/tv/qnx4/screen.h)0
-rw-r--r--rhtvision/include/tv/qnxrtp/key.h (renamed from tvision/include/tv/qnxrtp/key.h)0
-rw-r--r--rhtvision/include/tv/qnxrtp/mouse.h (renamed from tvision/include/tv/qnxrtp/mouse.h)0
-rw-r--r--rhtvision/include/tv/qnxrtp/screen.h (renamed from tvision/include/tv/qnxrtp/screen.h)0
-rw-r--r--rhtvision/include/tv/radiobtn.h (renamed from tvision/include/tv/radiobtn.h)0
-rw-r--r--rhtvision/include/tv/rect.h (renamed from tvision/include/tv/rect.h)0
-rw-r--r--rhtvision/include/tv/rescoll.h (renamed from tvision/include/tv/rescoll.h)0
-rw-r--r--rhtvision/include/tv/resfile.h (renamed from tvision/include/tv/resfile.h)0
-rw-r--r--rhtvision/include/tv/resitem.h (renamed from tvision/include/tv/resitem.h)0
-rw-r--r--rhtvision/include/tv/resource.h (renamed from tvision/include/tv/resource.h)0
-rw-r--r--rhtvision/include/tv/screen.h (renamed from tvision/include/tv/screen.h)0
-rw-r--r--rhtvision/include/tv/scrlbar.h (renamed from tvision/include/tv/scrlbar.h)0
-rw-r--r--rhtvision/include/tv/scroller.h (renamed from tvision/include/tv/scroller.h)0
-rw-r--r--rhtvision/include/tv/searchrc.h (renamed from tvision/include/tv/searchrc.h)0
-rw-r--r--rhtvision/include/tv/sitem.h (renamed from tvision/include/tv/sitem.h)0
-rw-r--r--rhtvision/include/tv/skeleton/key.h (renamed from tvision/include/tv/skeleton/key.h)0
-rw-r--r--rhtvision/include/tv/skeleton/mouse.h (renamed from tvision/include/tv/skeleton/mouse.h)0
-rw-r--r--rhtvision/include/tv/skeleton/screen.h (renamed from tvision/include/tv/skeleton/screen.h)0
-rw-r--r--rhtvision/include/tv/sortcoll.h (renamed from tvision/include/tv/sortcoll.h)0
-rw-r--r--rhtvision/include/tv/sortlibo.h (renamed from tvision/include/tv/sortlibo.h)0
-rw-r--r--rhtvision/include/tv/ssc_streams.h (renamed from tvision/include/tv/ssc_streams.h)0
-rw-r--r--rhtvision/include/tv/statsdef.h (renamed from tvision/include/tv/statsdef.h)0
-rw-r--r--rhtvision/include/tv/statsitm.h (renamed from tvision/include/tv/statsitm.h)0
-rw-r--r--rhtvision/include/tv/statslin.h (renamed from tvision/include/tv/statslin.h)0
-rw-r--r--rhtvision/include/tv/stddlg.h (renamed from tvision/include/tv/stddlg.h)0
-rw-r--r--rhtvision/include/tv/streambl.h (renamed from tvision/include/tv/streambl.h)0
-rw-r--r--rhtvision/include/tv/strilist.h (renamed from tvision/include/tv/strilist.h)0
-rw-r--r--rhtvision/include/tv/strinrec.h (renamed from tvision/include/tv/strinrec.h)0
-rw-r--r--rhtvision/include/tv/strlistm.h (renamed from tvision/include/tv/strlistm.h)0
-rw-r--r--rhtvision/include/tv/strmblcl.h (renamed from tvision/include/tv/strmblcl.h)0
-rw-r--r--rhtvision/include/tv/strmblty.h (renamed from tvision/include/tv/strmblty.h)0
-rw-r--r--rhtvision/include/tv/strncoll.h (renamed from tvision/include/tv/strncoll.h)0
-rw-r--r--rhtvision/include/tv/sttctext.h (renamed from tvision/include/tv/sttctext.h)0
-rw-r--r--rhtvision/include/tv/submenu.h (renamed from tvision/include/tv/submenu.h)0
-rw-r--r--rhtvision/include/tv/system.h (renamed from tvision/include/tv/system.h)0
-rw-r--r--rhtvision/include/tv/terminal.h (renamed from tvision/include/tv/terminal.h)0
-rw-r--r--rhtvision/include/tv/textdev.h (renamed from tvision/include/tv/textdev.h)0
-rw-r--r--rhtvision/include/tv/textview.h (renamed from tvision/include/tv/textview.h)0
-rw-r--r--rhtvision/include/tv/tkeyext.h (renamed from tvision/include/tv/tkeyext.h)0
-rw-r--r--rhtvision/include/tv/tkeys.h (renamed from tvision/include/tv/tkeys.h)0
-rw-r--r--rhtvision/include/tv/tobjstrm.h (renamed from tvision/include/tv/tobjstrm.h)0
-rw-r--r--rhtvision/include/tv/ttypes.h (renamed from tvision/include/tv/ttypes.h)0
-rw-r--r--rhtvision/include/tv/tvconfig.h (renamed from tvision/include/tv/tvconfig.h)0
-rw-r--r--rhtvision/include/tv/tvedit.h (renamed from tvision/include/tv/tvedit.h)0
-rw-r--r--rhtvision/include/tv/tvobjs.h (renamed from tvision/include/tv/tvobjs.h)0
-rw-r--r--rhtvision/include/tv/tvutil.h (renamed from tvision/include/tv/tvutil.h)0
-rw-r--r--rhtvision/include/tv/unix/key.h (renamed from tvision/include/tv/unix/key.h)0
-rw-r--r--rhtvision/include/tv/unix/mouse.h (renamed from tvision/include/tv/unix/mouse.h)0
-rw-r--r--rhtvision/include/tv/unix/screen.h (renamed from tvision/include/tv/unix/screen.h)0
-rw-r--r--rhtvision/include/tv/unix/xtkey.h (renamed from tvision/include/tv/unix/xtkey.h)0
-rw-r--r--rhtvision/include/tv/unix/xtmouse.h (renamed from tvision/include/tv/unix/xtmouse.h)0
-rw-r--r--rhtvision/include/tv/unix/xtscreen.h (renamed from tvision/include/tv/unix/xtscreen.h)0
-rw-r--r--rhtvision/include/tv/validate.h (renamed from tvision/include/tv/validate.h)0
-rw-r--r--rhtvision/include/tv/video.h (renamed from tvision/include/tv/video.h)0
-rw-r--r--rhtvision/include/tv/view.h (renamed from tvision/include/tv/view.h)0
-rw-r--r--rhtvision/include/tv/views.h (renamed from tvision/include/tv/views.h)0
-rw-r--r--rhtvision/include/tv/win32/key.h (renamed from tvision/include/tv/win32/key.h)0
-rw-r--r--rhtvision/include/tv/win32/mouse.h (renamed from tvision/include/tv/win32/mouse.h)0
-rw-r--r--rhtvision/include/tv/win32/screen.h (renamed from tvision/include/tv/win32/screen.h)0
-rw-r--r--rhtvision/include/tv/win32/win32clip.h (renamed from tvision/include/tv/win32/win32clip.h)0
-rw-r--r--rhtvision/include/tv/window.h (renamed from tvision/include/tv/window.h)0
-rw-r--r--rhtvision/include/tv/wingr/key.h (renamed from tvision/include/tv/wingr/key.h)0
-rw-r--r--rhtvision/include/tv/wingr/mouse.h (renamed from tvision/include/tv/wingr/mouse.h)0
-rw-r--r--rhtvision/include/tv/wingr/screen.h (renamed from tvision/include/tv/wingr/screen.h)0
-rw-r--r--rhtvision/include/tv/winnt/key.h (renamed from tvision/include/tv/winnt/key.h)0
-rw-r--r--rhtvision/include/tv/winnt/mouse.h (renamed from tvision/include/tv/winnt/mouse.h)0
-rw-r--r--rhtvision/include/tv/winnt/screen.h (renamed from tvision/include/tv/winnt/screen.h)0
-rw-r--r--rhtvision/include/tv/x11/key.h (renamed from tvision/include/tv/x11/key.h)0
-rw-r--r--rhtvision/include/tv/x11/mouse.h (renamed from tvision/include/tv/x11/mouse.h)0
-rw-r--r--rhtvision/include/tv/x11/screen.h (renamed from tvision/include/tv/x11/screen.h)0
-rw-r--r--rhtvision/include/tv/yes_mss.h (renamed from tvision/include/tv/yes_mss.h)0
-rw-r--r--rhtvision/intl/Makefile (renamed from tvision/intl/Makefile)0
-rw-r--r--rhtvision/intl/dummy/Makefile (renamed from tvision/intl/dummy/Makefile)0
-rw-r--r--rhtvision/intl/dummy/intldummy.c (renamed from tvision/intl/dummy/intldummy.c)0
-rw-r--r--rhtvision/intl/es.po (renamed from tvision/intl/es.po)0
-rw-r--r--rhtvision/intl/gnumake.in (renamed from tvision/intl/gnumake.in)0
-rw-r--r--rhtvision/intl/pl.po (renamed from tvision/intl/pl.po)0
-rw-r--r--rhtvision/intl/ru.po (renamed from tvision/intl/ru.po)0
-rw-r--r--rhtvision/intl/tvision.po (renamed from tvision/intl/tvision.po)0
-rw-r--r--rhtvision/intl/utod.pl (renamed from tvision/intl/utod.pl)0
-rwxr-xr-xrhtvision/linux/compress (renamed from tvision/linux/compress)0
-rw-r--r--rhtvision/linux/inclubin.txt (renamed from tvision/linux/inclubin.txt)0
-rw-r--r--rhtvision/linux/includbi.txt (renamed from tvision/linux/includbi.txt)0
-rw-r--r--rhtvision/linux/sacadeb (renamed from tvision/linux/sacadeb)0
-rw-r--r--rhtvision/lista (renamed from tvision/lista)0
-rw-r--r--rhtvision/lista.dos (renamed from tvision/lista.dos)0
-rw-r--r--rhtvision/makes/blink.c (renamed from tvision/makes/blink.c)0
-rw-r--r--rhtvision/makes/common.bmk (renamed from tvision/makes/common.bmk)0
-rw-r--r--rhtvision/makes/common.imk (renamed from tvision/makes/common.imk)0
-rw-r--r--rhtvision/makes/common.nmk (renamed from tvision/makes/common.nmk)0
-rw-r--r--rhtvision/makes/common.wat (renamed from tvision/makes/common.wat)0
-rw-r--r--rhtvision/makes/config.bcc (renamed from tvision/makes/config.bcc)0
-rw-r--r--rhtvision/makes/config.nmk (renamed from tvision/makes/config.nmk)0
-rw-r--r--rhtvision/makes/config.wat (renamed from tvision/makes/config.wat)0
-rw-r--r--rhtvision/makes/extrimk.cc (renamed from tvision/makes/extrimk.cc)0
-rw-r--r--rhtvision/makes/genimk.cc (renamed from tvision/makes/genimk.cc)0
-rw-r--r--rhtvision/makes/includer.bmk (renamed from tvision/makes/includer.bmk)0
-rw-r--r--rhtvision/makes/includer.imk (renamed from tvision/makes/includer.imk)0
-rw-r--r--rhtvision/makes/librhtv.bmk (renamed from tvision/makes/librhtv.bmk)0
-rw-r--r--rhtvision/makes/librhtv.gpr (renamed from tvision/makes/librhtv.gpr)bin436379 -> 436379 bytes
-rw-r--r--rhtvision/makes/librhtv.imk (renamed from tvision/makes/librhtv.imk)0
-rw-r--r--rhtvision/makes/librhtv.mkf (renamed from tvision/makes/librhtv.mkf)0
-rw-r--r--rhtvision/makes/librhtv.umk (renamed from tvision/makes/librhtv.umk)0
-rw-r--r--rhtvision/makes/maintain.mak (renamed from tvision/makes/maintain.mak)0
-rw-r--r--rhtvision/makes/mlink.c (renamed from tvision/makes/mlink.c)0
-rw-r--r--rhtvision/makes/obj/delete.me (renamed from tvision/makes/obj/delete.me)0
-rw-r--r--rhtvision/misc.cc (renamed from tvision/misc.cc)0
-rw-r--r--rhtvision/miscperl.pl (renamed from tvision/miscperl.pl)0
-rw-r--r--rhtvision/msgbox.cc (renamed from tvision/msgbox.cc)0
-rw-r--r--rhtvision/names/nbackgro.cc (renamed from tvision/names/nbackgro.cc)0
-rw-r--r--rhtvision/names/nbutton.cc (renamed from tvision/names/nbutton.cc)0
-rw-r--r--rhtvision/names/ncalcdis.cc (renamed from tvision/names/ncalcdis.cc)0
-rw-r--r--rhtvision/names/ncalcula.cc (renamed from tvision/names/ncalcula.cc)0
-rw-r--r--rhtvision/names/nchdirdi.cc (renamed from tvision/names/nchdirdi.cc)0
-rw-r--r--rhtvision/names/ncheckbo.cc (renamed from tvision/names/ncheckbo.cc)0
-rw-r--r--rhtvision/names/nclrdisp.cc (renamed from tvision/names/nclrdisp.cc)0
-rw-r--r--rhtvision/names/ncluster.cc (renamed from tvision/names/ncluster.cc)0
-rw-r--r--rhtvision/names/ncollect.cc (renamed from tvision/names/ncollect.cc)0
-rw-r--r--rhtvision/names/ncolordi.cc (renamed from tvision/names/ncolordi.cc)0
-rw-r--r--rhtvision/names/ncolorgr.cc (renamed from tvision/names/ncolorgr.cc)0
-rw-r--r--rhtvision/names/ncolorit.cc (renamed from tvision/names/ncolorit.cc)0
-rw-r--r--rhtvision/names/ncolorse.cc (renamed from tvision/names/ncolorse.cc)0
-rw-r--r--rhtvision/names/ndesktop.cc (renamed from tvision/names/ndesktop.cc)0
-rw-r--r--rhtvision/names/ndialog.cc (renamed from tvision/names/ndialog.cc)0
-rw-r--r--rhtvision/names/ndircoll.cc (renamed from tvision/names/ndircoll.cc)0
-rw-r--r--rhtvision/names/ndirlist.cc (renamed from tvision/names/ndirlist.cc)0
-rw-r--r--rhtvision/names/neditor.cc (renamed from tvision/names/neditor.cc)0
-rw-r--r--rhtvision/names/neditwi.cc (renamed from tvision/names/neditwi.cc)0
-rw-r--r--rhtvision/names/nfilecol.cc (renamed from tvision/names/nfilecol.cc)0
-rw-r--r--rhtvision/names/nfiledia.cc (renamed from tvision/names/nfiledia.cc)0
-rw-r--r--rhtvision/names/nfiledtr.cc (renamed from tvision/names/nfiledtr.cc)0
-rw-r--r--rhtvision/names/nfileinf.cc (renamed from tvision/names/nfileinf.cc)0
-rw-r--r--rhtvision/names/nfileinp.cc (renamed from tvision/names/nfileinp.cc)0
-rw-r--r--rhtvision/names/nfilelis.cc (renamed from tvision/names/nfilelis.cc)0
-rw-r--r--rhtvision/names/nfilterv.cc (renamed from tvision/names/nfilterv.cc)0
-rw-r--r--rhtvision/names/nframe.cc (renamed from tvision/names/nframe.cc)0
-rw-r--r--rhtvision/names/ngroup.cc (renamed from tvision/names/ngroup.cc)0
-rw-r--r--rhtvision/names/nhistory.cc (renamed from tvision/names/nhistory.cc)0
-rw-r--r--rhtvision/names/nindicat.cc (renamed from tvision/names/nindicat.cc)0
-rw-r--r--rhtvision/names/ninputli.cc (renamed from tvision/names/ninputli.cc)0
-rw-r--r--rhtvision/names/nlabel.cc (renamed from tvision/names/nlabel.cc)0
-rw-r--r--rhtvision/names/nlistbox.cc (renamed from tvision/names/nlistbox.cc)0
-rw-r--r--rhtvision/names/nlistvie.cc (renamed from tvision/names/nlistvie.cc)0
-rw-r--r--rhtvision/names/nlookupv.cc (renamed from tvision/names/nlookupv.cc)0
-rw-r--r--rhtvision/names/nmemo.cc (renamed from tvision/names/nmemo.cc)0
-rw-r--r--rhtvision/names/nmenubar.cc (renamed from tvision/names/nmenubar.cc)0
-rw-r--r--rhtvision/names/nmenubox.cc (renamed from tvision/names/nmenubox.cc)0
-rw-r--r--rhtvision/names/nmenuvie.cc (renamed from tvision/names/nmenuvie.cc)0
-rw-r--r--rhtvision/names/nmonosel.cc (renamed from tvision/names/nmonosel.cc)0
-rw-r--r--rhtvision/names/nparamte.cc (renamed from tvision/names/nparamte.cc)0
-rw-r--r--rhtvision/names/npxvalid.cc (renamed from tvision/names/npxvalid.cc)0
-rw-r--r--rhtvision/names/nradiobu.cc (renamed from tvision/names/nradiobu.cc)0
-rw-r--r--rhtvision/names/nrangeva.cc (renamed from tvision/names/nrangeva.cc)0
-rw-r--r--rhtvision/names/nresourc.cc (renamed from tvision/names/nresourc.cc)0
-rw-r--r--rhtvision/names/nscrollb.cc (renamed from tvision/names/nscrollb.cc)0
-rw-r--r--rhtvision/names/nscrolle.cc (renamed from tvision/names/nscrolle.cc)0
-rw-r--r--rhtvision/names/nsortedc.cc (renamed from tvision/names/nsortedc.cc)0
-rw-r--r--rhtvision/names/nsortedl.cc (renamed from tvision/names/nsortedl.cc)0
-rw-r--r--rhtvision/names/nstatict.cc (renamed from tvision/names/nstatict.cc)0
-rw-r--r--rhtvision/names/nstatusl.cc (renamed from tvision/names/nstatusl.cc)0
-rw-r--r--rhtvision/names/nstringc.cc (renamed from tvision/names/nstringc.cc)0
-rw-r--r--rhtvision/names/nstringl.cc (renamed from tvision/names/nstringl.cc)0
-rw-r--r--rhtvision/names/nvalidat.cc (renamed from tvision/names/nvalidat.cc)0
-rw-r--r--rhtvision/names/nview.cc (renamed from tvision/names/nview.cc)0
-rw-r--r--rhtvision/names/nwindow.cc (renamed from tvision/names/nwindow.cc)0
-rw-r--r--rhtvision/newstr.cc (renamed from tvision/newstr.cc)0
-rw-r--r--rhtvision/qnxrtp/tvision.qpg (renamed from tvision/qnxrtp/tvision.qpg)0
-rw-r--r--rhtvision/qnxrtp/tvision.qpg.in (renamed from tvision/qnxrtp/tvision.qpg.in)0
-rw-r--r--rhtvision/readme.in (renamed from tvision/readme.in)0
-rw-r--r--rhtvision/readme.txt (renamed from tvision/readme.txt)0
-rw-r--r--rhtvision/redhat/.cvsignore (renamed from tvision/redhat/.cvsignore)0
-rw-r--r--rhtvision/redhat/README (renamed from tvision/redhat/README)0
-rwxr-xr-xrhtvision/redhat/config-rpm.sh (renamed from tvision/redhat/config-rpm.sh)0
-rwxr-xr-xrhtvision/redhat/create-dirs.sh (renamed from tvision/redhat/create-dirs.sh)0
-rwxr-xr-xrhtvision/redhat/create-rpms.sh (renamed from tvision/redhat/create-rpms.sh)0
-rw-r--r--rhtvision/redhat/librhtv.spec.in (renamed from tvision/redhat/librhtv.spec.in)0
-rw-r--r--rhtvision/rhide.env (renamed from tvision/rhide.env)0
-rw-r--r--rhtvision/rhtv-config.c (renamed from tvision/rhtv-config.c)0
-rwxr-xr-xrhtvision/searchstrs.sh (renamed from tvision/searchstrs.sh)0
-rw-r--r--rhtvision/snapshot.pl (renamed from tvision/snapshot.pl)0
-rw-r--r--rhtvision/stream/sbackgro.cc (renamed from tvision/stream/sbackgro.cc)0
-rw-r--r--rhtvision/stream/sbutton.cc (renamed from tvision/stream/sbutton.cc)0
-rw-r--r--rhtvision/stream/scalcdis.cc (renamed from tvision/stream/scalcdis.cc)0
-rw-r--r--rhtvision/stream/scalcula.cc (renamed from tvision/stream/scalcula.cc)0
-rw-r--r--rhtvision/stream/schdirdi.cc (renamed from tvision/stream/schdirdi.cc)0
-rw-r--r--rhtvision/stream/scheckbo.cc (renamed from tvision/stream/scheckbo.cc)0
-rw-r--r--rhtvision/stream/sclrdisp.cc (renamed from tvision/stream/sclrdisp.cc)0
-rw-r--r--rhtvision/stream/scluster.cc (renamed from tvision/stream/scluster.cc)0
-rw-r--r--rhtvision/stream/scolordi.cc (renamed from tvision/stream/scolordi.cc)0
-rw-r--r--rhtvision/stream/scolorgr.cc (renamed from tvision/stream/scolorgr.cc)0
-rw-r--r--rhtvision/stream/scolorit.cc (renamed from tvision/stream/scolorit.cc)0
-rw-r--r--rhtvision/stream/scolorse.cc (renamed from tvision/stream/scolorse.cc)0
-rw-r--r--rhtvision/stream/sdesktop.cc (renamed from tvision/stream/sdesktop.cc)0
-rw-r--r--rhtvision/stream/sdialog.cc (renamed from tvision/stream/sdialog.cc)0
-rw-r--r--rhtvision/stream/sdircoll.cc (renamed from tvision/stream/sdircoll.cc)0
-rw-r--r--rhtvision/stream/sdirlist.cc (renamed from tvision/stream/sdirlist.cc)0
-rw-r--r--rhtvision/stream/seditor.cc (renamed from tvision/stream/seditor.cc)0
-rw-r--r--rhtvision/stream/seditwin.cc (renamed from tvision/stream/seditwin.cc)0
-rw-r--r--rhtvision/stream/sfilecol.cc (renamed from tvision/stream/sfilecol.cc)0
-rw-r--r--rhtvision/stream/sfiledia.cc (renamed from tvision/stream/sfiledia.cc)0
-rw-r--r--rhtvision/stream/sfileedi.cc (renamed from tvision/stream/sfileedi.cc)0
-rw-r--r--rhtvision/stream/sfileinf.cc (renamed from tvision/stream/sfileinf.cc)0
-rw-r--r--rhtvision/stream/sfileinp.cc (renamed from tvision/stream/sfileinp.cc)0
-rw-r--r--rhtvision/stream/sfilelis.cc (renamed from tvision/stream/sfilelis.cc)0
-rw-r--r--rhtvision/stream/sfilterv.cc (renamed from tvision/stream/sfilterv.cc)0
-rw-r--r--rhtvision/stream/sframe.cc (renamed from tvision/stream/sframe.cc)0
-rw-r--r--rhtvision/stream/sgroup.cc (renamed from tvision/stream/sgroup.cc)0
-rw-r--r--rhtvision/stream/shistory.cc (renamed from tvision/stream/shistory.cc)0
-rw-r--r--rhtvision/stream/sindicat.cc (renamed from tvision/stream/sindicat.cc)0
-rw-r--r--rhtvision/stream/sinputli.cc (renamed from tvision/stream/sinputli.cc)0
-rw-r--r--rhtvision/stream/slabel.cc (renamed from tvision/stream/slabel.cc)0
-rw-r--r--rhtvision/stream/slistbox.cc (renamed from tvision/stream/slistbox.cc)0
-rw-r--r--rhtvision/stream/slistvie.cc (renamed from tvision/stream/slistvie.cc)0
-rw-r--r--rhtvision/stream/slookupv.cc (renamed from tvision/stream/slookupv.cc)0
-rw-r--r--rhtvision/stream/smemo.cc (renamed from tvision/stream/smemo.cc)0
-rw-r--r--rhtvision/stream/smenubar.cc (renamed from tvision/stream/smenubar.cc)0
-rw-r--r--rhtvision/stream/smenubox.cc (renamed from tvision/stream/smenubox.cc)0
-rw-r--r--rhtvision/stream/smenuvie.cc (renamed from tvision/stream/smenuvie.cc)0
-rw-r--r--rhtvision/stream/smonosel.cc (renamed from tvision/stream/smonosel.cc)0
-rw-r--r--rhtvision/stream/sparamte.cc (renamed from tvision/stream/sparamte.cc)0
-rw-r--r--rhtvision/stream/spxvalid.cc (renamed from tvision/stream/spxvalid.cc)0
-rw-r--r--rhtvision/stream/sradiobu.cc (renamed from tvision/stream/sradiobu.cc)0
-rw-r--r--rhtvision/stream/srangeva.cc (renamed from tvision/stream/srangeva.cc)0
-rw-r--r--rhtvision/stream/sresourc.cc (renamed from tvision/stream/sresourc.cc)0
-rw-r--r--rhtvision/stream/sscrollb.cc (renamed from tvision/stream/sscrollb.cc)0
-rw-r--r--rhtvision/stream/sscrolle.cc (renamed from tvision/stream/sscrolle.cc)0
-rw-r--r--rhtvision/stream/sstatict.cc (renamed from tvision/stream/sstatict.cc)0
-rw-r--r--rhtvision/stream/sstatusl.cc (renamed from tvision/stream/sstatusl.cc)0
-rw-r--r--rhtvision/stream/sstringc.cc (renamed from tvision/stream/sstringc.cc)0
-rw-r--r--rhtvision/stream/sstringl.cc (renamed from tvision/stream/sstringl.cc)0
-rw-r--r--rhtvision/stream/sview.cc (renamed from tvision/stream/sview.cc)0
-rw-r--r--rhtvision/stream/swindow.cc (renamed from tvision/stream/swindow.cc)0
-rwxr-xr-xrhtvision/update (renamed from tvision/update)0
-rwxr-xr-xrhtvision/update.bat (renamed from tvision/update.bat)0
-rw-r--r--rhtvision/version.txt (renamed from tvision/version.txt)0
-rw-r--r--rhtvision/win32/readme.txt (renamed from tvision/win32/readme.txt)0
-rw-r--r--rhtvision/winnt/Makefile (renamed from tvision/winnt/Makefile)0
-rw-r--r--rhtvision/winnt/Makefile.nmk (renamed from tvision/winnt/Makefile.nmk)0
-rw-r--r--rhtvision/winnt/bccmake.in (renamed from tvision/winnt/bccmake.in)0
-rw-r--r--rhtvision/winnt/include/msvc/dir.h (renamed from tvision/winnt/include/msvc/dir.h)0
-rw-r--r--rhtvision/winnt/include/msvc/dirent.h (renamed from tvision/winnt/include/msvc/dirent.h)0
-rw-r--r--rhtvision/winnt/include/msvc/strstream.h (renamed from tvision/winnt/include/msvc/strstream.h)0
-rw-r--r--rhtvision/winnt/include/tv/configtv.h (renamed from tvision/winnt/include/tv/configtv.h)0
-rw-r--r--rhtvision/winnt/msvcmake.in (renamed from tvision/winnt/msvcmake.in)0
-rw-r--r--rhtvision/winnt/obj_ms/delete.me (renamed from tvision/winnt/obj_ms/delete.me)0
-rw-r--r--rhtvision/winnt/objs/delete.me (renamed from tvision/winnt/objs/delete.me)0
-rw-r--r--rhtvision/winnt/readme.txt (renamed from tvision/winnt/readme.txt)0
-rw-r--r--rhtvision/winnt/tvex.cc (renamed from tvision/winnt/tvex.cc)0
-rw-r--r--rhtvision/www-site/bvucs-n1.jpg (renamed from tvision/www-site/bvucs-n1.jpg)bin2297 -> 2297 bytes
-rw-r--r--rhtvision/www-site/contrib.html (renamed from tvision/www-site/contrib.html)0
-rw-r--r--rhtvision/www-site/envelp.gif (renamed from tvision/www-site/envelp.gif)bin1664 -> 1664 bytes
-rw-r--r--rhtvision/www-site/history.html (renamed from tvision/www-site/history.html)0
-rw-r--r--rhtvision/www-site/index.html (renamed from tvision/www-site/index.html)0
-rw-r--r--rhtvision/www-site/sf.css (renamed from tvision/www-site/sf.css)0
-rwxr-xr-xrhtvision/www-site/update (renamed from tvision/www-site/update)0
1597 files changed, 182923 insertions, 0 deletions
diff --git a/freebsdtvision/Announce b/freebsdtvision/Announce
new file mode 100644
index 0000000..00c43a4
--- /dev/null
+++ b/freebsdtvision/Announce
@@ -0,0 +1,18 @@
+
+TVision 0.8 - C++ application framework library
+-----------------------------------------------
+
+Turbo Vision (or TV, for short) is a library that provides an application
+framework. With TV you can write a beautiful object-oriented character-mode
+user interface in a short time.
+
+TV is available in C++ and Pascal and is a product of Borland International.
+It was developed to run on MS-DOS systems, but today it is available for many
+other platforms (ported by independent programmers).
+
+This port is based on the Borland 2.0 version with fixes.
+
+Warning: the BSD-style copyright is applicable only to the modifications
+brought by Sergio Sigala to the original code.
+
+Happy hacking!
diff --git a/freebsdtvision/COPYRIGHT b/freebsdtvision/COPYRIGHT
new file mode 100644
index 0000000..b7ea62f
--- /dev/null
+++ b/freebsdtvision/COPYRIGHT
@@ -0,0 +1,33 @@
+
+Warning: the BSD-style copyright is applicable only to the modifications
+apported by Sergio Sigala to the original code.
+
+Borland has released the code to the public, but still owns the original
+copyright (see lib/tv.h for instance).
+
+Other contributors have their respective copyright.
+
+/*
+ * All changes copyright (c) 1997 Sergio Sigala, Brescia, Italy.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
diff --git a/freebsdtvision/ChangeLog b/freebsdtvision/ChangeLog
new file mode 100644
index 0000000..5615a89
--- /dev/null
+++ b/freebsdtvision/ChangeLog
@@ -0,0 +1,183 @@
+>>>>>>>> Changes for TVISION_1_4 (April 5, 2003) <<<<<<<<
+- Cleanup API for TStaticText, TParamText and TLabel, by using STL
+ string object.
+
+>>>>>>>> Changes for TVISION_1_4 (April 5, 2003) <<<<<<<<
+- Some mucking around for doxygen.
+- Clean up some warnings and moved some comments into src file
+- Moved TGroup::removeView(TView *p) from asm.cc to TGroup.cc
+- Moved TGroup function definitions from misc.cc to TGroup.cc
+- Also moved doxygen comments from header file to src file.
+- Found bug with API it was missing TProgram::removeWindow().
+ Without this method, it is impossible to cleanly remove a window.
+- have doxygen check the cfiles for docs, and enable dot.
+
+>>>>>>>> Changes for TVISION_1_3 (April 4, 2003) <<<<<<<<
+- Merged in change to remove wacky memory managment hacks.
+
+>>>>>>>> Changes for TVISION_1_2 (April 4, 2003) <<<<<<<<
+- Merge in change to support gcc3.2. This makes it incompatable with gcc295
+
+>>>>>>>> Changes for TVISION_1_1 (April 2, 2003) <<<<<<<<
+- Add .cvsignore files
+- Merge in some changes from FreeBSD ports.
+- Moved myendian.h into lib
+
+>>>>>>>> Changes for TVISION_1_0 (March 29, 2003) <<<<<<<<
+- Reverse order of change logs
+- Update GNU autoconfig, automake, libtool configurations.
+- Removed files that are generated from CVS tree.
+
+>>>>>>>> Changes from version 0.7 to 0.8 <<<<<<<<
+
+- Piotr Klaban <makler@man.torun.pl> helped to port the library under
+ Sun Solaris 2.6.
+
+- Vitaly Fedrushkov <willy@snowyowl.csu.ac.ru> fixed some warnings with egcs
+ and improved signal handling.
+
+- Artur Harasimiuk <maniak@qna.softomat.com.pl> fixed a bug in TMemo.cc.
+
+- Thorsten Dittmar <dittmar@Mathematik.Uni-Marburg.de> helped to spot a
+ buffer overflow problem in asm.cc.
+
+- Vladimir Zarozhevsky <vladimir@mark-itt.ru> sent a patch for bsdi.
+
+- Sergey Clushin <serg@lamport.ru> ported the help compiler.
+
+- Helmut Fahrion <hefa@bitctrl.de>
+
+>>>>>>>> Changes from version 0.6 to 0.7 <<<<<<<<
+
+- Vitaly Fedrushkov <willy@snowyowl.csu.ac.ru> added the following changes:
+ - fixed a bug in system.cc about function has_colors()
+ - changed some things in TMenuView.cc that prevent building with egcs-1.0.3
+ - fixed configure.in
+
+- Fixed some cursor things in system.cc. Nice exit when the user teminates
+ the program with Ctrl-C.
+
+- Cosmetic changes and general cleaning in the code. Now the library should
+ compile without warnings, even using flags `-W -Wall'. If you want to try
+ just type:
+
+ CXXFLAGS='-W -Wall' ./configure
+
+ followed by `make'.
+
+- More documentation included. I used KDOC, a program distributed with KDE.
+ KDOC uses specially-formatted documentation embedded in C++ class
+ declarations to generate documentation for the classes. Warning: this work
+ is not finished yet. Only the main classes are documented.
+
+- Changes to fix warnings with egcs-1.1
+
+- John Polstra <jdp@polstra.com> fixed a problem with gcc under FreeBSD
+
+>>>>>>>> Changes from version 0.5 to 0.6 <<<<<<<<
+
+- A real configure script.
+
+- TVLOG environment variable introduced. Log informations are written in the
+ file specified by the TVLOG variable. If the variable is not set, no log
+ informations are produced. Log informations will never be written on the
+ screen.
+
+- Dmitrij Korovkin <tkf@glasnet.ru> added the following changes:
+ - TEditor and TFileEditor classes are modified to support files
+ larger than 64kB
+ - better signal handling
+ - improved cyrillic character set support
+ - mouse support in xterm
+
+- Harald Hoyer <HarryH@Royal.Net> added the following:
+ - mouse support in xterm
+ - some changes is system.cc
+
+- Pedro F. Giffuni <giffunip@asme.org> helped to fix a problem in
+ `configure.in' under FreeBSD.
+
+>>>>>>>> Changes from version 0.4 to 0.5 <<<<<<<<
+
+- Added some changes in system.cc to have a better ncurses support.
+ From: Ruslan V. Brushkoff <ruslan@Baby.TM.Odessa.UA>
+ Date: Wed, 18 Jun 1997 07:32:15 +0300 (EET DST)
+
+- Big changes in system.cc. Now all the code uses only high level ncurses
+ functions. The drawback of this is that the video output is slower than
+ the previous version.
+
+- Fixed some code to make TV run under Linux for the PowerPC and other big
+ endian architectures. It runs fine, but maybe some other changes are
+ required.
+
+>>>>>>>> Changes from version 0.3 to 0.4 <<<<<<<<
+
+- A bug fixed in TInputLine.cc, function TInputLine::handleEvent().
+ This bug can close any dialog box when the input line is focused, you
+ hold down the shift key and press any letter key.
+ Date: Sun Feb 23 15:15:49 MET 1997
+
+- Fixed double click event under Linux.
+
+- Added mouse support under FreeBSD.
+
+>>>>>>>> Changes from version 0.2 to 0.3 <<<<<<<<
+
+- A bug fixed in function validFileName() in TDirCollection.cc. This
+ bug causes an 'Invalid file name' error in "File Save" dialog even if
+ the file name is correct.
+ Patch from: Vasily Egoshin <wasa@nica.marstu.mari.su>
+ Date: Thu, 9 Jan 1997 16:36:10 +0300 (MSK)
+
+- Temporary hack to see Russian letters added in TEditor.cc. To enable
+ this feature, add '-D__RUSSIAN_LETTERS' to the CONF_CFLAGS string in the
+ make.conf file.
+ Code from: Vasily Egoshin <wasa@nica.marstu.mari.su>
+ Date: Sun, 12 Jan 1997 12:09:52 +0300 (MSK)
+
+- 'glob' function is used in TFileList::readDirectory(), file TFileList.cc.
+ Code from: Rainer Keuchel <r_keuchel@smaug.netwave.de>
+ Date: 18 Jan 1997 22:52:12 +0000
+
+- New approach to detect the number of the console the user is on. See
+ function TScreen::TScreen() in file linux.cc.
+ Idea from: Martynas Kunigelis <algikun@santaka.sc-uni.ktu.lt>
+ Date: Mon, 20 Jan 1997 15:55:14 +0000 (EET)
+
+- In file TFileList.cc, function readFf_blk(): month value should begin
+ at 1.
+ Date: Thu, 23 Jan 1997 11:34:50 +0100 (MET)
+
+- evMouseAuto event fixed in file linux.cc.
+ Date: Tue, 28 Jan 1997 19:35:31 +0100 (MET)
+
+- Added support for TVOPT environment variable in file linux.cc.
+ Date: Wed, 29 Jan 1997 16:51:40 +0100 (MET)
+
+- Added support for colored output.
+ Date: Sun, 2 Feb 1997 14:05:04 +0100 (CET)
+
+- Added support for the FreeBSD operating system.
+ Date: Mon, 3 Feb 1997 17:14:01 +0100 (CET)
+
+- Fixed some grammar errors in the text files.
+ Help from: Bonni Mierzejewska <u6ed4@wvnvm.wvnet.edu>
+ Date: Wed, 5 Feb 1997 14:07:42 -0500 (EST)
+
+- Signals SIGINT (Ctrl-Z) and SIGQUIT (usually generated by Ctrl-\) trapped.
+ Date: Wed, 12 Feb 1997 10:45:55 +0100 (MET)
+
+>>>>>>>> Changes from version 0.1 to 0.2 <<<<<<<<
+
+- (n)curses functions are used to read keys and do video output (if
+ the /dev/vcs* system can not be used).
+
+- Under X-Window a monochrome palette is used and bold and inverse
+ attributes are used to draw the text. SIGWINCH signal is hooked
+ so the screen can be resized at runtime.
+
+- Help system fixed.
+
+- "File Open" style dialogs fixed.
+
diff --git a/freebsdtvision/INSTALL b/freebsdtvision/INSTALL
new file mode 100644
index 0000000..b42a17a
--- /dev/null
+++ b/freebsdtvision/INSTALL
@@ -0,0 +1,182 @@
+Basic Installation
+==================
+
+ These are generic installation instructions.
+
+ The `configure' shell script attempts to guess correct values for
+various system-dependent variables used during compilation. It uses
+those values to create a `Makefile' in each directory of the package.
+It may also create one or more `.h' files containing system-dependent
+definitions. Finally, it creates a shell script `config.status' that
+you can run in the future to recreate the current configuration, a file
+`config.cache' that saves the results of its tests to speed up
+reconfiguring, and a file `config.log' containing compiler output
+(useful mainly for debugging `configure').
+
+ If you need to do unusual things to compile the package, please try
+to figure out how `configure' could check whether to do them, and mail
+diffs or instructions to the address given in the `README' so they can
+be considered for the next release. If at some point `config.cache'
+contains results you don't want to keep, you may remove or edit it.
+
+ The file `configure.in' is used to create `configure' by a program
+called `autoconf'. You only need `configure.in' if you want to change
+it or regenerate `configure' using a newer version of `autoconf'.
+
+The simplest way to compile this package is:
+
+ 1. `cd' to the directory containing the package's source code and type
+ `./configure' to configure the package for your system. If you're
+ using `csh' on an old version of System V, you might need to type
+ `sh ./configure' instead to prevent `csh' from trying to execute
+ `configure' itself.
+
+ Running `configure' takes awhile. While running, it prints some
+ messages telling which features it is checking for.
+
+ 2. Type `make' to compile the package.
+
+ 3. Optionally, type `make check' to run any self-tests that come with
+ the package.
+
+ 4. Type `make install' to install the programs and any data files and
+ documentation.
+
+ 5. You can remove the program binaries and object files from the
+ source code directory by typing `make clean'. To also remove the
+ files that `configure' created (so you can compile the package for
+ a different kind of computer), type `make distclean'. There is
+ also a `make maintainer-clean' target, but that is intended mainly
+ for the package's developers. If you use it, you may have to get
+ all sorts of other programs in order to regenerate files that came
+ with the distribution.
+
+Compilers and Options
+=====================
+
+ Some systems require unusual options for compilation or linking that
+the `configure' script does not know about. You can give `configure'
+initial values for variables by setting them in the environment. Using
+a Bourne-compatible shell, you can do that on the command line like
+this:
+ CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
+
+Or on systems that have the `env' program, you can do it like this:
+ env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
+
+Compiling For Multiple Architectures
+====================================
+
+ You can compile the package for more than one kind of computer at the
+same time, by placing the object files for each architecture in their
+own directory. To do this, you must use a version of `make' that
+supports the `VPATH' variable, such as GNU `make'. `cd' to the
+directory where you want the object files and executables to go and run
+the `configure' script. `configure' automatically checks for the
+source code in the directory that `configure' is in and in `..'.
+
+ If you have to use a `make' that does not supports the `VPATH'
+variable, you have to compile the package for one architecture at a time
+in the source code directory. After you have installed the package for
+one architecture, use `make distclean' before reconfiguring for another
+architecture.
+
+Installation Names
+==================
+
+ By default, `make install' will install the package's files in
+`/usr/local/bin', `/usr/local/man', etc. You can specify an
+installation prefix other than `/usr/local' by giving `configure' the
+option `--prefix=PATH'.
+
+ You can specify separate installation prefixes for
+architecture-specific files and architecture-independent files. If you
+give `configure' the option `--exec-prefix=PATH', the package will use
+PATH as the prefix for installing programs and libraries.
+Documentation and other data files will still use the regular prefix.
+
+ In addition, if you use an unusual directory layout you can give
+options like `--bindir=PATH' to specify different values for particular
+kinds of files. Run `configure --help' for a list of the directories
+you can set and what kinds of files go in them.
+
+ If the package supports it, you can cause programs to be installed
+with an extra prefix or suffix on their names by giving `configure' the
+option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
+
+Optional Features
+=================
+
+ Some packages pay attention to `--enable-FEATURE' options to
+`configure', where FEATURE indicates an optional part of the package.
+They may also pay attention to `--with-PACKAGE' options, where PACKAGE
+is something like `gnu-as' or `x' (for the X Window System). The
+`README' should mention any `--enable-' and `--with-' options that the
+package recognizes.
+
+ For packages that use the X Window System, `configure' can usually
+find the X include and library files automatically, but if it doesn't,
+you can use the `configure' options `--x-includes=DIR' and
+`--x-libraries=DIR' to specify their locations.
+
+Specifying the System Type
+==========================
+
+ There may be some features `configure' can not figure out
+automatically, but needs to determine by the type of host the package
+will run on. Usually `configure' can figure that out, but if it prints
+a message saying it can not guess the host type, give it the
+`--host=TYPE' option. TYPE can either be a short name for the system
+type, such as `sun4', or a canonical name with three fields:
+ CPU-COMPANY-SYSTEM
+
+See the file `config.sub' for the possible values of each field. If
+`config.sub' isn't included in this package, then this package doesn't
+need to know the host type.
+
+ If you are building compiler tools for cross-compiling, you can also
+use the `--target=TYPE' option to select the type of system they will
+produce code for and the `--build=TYPE' option to select the type of
+system on which you are compiling the package.
+
+Sharing Defaults
+================
+
+ If you want to set default values for `configure' scripts to share,
+you can create a site shell script called `config.site' that gives
+default values for variables like `CC', `cache_file', and `prefix'.
+`configure' looks for `PREFIX/share/config.site' if it exists, then
+`PREFIX/etc/config.site' if it exists. Or, you can set the
+`CONFIG_SITE' environment variable to the location of the site script.
+A warning: not all `configure' scripts look for a site script.
+
+Operation Controls
+==================
+
+ `configure' recognizes the following options to control how it
+operates.
+
+`--cache-file=FILE'
+ Use and save the results of the tests in FILE instead of
+ `./config.cache'. Set FILE to `/dev/null' to disable caching, for
+ debugging `configure'.
+
+`--help'
+ Print a summary of the options to `configure', and exit.
+
+`--quiet'
+`--silent'
+`-q'
+ Do not print messages saying which checks are being made. To
+ suppress all normal output, redirect it to `/dev/null' (any error
+ messages will still be shown).
+
+`--srcdir=DIR'
+ Look for the package's source code in directory DIR. Usually
+ `configure' can determine that directory automatically.
+
+`--version'
+ Print the version of Autoconf used to generate the `configure'
+ script, and exit.
+
+`configure' also accepts some other, not widely useful, options.
diff --git a/freebsdtvision/Makefile.am b/freebsdtvision/Makefile.am
new file mode 100644
index 0000000..997a7d7
--- /dev/null
+++ b/freebsdtvision/Makefile.am
@@ -0,0 +1,13 @@
+AUTOMAKE_OPTIONS = foreign
+
+SUBDIRS = doc lib demo tutorial tvhc
+
+CLEANFILES = *~
+CONFIG_CLEAN_FILES = tvision
+
+EXTRA_DIST = Announce COPYRIGHT color-xterm.ti
+
+all: ${top_srcdir}/tvision
+
+${top_srcdir}/tvision:
+ ln -s ${top_srcdir}/lib ${top_srcdir}/tvision
diff --git a/freebsdtvision/Makefile.in b/freebsdtvision/Makefile.in
new file mode 100644
index 0000000..6e6a002
--- /dev/null
+++ b/freebsdtvision/Makefile.in
@@ -0,0 +1,545 @@
+# Makefile.in generated by automake 1.7.3 from Makefile.am.
+# @configure_input@
+
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+# Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = .
+
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_triplet = @host@
+ACLOCAL = @ACLOCAL@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+AUTOMAKE_OPTIONS = foreign
+
+SUBDIRS = doc lib demo tutorial tvhc
+
+CLEANFILES = *~
+CONFIG_CLEAN_FILES = tvision
+
+EXTRA_DIST = Announce COPYRIGHT color-xterm.ti
+subdir = .
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/util/mkinstalldirs
+CONFIG_HEADER = config.h
+DIST_SOURCES =
+
+RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \
+ ps-recursive install-info-recursive uninstall-info-recursive \
+ all-recursive install-data-recursive install-exec-recursive \
+ installdirs-recursive install-recursive uninstall-recursive \
+ check-recursive installcheck-recursive
+DIST_COMMON = README ChangeLog INSTALL Makefile.am Makefile.in TODO \
+ acinclude.m4 aclocal.m4 config.h.in configure configure.in \
+ util/config.guess util/config.sub util/depcomp util/install-sh \
+ util/ltmain.sh util/missing util/mkinstalldirs
+DIST_SUBDIRS = $(SUBDIRS)
+all: config.h
+ $(MAKE) $(AM_MAKEFLAGS) all-recursive
+
+.SUFFIXES:
+
+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+ configure.lineno
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)
+
+$(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+$(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+ cd $(srcdir) && $(AUTOCONF)
+
+$(ACLOCAL_M4): configure.in acinclude.m4
+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.h: stamp-h1
+ @if test ! -f $@; then \
+ rm -f stamp-h1; \
+ $(MAKE) stamp-h1; \
+ else :; fi
+
+stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
+ @rm -f stamp-h1
+ cd $(top_builddir) && $(SHELL) ./config.status config.h
+
+$(srcdir)/config.h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOHEADER)
+ touch $(srcdir)/config.h.in
+
+distclean-hdr:
+ -rm -f config.h stamp-h1
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+distclean-libtool:
+ -rm -f libtool
+uninstall-info-am:
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+# (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+ @set fnord $$MAKEFLAGS; amf=$$2; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+mostlyclean-recursive clean-recursive distclean-recursive \
+maintainer-clean-recursive:
+ @set fnord $$MAKEFLAGS; amf=$$2; \
+ dot_seen=no; \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ rev=''; for subdir in $$list; do \
+ if test "$$subdir" = "."; then :; else \
+ rev="$$subdir $$rev"; \
+ fi; \
+ done; \
+ rev="$$rev ."; \
+ target=`echo $@ | sed s/-recursive//`; \
+ for subdir in $$rev; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+ctags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+ done
+
+ETAGS = etags
+ETAGSFLAGS =
+
+CTAGS = ctags
+CTAGSFLAGS =
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ mkid -fID $$unique
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
+ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$tags$$unique" \
+ || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique
+
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+
+top_distdir = .
+distdir = $(PACKAGE)-$(VERSION)
+
+am__remove_distdir = \
+ { test ! -d $(distdir) \
+ || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
+ && rm -fr $(distdir); }; }
+
+GZIP_ENV = --best
+distuninstallcheck_listfiles = find . -type f -print
+distcleancheck_listfiles = find . -type f -print
+
+distdir: $(DISTFILES)
+ $(am__remove_distdir)
+ mkdir $(distdir)
+ $(mkinstalldirs) $(distdir)/util
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkinstalldirs) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test -d $(distdir)/$$subdir \
+ || mkdir $(distdir)/$$subdir \
+ || exit 1; \
+ (cd $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$(top_distdir)" \
+ distdir=../$(distdir)/$$subdir \
+ distdir) \
+ || exit 1; \
+ fi; \
+ done
+ -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+ ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
+ || chmod -R a+r $(distdir)
+dist-gzip: distdir
+ $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+ $(am__remove_distdir)
+
+dist dist-all: distdir
+ $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+ $(am__remove_distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ $(am__remove_distdir)
+ GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf -
+ chmod -R a-w $(distdir); chmod a+w $(distdir)
+ mkdir $(distdir)/_build
+ mkdir $(distdir)/_inst
+ chmod a-w $(distdir)
+ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
+ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+ && cd $(distdir)/_build \
+ && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+ $(DISTCHECK_CONFIGURE_FLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
+ distuninstallcheck \
+ && chmod -R a-w "$$dc_install_base" \
+ && ({ \
+ (cd ../.. && $(mkinstalldirs) "$$dc_destdir") \
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
+ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
+ } || { rm -rf "$$dc_destdir"; exit 1; }) \
+ && rm -rf "$$dc_destdir" \
+ && $(MAKE) $(AM_MAKEFLAGS) dist-gzip \
+ && rm -f $(distdir).tar.gz \
+ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
+ $(am__remove_distdir)
+ @echo "$(distdir).tar.gz is ready for distribution" | \
+ sed 'h;s/./=/g;p;x;p;x'
+distuninstallcheck:
+ cd $(distuninstallcheck_dir) \
+ && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
+ || { echo "ERROR: files left after uninstall:" ; \
+ if test -n "$(DESTDIR)"; then \
+ echo " (check DESTDIR support)"; \
+ fi ; \
+ $(distuninstallcheck_listfiles) ; \
+ exit 1; } >&2
+distcleancheck: distclean
+ if test '$(srcdir)' = . ; then \
+ echo "ERROR: distcleancheck can only run from a VPATH build" ; \
+ exit 1 ; \
+ fi
+ test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
+ || { echo "ERROR: files left in build directory after distclean:" ; \
+ $(distcleancheck_listfiles) ; \
+ exit 1; } >&2
+check-am: all-am
+check: check-recursive
+all-am: Makefile config.h
+installdirs: installdirs-recursive
+installdirs-am:
+
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-recursive
+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+distclean-am: clean-am distclean-generic distclean-hdr distclean-libtool \
+ distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-recursive
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+ -rm -rf autom4te.cache
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+uninstall-info: uninstall-info-recursive
+
+.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \
+ clean-generic clean-libtool clean-recursive ctags \
+ ctags-recursive dist dist-all dist-gzip distcheck distclean \
+ distclean-generic distclean-hdr distclean-libtool \
+ distclean-recursive distclean-tags distcleancheck distdir \
+ distuninstallcheck dvi dvi-am dvi-recursive info info-am \
+ info-recursive install install-am install-data install-data-am \
+ install-data-recursive install-exec install-exec-am \
+ install-exec-recursive install-info install-info-am \
+ install-info-recursive install-man install-recursive \
+ install-strip installcheck installcheck-am installdirs \
+ installdirs-am installdirs-recursive maintainer-clean \
+ maintainer-clean-generic maintainer-clean-recursive mostlyclean \
+ mostlyclean-generic mostlyclean-libtool mostlyclean-recursive \
+ pdf pdf-am pdf-recursive ps ps-am ps-recursive tags \
+ tags-recursive uninstall uninstall-am uninstall-info-am \
+ uninstall-info-recursive uninstall-recursive
+
+
+all: ${top_srcdir}/tvision
+
+${top_srcdir}/tvision:
+ ln -s ${top_srcdir}/lib ${top_srcdir}/tvision
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/freebsdtvision/README b/freebsdtvision/README
new file mode 100644
index 0000000..75684f4
--- /dev/null
+++ b/freebsdtvision/README
@@ -0,0 +1,50 @@
+
+Wanted
+------
+
+If you wrote a program using TVision or know any useful site please tell me
+its address. I'll add it in the list at the very bottom of file
+`doc/tvision.texi' (see below).
+
+How to install the package
+--------------------------
+
+Read the `INSTALL' file for generic informations on installing this library.
+More options are available for `configure':
+
+Linker options:
+
+ --enable-shared build shared libraries [default=yes]
+ --enable-shared=PKGS only build shared libraries if the current package
+ appears as an element in the PKGS list
+ --enable-static build static libraries [default=yes]
+ --enable-static=PKGS only build shared libraries if the current package
+ appears as an element in the PKGS list
+ --with-gnu-ld assume the C compiler uses GNU ld [default=no]
+
+Miscellaneous options:
+
+ --enable-russian enable Russian character set (now obsolete)
+ --disable-acs disable alternate character set
+ --disable-8bit disable 8 bit output
+ --disable-linux-gpm disable Linux GPM mouse support
+ --disable-linux-vcs disable Linux VCS support
+ --disable-freebsd-mouse disable FreeBSD mouse support
+
+Where to find documentation
+---------------------------
+
+See directory `doc' and its subdirectory. Here is a summary of their contents.
+
+- `tvision.info' is a Texinfo file and contains the "installation handbook":
+ information regarding installation, keyboard handling, screen manipulation,
+ environment variables and mouse support. You should take a look at it
+ before using the library. Just type `info -f tvision.info'.
+
+- `html/tvision.html' is the main page of the documentation. It includes
+ links to both the html version of the "installation handbook" and to the
+ "class hierarchy documentation". The latter is a detailed reference
+ manual for the various classes, methods and data members TVision uses.
+
+Sergio Sigala
+sergio@sigala.it
diff --git a/freebsdtvision/TODO b/freebsdtvision/TODO
new file mode 100644
index 0000000..133e942
--- /dev/null
+++ b/freebsdtvision/TODO
@@ -0,0 +1,45 @@
+
+Known bugs and things to do
+---------------------------
+- Fix textview.cc, textview.h and TTerminal::prevLines() in `asm.cc'.
+
+- Applications will crash if you write more than 1024 characters in a single
+ row in a TEditor object. Search for maxLineLength in `TEditor.cc' to see
+ why this happens.
+
+- Apparently, we can't hide the cursor when the virtual console system
+ output mechanism is used. Javor Dimitrov <logix@dobrich-sat.net>
+ suggested to use ctermid(3) to get the controlling terminal name and then,
+ if it's something like /dev/tty*, we could safely use the following escape
+ sequences:
+
+ ESC [ ? 25 l To hide the cursor
+ ESC [ ? 25 h To show the cursor
+
+ to do the job. Take a look on console_codes(4) also.
+
+- The use of the SIGALARM signal can conflict with other programs, any
+ efficient alternative way would be better.
+
+- Javor Dimitrov <java@dobrich-sat.net> reported that TFileEditor does not
+ correctly restore original file attributes after saving files.
+
+- "DOS shell" and "Alt-F3" menu items in the demo program are misleading:
+ under Linux the first one doesn't have sense and the second switches to
+ the third system console.
+
+- Javor Dimitrov <java@dobrich-sat.net> gots a problem when he tried to
+ detect errors on fpstream. Borland provides some documentation at:
+
+ http://community.borland.com/article/0,1410,16134,00.html
+
+ but it would not work he thinks, because the lines
+
+ S = new fpstream(FileName, ios::out|ios::in|ios::binary);
+ if (!S)
+ {
+ cout << "Error opening stream\n";
+ exit(1);
+ }
+
+ can detect an memory allocation error, but not file open error.
diff --git a/freebsdtvision/acinclude.m4 b/freebsdtvision/acinclude.m4
new file mode 100644
index 0000000..03c26f0
--- /dev/null
+++ b/freebsdtvision/acinclude.m4
@@ -0,0 +1,3704 @@
+# libtool.m4 - Configure libtool for the host system. -*-Shell-script-*-
+## Copyright 1996, 1997, 1998, 1999, 2000, 2001
+## Free Software Foundation, Inc.
+## Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2 of the License, or
+## (at your option) any later version.
+##
+## This program is distributed in the hope that it will be useful, but
+## WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+## General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+##
+## As a special exception to the GNU General Public License, if you
+## distribute this file as part of a program that contains a
+## configuration script generated by Autoconf, you may include it under
+## the same distribution terms that you use for the rest of that program.
+
+# serial 46 AC_PROG_LIBTOOL
+
+AC_DEFUN([AC_PROG_LIBTOOL],
+[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
+
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"
+
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+AC_SUBST(LIBTOOL)dnl
+
+# Prevent multiple expansion
+define([AC_PROG_LIBTOOL], [])
+])
+
+AC_DEFUN([AC_LIBTOOL_SETUP],
+[AC_PREREQ(2.13)dnl
+AC_REQUIRE([AC_ENABLE_SHARED])dnl
+AC_REQUIRE([AC_ENABLE_STATIC])dnl
+AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_PROG_LD])dnl
+AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl
+AC_REQUIRE([AC_PROG_NM])dnl
+AC_REQUIRE([LT_AC_PROG_SED])dnl
+
+AC_REQUIRE([AC_PROG_LN_S])dnl
+AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl
+AC_REQUIRE([AC_OBJEXT])dnl
+AC_REQUIRE([AC_EXEEXT])dnl
+dnl
+
+_LT_AC_PROG_ECHO_BACKSLASH
+# Only perform the check for file, if the check method requires it
+case $deplibs_check_method in
+file_magic*)
+ if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+ AC_PATH_MAGIC
+ fi
+ ;;
+esac
+
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+AC_CHECK_TOOL(STRIP, strip, :)
+
+ifdef([AC_PROVIDE_AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no)
+ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
+enable_win32_dll=yes, enable_win32_dll=no)
+
+AC_ARG_ENABLE(libtool-lock,
+ [ --disable-libtool-lock avoid locking (might break parallel builds)])
+test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case $host in
+*-*-irix6*)
+ # Find out which ABI we are using.
+ echo '[#]line __oline__ "configure"' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -32"
+ ;;
+ *N32*)
+ LD="${LD-ld} -n32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -64"
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+
+*-*-sco3.2v5*)
+ # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+ SAVE_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -belf"
+ AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
+ [AC_LANG_SAVE
+ AC_LANG_C
+ AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
+ AC_LANG_RESTORE])
+ if test x"$lt_cv_cc_needs_belf" != x"yes"; then
+ # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+ CFLAGS="$SAVE_CFLAGS"
+ fi
+ ;;
+
+ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
+[*-*-cygwin* | *-*-mingw* | *-*-pw32*)
+ AC_CHECK_TOOL(DLLTOOL, dlltool, false)
+ AC_CHECK_TOOL(AS, as, false)
+ AC_CHECK_TOOL(OBJDUMP, objdump, false)
+
+ # recent cygwin and mingw systems supply a stub DllMain which the user
+ # can override, but on older systems we have to supply one
+ AC_CACHE_CHECK([if libtool should supply DllMain function], lt_cv_need_dllmain,
+ [AC_TRY_LINK([],
+ [extern int __attribute__((__stdcall__)) DllMain(void*, int, void*);
+ DllMain (0, 0, 0);],
+ [lt_cv_need_dllmain=no],[lt_cv_need_dllmain=yes])])
+
+ case $host/$CC in
+ *-*-cygwin*/gcc*-mno-cygwin*|*-*-mingw*)
+ # old mingw systems require "-dll" to link a DLL, while more recent ones
+ # require "-mdll"
+ SAVE_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -mdll"
+ AC_CACHE_CHECK([how to link DLLs], lt_cv_cc_dll_switch,
+ [AC_TRY_LINK([], [], [lt_cv_cc_dll_switch=-mdll],[lt_cv_cc_dll_switch=-dll])])
+ CFLAGS="$SAVE_CFLAGS" ;;
+ *-*-cygwin* | *-*-pw32*)
+ # cygwin systems need to pass --dll to the linker, and not link
+ # crt.o which will require a WinMain@16 definition.
+ lt_cv_cc_dll_switch="-Wl,--dll -nostartfiles" ;;
+ esac
+ ;;
+ ])
+esac
+
+_LT_AC_LTCONFIG_HACK
+
+])
+
+# AC_LIBTOOL_HEADER_ASSERT
+# ------------------------
+AC_DEFUN([AC_LIBTOOL_HEADER_ASSERT],
+[AC_CACHE_CHECK([whether $CC supports assert without backlinking],
+ [lt_cv_func_assert_works],
+ [case $host in
+ *-*-solaris*)
+ if test "$GCC" = yes && test "$with_gnu_ld" != yes; then
+ case `$CC --version 2>/dev/null` in
+ [[12]].*) lt_cv_func_assert_works=no ;;
+ *) lt_cv_func_assert_works=yes ;;
+ esac
+ fi
+ ;;
+ esac])
+
+if test "x$lt_cv_func_assert_works" = xyes; then
+ AC_CHECK_HEADERS(assert.h)
+fi
+])# AC_LIBTOOL_HEADER_ASSERT
+
+# _LT_AC_CHECK_DLFCN
+# --------------------
+AC_DEFUN([_LT_AC_CHECK_DLFCN],
+[AC_CHECK_HEADERS(dlfcn.h)
+])# _LT_AC_CHECK_DLFCN
+
+# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
+# ---------------------------------
+AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE],
+[AC_REQUIRE([AC_CANONICAL_HOST])
+AC_REQUIRE([AC_PROG_NM])
+AC_REQUIRE([AC_OBJEXT])
+# Check for command to grab the raw symbol name followed by C symbol from nm.
+AC_MSG_CHECKING([command to parse $NM output])
+AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], [dnl
+
+# These are sane defaults that work on at least a few old systems.
+# [They come from Ultrix. What could be older than Ultrix?!! ;)]
+
+# Character class describing NM global symbol codes.
+symcode='[[BCDEGRST]]'
+
+# Regexp to match symbols that can be accessed directly from C.
+sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
+
+# Transform the above into a raw symbol and a C symbol.
+symxfrm='\1 \2\3 \3'
+
+# Transform an extracted symbol line into a proper C declaration
+lt_cv_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern char \1;/p'"
+
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
+
+# Define system-specific variables.
+case $host_os in
+aix*)
+ symcode='[[BCDT]]'
+ ;;
+cygwin* | mingw* | pw32*)
+ symcode='[[ABCDGISTW]]'
+ ;;
+hpux*) # Its linker distinguishes data from code symbols
+ lt_cv_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern char \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+ lt_cv_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
+ ;;
+irix* | nonstopux*)
+ symcode='[[BCDEGRST]]'
+ ;;
+osf*)
+ symcode='[[BCDEGQRST]]'
+ ;;
+solaris* | sysv5*)
+ symcode='[[BDT]]'
+ ;;
+sysv4)
+ symcode='[[DFNSTU]]'
+ ;;
+esac
+
+# Handle CRLF in mingw tool chain
+opt_cr=
+case $host_os in
+mingw*)
+ opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+ ;;
+esac
+
+# If we're using GNU nm, then use its standard symbol codes.
+if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then
+ symcode='[[ABCDGISTW]]'
+fi
+
+# Try without a prefix undercore, then with it.
+for ac_symprfx in "" "_"; do
+
+ # Write the raw and C identifiers.
+lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*\($ac_symprfx\)$sympat$opt_cr$/$symxfrm/p'"
+
+ # Check to see that the pipe works correctly.
+ pipe_works=no
+ rm -f conftest*
+ cat > conftest.$ac_ext <<EOF
+#ifdef __cplusplus
+extern "C" {
+#endif
+char nm_test_var;
+void nm_test_func(){}
+#ifdef __cplusplus
+}
+#endif
+int main(){nm_test_var='a';nm_test_func();return(0);}
+EOF
+
+ if AC_TRY_EVAL(ac_compile); then
+ # Now try to grab the symbols.
+ nlist=conftest.nm
+ if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then
+ # Try sorting and uniquifying the output.
+ if sort "$nlist" | uniq > "$nlist"T; then
+ mv -f "$nlist"T "$nlist"
+ else
+ rm -f "$nlist"T
+ fi
+
+ # Make sure that we snagged all the symbols we need.
+ if egrep ' nm_test_var$' "$nlist" >/dev/null; then
+ if egrep ' nm_test_func$' "$nlist" >/dev/null; then
+ cat <<EOF > conftest.$ac_ext
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+EOF
+ # Now generate the symbol file.
+ eval "$lt_cv_global_symbol_to_cdecl"' < "$nlist" >> conftest.$ac_ext'
+
+ cat <<EOF >> conftest.$ac_ext
+#if defined (__STDC__) && __STDC__
+# define lt_ptr void *
+#else
+# define lt_ptr char *
+# define const
+#endif
+
+/* The mapping between symbol names and symbols. */
+const struct {
+ const char *name;
+ lt_ptr address;
+}
+lt_preloaded_symbols[[]] =
+{
+EOF
+ sed "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr) \&\2},/" < "$nlist" >> conftest.$ac_ext
+ cat <<\EOF >> conftest.$ac_ext
+ {0, (lt_ptr) 0}
+};
+
+#ifdef __cplusplus
+}
+#endif
+EOF
+ # Now try linking the two files.
+ mv conftest.$ac_objext conftstm.$ac_objext
+ save_LIBS="$LIBS"
+ save_CFLAGS="$CFLAGS"
+ LIBS="conftstm.$ac_objext"
+ CFLAGS="$CFLAGS$no_builtin_flag"
+ if AC_TRY_EVAL(ac_link) && test -s conftest$ac_exeext; then
+ pipe_works=yes
+ fi
+ LIBS="$save_LIBS"
+ CFLAGS="$save_CFLAGS"
+ else
+ echo "cannot find nm_test_func in $nlist" >&AC_FD_CC
+ fi
+ else
+ echo "cannot find nm_test_var in $nlist" >&AC_FD_CC
+ fi
+ else
+ echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AC_FD_CC
+ fi
+ else
+ echo "$progname: failed program was:" >&AC_FD_CC
+ cat conftest.$ac_ext >&5
+ fi
+ rm -f conftest* conftst*
+
+ # Do not use the global_symbol_pipe unless it works.
+ if test "$pipe_works" = yes; then
+ break
+ else
+ lt_cv_sys_global_symbol_pipe=
+ fi
+done
+])
+global_symbol_pipe="$lt_cv_sys_global_symbol_pipe"
+if test -z "$lt_cv_sys_global_symbol_pipe"; then
+ global_symbol_to_cdecl=
+ global_symbol_to_c_name_address=
+else
+ global_symbol_to_cdecl="$lt_cv_global_symbol_to_cdecl"
+ global_symbol_to_c_name_address="$lt_cv_global_symbol_to_c_name_address"
+fi
+if test -z "$global_symbol_pipe$global_symbol_to_cdec$global_symbol_to_c_name_address";
+then
+ AC_MSG_RESULT(failed)
+else
+ AC_MSG_RESULT(ok)
+fi
+]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
+
+# _LT_AC_LIBTOOL_SYS_PATH_SEPARATOR
+# ---------------------------------
+AC_DEFUN([_LT_AC_LIBTOOL_SYS_PATH_SEPARATOR],
+[# Find the correct PATH separator. Usually this is `:', but
+# DJGPP uses `;' like DOS.
+if test "X${PATH_SEPARATOR+set}" != Xset; then
+ UNAME=${UNAME-`uname 2>/dev/null`}
+ case X$UNAME in
+ *-DOS) lt_cv_sys_path_separator=';' ;;
+ *) lt_cv_sys_path_separator=':' ;;
+ esac
+ PATH_SEPARATOR=$lt_cv_sys_path_separator
+fi
+])# _LT_AC_LIBTOOL_SYS_PATH_SEPARATOR
+
+# _LT_AC_PROG_ECHO_BACKSLASH
+# --------------------------
+# Add some code to the start of the generated configure script which
+# will find an echo command which doesn't interpret backslashes.
+AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH],
+[ifdef([AC_DIVERSION_NOTICE], [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
+ [AC_DIVERT_PUSH(NOTICE)])
+_LT_AC_LIBTOOL_SYS_PATH_SEPARATOR
+
+# Check that we are running under the correct shell.
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+case X$ECHO in
+X*--fallback-echo)
+ # Remove one level of quotation (which was required for Make).
+ ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
+ ;;
+esac
+
+echo=${ECHO-echo}
+if test "X[$]1" = X--no-reexec; then
+ # Discard the --no-reexec flag, and continue.
+ shift
+elif test "X[$]1" = X--fallback-echo; then
+ # Avoid inline document here, it may be left over
+ :
+elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
+ # Yippee, $echo works!
+ :
+else
+ # Restart under the correct shell.
+ exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
+fi
+
+if test "X[$]1" = X--fallback-echo; then
+ # used as fallback echo
+ shift
+ cat <<EOF
+$*
+EOF
+ exit 0
+fi
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+if test "X${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi
+
+if test -z "$ECHO"; then
+if test "X${echo_test_string+set}" != Xset; then
+# find a string as large as possible, as long as the shell can cope with it
+ for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
+ # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
+ if (echo_test_string="`eval $cmd`") 2>/dev/null &&
+ echo_test_string="`eval $cmd`" &&
+ (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
+ then
+ break
+ fi
+ done
+fi
+
+if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ :
+else
+ # The Solaris, AIX, and Digital Unix default echo programs unquote
+ # backslashes. This makes it impossible to quote backslashes using
+ # echo "$something" | sed 's/\\/\\\\/g'
+ #
+ # So, first we look for a working echo in the user's PATH.
+
+ IFS="${IFS= }"; save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for dir in $PATH /usr/ucb; do
+ if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
+ test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ echo="$dir/echo"
+ break
+ fi
+ done
+ IFS="$save_ifs"
+
+ if test "X$echo" = Xecho; then
+ # We didn't find a better echo, so look for alternatives.
+ if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ # This shell has a builtin print -r that does the trick.
+ echo='print -r'
+ elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
+ test "X$CONFIG_SHELL" != X/bin/ksh; then
+ # If we have ksh, try running configure again with it.
+ ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
+ export ORIGINAL_CONFIG_SHELL
+ CONFIG_SHELL=/bin/ksh
+ export CONFIG_SHELL
+ exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
+ else
+ # Try using printf.
+ echo='printf %s\n'
+ if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ # Cool, printf works
+ :
+ elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
+ test "X$echo_testing_string" = 'X\t' &&
+ echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
+ export CONFIG_SHELL
+ SHELL="$CONFIG_SHELL"
+ export SHELL
+ echo="$CONFIG_SHELL [$]0 --fallback-echo"
+ elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
+ test "X$echo_testing_string" = 'X\t' &&
+ echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ echo="$CONFIG_SHELL [$]0 --fallback-echo"
+ else
+ # maybe with a smaller string...
+ prev=:
+
+ for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
+ if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null
+ then
+ break
+ fi
+ prev="$cmd"
+ done
+
+ if test "$prev" != 'sed 50q "[$]0"'; then
+ echo_test_string=`eval $prev`
+ export echo_test_string
+ exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
+ else
+ # Oops. We lost completely, so just stick with echo.
+ echo=echo
+ fi
+ fi
+ fi
+ fi
+fi
+fi
+
+# Copy echo and quote the copy suitably for passing to libtool from
+# the Makefile, instead of quoting the original, which is used later.
+ECHO=$echo
+if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
+ ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
+fi
+
+AC_SUBST(ECHO)
+AC_DIVERT_POP
+])# _LT_AC_PROG_ECHO_BACKSLASH
+
+# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
+# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
+# ------------------------------------------------------------------
+AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF],
+[if test "$cross_compiling" = yes; then :
+ [$4]
+else
+ AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<EOF
+[#line __oline__ "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+# define LT_DLGLOBAL RTLD_GLOBAL
+#else
+# ifdef DL_GLOBAL
+# define LT_DLGLOBAL DL_GLOBAL
+# else
+# define LT_DLGLOBAL 0
+# endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+ find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+# ifdef RTLD_LAZY
+# define LT_DLLAZY_OR_NOW RTLD_LAZY
+# else
+# ifdef DL_LAZY
+# define LT_DLLAZY_OR_NOW DL_LAZY
+# else
+# ifdef RTLD_NOW
+# define LT_DLLAZY_OR_NOW RTLD_NOW
+# else
+# ifdef DL_NOW
+# define LT_DLLAZY_OR_NOW DL_NOW
+# else
+# define LT_DLLAZY_OR_NOW 0
+# endif
+# endif
+# endif
+# endif
+#endif
+
+#ifdef __cplusplus
+extern "C" void exit (int);
+#endif
+
+void fnord() { int i=42;}
+int main ()
+{
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+ int status = $lt_dlunknown;
+
+ if (self)
+ {
+ if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
+ else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+ /* dlclose (self); */
+ }
+
+ exit (status);
+}]
+EOF
+ if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
+ (./conftest; exit; ) 2>/dev/null
+ lt_status=$?
+ case x$lt_status in
+ x$lt_dlno_uscore) $1 ;;
+ x$lt_dlneed_uscore) $2 ;;
+ x$lt_unknown|x*) $3 ;;
+ esac
+ else :
+ # compilation failed
+ $3
+ fi
+fi
+rm -fr conftest*
+])# _LT_AC_TRY_DLOPEN_SELF
+
+# AC_LIBTOOL_DLOPEN_SELF
+# -------------------
+AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF],
+[if test "x$enable_dlopen" != xyes; then
+ enable_dlopen=unknown
+ enable_dlopen_self=unknown
+ enable_dlopen_self_static=unknown
+else
+ lt_cv_dlopen=no
+ lt_cv_dlopen_libs=
+
+ case $host_os in
+ beos*)
+ lt_cv_dlopen="load_add_on"
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=yes
+ ;;
+
+ cygwin* | mingw* | pw32*)
+ lt_cv_dlopen="LoadLibrary"
+ lt_cv_dlopen_libs=
+ ;;
+
+ *)
+ AC_CHECK_FUNC([shl_load],
+ [lt_cv_dlopen="shl_load"],
+ [AC_CHECK_LIB([dld], [shl_load],
+ [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"],
+ [AC_CHECK_FUNC([dlopen],
+ [lt_cv_dlopen="dlopen"],
+ [AC_CHECK_LIB([dl], [dlopen],
+ [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
+ [AC_CHECK_LIB([svld], [dlopen],
+ [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
+ [AC_CHECK_LIB([dld], [dld_link],
+ [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"])
+ ])
+ ])
+ ])
+ ])
+ ])
+ ;;
+ esac
+
+ if test "x$lt_cv_dlopen" != xno; then
+ enable_dlopen=yes
+ else
+ enable_dlopen=no
+ fi
+
+ case $lt_cv_dlopen in
+ dlopen)
+ save_CPPFLAGS="$CPPFLAGS"
+ AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
+ test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+
+ save_LDFLAGS="$LDFLAGS"
+ eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+
+ save_LIBS="$LIBS"
+ LIBS="$lt_cv_dlopen_libs $LIBS"
+
+ AC_CACHE_CHECK([whether a program can dlopen itself],
+ lt_cv_dlopen_self, [dnl
+ _LT_AC_TRY_DLOPEN_SELF(
+ lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
+ lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
+ ])
+
+ if test "x$lt_cv_dlopen_self" = xyes; then
+ LDFLAGS="$LDFLAGS $link_static_flag"
+ AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
+ lt_cv_dlopen_self_static, [dnl
+ _LT_AC_TRY_DLOPEN_SELF(
+ lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
+ lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
+ ])
+ fi
+
+ CPPFLAGS="$save_CPPFLAGS"
+ LDFLAGS="$save_LDFLAGS"
+ LIBS="$save_LIBS"
+ ;;
+ esac
+
+ case $lt_cv_dlopen_self in
+ yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
+ *) enable_dlopen_self=unknown ;;
+ esac
+
+ case $lt_cv_dlopen_self_static in
+ yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
+ *) enable_dlopen_self_static=unknown ;;
+ esac
+fi
+])# AC_LIBTOOL_DLOPEN_SELF
+
+AC_DEFUN([_LT_AC_LTCONFIG_HACK],
+[AC_REQUIRE([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])dnl
+# Sed substitution that helps us do robust quoting. It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed='sed -e s/^X//'
+sed_quote_subst='s/\([[\\"\\`$\\\\]]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\([[\\"\\`\\\\]]\)/\\\1/g'
+
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+# Constants:
+rm="rm -f"
+
+# Global variables:
+default_ofile=libtool
+can_build_shared=yes
+
+# All known linkers require a `.a' archive for static linking (except M$VC,
+# which needs '.lib').
+libext=a
+ltmain="$ac_aux_dir/ltmain.sh"
+ofile="$default_ofile"
+with_gnu_ld="$lt_cv_prog_gnu_ld"
+need_locks="$enable_libtool_lock"
+
+old_CC="$CC"
+old_CFLAGS="$CFLAGS"
+
+# Set sane defaults for various variables
+test -z "$AR" && AR=ar
+test -z "$AR_FLAGS" && AR_FLAGS=cru
+test -z "$AS" && AS=as
+test -z "$CC" && CC=cc
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+test -z "$LD" && LD=ld
+test -z "$LN_S" && LN_S="ln -s"
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
+test -z "$NM" && NM=nm
+test -z "$OBJDUMP" && OBJDUMP=objdump
+test -z "$RANLIB" && RANLIB=:
+test -z "$STRIP" && STRIP=:
+test -z "$ac_objext" && ac_objext=o
+
+if test x"$host" != x"$build"; then
+ ac_tool_prefix=${host_alias}-
+else
+ ac_tool_prefix=
+fi
+
+# Transform linux* to *-*-linux-gnu*, to support old configure scripts.
+case $host_os in
+linux-gnu*) ;;
+linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
+esac
+
+case $host_os in
+aix3*)
+ # AIX sometimes has problems with the GCC collect2 program. For some
+ # reason, if we set the COLLECT_NAMES environment variable, the problems
+ # vanish in a puff of smoke.
+ if test "X${COLLECT_NAMES+set}" != Xset; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+ fi
+ ;;
+esac
+
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
+
+if test -n "$RANLIB"; then
+ case $host_os in
+ openbsd*)
+ old_postinstall_cmds="\$RANLIB -t \$oldlib~$old_postinstall_cmds"
+ ;;
+ *)
+ old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds"
+ ;;
+ esac
+ old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+fi
+
+# Allow CC to be a program name with arguments.
+set dummy $CC
+compiler="[$]2"
+
+## FIXME: this should be a separate macro
+##
+AC_MSG_CHECKING([for objdir])
+rm -f .libs 2>/dev/null
+mkdir .libs 2>/dev/null
+if test -d .libs; then
+ objdir=.libs
+else
+ # MS-DOS does not allow filenames that begin with a dot.
+ objdir=_libs
+fi
+rmdir .libs 2>/dev/null
+AC_MSG_RESULT($objdir)
+##
+## END FIXME
+
+
+## FIXME: this should be a separate macro
+##
+AC_ARG_WITH(pic,
+[ --with-pic try to use only PIC/non-PIC objects [default=use both]],
+pic_mode="$withval", pic_mode=default)
+test -z "$pic_mode" && pic_mode=default
+
+# We assume here that the value for lt_cv_prog_cc_pic will not be cached
+# in isolation, and that seeing it set (from the cache) indicates that
+# the associated values are set (in the cache) correctly too.
+AC_MSG_CHECKING([for $compiler option to produce PIC])
+AC_CACHE_VAL(lt_cv_prog_cc_pic,
+[ lt_cv_prog_cc_pic=
+ lt_cv_prog_cc_shlib=
+ lt_cv_prog_cc_wl=
+ lt_cv_prog_cc_static=
+ lt_cv_prog_cc_no_builtin=
+ lt_cv_prog_cc_can_build_shared=$can_build_shared
+
+ if test "$GCC" = yes; then
+ lt_cv_prog_cc_wl='-Wl,'
+ lt_cv_prog_cc_static='-static'
+
+ case $host_os in
+ aix*)
+ # Below there is a dirty hack to force normal static linking with -ldl
+ # The problem is because libdl dynamically linked with both libc and
+ # libC (AIX C++ library), which obviously doesn't included in libraries
+ # list by gcc. This cause undefined symbols with -static flags.
+ # This hack allows C programs to be linked with "-static -ldl", but
+ # not sure about C++ programs.
+ lt_cv_prog_cc_static="$lt_cv_prog_cc_static ${lt_cv_prog_cc_wl}-lC"
+ ;;
+ amigaos*)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the `-m68020' flag to GCC prevents building anything better,
+ # like `-m68040'.
+ lt_cv_prog_cc_pic='-m68020 -resident32 -malways-restore-a4'
+ ;;
+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ # PIC is the default for these OSes.
+ ;;
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ lt_cv_prog_cc_pic='-fno-common'
+ ;;
+ cygwin* | mingw* | pw32* | os2*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ lt_cv_prog_cc_pic='-DDLL_EXPORT'
+ ;;
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ lt_cv_prog_cc_pic=-Kconform_pic
+ fi
+ ;;
+ *)
+ lt_cv_prog_cc_pic='-fPIC'
+ ;;
+ esac
+ else
+ # PORTME Check for PIC flags for the system compiler.
+ case $host_os in
+ aix3* | aix4* | aix5*)
+ lt_cv_prog_cc_wl='-Wl,'
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ lt_cv_prog_cc_static='-Bstatic'
+ else
+ lt_cv_prog_cc_static='-bnso -bI:/lib/syscalls.exp'
+ fi
+ ;;
+
+ hpux9* | hpux10* | hpux11*)
+ # Is there a better lt_cv_prog_cc_static that works with the bundled CC?
+ lt_cv_prog_cc_wl='-Wl,'
+ lt_cv_prog_cc_static="${lt_cv_prog_cc_wl}-a ${lt_cv_prog_cc_wl}archive"
+ lt_cv_prog_cc_pic='+Z'
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ lt_cv_prog_cc_wl='-Wl,'
+ lt_cv_prog_cc_static='-non_shared'
+ # PIC (with -KPIC) is the default.
+ ;;
+
+ cygwin* | mingw* | pw32* | os2*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ lt_cv_prog_cc_pic='-DDLL_EXPORT'
+ ;;
+
+ newsos6)
+ lt_cv_prog_cc_pic='-KPIC'
+ lt_cv_prog_cc_static='-Bstatic'
+ ;;
+
+ osf3* | osf4* | osf5*)
+ # All OSF/1 code is PIC.
+ lt_cv_prog_cc_wl='-Wl,'
+ lt_cv_prog_cc_static='-non_shared'
+ ;;
+
+ sco3.2v5*)
+ lt_cv_prog_cc_pic='-Kpic'
+ lt_cv_prog_cc_static='-dn'
+ lt_cv_prog_cc_shlib='-belf'
+ ;;
+
+ solaris*)
+ lt_cv_prog_cc_pic='-KPIC'
+ lt_cv_prog_cc_static='-Bstatic'
+ lt_cv_prog_cc_wl='-Wl,'
+ ;;
+
+ sunos4*)
+ lt_cv_prog_cc_pic='-PIC'
+ lt_cv_prog_cc_static='-Bstatic'
+ lt_cv_prog_cc_wl='-Qoption ld '
+ ;;
+
+ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ lt_cv_prog_cc_pic='-KPIC'
+ lt_cv_prog_cc_static='-Bstatic'
+ lt_cv_prog_cc_wl='-Wl,'
+ ;;
+
+ uts4*)
+ lt_cv_prog_cc_pic='-pic'
+ lt_cv_prog_cc_static='-Bstatic'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec ;then
+ lt_cv_prog_cc_pic='-Kconform_pic'
+ lt_cv_prog_cc_static='-Bstatic'
+ fi
+ ;;
+
+ *)
+ lt_cv_prog_cc_can_build_shared=no
+ ;;
+ esac
+ fi
+])
+if test -z "$lt_cv_prog_cc_pic"; then
+ AC_MSG_RESULT([none])
+else
+ AC_MSG_RESULT([$lt_cv_prog_cc_pic])
+
+ # Check to make sure the pic_flag actually works.
+ AC_MSG_CHECKING([if $compiler PIC flag $lt_cv_prog_cc_pic works])
+ AC_CACHE_VAL(lt_cv_prog_cc_pic_works, [dnl
+ save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS $lt_cv_prog_cc_pic -DPIC"
+ AC_TRY_COMPILE([], [], [dnl
+ case $host_os in
+ hpux9* | hpux10* | hpux11*)
+ # On HP-UX, both CC and GCC only warn that PIC is supported... then
+ # they create non-PIC objects. So, if there were any warnings, we
+ # assume that PIC is not supported.
+ if test -s conftest.err; then
+ lt_cv_prog_cc_pic_works=no
+ else
+ lt_cv_prog_cc_pic_works=yes
+ fi
+ ;;
+ *)
+ lt_cv_prog_cc_pic_works=yes
+ ;;
+ esac
+ ], [dnl
+ lt_cv_prog_cc_pic_works=no
+ ])
+ CFLAGS="$save_CFLAGS"
+ ])
+
+ if test "X$lt_cv_prog_cc_pic_works" = Xno; then
+ lt_cv_prog_cc_pic=
+ lt_cv_prog_cc_can_build_shared=no
+ else
+ lt_cv_prog_cc_pic=" $lt_cv_prog_cc_pic"
+ fi
+
+ AC_MSG_RESULT([$lt_cv_prog_cc_pic_works])
+fi
+##
+## END FIXME
+
+# Check for any special shared library compilation flags.
+if test -n "$lt_cv_prog_cc_shlib"; then
+ AC_MSG_WARN([\`$CC' requires \`$lt_cv_prog_cc_shlib' to build shared libraries])
+ if echo "$old_CC $old_CFLAGS " | egrep -e "[[ ]]$lt_cv_prog_cc_shlib[[ ]]" >/dev/null; then :
+ else
+ AC_MSG_WARN([add \`$lt_cv_prog_cc_shlib' to the CC or CFLAGS env variable and reconfigure])
+ lt_cv_prog_cc_can_build_shared=no
+ fi
+fi
+
+## FIXME: this should be a separate macro
+##
+AC_MSG_CHECKING([if $compiler static flag $lt_cv_prog_cc_static works])
+AC_CACHE_VAL([lt_cv_prog_cc_static_works], [dnl
+ lt_cv_prog_cc_static_works=no
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS $lt_cv_prog_cc_static"
+ AC_TRY_LINK([], [], [lt_cv_prog_cc_static_works=yes])
+ LDFLAGS="$save_LDFLAGS"
+])
+
+# Belt *and* braces to stop my trousers falling down:
+test "X$lt_cv_prog_cc_static_works" = Xno && lt_cv_prog_cc_static=
+AC_MSG_RESULT([$lt_cv_prog_cc_static_works])
+
+pic_flag="$lt_cv_prog_cc_pic"
+special_shlib_compile_flags="$lt_cv_prog_cc_shlib"
+wl="$lt_cv_prog_cc_wl"
+link_static_flag="$lt_cv_prog_cc_static"
+no_builtin_flag="$lt_cv_prog_cc_no_builtin"
+can_build_shared="$lt_cv_prog_cc_can_build_shared"
+##
+## END FIXME
+
+
+## FIXME: this should be a separate macro
+##
+# Check to see if options -o and -c are simultaneously supported by compiler
+AC_MSG_CHECKING([if $compiler supports -c -o file.$ac_objext])
+AC_CACHE_VAL([lt_cv_compiler_c_o], [
+$rm -r conftest 2>/dev/null
+mkdir conftest
+cd conftest
+echo "int some_variable = 0;" > conftest.$ac_ext
+mkdir out
+# According to Tom Tromey, Ian Lance Taylor reported there are C compilers
+# that will create temporary files in the current directory regardless of
+# the output directory. Thus, making CWD read-only will cause this test
+# to fail, enabling locking or at least warning the user not to do parallel
+# builds.
+chmod -w .
+save_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS -o out/conftest2.$ac_objext"
+compiler_c_o=no
+if { (eval echo configure:__oline__: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>out/conftest.err; } && test -s out/conftest2.$ac_objext; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test -s out/conftest.err; then
+ lt_cv_compiler_c_o=no
+ else
+ lt_cv_compiler_c_o=yes
+ fi
+else
+ # Append any errors to the config.log.
+ cat out/conftest.err 1>&AC_FD_CC
+ lt_cv_compiler_c_o=no
+fi
+CFLAGS="$save_CFLAGS"
+chmod u+w .
+$rm conftest* out/*
+rmdir out
+cd ..
+rmdir conftest
+$rm -r conftest 2>/dev/null
+])
+compiler_c_o=$lt_cv_compiler_c_o
+AC_MSG_RESULT([$compiler_c_o])
+
+if test x"$compiler_c_o" = x"yes"; then
+ # Check to see if we can write to a .lo
+ AC_MSG_CHECKING([if $compiler supports -c -o file.lo])
+ AC_CACHE_VAL([lt_cv_compiler_o_lo], [
+ lt_cv_compiler_o_lo=no
+ save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -c -o conftest.lo"
+ save_objext="$ac_objext"
+ ac_objext=lo
+ AC_TRY_COMPILE([], [int some_variable = 0;], [dnl
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test -s conftest.err; then
+ lt_cv_compiler_o_lo=no
+ else
+ lt_cv_compiler_o_lo=yes
+ fi
+ ])
+ ac_objext="$save_objext"
+ CFLAGS="$save_CFLAGS"
+ ])
+ compiler_o_lo=$lt_cv_compiler_o_lo
+ AC_MSG_RESULT([$compiler_o_lo])
+else
+ compiler_o_lo=no
+fi
+##
+## END FIXME
+
+## FIXME: this should be a separate macro
+##
+# Check to see if we can do hard links to lock some files if needed
+hard_links="nottested"
+if test "$compiler_c_o" = no && test "$need_locks" != no; then
+ # do not overwrite the value of need_locks provided by the user
+ AC_MSG_CHECKING([if we can lock with hard links])
+ hard_links=yes
+ $rm conftest*
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ touch conftest.a
+ ln conftest.a conftest.b 2>&5 || hard_links=no
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ AC_MSG_RESULT([$hard_links])
+ if test "$hard_links" = no; then
+ AC_MSG_WARN([\`$CC' does not support \`-c -o', so \`make -j' may be unsafe])
+ need_locks=warn
+ fi
+else
+ need_locks=no
+fi
+##
+## END FIXME
+
+## FIXME: this should be a separate macro
+##
+if test "$GCC" = yes; then
+ # Check to see if options -fno-rtti -fno-exceptions are supported by compiler
+ AC_MSG_CHECKING([if $compiler supports -fno-rtti -fno-exceptions])
+ echo "int some_variable = 0;" > conftest.$ac_ext
+ save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -fno-rtti -fno-exceptions -c conftest.$ac_ext"
+ compiler_rtti_exceptions=no
+ AC_TRY_COMPILE([], [int some_variable = 0;], [dnl
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test -s conftest.err; then
+ compiler_rtti_exceptions=no
+ else
+ compiler_rtti_exceptions=yes
+ fi
+ ])
+ CFLAGS="$save_CFLAGS"
+ AC_MSG_RESULT([$compiler_rtti_exceptions])
+
+ if test "$compiler_rtti_exceptions" = "yes"; then
+ no_builtin_flag=' -fno-builtin -fno-rtti -fno-exceptions'
+ else
+ no_builtin_flag=' -fno-builtin'
+ fi
+fi
+##
+## END FIXME
+
+## FIXME: this should be a separate macro
+##
+# See if the linker supports building shared libraries.
+AC_MSG_CHECKING([whether the linker ($LD) supports shared libraries])
+
+allow_undefined_flag=
+no_undefined_flag=
+need_lib_prefix=unknown
+need_version=unknown
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+archive_cmds=
+archive_expsym_cmds=
+old_archive_from_new_cmds=
+old_archive_from_expsyms_cmds=
+export_dynamic_flag_spec=
+whole_archive_flag_spec=
+thread_safe_flag_spec=
+hardcode_into_libs=no
+hardcode_libdir_flag_spec=
+hardcode_libdir_separator=
+hardcode_direct=no
+hardcode_minus_L=no
+hardcode_shlibpath_var=unsupported
+runpath_var=
+link_all_deplibs=unknown
+always_export_symbols=no
+export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | sed '\''s/.* //'\'' | sort | uniq > $export_symbols'
+# include_expsyms should be a list of space-separated symbols to be *always*
+# included in the symbol list
+include_expsyms=
+# exclude_expsyms can be an egrep regular expression of symbols to exclude
+# it will be wrapped by ` (' and `)$', so one must not match beginning or
+# end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+# as well as any symbol that contains `d'.
+exclude_expsyms="_GLOBAL_OFFSET_TABLE_"
+# Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+# platforms (ab)use it in PIC code, but their linkers get confused if
+# the symbol is explicitly referenced. Since portable code cannot
+# rely on this symbol name, it's probably fine to never include it in
+# preloaded symbol tables.
+extract_expsyms_cmds=
+
+case $host_os in
+cygwin* | mingw* | pw32*)
+ # FIXME: the MSVC++ port hasn't been tested in a loooong time
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ if test "$GCC" != yes; then
+ with_gnu_ld=no
+ fi
+ ;;
+openbsd*)
+ with_gnu_ld=no
+ ;;
+esac
+
+ld_shlibs=yes
+if test "$with_gnu_ld" = yes; then
+ # If archive_cmds runs LD, not CC, wlarc should be empty
+ wlarc='${wl}'
+
+ # See if GNU ld supports shared libraries.
+ case $host_os in
+ aix3* | aix4* | aix5*)
+ # On AIX, the GNU linker is very broken
+ # Note:Check GNU linker on AIX 5-IA64 when/if it becomes available.
+ ld_shlibs=no
+ cat <<EOF 1>&2
+
+*** Warning: the GNU linker, at least up to release 2.9.1, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support. If you
+*** really care for shared libraries, you may want to modify your PATH
+*** so that a non-GNU linker is found, and then restart.
+
+EOF
+ ;;
+
+ amigaos*)
+ archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+
+ # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
+ # that the semantics of dynamic libraries on AmigaOS, at least up
+ # to version 4, is to share data among multiple programs linked
+ # with the same dynamic library. Since this doesn't match the
+ # behavior of shared libraries on other platforms, we can use
+ # them.
+ ld_shlibs=no
+ ;;
+
+ beos*)
+ if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
+ allow_undefined_flag=unsupported
+ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+ # support --undefined. This deserves some investigation. FIXME
+ archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+
+ cygwin* | mingw* | pw32*)
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ hardcode_libdir_flag_spec='-L$libdir'
+ allow_undefined_flag=unsupported
+ always_export_symbols=yes
+
+ extract_expsyms_cmds='test -f $output_objdir/impgen.c || \
+ sed -e "/^# \/\* impgen\.c starts here \*\//,/^# \/\* impgen.c ends here \*\// { s/^# //;s/^# *$//; p; }" -e d < $''0 > $output_objdir/impgen.c~
+ test -f $output_objdir/impgen.exe || (cd $output_objdir && \
+ if test "x$HOST_CC" != "x" ; then $HOST_CC -o impgen impgen.c ; \
+ else $CC -o impgen impgen.c ; fi)~
+ $output_objdir/impgen $dir/$soroot > $output_objdir/$soname-def'
+
+ old_archive_from_expsyms_cmds='$DLLTOOL --as=$AS --dllname $soname --def $output_objdir/$soname-def --output-lib $output_objdir/$newlib'
+
+ # cygwin and mingw dlls have different entry points and sets of symbols
+ # to exclude.
+ # FIXME: what about values for MSVC?
+ dll_entry=__cygwin_dll_entry@12
+ dll_exclude_symbols=DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12~
+ case $host_os in
+ mingw*)
+ # mingw values
+ dll_entry=_DllMainCRTStartup@12
+ dll_exclude_symbols=DllMain@12,DllMainCRTStartup@12,DllEntryPoint@12~
+ ;;
+ esac
+
+ # mingw and cygwin differ, and it's simplest to just exclude the union
+ # of the two symbol sets.
+ dll_exclude_symbols=DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12,DllMainCRTStartup@12,DllEntryPoint@12
+
+ # recent cygwin and mingw systems supply a stub DllMain which the user
+ # can override, but on older systems we have to supply one (in ltdll.c)
+ if test "x$lt_cv_need_dllmain" = "xyes"; then
+ ltdll_obj='$output_objdir/$soname-ltdll.'"$ac_objext "
+ ltdll_cmds='test -f $output_objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $''0 > $output_objdir/$soname-ltdll.c~
+ test -f $output_objdir/$soname-ltdll.$ac_objext || (cd $output_objdir && $CC -c $soname-ltdll.c)~'
+ else
+ ltdll_obj=
+ ltdll_cmds=
+ fi
+
+ # Extract the symbol export list from an `--export-all' def file,
+ # then regenerate the def file from the symbol export list, so that
+ # the compiled dll only exports the symbol export list.
+ # Be careful not to strip the DATA tag left be newer dlltools.
+ export_symbols_cmds="$ltdll_cmds"'
+ $DLLTOOL --export-all --exclude-symbols '$dll_exclude_symbols' --output-def $output_objdir/$soname-def '$ltdll_obj'$libobjs $convenience~
+ sed -e "1,/EXPORTS/d" -e "s/ @ [[0-9]]*//" -e "s/ *;.*$//" < $output_objdir/$soname-def > $export_symbols'
+
+ # If the export-symbols file already is a .def file (1st line
+ # is EXPORTS), use it as is.
+ # If DATA tags from a recent dlltool are present, honour them!
+ archive_expsym_cmds='if test "x`sed 1q $export_symbols`" = xEXPORTS; then
+ cp $export_symbols $output_objdir/$soname-def;
+ else
+ echo EXPORTS > $output_objdir/$soname-def;
+ _lt_hint=1;
+ cat $export_symbols | while read symbol; do
+ set dummy \$symbol;
+ case \[$]# in
+ 2) echo " \[$]2 @ \$_lt_hint ; " >> $output_objdir/$soname-def;;
+ 4) echo " \[$]2 \[$]3 \[$]4 ; " >> $output_objdir/$soname-def; _lt_hint=`expr \$_lt_hint - 1`;;
+ *) echo " \[$]2 @ \$_lt_hint \[$]3 ; " >> $output_objdir/$soname-def;;
+ esac;
+ _lt_hint=`expr 1 + \$_lt_hint`;
+ done;
+ fi~
+ '"$ltdll_cmds"'
+ $CC -Wl,--base-file,$output_objdir/$soname-base '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags~
+ $DLLTOOL --as=$AS --dllname $soname --exclude-symbols '$dll_exclude_symbols' --def $output_objdir/$soname-def --base-file $output_objdir/$soname-base --output-exp $output_objdir/$soname-exp~
+ $CC -Wl,--base-file,$output_objdir/$soname-base $output_objdir/$soname-exp '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags~
+ $DLLTOOL --as=$AS --dllname $soname --exclude-symbols '$dll_exclude_symbols' --def $output_objdir/$soname-def --base-file $output_objdir/$soname-base --output-exp $output_objdir/$soname-exp --output-lib $output_objdir/$libname.dll.a~
+ $CC $output_objdir/$soname-exp '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags'
+ ;;
+
+ netbsd*)
+ if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+ archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+ wlarc=
+ else
+ archive_cmds='$CC -shared -nodefaultlibs $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared -nodefaultlibs $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ fi
+ ;;
+
+ solaris* | sysv5*)
+ if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null; then
+ ld_shlibs=no
+ cat <<EOF 1>&2
+
+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+*** create shared libraries on Solaris systems. Therefore, libtool
+*** is disabling shared libraries support. We urge you to upgrade GNU
+*** binutils to release 2.9.1 or newer. Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+EOF
+ elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+
+ sunos4*)
+ archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ wlarc=
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ *)
+ if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ esac
+
+ if test "$ld_shlibs" = yes; then
+ runpath_var=LD_RUN_PATH
+ hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir'
+ export_dynamic_flag_spec='${wl}--export-dynamic'
+ case $host_os in
+ cygwin* | mingw* | pw32*)
+ # dlltool doesn't understand --whole-archive et. al.
+ whole_archive_flag_spec=
+ ;;
+ *)
+ # ancient GNU ld didn't support --whole-archive et. al.
+ if $LD --help 2>&1 | egrep 'no-whole-archive' > /dev/null; then
+ whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ else
+ whole_archive_flag_spec=
+ fi
+ ;;
+ esac
+ fi
+else
+ # PORTME fill in a description of your system's linker (not GNU ld)
+ case $host_os in
+ aix3*)
+ allow_undefined_flag=unsupported
+ always_export_symbols=yes
+ archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+ # Note: this linker hardcodes the directories in LIBPATH if there
+ # are no directories specified by -L.
+ hardcode_minus_L=yes
+ if test "$GCC" = yes && test -z "$link_static_flag"; then
+ # Neither direct hardcoding nor static linking is supported with a
+ # broken collect2.
+ hardcode_direct=unsupported
+ fi
+ ;;
+
+ aix4* | aix5*)
+ if test "$host_cpu" = ia64; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ exp_sym_flag='-Bexport'
+ no_entry_flag=""
+ else
+ aix_use_runtimelinking=no
+
+ # Test if we are trying to use run time linking or normal
+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+ # need to do runtime linking.
+ case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*)
+ for ld_flag in $LDFLAGS; do
+ case $ld_flag in
+ *-brtl*)
+ aix_use_runtimelinking=yes
+ break
+ ;;
+ esac
+ done
+ esac
+
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
+ fi
+
+ # When large executables or shared objects are built, AIX ld can
+ # have problems creating the table of contents. If linking a library
+ # or program results in "error TOC overflow" add -mminimal-toc to
+ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+ hardcode_direct=yes
+ archive_cmds=''
+ hardcode_libdir_separator=':'
+ if test "$GCC" = yes; then
+ case $host_os in aix4.[[012]]|aix4.[[012]].*)
+ collect2name=`${CC} -print-prog-name=collect2`
+ if test -f "$collect2name" && \
+ strings "$collect2name" | grep resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ hardcode_direct=yes
+ else
+ # We have old collect2
+ hardcode_direct=unsupported
+ # It fails to find uninstalled libraries when the uninstalled
+ # path is not listed in the libpath. Setting hardcode_minus_L
+ # to unsupported forces relinking
+ hardcode_minus_L=yes
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_libdir_separator=
+ fi
+ esac
+
+ shared_flag='-shared'
+ else
+ # not using gcc
+ if test "$host_cpu" = ia64; then
+ shared_flag='${wl}-G'
+ else
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag='${wl}-G'
+ else
+ shared_flag='${wl}-bM:SRE'
+ fi
+ fi
+ fi
+
+ # It seems that -bexpall can do strange things, so it is better to
+ # generate a list of symbols to export.
+ always_export_symbols=yes
+ if test "$aix_use_runtimelinking" = yes; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+ allow_undefined_flag='-berok'
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:/usr/lib:/lib'
+ archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ else
+ if test "$host_cpu" = ia64; then
+ hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
+ allow_undefined_flag="-z nodefs"
+ archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname ${wl}-h$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
+ else
+ hardcode_libdir_flag_spec='${wl}-bnolibpath ${wl}-blibpath:$libdir:/usr/lib:/lib'
+ # Warning - without using the other run time loading flags,
+ # -berok will link without error, but may produce a broken library.
+ allow_undefined_flag='${wl}-berok'
+ # This is a bit strange, but is similar to how AIX traditionally builds
+ # it's shared libraries.
+ archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"' ~$AR -crlo $objdir/$libname$release.a $objdir/$soname'
+ fi
+ fi
+ ;;
+
+ amigaos*)
+ archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ # see comment about different semantics on the GNU ld section
+ ld_shlibs=no
+ ;;
+
+ cygwin* | mingw* | pw32*)
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ hardcode_libdir_flag_spec=' '
+ allow_undefined_flag=unsupported
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # FIXME: Setting linknames here is a bad hack.
+ archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | sed -e '\''s/ -lc$//'\''` -link -dll~linknames='
+ # The linker will automatically build a .lib file if we build a DLL.
+ old_archive_from_new_cmds='true'
+ # FIXME: Should let the user specify the lib program.
+ old_archive_cmds='lib /OUT:$oldlib$oldobjs$old_deplibs'
+ fix_srcfile_path='`cygpath -w "$srcfile"`'
+ ;;
+
+ darwin* | rhapsody*)
+ case "$host_os" in
+ rhapsody* | darwin1.[[012]])
+ allow_undefined_flag='-undefined suppress'
+ ;;
+ *) # Darwin 1.3 on
+ allow_undefined_flag='-flat_namespace -undefined suppress'
+ ;;
+ esac
+ # FIXME: Relying on posixy $() will cause problems for
+ # cross-compilation, but unfortunately the echo tests do not
+ # yet detect zsh echo's removal of \ escapes. Also zsh mangles
+ # `"' quotes if we put them in here... so don't!
+ archive_cmds='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs && $CC $(test .$module = .yes && echo -bundle || echo -dynamiclib) $allow_undefined_flag -o $lib ${lib}-master.o $deplibs$linker_flags $(test .$module != .yes && echo -install_name $rpath/$soname $verstring)'
+ # We need to add '_' to the symbols in $export_symbols first
+ #archive_expsym_cmds="$archive_cmds"' && strip -s $export_symbols'
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ whole_archive_flag_spec='-all_load $convenience'
+ ;;
+
+ freebsd1*)
+ ld_shlibs=no
+ ;;
+
+ # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+ # support. Future versions do this automatically, but an explicit c++rt0.o
+ # does not break anything, and helps significantly (at the cost of a little
+ # extra space).
+ freebsd2.2*)
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+ freebsd2*)
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct=yes
+ hardcode_minus_L=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+ freebsd*)
+ archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ hpux9* | hpux10* | hpux11*)
+ case $host_os in
+ hpux9*) archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' ;;
+ *) archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' ;;
+ esac
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator=:
+ hardcode_direct=yes
+ hardcode_minus_L=yes # Not in the search PATH, but as the default
+ # location of the library.
+ export_dynamic_flag_spec='${wl}-E'
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ if test "$GCC" = yes; then
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ else
+ archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+ hardcode_libdir_flag_spec='-rpath $libdir'
+ fi
+ hardcode_libdir_separator=:
+ link_all_deplibs=yes
+ ;;
+
+ netbsd*)
+ if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
+ else
+ archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
+ fi
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ newsos6)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct=yes
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator=:
+ hardcode_shlibpath_var=no
+ ;;
+
+ openbsd*)
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ export_dynamic_flag_spec='${wl}-E'
+ else
+ case "$host_os" in
+ openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec='-R$libdir'
+ ;;
+ *)
+ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ ;;
+ esac
+ fi
+ ;;
+
+ os2*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ allow_undefined_flag=unsupported
+ archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+ old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+ ;;
+
+ osf3*)
+ if test "$GCC" = yes; then
+ allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+ allow_undefined_flag=' -expect_unresolved \*'
+ archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+ fi
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator=:
+ ;;
+
+ osf4* | osf5*) # as osf3* with the addition of -msym flag
+ if test "$GCC" = yes; then
+ allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ else
+ allow_undefined_flag=' -expect_unresolved \*'
+ archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_expsym_cmds='for i in `cat $export_symbols`; do printf "-exported_symbol " >> $lib.exp; echo "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
+ $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib~$rm $lib.exp'
+
+ #Both c and cxx compiler support -rpath directly
+ hardcode_libdir_flag_spec='-rpath $libdir'
+ fi
+ hardcode_libdir_separator=:
+ ;;
+
+ sco3.2v5*)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_shlibpath_var=no
+ runpath_var=LD_RUN_PATH
+ hardcode_runpath_var=yes
+ export_dynamic_flag_spec='${wl}-Bexport'
+ ;;
+
+ solaris*)
+ # gcc --version < 3.0 without binutils cannot create self contained
+ # shared libraries reliably, requiring libgcc.a to resolve some of
+ # the object symbols generated in some cases. Libraries that use
+ # assert need libgcc.a to resolve __eprintf, for example. Linking
+ # a copy of libgcc.a into every shared library to guarantee resolving
+ # such symbols causes other problems: According to Tim Van Holder
+ # <tim.van.holder@pandora.be>, C++ libraries end up with a separate
+ # (to the application) exception stack for one thing.
+ no_undefined_flag=' -z defs'
+ if test "$GCC" = yes; then
+ case `$CC --version 2>/dev/null` in
+ [[12]].*)
+ cat <<EOF 1>&2
+
+*** Warning: Releases of GCC earlier than version 3.0 cannot reliably
+*** create self contained shared libraries on Solaris systems, without
+*** introducing a dependency on libgcc.a. Therefore, libtool is disabling
+*** -no-undefined support, which will at least allow you to build shared
+*** libraries. However, you may find that when you link such libraries
+*** into an application without using GCC, you have to manually add
+*** \`gcc --print-libgcc-file-name\` to the link command. We urge you to
+*** upgrade to a newer version of GCC. Another option is to rebuild your
+*** current GCC to use the GNU linker from GNU binutils 2.9.1 or newer.
+
+EOF
+ no_undefined_flag=
+ ;;
+ esac
+ fi
+ # $CC -shared without GNU ld will not create a library from C++
+ # object files and a static libstdc++, better avoid it by now
+ archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_shlibpath_var=no
+ case $host_os in
+ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+ *) # Supported since Solaris 2.6 (maybe 2.5.1?)
+ whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;;
+ esac
+ link_all_deplibs=yes
+ ;;
+
+ sunos4*)
+ if test "x$host_vendor" = xsequent; then
+ # Use $CC to link under sequent, because it throws in some extra .o
+ # files that make .init and .fini sections work.
+ archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_direct=yes
+ hardcode_minus_L=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ sysv4)
+ case $host_vendor in
+ sni)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct=yes # is this really true???
+ ;;
+ siemens)
+ ## LD is ld it makes a PLAMLIB
+ ## CC just makes a GrossModule.
+ archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+ reload_cmds='$CC -r -o $output$reload_objs'
+ hardcode_direct=no
+ ;;
+ motorola)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct=no #Motorola manual says yes, but my tests say they lie
+ ;;
+ esac
+ runpath_var='LD_RUN_PATH'
+ hardcode_shlibpath_var=no
+ ;;
+
+ sysv4.3*)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_shlibpath_var=no
+ export_dynamic_flag_spec='-Bexport'
+ ;;
+
+ sysv5*)
+ no_undefined_flag=' -z text'
+ # $CC -shared without GNU ld will not create a library from C++
+ # object files and a static libstdc++, better avoid it by now
+ archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
+ hardcode_libdir_flag_spec=
+ hardcode_shlibpath_var=no
+ runpath_var='LD_RUN_PATH'
+ ;;
+
+ uts4*)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_shlibpath_var=no
+ ;;
+
+ dgux*)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_shlibpath_var=no
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_shlibpath_var=no
+ runpath_var=LD_RUN_PATH
+ hardcode_runpath_var=yes
+ ld_shlibs=yes
+ fi
+ ;;
+
+ sysv4.2uw2*)
+ archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct=yes
+ hardcode_minus_L=no
+ hardcode_shlibpath_var=no
+ hardcode_runpath_var=yes
+ runpath_var=LD_RUN_PATH
+ ;;
+
+ sysv5uw7* | unixware7*)
+ no_undefined_flag='${wl}-z ${wl}text'
+ if test "$GCC" = yes; then
+ archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ fi
+ runpath_var='LD_RUN_PATH'
+ hardcode_shlibpath_var=no
+ ;;
+
+ *)
+ ld_shlibs=no
+ ;;
+ esac
+fi
+AC_MSG_RESULT([$ld_shlibs])
+test "$ld_shlibs" = no && can_build_shared=no
+##
+## END FIXME
+
+## FIXME: this should be a separate macro
+##
+# Check hardcoding attributes.
+AC_MSG_CHECKING([how to hardcode library paths into programs])
+hardcode_action=
+if test -n "$hardcode_libdir_flag_spec" || \
+ test -n "$runpath_var"; then
+
+ # We can hardcode non-existant directories.
+ if test "$hardcode_direct" != no &&
+ # If the only mechanism to avoid hardcoding is shlibpath_var, we
+ # have to relink, otherwise we might link with an installed library
+ # when we should be linking with a yet-to-be-installed one
+ ## test "$hardcode_shlibpath_var" != no &&
+ test "$hardcode_minus_L" != no; then
+ # Linking always hardcodes the temporary library directory.
+ hardcode_action=relink
+ else
+ # We can link without hardcoding, and we can hardcode nonexisting dirs.
+ hardcode_action=immediate
+ fi
+else
+ # We cannot hardcode anything, or else we can only hardcode existing
+ # directories.
+ hardcode_action=unsupported
+fi
+AC_MSG_RESULT([$hardcode_action])
+##
+## END FIXME
+
+## FIXME: this should be a separate macro
+##
+striplib=
+old_striplib=
+AC_MSG_CHECKING([whether stripping libraries is possible])
+if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
+ test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+ test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+ AC_MSG_RESULT([yes])
+else
+ AC_MSG_RESULT([no])
+fi
+##
+## END FIXME
+
+reload_cmds='$LD$reload_flag -o $output$reload_objs'
+test -z "$deplibs_check_method" && deplibs_check_method=unknown
+
+## FIXME: this should be a separate macro
+##
+# PORTME Fill in your ld.so characteristics
+AC_MSG_CHECKING([dynamic linker characteristics])
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+
+case $host_os in
+aix3*)
+ version_type=linux
+ library_names_spec='${libname}${release}.so$versuffix $libname.a'
+ shlibpath_var=LIBPATH
+
+ # AIX has no versioning support, so we append a major version to the name.
+ soname_spec='${libname}${release}.so$major'
+ ;;
+
+aix4* | aix5*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ hardcode_into_libs=yes
+ if test "$host_cpu" = ia64; then
+ # AIX 5 supports IA64
+ library_names_spec='${libname}${release}.so$major ${libname}${release}.so$versuffix $libname.so'
+ shlibpath_var=LD_LIBRARY_PATH
+ else
+ # With GCC up to 2.95.x, collect2 would create an import file
+ # for dependence libraries. The import file would start with
+ # the line `#! .'. This would cause the generated library to
+ # depend on `.', always an invalid library. This was fixed in
+ # development snapshots of GCC prior to 3.0.
+ case $host_os in
+ aix4 | aix4.[[01]] | aix4.[[01]].*)
+ if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+ echo ' yes '
+ echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
+ :
+ else
+ can_build_shared=no
+ fi
+ ;;
+ esac
+ # AIX (on Power*) has no versioning support, so currently we can
+ # not hardcode correct soname into executable. Probably we can
+ # add versioning support to collect2, so additional links can
+ # be useful in future.
+ if test "$aix_use_runtimelinking" = yes; then
+ # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+ # instead of lib<name>.a to let people know that these are not
+ # typical AIX shared libraries.
+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
+ else
+ # We preserve .a as extension for shared libraries through AIX4.2
+ # and later when we are not doing run time linking.
+ library_names_spec='${libname}${release}.a $libname.a'
+ soname_spec='${libname}${release}.so$major'
+ fi
+ shlibpath_var=LIBPATH
+ fi
+ hardcode_into_libs=yes
+ ;;
+
+amigaos*)
+ library_names_spec='$libname.ixlibrary $libname.a'
+ # Create ${libname}_ixlibrary.a entries in /sys/libs.
+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done'
+ ;;
+
+beos*)
+ library_names_spec='${libname}.so'
+ dynamic_linker="$host_os ld.so"
+ shlibpath_var=LIBRARY_PATH
+ ;;
+
+bsdi4*)
+ version_type=linux
+ need_version=no
+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
+ soname_spec='${libname}${release}.so$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+ sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+ export_dynamic_flag_spec=-rdynamic
+ # the default ld.so.conf also contains /usr/contrib/lib and
+ # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+ # libtool to hard-code these into programs
+ ;;
+
+cygwin* | mingw* | pw32*)
+ version_type=windows
+ need_version=no
+ need_lib_prefix=no
+ case $GCC,$host_os in
+ yes,cygwin*)
+ library_names_spec='$libname.dll.a'
+ soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | sed -e 's/[[.]]/-/g'`${versuffix}.dll'
+ postinstall_cmds='dlpath=`bash 2>&1 -c '\''. $dir/${file}i;echo \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog .libs/$dlname \$dldir/$dlname'
+ postuninstall_cmds='dldll=`bash 2>&1 -c '\''. $file; echo \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $rm \$dlpath'
+ ;;
+ yes,mingw*)
+ library_names_spec='${libname}`echo ${release} | sed -e 's/[[.]]/-/g'`${versuffix}.dll'
+ sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | sed -e "s/^libraries://" -e "s/;/ /g" -e "s,=/,/,g"`
+ ;;
+ yes,pw32*)
+ library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll'
+ ;;
+ *)
+ library_names_spec='${libname}`echo ${release} | sed -e 's/[[.]]/-/g'`${versuffix}.dll $libname.lib'
+ ;;
+ esac
+ dynamic_linker='Win32 ld.exe'
+ # FIXME: first we should search . and the directory the executable is in
+ shlibpath_var=PATH
+ ;;
+
+darwin* | rhapsody*)
+ dynamic_linker="$host_os dyld"
+ version_type=darwin
+ need_lib_prefix=no
+ need_version=no
+ # FIXME: Relying on posixy $() will cause problems for
+ # cross-compilation, but unfortunately the echo tests do not
+ # yet detect zsh echo's removal of \ escapes.
+ library_names_spec='${libname}${release}${versuffix}.$(test .$module = .yes && echo so || echo dylib) ${libname}${release}${major}.$(test .$module = .yes && echo so || echo dylib) ${libname}.$(test .$module = .yes && echo so || echo dylib)'
+ soname_spec='${libname}${release}${major}.$(test .$module = .yes && echo so || echo dylib)'
+ shlibpath_overrides_runpath=yes
+ shlibpath_var=DYLD_LIBRARY_PATH
+ ;;
+
+freebsd1*)
+ dynamic_linker=no
+ ;;
+
+freebsd*)
+ objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
+ version_type=freebsd-$objformat
+ case $version_type in
+ freebsd-elf*)
+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so'
+ need_version=no
+ need_lib_prefix=no
+ ;;
+ freebsd-*)
+ library_names_spec='${libname}${release}.so$versuffix $libname.so$versuffix'
+ need_version=yes
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_os in
+ freebsd2*)
+ shlibpath_overrides_runpath=yes
+ ;;
+ *)
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+ esac
+ ;;
+
+gnu*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so${major} ${libname}.so'
+ soname_spec='${libname}${release}.so$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ hardcode_into_libs=yes
+ ;;
+
+hpux9* | hpux10* | hpux11*)
+ # Give a soname corresponding to the major version so that dld.sl refuses to
+ # link against other versions.
+ dynamic_linker="$host_os dld.sl"
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ shlibpath_var=SHLIB_PATH
+ shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+ library_names_spec='${libname}${release}.sl$versuffix ${libname}${release}.sl$major $libname.sl'
+ soname_spec='${libname}${release}.sl$major'
+ # HP-UX runs *really* slowly unless shared libraries are mode 555.
+ postinstall_cmds='chmod 555 $lib'
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $host_os in
+ nonstopux*) version_type=nonstopux ;;
+ *) version_type=irix ;;
+ esac
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}.so$major'
+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so $libname.so'
+ case $host_os in
+ irix5* | nonstopux*)
+ libsuff= shlibsuff=
+ ;;
+ *)
+ case $LD in # libtool.m4 will add one of these switches to LD
+ *-32|*"-32 ") libsuff= shlibsuff= libmagic=32-bit;;
+ *-n32|*"-n32 ") libsuff=32 shlibsuff=N32 libmagic=N32;;
+ *-64|*"-64 ") libsuff=64 shlibsuff=64 libmagic=64-bit;;
+ *) libsuff= shlibsuff= libmagic=never-match;;
+ esac
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+ sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+ ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux-gnuoldld* | linux-gnuaout* | linux-gnucoff*)
+ dynamic_linker=no
+ ;;
+
+# This must be Linux ELF.
+linux-gnu*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
+ soname_spec='${libname}${release}.so$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ # This implies no fast_install, which is unacceptable.
+ # Some rework will be needed to allow for fast_install
+ # before this can be enabled.
+ hardcode_into_libs=yes
+
+ # We used to test for /lib/ld.so.1 and disable shared libraries on
+ # powerpc, because MkLinux only supported shared libraries with the
+ # GNU dynamic linker. Since this was broken with cross compilers,
+ # most powerpc-linux boxes support dynamic linking these days and
+ # people can always --disable-shared, the test was removed, and we
+ # assume the GNU/Linux dynamic linker is in use.
+ dynamic_linker='GNU/Linux ld.so'
+ ;;
+
+netbsd*)
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+ library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ dynamic_linker='NetBSD (a.out) ld.so'
+ else
+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so ${libname}.so'
+ soname_spec='${libname}${release}.so$major'
+ dynamic_linker='NetBSD ld.elf_so'
+ fi
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+
+newsos6)
+ version_type=linux
+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ ;;
+
+openbsd*)
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ case "$host_os" in
+ openbsd2.[[89]] | openbsd2.[[89]].*)
+ shlibpath_overrides_runpath=no
+ ;;
+ *)
+ shlibpath_overrides_runpath=yes
+ ;;
+ esac
+ else
+ shlibpath_overrides_runpath=yes
+ fi
+ library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+os2*)
+ libname_spec='$name'
+ need_lib_prefix=no
+ library_names_spec='$libname.dll $libname.a'
+ dynamic_linker='OS/2 ld.exe'
+ shlibpath_var=LIBPATH
+ ;;
+
+osf3* | osf4* | osf5*)
+ version_type=osf
+ need_version=no
+ soname_spec='${libname}${release}.so$major'
+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+ sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+ hardcode_into_libs=yes
+ ;;
+
+sco3.2v5*)
+ version_type=osf
+ soname_spec='${libname}${release}.so$major'
+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+solaris*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
+ soname_spec='${libname}${release}.so$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ # ldd complains unless libraries are executable
+ postinstall_cmds='chmod +x $lib'
+ ;;
+
+sunos4*)
+ version_type=sunos
+ library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
+ finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ if test "$with_gnu_ld" = yes; then
+ need_lib_prefix=no
+ fi
+ need_version=yes
+ ;;
+
+sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ version_type=linux
+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
+ soname_spec='${libname}${release}.so$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_vendor in
+ sni)
+ shlibpath_overrides_runpath=no
+ need_lib_prefix=no
+ export_dynamic_flag_spec='${wl}-Blargedynsym'
+ runpath_var=LD_RUN_PATH
+ ;;
+ siemens)
+ need_lib_prefix=no
+ ;;
+ motorola)
+ need_lib_prefix=no
+ need_version=no
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+ ;;
+ esac
+ ;;
+
+uts4*)
+ version_type=linux
+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
+ soname_spec='${libname}${release}.so$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+dgux*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
+ soname_spec='${libname}${release}.so$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+sysv4*MP*)
+ if test -d /usr/nec ;then
+ version_type=linux
+ library_names_spec='$libname.so.$versuffix $libname.so.$major $libname.so'
+ soname_spec='$libname.so.$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ fi
+ ;;
+
+*)
+ dynamic_linker=no
+ ;;
+esac
+AC_MSG_RESULT([$dynamic_linker])
+test "$dynamic_linker" = no && can_build_shared=no
+##
+## END FIXME
+
+## FIXME: this should be a separate macro
+##
+# Report the final consequences.
+AC_MSG_CHECKING([if libtool supports shared libraries])
+AC_MSG_RESULT([$can_build_shared])
+##
+## END FIXME
+
+## FIXME: this should be a separate macro
+##
+AC_MSG_CHECKING([whether to build shared libraries])
+test "$can_build_shared" = "no" && enable_shared=no
+
+# On AIX, shared libraries and static libraries use the same namespace, and
+# are all built from PIC.
+case "$host_os" in
+aix3*)
+ test "$enable_shared" = yes && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+
+aix4*)
+ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+ test "$enable_shared" = yes && enable_static=no
+ fi
+ ;;
+esac
+AC_MSG_RESULT([$enable_shared])
+##
+## END FIXME
+
+## FIXME: this should be a separate macro
+##
+AC_MSG_CHECKING([whether to build static libraries])
+# Make sure either enable_shared or enable_static is yes.
+test "$enable_shared" = yes || enable_static=yes
+AC_MSG_RESULT([$enable_static])
+##
+## END FIXME
+
+if test "$hardcode_action" = relink; then
+ # Fast installation is not supported
+ enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+ test "$enable_shared" = no; then
+ # Fast installation is not necessary
+ enable_fast_install=needless
+fi
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+ variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+AC_LIBTOOL_DLOPEN_SELF
+
+## FIXME: this should be a separate macro
+##
+if test "$enable_shared" = yes && test "$GCC" = yes; then
+ case $archive_cmds in
+ *'~'*)
+ # FIXME: we may have to deal with multi-command sequences.
+ ;;
+ '$CC '*)
+ # Test whether the compiler implicitly links with -lc since on some
+ # systems, -lgcc has to come before -lc. If gcc already passes -lc
+ # to ld, don't add -lc before -lgcc.
+ AC_MSG_CHECKING([whether -lc should be explicitly linked in])
+ AC_CACHE_VAL([lt_cv_archive_cmds_need_lc],
+ [$rm conftest*
+ echo 'static int dummy;' > conftest.$ac_ext
+
+ if AC_TRY_EVAL(ac_compile); then
+ soname=conftest
+ lib=conftest
+ libobjs=conftest.$ac_objext
+ deplibs=
+ wl=$lt_cv_prog_cc_wl
+ compiler_flags=-v
+ linker_flags=-v
+ verstring=
+ output_objdir=.
+ libname=conftest
+ save_allow_undefined_flag=$allow_undefined_flag
+ allow_undefined_flag=
+ if AC_TRY_EVAL(archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1)
+ then
+ lt_cv_archive_cmds_need_lc=no
+ else
+ lt_cv_archive_cmds_need_lc=yes
+ fi
+ allow_undefined_flag=$save_allow_undefined_flag
+ else
+ cat conftest.err 1>&5
+ fi])
+ AC_MSG_RESULT([$lt_cv_archive_cmds_need_lc])
+ ;;
+ esac
+fi
+need_lc=${lt_cv_archive_cmds_need_lc-yes}
+##
+## END FIXME
+
+## FIXME: this should be a separate macro
+##
+# The second clause should only fire when bootstrapping the
+# libtool distribution, otherwise you forgot to ship ltmain.sh
+# with your package, and you will get complaints that there are
+# no rules to generate ltmain.sh.
+if test -f "$ltmain"; then
+ :
+else
+ # If there is no Makefile yet, we rely on a make rule to execute
+ # `config.status --recheck' to rerun these tests and create the
+ # libtool script then.
+ test -f Makefile && make "$ltmain"
+fi
+
+if test -f "$ltmain"; then
+ trap "$rm \"${ofile}T\"; exit 1" 1 2 15
+ $rm -f "${ofile}T"
+
+ echo creating $ofile
+
+ # Now quote all the things that may contain metacharacters while being
+ # careful not to overquote the AC_SUBSTed values. We take copies of the
+ # variables and quote the copies for generation of the libtool script.
+ for var in echo old_CC old_CFLAGS SED \
+ AR AR_FLAGS CC LD LN_S NM SHELL \
+ reload_flag reload_cmds wl \
+ pic_flag link_static_flag no_builtin_flag export_dynamic_flag_spec \
+ thread_safe_flag_spec whole_archive_flag_spec libname_spec \
+ library_names_spec soname_spec \
+ RANLIB old_archive_cmds old_archive_from_new_cmds old_postinstall_cmds \
+ old_postuninstall_cmds archive_cmds archive_expsym_cmds postinstall_cmds \
+ postuninstall_cmds extract_expsyms_cmds old_archive_from_expsyms_cmds \
+ old_striplib striplib file_magic_cmd export_symbols_cmds \
+ deplibs_check_method allow_undefined_flag no_undefined_flag \
+ finish_cmds finish_eval global_symbol_pipe global_symbol_to_cdecl \
+ global_symbol_to_c_name_address \
+ hardcode_libdir_flag_spec hardcode_libdir_separator \
+ sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
+ compiler_c_o compiler_o_lo need_locks exclude_expsyms include_expsyms; do
+
+ case $var in
+ reload_cmds | old_archive_cmds | old_archive_from_new_cmds | \
+ old_postinstall_cmds | old_postuninstall_cmds | \
+ export_symbols_cmds | archive_cmds | archive_expsym_cmds | \
+ extract_expsyms_cmds | old_archive_from_expsyms_cmds | \
+ postinstall_cmds | postuninstall_cmds | \
+ finish_cmds | sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
+ # Double-quote double-evaled strings.
+ eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
+ ;;
+ *)
+ eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
+ ;;
+ esac
+ done
+
+ cat <<__EOF__ > "${ofile}T"
+#! $SHELL
+
+# `$echo "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
+# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+#
+# Copyright (C) 1996-2000 Free Software Foundation, Inc.
+# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# A sed that does not truncate output.
+SED=$lt_SED
+
+# Sed that helps us avoid accidentally triggering echo(1) options like -n.
+Xsed="${SED} -e s/^X//"
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+if test "X\${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi
+
+# ### BEGIN LIBTOOL CONFIG
+
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
+
+# Whether or not to build shared libraries.
+build_libtool_libs=$enable_shared
+
+# Whether or not to build static libraries.
+build_old_libs=$enable_static
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$need_lc
+
+# Whether or not to optimize for fast installation.
+fast_install=$enable_fast_install
+
+# The host system.
+host_alias=$host_alias
+host=$host
+
+# An echo program that does not interpret backslashes.
+echo=$lt_echo
+
+# The archiver.
+AR=$lt_AR
+AR_FLAGS=$lt_AR_FLAGS
+
+# The default C compiler.
+CC=$lt_CC
+
+# Is the compiler the GNU C compiler?
+with_gcc=$GCC
+
+# The linker used to build libraries.
+LD=$lt_LD
+
+# Whether we need hard or soft links.
+LN_S=$lt_LN_S
+
+# A BSD-compatible nm program.
+NM=$lt_NM
+
+# A symbol stripping program
+STRIP=$STRIP
+
+# Used to examine libraries when file_magic_cmd begins "file"
+MAGIC_CMD=$MAGIC_CMD
+
+# Used on cygwin: DLL creation program.
+DLLTOOL="$DLLTOOL"
+
+# Used on cygwin: object dumper.
+OBJDUMP="$OBJDUMP"
+
+# Used on cygwin: assembler.
+AS="$AS"
+
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
+
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
+
+# How to pass a linker flag through the compiler.
+wl=$lt_wl
+
+# Object file suffix (normally "o").
+objext="$ac_objext"
+
+# Old archive suffix (normally "a").
+libext="$libext"
+
+# Executable file suffix (normally "").
+exeext="$exeext"
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_pic_flag
+pic_mode=$pic_mode
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_compiler_c_o
+
+# Can we write directly to a .lo ?
+compiler_o_lo=$lt_compiler_o_lo
+
+# Must we lock files when doing compilation ?
+need_locks=$lt_need_locks
+
+# Do we need the lib prefix for modules?
+need_lib_prefix=$need_lib_prefix
+
+# Do we need a version for libraries?
+need_version=$need_version
+
+# Whether dlopen is supported.
+dlopen_support=$enable_dlopen
+
+# Whether dlopen of programs is supported.
+dlopen_self=$enable_dlopen_self
+
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=$enable_dlopen_self_static
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_link_static_flag
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_no_builtin_flag
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_whole_archive_flag_spec
+
+# Compiler flag to generate thread-safe objects.
+thread_safe_flag_spec=$lt_thread_safe_flag_spec
+
+# Library versioning type.
+version_type=$version_type
+
+# Format of library name prefix.
+libname_spec=$lt_libname_spec
+
+# List of archive names. First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME.
+library_names_spec=$lt_library_names_spec
+
+# The coded name of the library, if different from the real name.
+soname_spec=$lt_soname_spec
+
+# Commands used to build and install an old-style archive.
+RANLIB=$lt_RANLIB
+old_archive_cmds=$lt_old_archive_cmds
+old_postinstall_cmds=$lt_old_postinstall_cmds
+old_postuninstall_cmds=$lt_old_postuninstall_cmds
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
+
+# Commands used to build and install a shared archive.
+archive_cmds=$lt_archive_cmds
+archive_expsym_cmds=$lt_archive_expsym_cmds
+postinstall_cmds=$lt_postinstall_cmds
+postuninstall_cmds=$lt_postuninstall_cmds
+
+# Commands to strip libraries.
+old_striplib=$lt_old_striplib
+striplib=$lt_striplib
+
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method=$lt_deplibs_check_method
+
+# Command to use when deplibs_check_method == file_magic.
+file_magic_cmd=$lt_file_magic_cmd
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_allow_undefined_flag
+
+# Flag that forces no undefined symbols.
+no_undefined_flag=$lt_no_undefined_flag
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds=$lt_finish_cmds
+
+# Same as above, but a single script fragment to be evaled but not shown.
+finish_eval=$lt_finish_eval
+
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe=$lt_global_symbol_pipe
+
+# Transform the output of nm in a proper C declaration
+global_symbol_to_cdecl=$lt_global_symbol_to_cdecl
+
+# Transform the output of nm in a C name address pair
+global_symbol_to_c_name_address=$lt_global_symbol_to_c_name_address
+
+# This is the shared library runtime path variable.
+runpath_var=$runpath_var
+
+# This is the shared library path variable.
+shlibpath_var=$shlibpath_var
+
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$hardcode_action
+
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=$hardcode_into_libs
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
+
+# Whether we need a single -rpath flag with a separated argument.
+hardcode_libdir_separator=$lt_hardcode_libdir_separator
+
+# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
+# resulting binary.
+hardcode_direct=$hardcode_direct
+
+# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
+# resulting binary.
+hardcode_minus_L=$hardcode_minus_L
+
+# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
+# the resulting binary.
+hardcode_shlibpath_var=$hardcode_shlibpath_var
+
+# Variables whose values should be saved in libtool wrapper scripts and
+# restored at relink time.
+variables_saved_for_relink="$variables_saved_for_relink"
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$link_all_deplibs
+
+# Compile-time system search path for libraries
+sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+
+# Run-time system search path for libraries
+sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+
+# Fix the shell variable \$srcfile for the compiler.
+fix_srcfile_path="$fix_srcfile_path"
+
+# Set to yes if exported symbols are required.
+always_export_symbols=$always_export_symbols
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_export_symbols_cmds
+
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=$lt_extract_expsyms_cmds
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_exclude_expsyms
+
+# Symbols that must always be exported.
+include_expsyms=$lt_include_expsyms
+
+# ### END LIBTOOL CONFIG
+
+__EOF__
+
+ case $host_os in
+ aix3*)
+ cat <<\EOF >> "${ofile}T"
+
+# AIX sometimes has problems with the GCC collect2 program. For some
+# reason, if we set the COLLECT_NAMES environment variable, the problems
+# vanish in a puff of smoke.
+if test "X${COLLECT_NAMES+set}" != Xset; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+fi
+EOF
+ ;;
+ esac
+
+ case $host_os in
+ cygwin* | mingw* | pw32* | os2*)
+ cat <<'EOF' >> "${ofile}T"
+ # This is a source program that is used to create dlls on Windows
+ # Don't remove nor modify the starting and closing comments
+# /* ltdll.c starts here */
+# #define WIN32_LEAN_AND_MEAN
+# #include <windows.h>
+# #undef WIN32_LEAN_AND_MEAN
+# #include <stdio.h>
+#
+# #ifndef __CYGWIN__
+# # ifdef __CYGWIN32__
+# # define __CYGWIN__ __CYGWIN32__
+# # endif
+# #endif
+#
+# #ifdef __cplusplus
+# extern "C" {
+# #endif
+# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved);
+# #ifdef __cplusplus
+# }
+# #endif
+#
+# #ifdef __CYGWIN__
+# #include <cygwin/cygwin_dll.h>
+# DECLARE_CYGWIN_DLL( DllMain );
+# #endif
+# HINSTANCE __hDllInstance_base;
+#
+# BOOL APIENTRY
+# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved)
+# {
+# __hDllInstance_base = hInst;
+# return TRUE;
+# }
+# /* ltdll.c ends here */
+ # This is a source program that is used to create import libraries
+ # on Windows for dlls which lack them. Don't remove nor modify the
+ # starting and closing comments
+# /* impgen.c starts here */
+# /* Copyright (C) 1999-2000 Free Software Foundation, Inc.
+#
+# This file is part of GNU libtool.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# */
+#
+# #include <stdio.h> /* for printf() */
+# #include <unistd.h> /* for open(), lseek(), read() */
+# #include <fcntl.h> /* for O_RDONLY, O_BINARY */
+# #include <string.h> /* for strdup() */
+#
+# /* O_BINARY isn't required (or even defined sometimes) under Unix */
+# #ifndef O_BINARY
+# #define O_BINARY 0
+# #endif
+#
+# static unsigned int
+# pe_get16 (fd, offset)
+# int fd;
+# int offset;
+# {
+# unsigned char b[2];
+# lseek (fd, offset, SEEK_SET);
+# read (fd, b, 2);
+# return b[0] + (b[1]<<8);
+# }
+#
+# static unsigned int
+# pe_get32 (fd, offset)
+# int fd;
+# int offset;
+# {
+# unsigned char b[4];
+# lseek (fd, offset, SEEK_SET);
+# read (fd, b, 4);
+# return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24);
+# }
+#
+# static unsigned int
+# pe_as32 (ptr)
+# void *ptr;
+# {
+# unsigned char *b = ptr;
+# return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24);
+# }
+#
+# int
+# main (argc, argv)
+# int argc;
+# char *argv[];
+# {
+# int dll;
+# unsigned long pe_header_offset, opthdr_ofs, num_entries, i;
+# unsigned long export_rva, export_size, nsections, secptr, expptr;
+# unsigned long name_rvas, nexp;
+# unsigned char *expdata, *erva;
+# char *filename, *dll_name;
+#
+# filename = argv[1];
+#
+# dll = open(filename, O_RDONLY|O_BINARY);
+# if (dll < 1)
+# return 1;
+#
+# dll_name = filename;
+#
+# for (i=0; filename[i]; i++)
+# if (filename[i] == '/' || filename[i] == '\\' || filename[i] == ':')
+# dll_name = filename + i +1;
+#
+# pe_header_offset = pe_get32 (dll, 0x3c);
+# opthdr_ofs = pe_header_offset + 4 + 20;
+# num_entries = pe_get32 (dll, opthdr_ofs + 92);
+#
+# if (num_entries < 1) /* no exports */
+# return 1;
+#
+# export_rva = pe_get32 (dll, opthdr_ofs + 96);
+# export_size = pe_get32 (dll, opthdr_ofs + 100);
+# nsections = pe_get16 (dll, pe_header_offset + 4 +2);
+# secptr = (pe_header_offset + 4 + 20 +
+# pe_get16 (dll, pe_header_offset + 4 + 16));
+#
+# expptr = 0;
+# for (i = 0; i < nsections; i++)
+# {
+# char sname[8];
+# unsigned long secptr1 = secptr + 40 * i;
+# unsigned long vaddr = pe_get32 (dll, secptr1 + 12);
+# unsigned long vsize = pe_get32 (dll, secptr1 + 16);
+# unsigned long fptr = pe_get32 (dll, secptr1 + 20);
+# lseek(dll, secptr1, SEEK_SET);
+# read(dll, sname, 8);
+# if (vaddr <= export_rva && vaddr+vsize > export_rva)
+# {
+# expptr = fptr + (export_rva - vaddr);
+# if (export_rva + export_size > vaddr + vsize)
+# export_size = vsize - (export_rva - vaddr);
+# break;
+# }
+# }
+#
+# expdata = (unsigned char*)malloc(export_size);
+# lseek (dll, expptr, SEEK_SET);
+# read (dll, expdata, export_size);
+# erva = expdata - export_rva;
+#
+# nexp = pe_as32 (expdata+24);
+# name_rvas = pe_as32 (expdata+32);
+#
+# printf ("EXPORTS\n");
+# for (i = 0; i<nexp; i++)
+# {
+# unsigned long name_rva = pe_as32 (erva+name_rvas+i*4);
+# printf ("\t%s @ %ld ;\n", erva+name_rva, 1+ i);
+# }
+#
+# return 0;
+# }
+# /* impgen.c ends here */
+
+EOF
+ ;;
+ esac
+
+ # We use sed instead of cat because bash on DJGPP gets confused if
+ # if finds mixed CR/LF and LF-only lines. Since sed operates in
+ # text mode, it properly converts lines to CR/LF. This bash problem
+ # is reportedly fixed, but why not run on old versions too?
+ sed '$q' "$ltmain" >> "${ofile}T" || (rm -f "${ofile}T"; exit 1)
+
+ mv -f "${ofile}T" "$ofile" || \
+ (rm -f "$ofile" && cp "${ofile}T" "$ofile" && rm -f "${ofile}T")
+ chmod +x "$ofile"
+fi
+##
+## END FIXME
+
+])# _LT_AC_LTCONFIG_HACK
+
+# AC_LIBTOOL_DLOPEN - enable checks for dlopen support
+AC_DEFUN([AC_LIBTOOL_DLOPEN], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])])
+
+# AC_LIBTOOL_WIN32_DLL - declare package support for building win32 dll's
+AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])])
+
+# AC_ENABLE_SHARED - implement the --enable-shared flag
+# Usage: AC_ENABLE_SHARED[(DEFAULT)]
+# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
+# `yes'.
+AC_DEFUN([AC_ENABLE_SHARED],
+[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
+AC_ARG_ENABLE(shared,
+changequote(<<, >>)dnl
+<< --enable-shared[=PKGS] build shared libraries [default=>>AC_ENABLE_SHARED_DEFAULT],
+changequote([, ])dnl
+[p=${PACKAGE-default}
+case $enableval in
+yes) enable_shared=yes ;;
+no) enable_shared=no ;;
+*)
+ enable_shared=no
+ # Look at the argument we got. We use all the common list separators.
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
+ for pkg in $enableval; do
+ if test "X$pkg" = "X$p"; then
+ enable_shared=yes
+ fi
+ done
+ IFS="$ac_save_ifs"
+ ;;
+esac],
+enable_shared=AC_ENABLE_SHARED_DEFAULT)dnl
+])
+
+# AC_DISABLE_SHARED - set the default shared flag to --disable-shared
+AC_DEFUN([AC_DISABLE_SHARED],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+AC_ENABLE_SHARED(no)])
+
+# AC_ENABLE_STATIC - implement the --enable-static flag
+# Usage: AC_ENABLE_STATIC[(DEFAULT)]
+# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
+# `yes'.
+AC_DEFUN([AC_ENABLE_STATIC],
+[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
+AC_ARG_ENABLE(static,
+changequote(<<, >>)dnl
+<< --enable-static[=PKGS] build static libraries [default=>>AC_ENABLE_STATIC_DEFAULT],
+changequote([, ])dnl
+[p=${PACKAGE-default}
+case $enableval in
+yes) enable_static=yes ;;
+no) enable_static=no ;;
+*)
+ enable_static=no
+ # Look at the argument we got. We use all the common list separators.
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
+ for pkg in $enableval; do
+ if test "X$pkg" = "X$p"; then
+ enable_static=yes
+ fi
+ done
+ IFS="$ac_save_ifs"
+ ;;
+esac],
+enable_static=AC_ENABLE_STATIC_DEFAULT)dnl
+])
+
+# AC_DISABLE_STATIC - set the default static flag to --disable-static
+AC_DEFUN([AC_DISABLE_STATIC],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+AC_ENABLE_STATIC(no)])
+
+
+# AC_ENABLE_FAST_INSTALL - implement the --enable-fast-install flag
+# Usage: AC_ENABLE_FAST_INSTALL[(DEFAULT)]
+# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
+# `yes'.
+AC_DEFUN([AC_ENABLE_FAST_INSTALL],
+[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
+AC_ARG_ENABLE(fast-install,
+changequote(<<, >>)dnl
+<< --enable-fast-install[=PKGS] optimize for fast installation [default=>>AC_ENABLE_FAST_INSTALL_DEFAULT],
+changequote([, ])dnl
+[p=${PACKAGE-default}
+case $enableval in
+yes) enable_fast_install=yes ;;
+no) enable_fast_install=no ;;
+*)
+ enable_fast_install=no
+ # Look at the argument we got. We use all the common list separators.
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
+ for pkg in $enableval; do
+ if test "X$pkg" = "X$p"; then
+ enable_fast_install=yes
+ fi
+ done
+ IFS="$ac_save_ifs"
+ ;;
+esac],
+enable_fast_install=AC_ENABLE_FAST_INSTALL_DEFAULT)dnl
+])
+
+# AC_DISABLE_FAST_INSTALL - set the default to --disable-fast-install
+AC_DEFUN([AC_DISABLE_FAST_INSTALL],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+AC_ENABLE_FAST_INSTALL(no)])
+
+# AC_LIBTOOL_PICMODE - implement the --with-pic flag
+# Usage: AC_LIBTOOL_PICMODE[(MODE)]
+# Where MODE is either `yes' or `no'. If omitted, it defaults to
+# `both'.
+AC_DEFUN([AC_LIBTOOL_PICMODE],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+pic_mode=ifelse($#,1,$1,default)])
+
+
+# AC_PATH_TOOL_PREFIX - find a file program which can recognise shared library
+AC_DEFUN([AC_PATH_TOOL_PREFIX],
+[AC_MSG_CHECKING([for $1])
+AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
+[case $MAGIC_CMD in
+ /*)
+ lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+ ;;
+ ?:/*)
+ lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a dos path.
+ ;;
+ *)
+ ac_save_MAGIC_CMD="$MAGIC_CMD"
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+dnl $ac_dummy forces splitting on constant user-supplied paths.
+dnl POSIX.2 word splitting is done only on the output of word expansions,
+dnl not every word. This closes a longstanding sh security hole.
+ ac_dummy="ifelse([$2], , $PATH, [$2])"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$1; then
+ lt_cv_path_MAGIC_CMD="$ac_dir/$1"
+ if test -n "$file_magic_test_file"; then
+ case $deplibs_check_method in
+ "file_magic "*)
+ file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
+ MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+ if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+ egrep "$file_magic_regex" > /dev/null; then
+ :
+ else
+ cat <<EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such. This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem. Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool@gnu.org
+
+EOF
+ fi ;;
+ esac
+ fi
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ MAGIC_CMD="$ac_save_MAGIC_CMD"
+ ;;
+esac])
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+ AC_MSG_RESULT($MAGIC_CMD)
+else
+ AC_MSG_RESULT(no)
+fi
+])
+
+
+# AC_PATH_MAGIC - find a file program which can recognise a shared library
+AC_DEFUN([AC_PATH_MAGIC],
+[AC_REQUIRE([AC_CHECK_TOOL_PREFIX])dnl
+AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin:$PATH)
+if test -z "$lt_cv_path_MAGIC_CMD"; then
+ if test -n "$ac_tool_prefix"; then
+ AC_PATH_TOOL_PREFIX(file, /usr/bin:$PATH)
+ else
+ MAGIC_CMD=:
+ fi
+fi
+])
+
+
+# AC_PROG_LD - find the path to the GNU or non-GNU linker
+AC_DEFUN([AC_PROG_LD],
+[AC_ARG_WITH(gnu-ld,
+[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]],
+test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+AC_REQUIRE([_LT_AC_LIBTOOL_SYS_PATH_SEPARATOR])dnl
+ac_prog=ld
+if test "$GCC" = yes; then
+ # Check if gcc -print-prog-name=ld gives a path.
+ AC_MSG_CHECKING([for ld used by GCC])
+ case $host in
+ *-*-mingw*)
+ # gcc leaves a trailing carriage return which upsets mingw
+ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+ *)
+ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+ esac
+ case $ac_prog in
+ # Accept absolute paths.
+ [[\\/]]* | [[A-Za-z]]:[[\\/]]*)
+ re_direlt='/[[^/]][[^/]]*/\.\./'
+ # Canonicalize the path of ld
+ ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
+ while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
+ ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
+ done
+ test -z "$LD" && LD="$ac_prog"
+ ;;
+ "")
+ # If it fails, then pretend we aren't using GCC.
+ ac_prog=ld
+ ;;
+ *)
+ # If it is relative, then search for the first ld in PATH.
+ with_gnu_ld=unknown
+ ;;
+ esac
+elif test "$with_gnu_ld" = yes; then
+ AC_MSG_CHECKING([for GNU ld])
+else
+ AC_MSG_CHECKING([for non-GNU ld])
+fi
+AC_CACHE_VAL(lt_cv_path_LD,
+[if test -z "$LD"; then
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+ lt_cv_path_LD="$ac_dir/$ac_prog"
+ # Check to see if the program is GNU ld. I'd rather use --version,
+ # but apparently some GNU ld's only accept -v.
+ # Break only if it was the GNU/non-GNU ld that we prefer.
+ if "$lt_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
+ test "$with_gnu_ld" != no && break
+ else
+ test "$with_gnu_ld" != yes && break
+ fi
+ fi
+ done
+ IFS="$ac_save_ifs"
+else
+ lt_cv_path_LD="$LD" # Let the user override the test with a path.
+fi])
+LD="$lt_cv_path_LD"
+if test -n "$LD"; then
+ AC_MSG_RESULT($LD)
+else
+ AC_MSG_RESULT(no)
+fi
+test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
+AC_PROG_LD_GNU
+])
+
+# AC_PROG_LD_GNU -
+AC_DEFUN([AC_PROG_LD_GNU],
+[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
+[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
+if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
+ lt_cv_prog_gnu_ld=yes
+else
+ lt_cv_prog_gnu_ld=no
+fi])
+with_gnu_ld=$lt_cv_prog_gnu_ld
+])
+
+# AC_PROG_LD_RELOAD_FLAG - find reload flag for linker
+# -- PORTME Some linkers may need a different reload flag.
+AC_DEFUN([AC_PROG_LD_RELOAD_FLAG],
+[AC_CACHE_CHECK([for $LD option to reload object files], lt_cv_ld_reload_flag,
+[lt_cv_ld_reload_flag='-r'])
+reload_flag=$lt_cv_ld_reload_flag
+test -n "$reload_flag" && reload_flag=" $reload_flag"
+])
+
+# AC_DEPLIBS_CHECK_METHOD - how to check for library dependencies
+# -- PORTME fill in with the dynamic library characteristics
+AC_DEFUN([AC_DEPLIBS_CHECK_METHOD],
+[AC_CACHE_CHECK([how to recognise dependent libraries],
+lt_cv_deplibs_check_method,
+[lt_cv_file_magic_cmd='$MAGIC_CMD'
+lt_cv_file_magic_test_file=
+lt_cv_deplibs_check_method='unknown'
+# Need to set the preceding variable on all platforms that support
+# interlibrary dependencies.
+# 'none' -- dependencies not supported.
+# `unknown' -- same as none, but documents that we really don't know.
+# 'pass_all' -- all dependencies passed with no checks.
+# 'test_compile' -- check by making test program.
+# 'file_magic [[regex]]' -- check by looking for files in library path
+# which responds to the $file_magic_cmd with a given egrep regex.
+# If you have `file' or equivalent on your system and you're not sure
+# whether `pass_all' will *always* work, you probably want this one.
+
+case $host_os in
+aix4* | aix5*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+beos*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+bsdi4*)
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
+ lt_cv_file_magic_cmd='/usr/bin/file -L'
+ lt_cv_file_magic_test_file=/shlib/libc.so
+ ;;
+
+cygwin* | mingw* | pw32*)
+ lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ ;;
+
+darwin* | rhapsody*)
+ lt_cv_deplibs_check_method='file_magic Mach-O dynamically linked shared library'
+ lt_cv_file_magic_cmd='/usr/bin/file -L'
+ case "$host_os" in
+ rhapsody* | darwin1.[[012]])
+ lt_cv_file_magic_test_file=`echo /System/Library/Frameworks/System.framework/Versions/*/System | head -1`
+ ;;
+ *) # Darwin 1.3 on
+ lt_cv_file_magic_test_file='/usr/lib/libSystem.dylib'
+ ;;
+ esac
+ ;;
+
+freebsd*)
+ if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+ case $host_cpu in
+ i*86 )
+ # Not sure whether the presence of OpenBSD here was a mistake.
+ # Let's accept both of them until this is cleared up.
+ lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[[3-9]]86 (compact )?demand paged shared library'
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+ ;;
+ esac
+ else
+ lt_cv_deplibs_check_method=pass_all
+ fi
+ ;;
+
+gnu*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+hpux10.20*|hpux11*)
+ lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=/usr/lib/libc.sl
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $host_os in
+ irix5* | nonstopux*)
+ # this will be overridden with pass_all, but let us keep it just in case
+ lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1"
+ ;;
+ *)
+ case $LD in
+ *-32|*"-32 ") libmagic=32-bit;;
+ *-n32|*"-n32 ") libmagic=N32;;
+ *-64|*"-64 ") libmagic=64-bit;;
+ *) libmagic=never-match;;
+ esac
+ # this will be overridden with pass_all, but let us keep it just in case
+ lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[[1234]] dynamic lib MIPS - version 1"
+ ;;
+ esac
+ lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*`
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+# This must be Linux ELF.
+linux-gnu*)
+ case $host_cpu in
+ alpha* | hppa* | i*86 | mips | mipsel | powerpc* | sparc* | ia64*)
+ lt_cv_deplibs_check_method=pass_all ;;
+ *)
+ # glibc up to 2.1.1 does not perform some relocations on ARM
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' ;;
+ esac
+ lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
+ ;;
+
+netbsd*)
+ if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/\.]]+\.so\.[[0-9]]+\.[[0-9]]+$'
+ else
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/\.]]+\.so$'
+ fi
+ ;;
+
+newos6*)
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=/usr/lib/libnls.so
+ ;;
+
+openbsd*)
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB shared object'
+ else
+ lt_cv_deplibs_check_method='file_magic OpenBSD.* shared library'
+ fi
+ ;;
+
+osf3* | osf4* | osf5*)
+ # this will be overridden with pass_all, but let us keep it just in case
+ lt_cv_deplibs_check_method='file_magic COFF format alpha shared library'
+ lt_cv_file_magic_test_file=/shlib/libc.so
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+sco3.2v5*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+solaris*)
+ lt_cv_deplibs_check_method=pass_all
+ lt_cv_file_magic_test_file=/lib/libc.so
+ ;;
+
+sysv5uw[[78]]* | sysv4*uw2*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ case $host_vendor in
+ motorola)
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
+ ;;
+ ncr)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ sequent)
+ lt_cv_file_magic_cmd='/bin/file'
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
+ ;;
+ sni)
+ lt_cv_file_magic_cmd='/bin/file'
+ lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
+ lt_cv_file_magic_test_file=/lib/libc.so
+ ;;
+ siemens)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ esac
+ ;;
+esac
+])
+file_magic_cmd=$lt_cv_file_magic_cmd
+deplibs_check_method=$lt_cv_deplibs_check_method
+])
+
+
+# AC_PROG_NM - find the path to a BSD-compatible name lister
+AC_DEFUN([AC_PROG_NM],
+[AC_REQUIRE([_LT_AC_LIBTOOL_SYS_PATH_SEPARATOR])dnl
+AC_MSG_CHECKING([for BSD-compatible nm])
+AC_CACHE_VAL(lt_cv_path_NM,
+[if test -n "$NM"; then
+ # Let the user override the test.
+ lt_cv_path_NM="$NM"
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
+ test -z "$ac_dir" && ac_dir=.
+ tmp_nm=$ac_dir/${ac_tool_prefix}nm
+ if test -f $tmp_nm || test -f $tmp_nm$ac_exeext ; then
+ # Check to see if the nm accepts a BSD-compat flag.
+ # Adding the `sed 1q' prevents false positives on HP-UX, which says:
+ # nm: unknown option "B" ignored
+ # Tru64's nm complains that /dev/null is an invalid object file
+ if ($tmp_nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep '(/dev/null|Invalid file or object type)' >/dev/null; then
+ lt_cv_path_NM="$tmp_nm -B"
+ break
+ elif ($tmp_nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
+ lt_cv_path_NM="$tmp_nm -p"
+ break
+ else
+ lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+ continue # so that we can try to find one that supports BSD flags
+ fi
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
+fi])
+NM="$lt_cv_path_NM"
+AC_MSG_RESULT([$NM])
+])
+
+# AC_CHECK_LIBM - check for math library
+AC_DEFUN([AC_CHECK_LIBM],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+LIBM=
+case $host in
+*-*-beos* | *-*-cygwin* | *-*-pw32*)
+ # These system don't have libm
+ ;;
+*-ncr-sysv4.3*)
+ AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
+ AC_CHECK_LIB(m, main, LIBM="$LIBM -lm")
+ ;;
+*)
+ AC_CHECK_LIB(m, main, LIBM="-lm")
+ ;;
+esac
+])
+
+# AC_LIBLTDL_CONVENIENCE[(dir)] - sets LIBLTDL to the link flags for
+# the libltdl convenience library and LTDLINCL to the include flags for
+# the libltdl header and adds --enable-ltdl-convenience to the
+# configure arguments. Note that LIBLTDL and LTDLINCL are not
+# AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called. If DIR is not
+# provided, it is assumed to be `libltdl'. LIBLTDL will be prefixed
+# with '${top_builddir}/' and LTDLINCL will be prefixed with
+# '${top_srcdir}/' (note the single quotes!). If your package is not
+# flat and you're not using automake, define top_builddir and
+# top_srcdir appropriately in the Makefiles.
+AC_DEFUN([AC_LIBLTDL_CONVENIENCE],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+ case $enable_ltdl_convenience in
+ no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
+ "") enable_ltdl_convenience=yes
+ ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
+ esac
+ LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la
+ LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
+ # For backwards non-gettext consistent compatibility...
+ INCLTDL="$LTDLINCL"
+])
+
+# AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for
+# the libltdl installable library and LTDLINCL to the include flags for
+# the libltdl header and adds --enable-ltdl-install to the configure
+# arguments. Note that LIBLTDL and LTDLINCL are not AC_SUBSTed, nor is
+# AC_CONFIG_SUBDIRS called. If DIR is not provided and an installed
+# libltdl is not found, it is assumed to be `libltdl'. LIBLTDL will
+# be prefixed with '${top_builddir}/' and LTDLINCL will be prefixed
+# with '${top_srcdir}/' (note the single quotes!). If your package is
+# not flat and you're not using automake, define top_builddir and
+# top_srcdir appropriately in the Makefiles.
+# In the future, this macro may have to be called after AC_PROG_LIBTOOL.
+AC_DEFUN([AC_LIBLTDL_INSTALLABLE],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+ AC_CHECK_LIB(ltdl, main,
+ [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
+ [if test x"$enable_ltdl_install" = xno; then
+ AC_MSG_WARN([libltdl not installed, but installation disabled])
+ else
+ enable_ltdl_install=yes
+ fi
+ ])
+ if test x"$enable_ltdl_install" = x"yes"; then
+ ac_configure_args="$ac_configure_args --enable-ltdl-install"
+ LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la
+ LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
+ else
+ ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
+ LIBLTDL="-lltdl"
+ LTDLINCL=
+ fi
+ # For backwards non-gettext consistent compatibility...
+ INCLTDL="$LTDLINCL"
+])
+
+# old names
+AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL])
+AC_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
+AC_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
+AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
+AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
+AC_DEFUN([AM_PROG_LD], [AC_PROG_LD])
+AC_DEFUN([AM_PROG_NM], [AC_PROG_NM])
+
+# This is just to silence aclocal about the macro not being used
+ifelse([AC_DISABLE_FAST_INSTALL])
+
+############################################################
+# NOTE: This macro has been submitted for inclusion into #
+# GNU Autoconf as AC_PROG_SED. When it is available in #
+# a released version of Autoconf we should remove this #
+# macro and use it instead. #
+############################################################
+# LT_AC_PROG_SED
+# --------------
+# Check for a fully-functional sed program, that truncates
+# as few characters as possible. Prefer GNU sed if found.
+AC_DEFUN([LT_AC_PROG_SED],
+[AC_MSG_CHECKING([for a sed that does not truncate output])
+AC_CACHE_VAL(lt_cv_path_SED,
+[# Loop through the user's path and test for sed and gsed.
+# Then use that list of sed's as ones to test for truncation.
+as_executable_p="test -f"
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in sed gsed; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
+ _sed_list="$_sed_list $as_dir/$ac_prog$ac_exec_ext"
+ fi
+ done
+ done
+done
+
+ # Create a temporary directory, and hook for its removal unless debugging.
+$debug ||
+{
+ trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
+ trap '{ (exit 1); exit 1; }' 1 2 13 15
+}
+
+# Create a (secure) tmp directory for tmp files.
+: ${TMPDIR=/tmp}
+{
+ tmp=`(umask 077 && mktemp -d -q "$TMPDIR/sedXXXXXX") 2>/dev/null` &&
+ test -n "$tmp" && test -d "$tmp"
+} ||
+{
+ tmp=$TMPDIR/sed$$-$RANDOM
+ (umask 077 && mkdir $tmp)
+} ||
+{
+ echo "$me: cannot create a temporary directory in $TMPDIR" >&2
+ { (exit 1); exit 1; }
+}
+ _max=0
+ _count=0
+ # Add /usr/xpg4/bin/sed as it is typically found on Solaris
+ # along with /bin/sed that truncates output.
+ for _sed in $_sed_list /usr/xpg4/bin/sed; do
+ test ! -f ${_sed} && break
+ cat /dev/null > "$tmp/sed.in"
+ _count=0
+ echo ${ECHO_N-$ac_n} "0123456789${ECHO_C-$ac_c}" >"$tmp/sed.in"
+ # Check for GNU sed and select it if it is found.
+ if "${_sed}" --version 2>&1 < /dev/null | egrep '(GNU)' > /dev/null; then
+ lt_cv_path_SED=${_sed}
+ break
+ fi
+ while true; do
+ cat "$tmp/sed.in" "$tmp/sed.in" >"$tmp/sed.tmp"
+ mv "$tmp/sed.tmp" "$tmp/sed.in"
+ cp "$tmp/sed.in" "$tmp/sed.nl"
+ echo >>"$tmp/sed.nl"
+ ${_sed} -e 's/a$//' < "$tmp/sed.nl" >"$tmp/sed.out" || break
+ cmp -s "$tmp/sed.out" "$tmp/sed.nl" || break
+ # 40000 chars as input seems more than enough
+ test $_count -gt 10 && break
+ _count=`expr $_count + 1`
+ if test $_count -gt $_max; then
+ _max=$_count
+ lt_cv_path_SED=$_sed
+ fi
+ done
+ done
+ rm -rf "$tmp"
+])
+if test "X$SED" != "X"; then
+ lt_cv_path_SED=$SED
+else
+ SED=$lt_cv_path_SED
+fi
+AC_MSG_RESULT([$SED])
+])
diff --git a/freebsdtvision/aclocal.m4 b/freebsdtvision/aclocal.m4
new file mode 100644
index 0000000..d87818b
--- /dev/null
+++ b/freebsdtvision/aclocal.m4
@@ -0,0 +1,4447 @@
+# generated automatically by aclocal 1.7.3 -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002
+# Free Software Foundation, Inc.
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+# libtool.m4 - Configure libtool for the host system. -*-Shell-script-*-
+
+# serial 46 AC_PROG_LIBTOOL
+
+AC_DEFUN([AC_PROG_LIBTOOL],
+[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
+
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"
+
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+AC_SUBST(LIBTOOL)dnl
+
+# Prevent multiple expansion
+define([AC_PROG_LIBTOOL], [])
+])
+
+AC_DEFUN([AC_LIBTOOL_SETUP],
+[AC_PREREQ(2.13)dnl
+AC_REQUIRE([AC_ENABLE_SHARED])dnl
+AC_REQUIRE([AC_ENABLE_STATIC])dnl
+AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_PROG_LD])dnl
+AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl
+AC_REQUIRE([AC_PROG_NM])dnl
+AC_REQUIRE([LT_AC_PROG_SED])dnl
+
+AC_REQUIRE([AC_PROG_LN_S])dnl
+AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl
+AC_REQUIRE([AC_OBJEXT])dnl
+AC_REQUIRE([AC_EXEEXT])dnl
+dnl
+
+_LT_AC_PROG_ECHO_BACKSLASH
+# Only perform the check for file, if the check method requires it
+case $deplibs_check_method in
+file_magic*)
+ if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+ AC_PATH_MAGIC
+ fi
+ ;;
+esac
+
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+AC_CHECK_TOOL(STRIP, strip, :)
+
+ifdef([AC_PROVIDE_AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no)
+ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
+enable_win32_dll=yes, enable_win32_dll=no)
+
+AC_ARG_ENABLE(libtool-lock,
+ [ --disable-libtool-lock avoid locking (might break parallel builds)])
+test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case $host in
+*-*-irix6*)
+ # Find out which ABI we are using.
+ echo '[#]line __oline__ "configure"' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -32"
+ ;;
+ *N32*)
+ LD="${LD-ld} -n32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -64"
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+
+*-*-sco3.2v5*)
+ # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+ SAVE_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -belf"
+ AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
+ [AC_LANG_SAVE
+ AC_LANG_C
+ AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
+ AC_LANG_RESTORE])
+ if test x"$lt_cv_cc_needs_belf" != x"yes"; then
+ # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+ CFLAGS="$SAVE_CFLAGS"
+ fi
+ ;;
+
+ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
+[*-*-cygwin* | *-*-mingw* | *-*-pw32*)
+ AC_CHECK_TOOL(DLLTOOL, dlltool, false)
+ AC_CHECK_TOOL(AS, as, false)
+ AC_CHECK_TOOL(OBJDUMP, objdump, false)
+
+ # recent cygwin and mingw systems supply a stub DllMain which the user
+ # can override, but on older systems we have to supply one
+ AC_CACHE_CHECK([if libtool should supply DllMain function], lt_cv_need_dllmain,
+ [AC_TRY_LINK([],
+ [extern int __attribute__((__stdcall__)) DllMain(void*, int, void*);
+ DllMain (0, 0, 0);],
+ [lt_cv_need_dllmain=no],[lt_cv_need_dllmain=yes])])
+
+ case $host/$CC in
+ *-*-cygwin*/gcc*-mno-cygwin*|*-*-mingw*)
+ # old mingw systems require "-dll" to link a DLL, while more recent ones
+ # require "-mdll"
+ SAVE_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -mdll"
+ AC_CACHE_CHECK([how to link DLLs], lt_cv_cc_dll_switch,
+ [AC_TRY_LINK([], [], [lt_cv_cc_dll_switch=-mdll],[lt_cv_cc_dll_switch=-dll])])
+ CFLAGS="$SAVE_CFLAGS" ;;
+ *-*-cygwin* | *-*-pw32*)
+ # cygwin systems need to pass --dll to the linker, and not link
+ # crt.o which will require a WinMain@16 definition.
+ lt_cv_cc_dll_switch="-Wl,--dll -nostartfiles" ;;
+ esac
+ ;;
+ ])
+esac
+
+_LT_AC_LTCONFIG_HACK
+
+])
+
+# AC_LIBTOOL_HEADER_ASSERT
+# ------------------------
+AC_DEFUN([AC_LIBTOOL_HEADER_ASSERT],
+[AC_CACHE_CHECK([whether $CC supports assert without backlinking],
+ [lt_cv_func_assert_works],
+ [case $host in
+ *-*-solaris*)
+ if test "$GCC" = yes && test "$with_gnu_ld" != yes; then
+ case `$CC --version 2>/dev/null` in
+ [[12]].*) lt_cv_func_assert_works=no ;;
+ *) lt_cv_func_assert_works=yes ;;
+ esac
+ fi
+ ;;
+ esac])
+
+if test "x$lt_cv_func_assert_works" = xyes; then
+ AC_CHECK_HEADERS(assert.h)
+fi
+])# AC_LIBTOOL_HEADER_ASSERT
+
+# _LT_AC_CHECK_DLFCN
+# --------------------
+AC_DEFUN([_LT_AC_CHECK_DLFCN],
+[AC_CHECK_HEADERS(dlfcn.h)
+])# _LT_AC_CHECK_DLFCN
+
+# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
+# ---------------------------------
+AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE],
+[AC_REQUIRE([AC_CANONICAL_HOST])
+AC_REQUIRE([AC_PROG_NM])
+AC_REQUIRE([AC_OBJEXT])
+# Check for command to grab the raw symbol name followed by C symbol from nm.
+AC_MSG_CHECKING([command to parse $NM output])
+AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], [dnl
+
+# These are sane defaults that work on at least a few old systems.
+# [They come from Ultrix. What could be older than Ultrix?!! ;)]
+
+# Character class describing NM global symbol codes.
+symcode='[[BCDEGRST]]'
+
+# Regexp to match symbols that can be accessed directly from C.
+sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
+
+# Transform the above into a raw symbol and a C symbol.
+symxfrm='\1 \2\3 \3'
+
+# Transform an extracted symbol line into a proper C declaration
+lt_cv_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern char \1;/p'"
+
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
+
+# Define system-specific variables.
+case $host_os in
+aix*)
+ symcode='[[BCDT]]'
+ ;;
+cygwin* | mingw* | pw32*)
+ symcode='[[ABCDGISTW]]'
+ ;;
+hpux*) # Its linker distinguishes data from code symbols
+ lt_cv_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern char \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+ lt_cv_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
+ ;;
+irix* | nonstopux*)
+ symcode='[[BCDEGRST]]'
+ ;;
+osf*)
+ symcode='[[BCDEGQRST]]'
+ ;;
+solaris* | sysv5*)
+ symcode='[[BDT]]'
+ ;;
+sysv4)
+ symcode='[[DFNSTU]]'
+ ;;
+esac
+
+# Handle CRLF in mingw tool chain
+opt_cr=
+case $host_os in
+mingw*)
+ opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+ ;;
+esac
+
+# If we're using GNU nm, then use its standard symbol codes.
+if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then
+ symcode='[[ABCDGISTW]]'
+fi
+
+# Try without a prefix undercore, then with it.
+for ac_symprfx in "" "_"; do
+
+ # Write the raw and C identifiers.
+lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*\($ac_symprfx\)$sympat$opt_cr$/$symxfrm/p'"
+
+ # Check to see that the pipe works correctly.
+ pipe_works=no
+ rm -f conftest*
+ cat > conftest.$ac_ext <<EOF
+#ifdef __cplusplus
+extern "C" {
+#endif
+char nm_test_var;
+void nm_test_func(){}
+#ifdef __cplusplus
+}
+#endif
+int main(){nm_test_var='a';nm_test_func();return(0);}
+EOF
+
+ if AC_TRY_EVAL(ac_compile); then
+ # Now try to grab the symbols.
+ nlist=conftest.nm
+ if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then
+ # Try sorting and uniquifying the output.
+ if sort "$nlist" | uniq > "$nlist"T; then
+ mv -f "$nlist"T "$nlist"
+ else
+ rm -f "$nlist"T
+ fi
+
+ # Make sure that we snagged all the symbols we need.
+ if egrep ' nm_test_var$' "$nlist" >/dev/null; then
+ if egrep ' nm_test_func$' "$nlist" >/dev/null; then
+ cat <<EOF > conftest.$ac_ext
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+EOF
+ # Now generate the symbol file.
+ eval "$lt_cv_global_symbol_to_cdecl"' < "$nlist" >> conftest.$ac_ext'
+
+ cat <<EOF >> conftest.$ac_ext
+#if defined (__STDC__) && __STDC__
+# define lt_ptr void *
+#else
+# define lt_ptr char *
+# define const
+#endif
+
+/* The mapping between symbol names and symbols. */
+const struct {
+ const char *name;
+ lt_ptr address;
+}
+lt_preloaded_symbols[[]] =
+{
+EOF
+ sed "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr) \&\2},/" < "$nlist" >> conftest.$ac_ext
+ cat <<\EOF >> conftest.$ac_ext
+ {0, (lt_ptr) 0}
+};
+
+#ifdef __cplusplus
+}
+#endif
+EOF
+ # Now try linking the two files.
+ mv conftest.$ac_objext conftstm.$ac_objext
+ save_LIBS="$LIBS"
+ save_CFLAGS="$CFLAGS"
+ LIBS="conftstm.$ac_objext"
+ CFLAGS="$CFLAGS$no_builtin_flag"
+ if AC_TRY_EVAL(ac_link) && test -s conftest$ac_exeext; then
+ pipe_works=yes
+ fi
+ LIBS="$save_LIBS"
+ CFLAGS="$save_CFLAGS"
+ else
+ echo "cannot find nm_test_func in $nlist" >&AC_FD_CC
+ fi
+ else
+ echo "cannot find nm_test_var in $nlist" >&AC_FD_CC
+ fi
+ else
+ echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AC_FD_CC
+ fi
+ else
+ echo "$progname: failed program was:" >&AC_FD_CC
+ cat conftest.$ac_ext >&5
+ fi
+ rm -f conftest* conftst*
+
+ # Do not use the global_symbol_pipe unless it works.
+ if test "$pipe_works" = yes; then
+ break
+ else
+ lt_cv_sys_global_symbol_pipe=
+ fi
+done
+])
+global_symbol_pipe="$lt_cv_sys_global_symbol_pipe"
+if test -z "$lt_cv_sys_global_symbol_pipe"; then
+ global_symbol_to_cdecl=
+ global_symbol_to_c_name_address=
+else
+ global_symbol_to_cdecl="$lt_cv_global_symbol_to_cdecl"
+ global_symbol_to_c_name_address="$lt_cv_global_symbol_to_c_name_address"
+fi
+if test -z "$global_symbol_pipe$global_symbol_to_cdec$global_symbol_to_c_name_address";
+then
+ AC_MSG_RESULT(failed)
+else
+ AC_MSG_RESULT(ok)
+fi
+]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
+
+# _LT_AC_LIBTOOL_SYS_PATH_SEPARATOR
+# ---------------------------------
+AC_DEFUN([_LT_AC_LIBTOOL_SYS_PATH_SEPARATOR],
+[# Find the correct PATH separator. Usually this is `:', but
+# DJGPP uses `;' like DOS.
+if test "X${PATH_SEPARATOR+set}" != Xset; then
+ UNAME=${UNAME-`uname 2>/dev/null`}
+ case X$UNAME in
+ *-DOS) lt_cv_sys_path_separator=';' ;;
+ *) lt_cv_sys_path_separator=':' ;;
+ esac
+ PATH_SEPARATOR=$lt_cv_sys_path_separator
+fi
+])# _LT_AC_LIBTOOL_SYS_PATH_SEPARATOR
+
+# _LT_AC_PROG_ECHO_BACKSLASH
+# --------------------------
+# Add some code to the start of the generated configure script which
+# will find an echo command which doesn't interpret backslashes.
+AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH],
+[ifdef([AC_DIVERSION_NOTICE], [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
+ [AC_DIVERT_PUSH(NOTICE)])
+_LT_AC_LIBTOOL_SYS_PATH_SEPARATOR
+
+# Check that we are running under the correct shell.
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+case X$ECHO in
+X*--fallback-echo)
+ # Remove one level of quotation (which was required for Make).
+ ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
+ ;;
+esac
+
+echo=${ECHO-echo}
+if test "X[$]1" = X--no-reexec; then
+ # Discard the --no-reexec flag, and continue.
+ shift
+elif test "X[$]1" = X--fallback-echo; then
+ # Avoid inline document here, it may be left over
+ :
+elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
+ # Yippee, $echo works!
+ :
+else
+ # Restart under the correct shell.
+ exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
+fi
+
+if test "X[$]1" = X--fallback-echo; then
+ # used as fallback echo
+ shift
+ cat <<EOF
+$*
+EOF
+ exit 0
+fi
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+if test "X${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi
+
+if test -z "$ECHO"; then
+if test "X${echo_test_string+set}" != Xset; then
+# find a string as large as possible, as long as the shell can cope with it
+ for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
+ # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
+ if (echo_test_string="`eval $cmd`") 2>/dev/null &&
+ echo_test_string="`eval $cmd`" &&
+ (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
+ then
+ break
+ fi
+ done
+fi
+
+if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ :
+else
+ # The Solaris, AIX, and Digital Unix default echo programs unquote
+ # backslashes. This makes it impossible to quote backslashes using
+ # echo "$something" | sed 's/\\/\\\\/g'
+ #
+ # So, first we look for a working echo in the user's PATH.
+
+ IFS="${IFS= }"; save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for dir in $PATH /usr/ucb; do
+ if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
+ test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ echo="$dir/echo"
+ break
+ fi
+ done
+ IFS="$save_ifs"
+
+ if test "X$echo" = Xecho; then
+ # We didn't find a better echo, so look for alternatives.
+ if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ # This shell has a builtin print -r that does the trick.
+ echo='print -r'
+ elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
+ test "X$CONFIG_SHELL" != X/bin/ksh; then
+ # If we have ksh, try running configure again with it.
+ ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
+ export ORIGINAL_CONFIG_SHELL
+ CONFIG_SHELL=/bin/ksh
+ export CONFIG_SHELL
+ exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
+ else
+ # Try using printf.
+ echo='printf %s\n'
+ if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ # Cool, printf works
+ :
+ elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
+ test "X$echo_testing_string" = 'X\t' &&
+ echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
+ export CONFIG_SHELL
+ SHELL="$CONFIG_SHELL"
+ export SHELL
+ echo="$CONFIG_SHELL [$]0 --fallback-echo"
+ elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
+ test "X$echo_testing_string" = 'X\t' &&
+ echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ echo="$CONFIG_SHELL [$]0 --fallback-echo"
+ else
+ # maybe with a smaller string...
+ prev=:
+
+ for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
+ if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null
+ then
+ break
+ fi
+ prev="$cmd"
+ done
+
+ if test "$prev" != 'sed 50q "[$]0"'; then
+ echo_test_string=`eval $prev`
+ export echo_test_string
+ exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
+ else
+ # Oops. We lost completely, so just stick with echo.
+ echo=echo
+ fi
+ fi
+ fi
+ fi
+fi
+fi
+
+# Copy echo and quote the copy suitably for passing to libtool from
+# the Makefile, instead of quoting the original, which is used later.
+ECHO=$echo
+if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
+ ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
+fi
+
+AC_SUBST(ECHO)
+AC_DIVERT_POP
+])# _LT_AC_PROG_ECHO_BACKSLASH
+
+# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
+# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
+# ------------------------------------------------------------------
+AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF],
+[if test "$cross_compiling" = yes; then :
+ [$4]
+else
+ AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<EOF
+[#line __oline__ "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+# define LT_DLGLOBAL RTLD_GLOBAL
+#else
+# ifdef DL_GLOBAL
+# define LT_DLGLOBAL DL_GLOBAL
+# else
+# define LT_DLGLOBAL 0
+# endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+ find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+# ifdef RTLD_LAZY
+# define LT_DLLAZY_OR_NOW RTLD_LAZY
+# else
+# ifdef DL_LAZY
+# define LT_DLLAZY_OR_NOW DL_LAZY
+# else
+# ifdef RTLD_NOW
+# define LT_DLLAZY_OR_NOW RTLD_NOW
+# else
+# ifdef DL_NOW
+# define LT_DLLAZY_OR_NOW DL_NOW
+# else
+# define LT_DLLAZY_OR_NOW 0
+# endif
+# endif
+# endif
+# endif
+#endif
+
+#ifdef __cplusplus
+extern "C" void exit (int);
+#endif
+
+void fnord() { int i=42;}
+int main ()
+{
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+ int status = $lt_dlunknown;
+
+ if (self)
+ {
+ if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
+ else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+ /* dlclose (self); */
+ }
+
+ exit (status);
+}]
+EOF
+ if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
+ (./conftest; exit; ) 2>/dev/null
+ lt_status=$?
+ case x$lt_status in
+ x$lt_dlno_uscore) $1 ;;
+ x$lt_dlneed_uscore) $2 ;;
+ x$lt_unknown|x*) $3 ;;
+ esac
+ else :
+ # compilation failed
+ $3
+ fi
+fi
+rm -fr conftest*
+])# _LT_AC_TRY_DLOPEN_SELF
+
+# AC_LIBTOOL_DLOPEN_SELF
+# -------------------
+AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF],
+[if test "x$enable_dlopen" != xyes; then
+ enable_dlopen=unknown
+ enable_dlopen_self=unknown
+ enable_dlopen_self_static=unknown
+else
+ lt_cv_dlopen=no
+ lt_cv_dlopen_libs=
+
+ case $host_os in
+ beos*)
+ lt_cv_dlopen="load_add_on"
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=yes
+ ;;
+
+ cygwin* | mingw* | pw32*)
+ lt_cv_dlopen="LoadLibrary"
+ lt_cv_dlopen_libs=
+ ;;
+
+ *)
+ AC_CHECK_FUNC([shl_load],
+ [lt_cv_dlopen="shl_load"],
+ [AC_CHECK_LIB([dld], [shl_load],
+ [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"],
+ [AC_CHECK_FUNC([dlopen],
+ [lt_cv_dlopen="dlopen"],
+ [AC_CHECK_LIB([dl], [dlopen],
+ [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
+ [AC_CHECK_LIB([svld], [dlopen],
+ [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
+ [AC_CHECK_LIB([dld], [dld_link],
+ [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"])
+ ])
+ ])
+ ])
+ ])
+ ])
+ ;;
+ esac
+
+ if test "x$lt_cv_dlopen" != xno; then
+ enable_dlopen=yes
+ else
+ enable_dlopen=no
+ fi
+
+ case $lt_cv_dlopen in
+ dlopen)
+ save_CPPFLAGS="$CPPFLAGS"
+ AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
+ test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+
+ save_LDFLAGS="$LDFLAGS"
+ eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+
+ save_LIBS="$LIBS"
+ LIBS="$lt_cv_dlopen_libs $LIBS"
+
+ AC_CACHE_CHECK([whether a program can dlopen itself],
+ lt_cv_dlopen_self, [dnl
+ _LT_AC_TRY_DLOPEN_SELF(
+ lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
+ lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
+ ])
+
+ if test "x$lt_cv_dlopen_self" = xyes; then
+ LDFLAGS="$LDFLAGS $link_static_flag"
+ AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
+ lt_cv_dlopen_self_static, [dnl
+ _LT_AC_TRY_DLOPEN_SELF(
+ lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
+ lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
+ ])
+ fi
+
+ CPPFLAGS="$save_CPPFLAGS"
+ LDFLAGS="$save_LDFLAGS"
+ LIBS="$save_LIBS"
+ ;;
+ esac
+
+ case $lt_cv_dlopen_self in
+ yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
+ *) enable_dlopen_self=unknown ;;
+ esac
+
+ case $lt_cv_dlopen_self_static in
+ yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
+ *) enable_dlopen_self_static=unknown ;;
+ esac
+fi
+])# AC_LIBTOOL_DLOPEN_SELF
+
+AC_DEFUN([_LT_AC_LTCONFIG_HACK],
+[AC_REQUIRE([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])dnl
+# Sed substitution that helps us do robust quoting. It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed='sed -e s/^X//'
+sed_quote_subst='s/\([[\\"\\`$\\\\]]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\([[\\"\\`\\\\]]\)/\\\1/g'
+
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+# Constants:
+rm="rm -f"
+
+# Global variables:
+default_ofile=libtool
+can_build_shared=yes
+
+# All known linkers require a `.a' archive for static linking (except M$VC,
+# which needs '.lib').
+libext=a
+ltmain="$ac_aux_dir/ltmain.sh"
+ofile="$default_ofile"
+with_gnu_ld="$lt_cv_prog_gnu_ld"
+need_locks="$enable_libtool_lock"
+
+old_CC="$CC"
+old_CFLAGS="$CFLAGS"
+
+# Set sane defaults for various variables
+test -z "$AR" && AR=ar
+test -z "$AR_FLAGS" && AR_FLAGS=cru
+test -z "$AS" && AS=as
+test -z "$CC" && CC=cc
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+test -z "$LD" && LD=ld
+test -z "$LN_S" && LN_S="ln -s"
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
+test -z "$NM" && NM=nm
+test -z "$OBJDUMP" && OBJDUMP=objdump
+test -z "$RANLIB" && RANLIB=:
+test -z "$STRIP" && STRIP=:
+test -z "$ac_objext" && ac_objext=o
+
+if test x"$host" != x"$build"; then
+ ac_tool_prefix=${host_alias}-
+else
+ ac_tool_prefix=
+fi
+
+# Transform linux* to *-*-linux-gnu*, to support old configure scripts.
+case $host_os in
+linux-gnu*) ;;
+linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
+esac
+
+case $host_os in
+aix3*)
+ # AIX sometimes has problems with the GCC collect2 program. For some
+ # reason, if we set the COLLECT_NAMES environment variable, the problems
+ # vanish in a puff of smoke.
+ if test "X${COLLECT_NAMES+set}" != Xset; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+ fi
+ ;;
+esac
+
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
+
+if test -n "$RANLIB"; then
+ case $host_os in
+ openbsd*)
+ old_postinstall_cmds="\$RANLIB -t \$oldlib~$old_postinstall_cmds"
+ ;;
+ *)
+ old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds"
+ ;;
+ esac
+ old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+fi
+
+# Allow CC to be a program name with arguments.
+set dummy $CC
+compiler="[$]2"
+
+AC_MSG_CHECKING([for objdir])
+rm -f .libs 2>/dev/null
+mkdir .libs 2>/dev/null
+if test -d .libs; then
+ objdir=.libs
+else
+ # MS-DOS does not allow filenames that begin with a dot.
+ objdir=_libs
+fi
+rmdir .libs 2>/dev/null
+AC_MSG_RESULT($objdir)
+
+
+AC_ARG_WITH(pic,
+[ --with-pic try to use only PIC/non-PIC objects [default=use both]],
+pic_mode="$withval", pic_mode=default)
+test -z "$pic_mode" && pic_mode=default
+
+# We assume here that the value for lt_cv_prog_cc_pic will not be cached
+# in isolation, and that seeing it set (from the cache) indicates that
+# the associated values are set (in the cache) correctly too.
+AC_MSG_CHECKING([for $compiler option to produce PIC])
+AC_CACHE_VAL(lt_cv_prog_cc_pic,
+[ lt_cv_prog_cc_pic=
+ lt_cv_prog_cc_shlib=
+ lt_cv_prog_cc_wl=
+ lt_cv_prog_cc_static=
+ lt_cv_prog_cc_no_builtin=
+ lt_cv_prog_cc_can_build_shared=$can_build_shared
+
+ if test "$GCC" = yes; then
+ lt_cv_prog_cc_wl='-Wl,'
+ lt_cv_prog_cc_static='-static'
+
+ case $host_os in
+ aix*)
+ # Below there is a dirty hack to force normal static linking with -ldl
+ # The problem is because libdl dynamically linked with both libc and
+ # libC (AIX C++ library), which obviously doesn't included in libraries
+ # list by gcc. This cause undefined symbols with -static flags.
+ # This hack allows C programs to be linked with "-static -ldl", but
+ # not sure about C++ programs.
+ lt_cv_prog_cc_static="$lt_cv_prog_cc_static ${lt_cv_prog_cc_wl}-lC"
+ ;;
+ amigaos*)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the `-m68020' flag to GCC prevents building anything better,
+ # like `-m68040'.
+ lt_cv_prog_cc_pic='-m68020 -resident32 -malways-restore-a4'
+ ;;
+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ # PIC is the default for these OSes.
+ ;;
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ lt_cv_prog_cc_pic='-fno-common'
+ ;;
+ cygwin* | mingw* | pw32* | os2*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ lt_cv_prog_cc_pic='-DDLL_EXPORT'
+ ;;
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ lt_cv_prog_cc_pic=-Kconform_pic
+ fi
+ ;;
+ *)
+ lt_cv_prog_cc_pic='-fPIC'
+ ;;
+ esac
+ else
+ # PORTME Check for PIC flags for the system compiler.
+ case $host_os in
+ aix3* | aix4* | aix5*)
+ lt_cv_prog_cc_wl='-Wl,'
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ lt_cv_prog_cc_static='-Bstatic'
+ else
+ lt_cv_prog_cc_static='-bnso -bI:/lib/syscalls.exp'
+ fi
+ ;;
+
+ hpux9* | hpux10* | hpux11*)
+ # Is there a better lt_cv_prog_cc_static that works with the bundled CC?
+ lt_cv_prog_cc_wl='-Wl,'
+ lt_cv_prog_cc_static="${lt_cv_prog_cc_wl}-a ${lt_cv_prog_cc_wl}archive"
+ lt_cv_prog_cc_pic='+Z'
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ lt_cv_prog_cc_wl='-Wl,'
+ lt_cv_prog_cc_static='-non_shared'
+ # PIC (with -KPIC) is the default.
+ ;;
+
+ cygwin* | mingw* | pw32* | os2*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ lt_cv_prog_cc_pic='-DDLL_EXPORT'
+ ;;
+
+ newsos6)
+ lt_cv_prog_cc_pic='-KPIC'
+ lt_cv_prog_cc_static='-Bstatic'
+ ;;
+
+ osf3* | osf4* | osf5*)
+ # All OSF/1 code is PIC.
+ lt_cv_prog_cc_wl='-Wl,'
+ lt_cv_prog_cc_static='-non_shared'
+ ;;
+
+ sco3.2v5*)
+ lt_cv_prog_cc_pic='-Kpic'
+ lt_cv_prog_cc_static='-dn'
+ lt_cv_prog_cc_shlib='-belf'
+ ;;
+
+ solaris*)
+ lt_cv_prog_cc_pic='-KPIC'
+ lt_cv_prog_cc_static='-Bstatic'
+ lt_cv_prog_cc_wl='-Wl,'
+ ;;
+
+ sunos4*)
+ lt_cv_prog_cc_pic='-PIC'
+ lt_cv_prog_cc_static='-Bstatic'
+ lt_cv_prog_cc_wl='-Qoption ld '
+ ;;
+
+ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ lt_cv_prog_cc_pic='-KPIC'
+ lt_cv_prog_cc_static='-Bstatic'
+ lt_cv_prog_cc_wl='-Wl,'
+ ;;
+
+ uts4*)
+ lt_cv_prog_cc_pic='-pic'
+ lt_cv_prog_cc_static='-Bstatic'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec ;then
+ lt_cv_prog_cc_pic='-Kconform_pic'
+ lt_cv_prog_cc_static='-Bstatic'
+ fi
+ ;;
+
+ *)
+ lt_cv_prog_cc_can_build_shared=no
+ ;;
+ esac
+ fi
+])
+if test -z "$lt_cv_prog_cc_pic"; then
+ AC_MSG_RESULT([none])
+else
+ AC_MSG_RESULT([$lt_cv_prog_cc_pic])
+
+ # Check to make sure the pic_flag actually works.
+ AC_MSG_CHECKING([if $compiler PIC flag $lt_cv_prog_cc_pic works])
+ AC_CACHE_VAL(lt_cv_prog_cc_pic_works, [dnl
+ save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS $lt_cv_prog_cc_pic -DPIC"
+ AC_TRY_COMPILE([], [], [dnl
+ case $host_os in
+ hpux9* | hpux10* | hpux11*)
+ # On HP-UX, both CC and GCC only warn that PIC is supported... then
+ # they create non-PIC objects. So, if there were any warnings, we
+ # assume that PIC is not supported.
+ if test -s conftest.err; then
+ lt_cv_prog_cc_pic_works=no
+ else
+ lt_cv_prog_cc_pic_works=yes
+ fi
+ ;;
+ *)
+ lt_cv_prog_cc_pic_works=yes
+ ;;
+ esac
+ ], [dnl
+ lt_cv_prog_cc_pic_works=no
+ ])
+ CFLAGS="$save_CFLAGS"
+ ])
+
+ if test "X$lt_cv_prog_cc_pic_works" = Xno; then
+ lt_cv_prog_cc_pic=
+ lt_cv_prog_cc_can_build_shared=no
+ else
+ lt_cv_prog_cc_pic=" $lt_cv_prog_cc_pic"
+ fi
+
+ AC_MSG_RESULT([$lt_cv_prog_cc_pic_works])
+fi
+
+# Check for any special shared library compilation flags.
+if test -n "$lt_cv_prog_cc_shlib"; then
+ AC_MSG_WARN([\`$CC' requires \`$lt_cv_prog_cc_shlib' to build shared libraries])
+ if echo "$old_CC $old_CFLAGS " | egrep -e "[[ ]]$lt_cv_prog_cc_shlib[[ ]]" >/dev/null; then :
+ else
+ AC_MSG_WARN([add \`$lt_cv_prog_cc_shlib' to the CC or CFLAGS env variable and reconfigure])
+ lt_cv_prog_cc_can_build_shared=no
+ fi
+fi
+
+AC_MSG_CHECKING([if $compiler static flag $lt_cv_prog_cc_static works])
+AC_CACHE_VAL([lt_cv_prog_cc_static_works], [dnl
+ lt_cv_prog_cc_static_works=no
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS $lt_cv_prog_cc_static"
+ AC_TRY_LINK([], [], [lt_cv_prog_cc_static_works=yes])
+ LDFLAGS="$save_LDFLAGS"
+])
+
+# Belt *and* braces to stop my trousers falling down:
+test "X$lt_cv_prog_cc_static_works" = Xno && lt_cv_prog_cc_static=
+AC_MSG_RESULT([$lt_cv_prog_cc_static_works])
+
+pic_flag="$lt_cv_prog_cc_pic"
+special_shlib_compile_flags="$lt_cv_prog_cc_shlib"
+wl="$lt_cv_prog_cc_wl"
+link_static_flag="$lt_cv_prog_cc_static"
+no_builtin_flag="$lt_cv_prog_cc_no_builtin"
+can_build_shared="$lt_cv_prog_cc_can_build_shared"
+
+
+# Check to see if options -o and -c are simultaneously supported by compiler
+AC_MSG_CHECKING([if $compiler supports -c -o file.$ac_objext])
+AC_CACHE_VAL([lt_cv_compiler_c_o], [
+$rm -r conftest 2>/dev/null
+mkdir conftest
+cd conftest
+echo "int some_variable = 0;" > conftest.$ac_ext
+mkdir out
+# According to Tom Tromey, Ian Lance Taylor reported there are C compilers
+# that will create temporary files in the current directory regardless of
+# the output directory. Thus, making CWD read-only will cause this test
+# to fail, enabling locking or at least warning the user not to do parallel
+# builds.
+chmod -w .
+save_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS -o out/conftest2.$ac_objext"
+compiler_c_o=no
+if { (eval echo configure:__oline__: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>out/conftest.err; } && test -s out/conftest2.$ac_objext; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test -s out/conftest.err; then
+ lt_cv_compiler_c_o=no
+ else
+ lt_cv_compiler_c_o=yes
+ fi
+else
+ # Append any errors to the config.log.
+ cat out/conftest.err 1>&AC_FD_CC
+ lt_cv_compiler_c_o=no
+fi
+CFLAGS="$save_CFLAGS"
+chmod u+w .
+$rm conftest* out/*
+rmdir out
+cd ..
+rmdir conftest
+$rm -r conftest 2>/dev/null
+])
+compiler_c_o=$lt_cv_compiler_c_o
+AC_MSG_RESULT([$compiler_c_o])
+
+if test x"$compiler_c_o" = x"yes"; then
+ # Check to see if we can write to a .lo
+ AC_MSG_CHECKING([if $compiler supports -c -o file.lo])
+ AC_CACHE_VAL([lt_cv_compiler_o_lo], [
+ lt_cv_compiler_o_lo=no
+ save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -c -o conftest.lo"
+ save_objext="$ac_objext"
+ ac_objext=lo
+ AC_TRY_COMPILE([], [int some_variable = 0;], [dnl
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test -s conftest.err; then
+ lt_cv_compiler_o_lo=no
+ else
+ lt_cv_compiler_o_lo=yes
+ fi
+ ])
+ ac_objext="$save_objext"
+ CFLAGS="$save_CFLAGS"
+ ])
+ compiler_o_lo=$lt_cv_compiler_o_lo
+ AC_MSG_RESULT([$compiler_o_lo])
+else
+ compiler_o_lo=no
+fi
+
+# Check to see if we can do hard links to lock some files if needed
+hard_links="nottested"
+if test "$compiler_c_o" = no && test "$need_locks" != no; then
+ # do not overwrite the value of need_locks provided by the user
+ AC_MSG_CHECKING([if we can lock with hard links])
+ hard_links=yes
+ $rm conftest*
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ touch conftest.a
+ ln conftest.a conftest.b 2>&5 || hard_links=no
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ AC_MSG_RESULT([$hard_links])
+ if test "$hard_links" = no; then
+ AC_MSG_WARN([\`$CC' does not support \`-c -o', so \`make -j' may be unsafe])
+ need_locks=warn
+ fi
+else
+ need_locks=no
+fi
+
+if test "$GCC" = yes; then
+ # Check to see if options -fno-rtti -fno-exceptions are supported by compiler
+ AC_MSG_CHECKING([if $compiler supports -fno-rtti -fno-exceptions])
+ echo "int some_variable = 0;" > conftest.$ac_ext
+ save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -fno-rtti -fno-exceptions -c conftest.$ac_ext"
+ compiler_rtti_exceptions=no
+ AC_TRY_COMPILE([], [int some_variable = 0;], [dnl
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test -s conftest.err; then
+ compiler_rtti_exceptions=no
+ else
+ compiler_rtti_exceptions=yes
+ fi
+ ])
+ CFLAGS="$save_CFLAGS"
+ AC_MSG_RESULT([$compiler_rtti_exceptions])
+
+ if test "$compiler_rtti_exceptions" = "yes"; then
+ no_builtin_flag=' -fno-builtin -fno-rtti -fno-exceptions'
+ else
+ no_builtin_flag=' -fno-builtin'
+ fi
+fi
+
+# See if the linker supports building shared libraries.
+AC_MSG_CHECKING([whether the linker ($LD) supports shared libraries])
+
+allow_undefined_flag=
+no_undefined_flag=
+need_lib_prefix=unknown
+need_version=unknown
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+archive_cmds=
+archive_expsym_cmds=
+old_archive_from_new_cmds=
+old_archive_from_expsyms_cmds=
+export_dynamic_flag_spec=
+whole_archive_flag_spec=
+thread_safe_flag_spec=
+hardcode_into_libs=no
+hardcode_libdir_flag_spec=
+hardcode_libdir_separator=
+hardcode_direct=no
+hardcode_minus_L=no
+hardcode_shlibpath_var=unsupported
+runpath_var=
+link_all_deplibs=unknown
+always_export_symbols=no
+export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | sed '\''s/.* //'\'' | sort | uniq > $export_symbols'
+# include_expsyms should be a list of space-separated symbols to be *always*
+# included in the symbol list
+include_expsyms=
+# exclude_expsyms can be an egrep regular expression of symbols to exclude
+# it will be wrapped by ` (' and `)$', so one must not match beginning or
+# end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+# as well as any symbol that contains `d'.
+exclude_expsyms="_GLOBAL_OFFSET_TABLE_"
+# Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+# platforms (ab)use it in PIC code, but their linkers get confused if
+# the symbol is explicitly referenced. Since portable code cannot
+# rely on this symbol name, it's probably fine to never include it in
+# preloaded symbol tables.
+extract_expsyms_cmds=
+
+case $host_os in
+cygwin* | mingw* | pw32*)
+ # FIXME: the MSVC++ port hasn't been tested in a loooong time
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ if test "$GCC" != yes; then
+ with_gnu_ld=no
+ fi
+ ;;
+openbsd*)
+ with_gnu_ld=no
+ ;;
+esac
+
+ld_shlibs=yes
+if test "$with_gnu_ld" = yes; then
+ # If archive_cmds runs LD, not CC, wlarc should be empty
+ wlarc='${wl}'
+
+ # See if GNU ld supports shared libraries.
+ case $host_os in
+ aix3* | aix4* | aix5*)
+ # On AIX, the GNU linker is very broken
+ # Note:Check GNU linker on AIX 5-IA64 when/if it becomes available.
+ ld_shlibs=no
+ cat <<EOF 1>&2
+
+*** Warning: the GNU linker, at least up to release 2.9.1, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support. If you
+*** really care for shared libraries, you may want to modify your PATH
+*** so that a non-GNU linker is found, and then restart.
+
+EOF
+ ;;
+
+ amigaos*)
+ archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+
+ # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
+ # that the semantics of dynamic libraries on AmigaOS, at least up
+ # to version 4, is to share data among multiple programs linked
+ # with the same dynamic library. Since this doesn't match the
+ # behavior of shared libraries on other platforms, we can use
+ # them.
+ ld_shlibs=no
+ ;;
+
+ beos*)
+ if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
+ allow_undefined_flag=unsupported
+ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+ # support --undefined. This deserves some investigation. FIXME
+ archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+
+ cygwin* | mingw* | pw32*)
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ hardcode_libdir_flag_spec='-L$libdir'
+ allow_undefined_flag=unsupported
+ always_export_symbols=yes
+
+ extract_expsyms_cmds='test -f $output_objdir/impgen.c || \
+ sed -e "/^# \/\* impgen\.c starts here \*\//,/^# \/\* impgen.c ends here \*\// { s/^# //;s/^# *$//; p; }" -e d < $''0 > $output_objdir/impgen.c~
+ test -f $output_objdir/impgen.exe || (cd $output_objdir && \
+ if test "x$HOST_CC" != "x" ; then $HOST_CC -o impgen impgen.c ; \
+ else $CC -o impgen impgen.c ; fi)~
+ $output_objdir/impgen $dir/$soroot > $output_objdir/$soname-def'
+
+ old_archive_from_expsyms_cmds='$DLLTOOL --as=$AS --dllname $soname --def $output_objdir/$soname-def --output-lib $output_objdir/$newlib'
+
+ # cygwin and mingw dlls have different entry points and sets of symbols
+ # to exclude.
+ # FIXME: what about values for MSVC?
+ dll_entry=__cygwin_dll_entry@12
+ dll_exclude_symbols=DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12~
+ case $host_os in
+ mingw*)
+ # mingw values
+ dll_entry=_DllMainCRTStartup@12
+ dll_exclude_symbols=DllMain@12,DllMainCRTStartup@12,DllEntryPoint@12~
+ ;;
+ esac
+
+ # mingw and cygwin differ, and it's simplest to just exclude the union
+ # of the two symbol sets.
+ dll_exclude_symbols=DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12,DllMainCRTStartup@12,DllEntryPoint@12
+
+ # recent cygwin and mingw systems supply a stub DllMain which the user
+ # can override, but on older systems we have to supply one (in ltdll.c)
+ if test "x$lt_cv_need_dllmain" = "xyes"; then
+ ltdll_obj='$output_objdir/$soname-ltdll.'"$ac_objext "
+ ltdll_cmds='test -f $output_objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $''0 > $output_objdir/$soname-ltdll.c~
+ test -f $output_objdir/$soname-ltdll.$ac_objext || (cd $output_objdir && $CC -c $soname-ltdll.c)~'
+ else
+ ltdll_obj=
+ ltdll_cmds=
+ fi
+
+ # Extract the symbol export list from an `--export-all' def file,
+ # then regenerate the def file from the symbol export list, so that
+ # the compiled dll only exports the symbol export list.
+ # Be careful not to strip the DATA tag left be newer dlltools.
+ export_symbols_cmds="$ltdll_cmds"'
+ $DLLTOOL --export-all --exclude-symbols '$dll_exclude_symbols' --output-def $output_objdir/$soname-def '$ltdll_obj'$libobjs $convenience~
+ sed -e "1,/EXPORTS/d" -e "s/ @ [[0-9]]*//" -e "s/ *;.*$//" < $output_objdir/$soname-def > $export_symbols'
+
+ # If the export-symbols file already is a .def file (1st line
+ # is EXPORTS), use it as is.
+ # If DATA tags from a recent dlltool are present, honour them!
+ archive_expsym_cmds='if test "x`sed 1q $export_symbols`" = xEXPORTS; then
+ cp $export_symbols $output_objdir/$soname-def;
+ else
+ echo EXPORTS > $output_objdir/$soname-def;
+ _lt_hint=1;
+ cat $export_symbols | while read symbol; do
+ set dummy \$symbol;
+ case \[$]# in
+ 2) echo " \[$]2 @ \$_lt_hint ; " >> $output_objdir/$soname-def;;
+ 4) echo " \[$]2 \[$]3 \[$]4 ; " >> $output_objdir/$soname-def; _lt_hint=`expr \$_lt_hint - 1`;;
+ *) echo " \[$]2 @ \$_lt_hint \[$]3 ; " >> $output_objdir/$soname-def;;
+ esac;
+ _lt_hint=`expr 1 + \$_lt_hint`;
+ done;
+ fi~
+ '"$ltdll_cmds"'
+ $CC -Wl,--base-file,$output_objdir/$soname-base '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags~
+ $DLLTOOL --as=$AS --dllname $soname --exclude-symbols '$dll_exclude_symbols' --def $output_objdir/$soname-def --base-file $output_objdir/$soname-base --output-exp $output_objdir/$soname-exp~
+ $CC -Wl,--base-file,$output_objdir/$soname-base $output_objdir/$soname-exp '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags~
+ $DLLTOOL --as=$AS --dllname $soname --exclude-symbols '$dll_exclude_symbols' --def $output_objdir/$soname-def --base-file $output_objdir/$soname-base --output-exp $output_objdir/$soname-exp --output-lib $output_objdir/$libname.dll.a~
+ $CC $output_objdir/$soname-exp '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags'
+ ;;
+
+ netbsd*)
+ if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+ archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+ wlarc=
+ else
+ archive_cmds='$CC -shared -nodefaultlibs $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared -nodefaultlibs $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ fi
+ ;;
+
+ solaris* | sysv5*)
+ if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null; then
+ ld_shlibs=no
+ cat <<EOF 1>&2
+
+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+*** create shared libraries on Solaris systems. Therefore, libtool
+*** is disabling shared libraries support. We urge you to upgrade GNU
+*** binutils to release 2.9.1 or newer. Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+EOF
+ elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+
+ sunos4*)
+ archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ wlarc=
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ *)
+ if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ esac
+
+ if test "$ld_shlibs" = yes; then
+ runpath_var=LD_RUN_PATH
+ hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir'
+ export_dynamic_flag_spec='${wl}--export-dynamic'
+ case $host_os in
+ cygwin* | mingw* | pw32*)
+ # dlltool doesn't understand --whole-archive et. al.
+ whole_archive_flag_spec=
+ ;;
+ *)
+ # ancient GNU ld didn't support --whole-archive et. al.
+ if $LD --help 2>&1 | egrep 'no-whole-archive' > /dev/null; then
+ whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ else
+ whole_archive_flag_spec=
+ fi
+ ;;
+ esac
+ fi
+else
+ # PORTME fill in a description of your system's linker (not GNU ld)
+ case $host_os in
+ aix3*)
+ allow_undefined_flag=unsupported
+ always_export_symbols=yes
+ archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+ # Note: this linker hardcodes the directories in LIBPATH if there
+ # are no directories specified by -L.
+ hardcode_minus_L=yes
+ if test "$GCC" = yes && test -z "$link_static_flag"; then
+ # Neither direct hardcoding nor static linking is supported with a
+ # broken collect2.
+ hardcode_direct=unsupported
+ fi
+ ;;
+
+ aix4* | aix5*)
+ if test "$host_cpu" = ia64; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ exp_sym_flag='-Bexport'
+ no_entry_flag=""
+ else
+ aix_use_runtimelinking=no
+
+ # Test if we are trying to use run time linking or normal
+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+ # need to do runtime linking.
+ case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*)
+ for ld_flag in $LDFLAGS; do
+ case $ld_flag in
+ *-brtl*)
+ aix_use_runtimelinking=yes
+ break
+ ;;
+ esac
+ done
+ esac
+
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
+ fi
+
+ # When large executables or shared objects are built, AIX ld can
+ # have problems creating the table of contents. If linking a library
+ # or program results in "error TOC overflow" add -mminimal-toc to
+ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+ hardcode_direct=yes
+ archive_cmds=''
+ hardcode_libdir_separator=':'
+ if test "$GCC" = yes; then
+ case $host_os in aix4.[[012]]|aix4.[[012]].*)
+ collect2name=`${CC} -print-prog-name=collect2`
+ if test -f "$collect2name" && \
+ strings "$collect2name" | grep resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ hardcode_direct=yes
+ else
+ # We have old collect2
+ hardcode_direct=unsupported
+ # It fails to find uninstalled libraries when the uninstalled
+ # path is not listed in the libpath. Setting hardcode_minus_L
+ # to unsupported forces relinking
+ hardcode_minus_L=yes
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_libdir_separator=
+ fi
+ esac
+
+ shared_flag='-shared'
+ else
+ # not using gcc
+ if test "$host_cpu" = ia64; then
+ shared_flag='${wl}-G'
+ else
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag='${wl}-G'
+ else
+ shared_flag='${wl}-bM:SRE'
+ fi
+ fi
+ fi
+
+ # It seems that -bexpall can do strange things, so it is better to
+ # generate a list of symbols to export.
+ always_export_symbols=yes
+ if test "$aix_use_runtimelinking" = yes; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+ allow_undefined_flag='-berok'
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:/usr/lib:/lib'
+ archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ else
+ if test "$host_cpu" = ia64; then
+ hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
+ allow_undefined_flag="-z nodefs"
+ archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname ${wl}-h$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
+ else
+ hardcode_libdir_flag_spec='${wl}-bnolibpath ${wl}-blibpath:$libdir:/usr/lib:/lib'
+ # Warning - without using the other run time loading flags,
+ # -berok will link without error, but may produce a broken library.
+ allow_undefined_flag='${wl}-berok'
+ # This is a bit strange, but is similar to how AIX traditionally builds
+ # it's shared libraries.
+ archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"' ~$AR -crlo $objdir/$libname$release.a $objdir/$soname'
+ fi
+ fi
+ ;;
+
+ amigaos*)
+ archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ # see comment about different semantics on the GNU ld section
+ ld_shlibs=no
+ ;;
+
+ cygwin* | mingw* | pw32*)
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ hardcode_libdir_flag_spec=' '
+ allow_undefined_flag=unsupported
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # FIXME: Setting linknames here is a bad hack.
+ archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | sed -e '\''s/ -lc$//'\''` -link -dll~linknames='
+ # The linker will automatically build a .lib file if we build a DLL.
+ old_archive_from_new_cmds='true'
+ # FIXME: Should let the user specify the lib program.
+ old_archive_cmds='lib /OUT:$oldlib$oldobjs$old_deplibs'
+ fix_srcfile_path='`cygpath -w "$srcfile"`'
+ ;;
+
+ darwin* | rhapsody*)
+ case "$host_os" in
+ rhapsody* | darwin1.[[012]])
+ allow_undefined_flag='-undefined suppress'
+ ;;
+ *) # Darwin 1.3 on
+ allow_undefined_flag='-flat_namespace -undefined suppress'
+ ;;
+ esac
+ # FIXME: Relying on posixy $() will cause problems for
+ # cross-compilation, but unfortunately the echo tests do not
+ # yet detect zsh echo's removal of \ escapes. Also zsh mangles
+ # `"' quotes if we put them in here... so don't!
+ archive_cmds='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs && $CC $(test .$module = .yes && echo -bundle || echo -dynamiclib) $allow_undefined_flag -o $lib ${lib}-master.o $deplibs$linker_flags $(test .$module != .yes && echo -install_name $rpath/$soname $verstring)'
+ # We need to add '_' to the symbols in $export_symbols first
+ #archive_expsym_cmds="$archive_cmds"' && strip -s $export_symbols'
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ whole_archive_flag_spec='-all_load $convenience'
+ ;;
+
+ freebsd1*)
+ ld_shlibs=no
+ ;;
+
+ # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+ # support. Future versions do this automatically, but an explicit c++rt0.o
+ # does not break anything, and helps significantly (at the cost of a little
+ # extra space).
+ freebsd2.2*)
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+ freebsd2*)
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct=yes
+ hardcode_minus_L=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+ freebsd*)
+ archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ hpux9* | hpux10* | hpux11*)
+ case $host_os in
+ hpux9*) archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' ;;
+ *) archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' ;;
+ esac
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator=:
+ hardcode_direct=yes
+ hardcode_minus_L=yes # Not in the search PATH, but as the default
+ # location of the library.
+ export_dynamic_flag_spec='${wl}-E'
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ if test "$GCC" = yes; then
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ else
+ archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+ hardcode_libdir_flag_spec='-rpath $libdir'
+ fi
+ hardcode_libdir_separator=:
+ link_all_deplibs=yes
+ ;;
+
+ netbsd*)
+ if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
+ else
+ archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
+ fi
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ newsos6)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct=yes
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator=:
+ hardcode_shlibpath_var=no
+ ;;
+
+ openbsd*)
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ export_dynamic_flag_spec='${wl}-E'
+ else
+ case "$host_os" in
+ openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec='-R$libdir'
+ ;;
+ *)
+ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ ;;
+ esac
+ fi
+ ;;
+
+ os2*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ allow_undefined_flag=unsupported
+ archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+ old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+ ;;
+
+ osf3*)
+ if test "$GCC" = yes; then
+ allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+ allow_undefined_flag=' -expect_unresolved \*'
+ archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+ fi
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator=:
+ ;;
+
+ osf4* | osf5*) # as osf3* with the addition of -msym flag
+ if test "$GCC" = yes; then
+ allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ else
+ allow_undefined_flag=' -expect_unresolved \*'
+ archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_expsym_cmds='for i in `cat $export_symbols`; do printf "-exported_symbol " >> $lib.exp; echo "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
+ $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib~$rm $lib.exp'
+
+ #Both c and cxx compiler support -rpath directly
+ hardcode_libdir_flag_spec='-rpath $libdir'
+ fi
+ hardcode_libdir_separator=:
+ ;;
+
+ sco3.2v5*)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_shlibpath_var=no
+ runpath_var=LD_RUN_PATH
+ hardcode_runpath_var=yes
+ export_dynamic_flag_spec='${wl}-Bexport'
+ ;;
+
+ solaris*)
+ # gcc --version < 3.0 without binutils cannot create self contained
+ # shared libraries reliably, requiring libgcc.a to resolve some of
+ # the object symbols generated in some cases. Libraries that use
+ # assert need libgcc.a to resolve __eprintf, for example. Linking
+ # a copy of libgcc.a into every shared library to guarantee resolving
+ # such symbols causes other problems: According to Tim Van Holder
+ # <tim.van.holder@pandora.be>, C++ libraries end up with a separate
+ # (to the application) exception stack for one thing.
+ no_undefined_flag=' -z defs'
+ if test "$GCC" = yes; then
+ case `$CC --version 2>/dev/null` in
+ [[12]].*)
+ cat <<EOF 1>&2
+
+*** Warning: Releases of GCC earlier than version 3.0 cannot reliably
+*** create self contained shared libraries on Solaris systems, without
+*** introducing a dependency on libgcc.a. Therefore, libtool is disabling
+*** -no-undefined support, which will at least allow you to build shared
+*** libraries. However, you may find that when you link such libraries
+*** into an application without using GCC, you have to manually add
+*** \`gcc --print-libgcc-file-name\` to the link command. We urge you to
+*** upgrade to a newer version of GCC. Another option is to rebuild your
+*** current GCC to use the GNU linker from GNU binutils 2.9.1 or newer.
+
+EOF
+ no_undefined_flag=
+ ;;
+ esac
+ fi
+ # $CC -shared without GNU ld will not create a library from C++
+ # object files and a static libstdc++, better avoid it by now
+ archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_shlibpath_var=no
+ case $host_os in
+ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+ *) # Supported since Solaris 2.6 (maybe 2.5.1?)
+ whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;;
+ esac
+ link_all_deplibs=yes
+ ;;
+
+ sunos4*)
+ if test "x$host_vendor" = xsequent; then
+ # Use $CC to link under sequent, because it throws in some extra .o
+ # files that make .init and .fini sections work.
+ archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_direct=yes
+ hardcode_minus_L=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ sysv4)
+ case $host_vendor in
+ sni)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct=yes # is this really true???
+ ;;
+ siemens)
+ ## LD is ld it makes a PLAMLIB
+ ## CC just makes a GrossModule.
+ archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+ reload_cmds='$CC -r -o $output$reload_objs'
+ hardcode_direct=no
+ ;;
+ motorola)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct=no #Motorola manual says yes, but my tests say they lie
+ ;;
+ esac
+ runpath_var='LD_RUN_PATH'
+ hardcode_shlibpath_var=no
+ ;;
+
+ sysv4.3*)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_shlibpath_var=no
+ export_dynamic_flag_spec='-Bexport'
+ ;;
+
+ sysv5*)
+ no_undefined_flag=' -z text'
+ # $CC -shared without GNU ld will not create a library from C++
+ # object files and a static libstdc++, better avoid it by now
+ archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
+ hardcode_libdir_flag_spec=
+ hardcode_shlibpath_var=no
+ runpath_var='LD_RUN_PATH'
+ ;;
+
+ uts4*)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_shlibpath_var=no
+ ;;
+
+ dgux*)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_shlibpath_var=no
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_shlibpath_var=no
+ runpath_var=LD_RUN_PATH
+ hardcode_runpath_var=yes
+ ld_shlibs=yes
+ fi
+ ;;
+
+ sysv4.2uw2*)
+ archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct=yes
+ hardcode_minus_L=no
+ hardcode_shlibpath_var=no
+ hardcode_runpath_var=yes
+ runpath_var=LD_RUN_PATH
+ ;;
+
+ sysv5uw7* | unixware7*)
+ no_undefined_flag='${wl}-z ${wl}text'
+ if test "$GCC" = yes; then
+ archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ fi
+ runpath_var='LD_RUN_PATH'
+ hardcode_shlibpath_var=no
+ ;;
+
+ *)
+ ld_shlibs=no
+ ;;
+ esac
+fi
+AC_MSG_RESULT([$ld_shlibs])
+test "$ld_shlibs" = no && can_build_shared=no
+
+# Check hardcoding attributes.
+AC_MSG_CHECKING([how to hardcode library paths into programs])
+hardcode_action=
+if test -n "$hardcode_libdir_flag_spec" || \
+ test -n "$runpath_var"; then
+
+ # We can hardcode non-existant directories.
+ if test "$hardcode_direct" != no &&
+ # If the only mechanism to avoid hardcoding is shlibpath_var, we
+ # have to relink, otherwise we might link with an installed library
+ # when we should be linking with a yet-to-be-installed one
+ ## test "$hardcode_shlibpath_var" != no &&
+ test "$hardcode_minus_L" != no; then
+ # Linking always hardcodes the temporary library directory.
+ hardcode_action=relink
+ else
+ # We can link without hardcoding, and we can hardcode nonexisting dirs.
+ hardcode_action=immediate
+ fi
+else
+ # We cannot hardcode anything, or else we can only hardcode existing
+ # directories.
+ hardcode_action=unsupported
+fi
+AC_MSG_RESULT([$hardcode_action])
+
+striplib=
+old_striplib=
+AC_MSG_CHECKING([whether stripping libraries is possible])
+if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
+ test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+ test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+ AC_MSG_RESULT([yes])
+else
+ AC_MSG_RESULT([no])
+fi
+
+reload_cmds='$LD$reload_flag -o $output$reload_objs'
+test -z "$deplibs_check_method" && deplibs_check_method=unknown
+
+# PORTME Fill in your ld.so characteristics
+AC_MSG_CHECKING([dynamic linker characteristics])
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+
+case $host_os in
+aix3*)
+ version_type=linux
+ library_names_spec='${libname}${release}.so$versuffix $libname.a'
+ shlibpath_var=LIBPATH
+
+ # AIX has no versioning support, so we append a major version to the name.
+ soname_spec='${libname}${release}.so$major'
+ ;;
+
+aix4* | aix5*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ hardcode_into_libs=yes
+ if test "$host_cpu" = ia64; then
+ # AIX 5 supports IA64
+ library_names_spec='${libname}${release}.so$major ${libname}${release}.so$versuffix $libname.so'
+ shlibpath_var=LD_LIBRARY_PATH
+ else
+ # With GCC up to 2.95.x, collect2 would create an import file
+ # for dependence libraries. The import file would start with
+ # the line `#! .'. This would cause the generated library to
+ # depend on `.', always an invalid library. This was fixed in
+ # development snapshots of GCC prior to 3.0.
+ case $host_os in
+ aix4 | aix4.[[01]] | aix4.[[01]].*)
+ if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+ echo ' yes '
+ echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
+ :
+ else
+ can_build_shared=no
+ fi
+ ;;
+ esac
+ # AIX (on Power*) has no versioning support, so currently we can
+ # not hardcode correct soname into executable. Probably we can
+ # add versioning support to collect2, so additional links can
+ # be useful in future.
+ if test "$aix_use_runtimelinking" = yes; then
+ # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+ # instead of lib<name>.a to let people know that these are not
+ # typical AIX shared libraries.
+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
+ else
+ # We preserve .a as extension for shared libraries through AIX4.2
+ # and later when we are not doing run time linking.
+ library_names_spec='${libname}${release}.a $libname.a'
+ soname_spec='${libname}${release}.so$major'
+ fi
+ shlibpath_var=LIBPATH
+ fi
+ hardcode_into_libs=yes
+ ;;
+
+amigaos*)
+ library_names_spec='$libname.ixlibrary $libname.a'
+ # Create ${libname}_ixlibrary.a entries in /sys/libs.
+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done'
+ ;;
+
+beos*)
+ library_names_spec='${libname}.so'
+ dynamic_linker="$host_os ld.so"
+ shlibpath_var=LIBRARY_PATH
+ ;;
+
+bsdi4*)
+ version_type=linux
+ need_version=no
+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
+ soname_spec='${libname}${release}.so$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+ sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+ export_dynamic_flag_spec=-rdynamic
+ # the default ld.so.conf also contains /usr/contrib/lib and
+ # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+ # libtool to hard-code these into programs
+ ;;
+
+cygwin* | mingw* | pw32*)
+ version_type=windows
+ need_version=no
+ need_lib_prefix=no
+ case $GCC,$host_os in
+ yes,cygwin*)
+ library_names_spec='$libname.dll.a'
+ soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | sed -e 's/[[.]]/-/g'`${versuffix}.dll'
+ postinstall_cmds='dlpath=`bash 2>&1 -c '\''. $dir/${file}i;echo \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog .libs/$dlname \$dldir/$dlname'
+ postuninstall_cmds='dldll=`bash 2>&1 -c '\''. $file; echo \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $rm \$dlpath'
+ ;;
+ yes,mingw*)
+ library_names_spec='${libname}`echo ${release} | sed -e 's/[[.]]/-/g'`${versuffix}.dll'
+ sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | sed -e "s/^libraries://" -e "s/;/ /g" -e "s,=/,/,g"`
+ ;;
+ yes,pw32*)
+ library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll'
+ ;;
+ *)
+ library_names_spec='${libname}`echo ${release} | sed -e 's/[[.]]/-/g'`${versuffix}.dll $libname.lib'
+ ;;
+ esac
+ dynamic_linker='Win32 ld.exe'
+ # FIXME: first we should search . and the directory the executable is in
+ shlibpath_var=PATH
+ ;;
+
+darwin* | rhapsody*)
+ dynamic_linker="$host_os dyld"
+ version_type=darwin
+ need_lib_prefix=no
+ need_version=no
+ # FIXME: Relying on posixy $() will cause problems for
+ # cross-compilation, but unfortunately the echo tests do not
+ # yet detect zsh echo's removal of \ escapes.
+ library_names_spec='${libname}${release}${versuffix}.$(test .$module = .yes && echo so || echo dylib) ${libname}${release}${major}.$(test .$module = .yes && echo so || echo dylib) ${libname}.$(test .$module = .yes && echo so || echo dylib)'
+ soname_spec='${libname}${release}${major}.$(test .$module = .yes && echo so || echo dylib)'
+ shlibpath_overrides_runpath=yes
+ shlibpath_var=DYLD_LIBRARY_PATH
+ ;;
+
+freebsd1*)
+ dynamic_linker=no
+ ;;
+
+freebsd*)
+ objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
+ version_type=freebsd-$objformat
+ case $version_type in
+ freebsd-elf*)
+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so'
+ need_version=no
+ need_lib_prefix=no
+ ;;
+ freebsd-*)
+ library_names_spec='${libname}${release}.so$versuffix $libname.so$versuffix'
+ need_version=yes
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_os in
+ freebsd2*)
+ shlibpath_overrides_runpath=yes
+ ;;
+ *)
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+ esac
+ ;;
+
+gnu*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so${major} ${libname}.so'
+ soname_spec='${libname}${release}.so$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ hardcode_into_libs=yes
+ ;;
+
+hpux9* | hpux10* | hpux11*)
+ # Give a soname corresponding to the major version so that dld.sl refuses to
+ # link against other versions.
+ dynamic_linker="$host_os dld.sl"
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ shlibpath_var=SHLIB_PATH
+ shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+ library_names_spec='${libname}${release}.sl$versuffix ${libname}${release}.sl$major $libname.sl'
+ soname_spec='${libname}${release}.sl$major'
+ # HP-UX runs *really* slowly unless shared libraries are mode 555.
+ postinstall_cmds='chmod 555 $lib'
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $host_os in
+ nonstopux*) version_type=nonstopux ;;
+ *) version_type=irix ;;
+ esac
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}.so$major'
+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so $libname.so'
+ case $host_os in
+ irix5* | nonstopux*)
+ libsuff= shlibsuff=
+ ;;
+ *)
+ case $LD in # libtool.m4 will add one of these switches to LD
+ *-32|*"-32 ") libsuff= shlibsuff= libmagic=32-bit;;
+ *-n32|*"-n32 ") libsuff=32 shlibsuff=N32 libmagic=N32;;
+ *-64|*"-64 ") libsuff=64 shlibsuff=64 libmagic=64-bit;;
+ *) libsuff= shlibsuff= libmagic=never-match;;
+ esac
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+ sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+ ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux-gnuoldld* | linux-gnuaout* | linux-gnucoff*)
+ dynamic_linker=no
+ ;;
+
+# This must be Linux ELF.
+linux-gnu*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
+ soname_spec='${libname}${release}.so$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ # This implies no fast_install, which is unacceptable.
+ # Some rework will be needed to allow for fast_install
+ # before this can be enabled.
+ hardcode_into_libs=yes
+
+ # We used to test for /lib/ld.so.1 and disable shared libraries on
+ # powerpc, because MkLinux only supported shared libraries with the
+ # GNU dynamic linker. Since this was broken with cross compilers,
+ # most powerpc-linux boxes support dynamic linking these days and
+ # people can always --disable-shared, the test was removed, and we
+ # assume the GNU/Linux dynamic linker is in use.
+ dynamic_linker='GNU/Linux ld.so'
+ ;;
+
+netbsd*)
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+ library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ dynamic_linker='NetBSD (a.out) ld.so'
+ else
+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so ${libname}.so'
+ soname_spec='${libname}${release}.so$major'
+ dynamic_linker='NetBSD ld.elf_so'
+ fi
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+
+newsos6)
+ version_type=linux
+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ ;;
+
+openbsd*)
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ case "$host_os" in
+ openbsd2.[[89]] | openbsd2.[[89]].*)
+ shlibpath_overrides_runpath=no
+ ;;
+ *)
+ shlibpath_overrides_runpath=yes
+ ;;
+ esac
+ else
+ shlibpath_overrides_runpath=yes
+ fi
+ library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+os2*)
+ libname_spec='$name'
+ need_lib_prefix=no
+ library_names_spec='$libname.dll $libname.a'
+ dynamic_linker='OS/2 ld.exe'
+ shlibpath_var=LIBPATH
+ ;;
+
+osf3* | osf4* | osf5*)
+ version_type=osf
+ need_version=no
+ soname_spec='${libname}${release}.so$major'
+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+ sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+ hardcode_into_libs=yes
+ ;;
+
+sco3.2v5*)
+ version_type=osf
+ soname_spec='${libname}${release}.so$major'
+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+solaris*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
+ soname_spec='${libname}${release}.so$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ # ldd complains unless libraries are executable
+ postinstall_cmds='chmod +x $lib'
+ ;;
+
+sunos4*)
+ version_type=sunos
+ library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
+ finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ if test "$with_gnu_ld" = yes; then
+ need_lib_prefix=no
+ fi
+ need_version=yes
+ ;;
+
+sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ version_type=linux
+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
+ soname_spec='${libname}${release}.so$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_vendor in
+ sni)
+ shlibpath_overrides_runpath=no
+ need_lib_prefix=no
+ export_dynamic_flag_spec='${wl}-Blargedynsym'
+ runpath_var=LD_RUN_PATH
+ ;;
+ siemens)
+ need_lib_prefix=no
+ ;;
+ motorola)
+ need_lib_prefix=no
+ need_version=no
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+ ;;
+ esac
+ ;;
+
+uts4*)
+ version_type=linux
+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
+ soname_spec='${libname}${release}.so$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+dgux*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
+ soname_spec='${libname}${release}.so$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+sysv4*MP*)
+ if test -d /usr/nec ;then
+ version_type=linux
+ library_names_spec='$libname.so.$versuffix $libname.so.$major $libname.so'
+ soname_spec='$libname.so.$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ fi
+ ;;
+
+*)
+ dynamic_linker=no
+ ;;
+esac
+AC_MSG_RESULT([$dynamic_linker])
+test "$dynamic_linker" = no && can_build_shared=no
+
+# Report the final consequences.
+AC_MSG_CHECKING([if libtool supports shared libraries])
+AC_MSG_RESULT([$can_build_shared])
+
+AC_MSG_CHECKING([whether to build shared libraries])
+test "$can_build_shared" = "no" && enable_shared=no
+
+# On AIX, shared libraries and static libraries use the same namespace, and
+# are all built from PIC.
+case "$host_os" in
+aix3*)
+ test "$enable_shared" = yes && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+
+aix4*)
+ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+ test "$enable_shared" = yes && enable_static=no
+ fi
+ ;;
+esac
+AC_MSG_RESULT([$enable_shared])
+
+AC_MSG_CHECKING([whether to build static libraries])
+# Make sure either enable_shared or enable_static is yes.
+test "$enable_shared" = yes || enable_static=yes
+AC_MSG_RESULT([$enable_static])
+
+if test "$hardcode_action" = relink; then
+ # Fast installation is not supported
+ enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+ test "$enable_shared" = no; then
+ # Fast installation is not necessary
+ enable_fast_install=needless
+fi
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+ variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+AC_LIBTOOL_DLOPEN_SELF
+
+if test "$enable_shared" = yes && test "$GCC" = yes; then
+ case $archive_cmds in
+ *'~'*)
+ # FIXME: we may have to deal with multi-command sequences.
+ ;;
+ '$CC '*)
+ # Test whether the compiler implicitly links with -lc since on some
+ # systems, -lgcc has to come before -lc. If gcc already passes -lc
+ # to ld, don't add -lc before -lgcc.
+ AC_MSG_CHECKING([whether -lc should be explicitly linked in])
+ AC_CACHE_VAL([lt_cv_archive_cmds_need_lc],
+ [$rm conftest*
+ echo 'static int dummy;' > conftest.$ac_ext
+
+ if AC_TRY_EVAL(ac_compile); then
+ soname=conftest
+ lib=conftest
+ libobjs=conftest.$ac_objext
+ deplibs=
+ wl=$lt_cv_prog_cc_wl
+ compiler_flags=-v
+ linker_flags=-v
+ verstring=
+ output_objdir=.
+ libname=conftest
+ save_allow_undefined_flag=$allow_undefined_flag
+ allow_undefined_flag=
+ if AC_TRY_EVAL(archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1)
+ then
+ lt_cv_archive_cmds_need_lc=no
+ else
+ lt_cv_archive_cmds_need_lc=yes
+ fi
+ allow_undefined_flag=$save_allow_undefined_flag
+ else
+ cat conftest.err 1>&5
+ fi])
+ AC_MSG_RESULT([$lt_cv_archive_cmds_need_lc])
+ ;;
+ esac
+fi
+need_lc=${lt_cv_archive_cmds_need_lc-yes}
+
+# The second clause should only fire when bootstrapping the
+# libtool distribution, otherwise you forgot to ship ltmain.sh
+# with your package, and you will get complaints that there are
+# no rules to generate ltmain.sh.
+if test -f "$ltmain"; then
+ :
+else
+ # If there is no Makefile yet, we rely on a make rule to execute
+ # `config.status --recheck' to rerun these tests and create the
+ # libtool script then.
+ test -f Makefile && make "$ltmain"
+fi
+
+if test -f "$ltmain"; then
+ trap "$rm \"${ofile}T\"; exit 1" 1 2 15
+ $rm -f "${ofile}T"
+
+ echo creating $ofile
+
+ # Now quote all the things that may contain metacharacters while being
+ # careful not to overquote the AC_SUBSTed values. We take copies of the
+ # variables and quote the copies for generation of the libtool script.
+ for var in echo old_CC old_CFLAGS SED \
+ AR AR_FLAGS CC LD LN_S NM SHELL \
+ reload_flag reload_cmds wl \
+ pic_flag link_static_flag no_builtin_flag export_dynamic_flag_spec \
+ thread_safe_flag_spec whole_archive_flag_spec libname_spec \
+ library_names_spec soname_spec \
+ RANLIB old_archive_cmds old_archive_from_new_cmds old_postinstall_cmds \
+ old_postuninstall_cmds archive_cmds archive_expsym_cmds postinstall_cmds \
+ postuninstall_cmds extract_expsyms_cmds old_archive_from_expsyms_cmds \
+ old_striplib striplib file_magic_cmd export_symbols_cmds \
+ deplibs_check_method allow_undefined_flag no_undefined_flag \
+ finish_cmds finish_eval global_symbol_pipe global_symbol_to_cdecl \
+ global_symbol_to_c_name_address \
+ hardcode_libdir_flag_spec hardcode_libdir_separator \
+ sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
+ compiler_c_o compiler_o_lo need_locks exclude_expsyms include_expsyms; do
+
+ case $var in
+ reload_cmds | old_archive_cmds | old_archive_from_new_cmds | \
+ old_postinstall_cmds | old_postuninstall_cmds | \
+ export_symbols_cmds | archive_cmds | archive_expsym_cmds | \
+ extract_expsyms_cmds | old_archive_from_expsyms_cmds | \
+ postinstall_cmds | postuninstall_cmds | \
+ finish_cmds | sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
+ # Double-quote double-evaled strings.
+ eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
+ ;;
+ *)
+ eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
+ ;;
+ esac
+ done
+
+ cat <<__EOF__ > "${ofile}T"
+#! $SHELL
+
+# `$echo "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
+# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+#
+# Copyright (C) 1996-2000 Free Software Foundation, Inc.
+# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# A sed that does not truncate output.
+SED=$lt_SED
+
+# Sed that helps us avoid accidentally triggering echo(1) options like -n.
+Xsed="${SED} -e s/^X//"
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+if test "X\${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi
+
+# ### BEGIN LIBTOOL CONFIG
+
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
+
+# Whether or not to build shared libraries.
+build_libtool_libs=$enable_shared
+
+# Whether or not to build static libraries.
+build_old_libs=$enable_static
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$need_lc
+
+# Whether or not to optimize for fast installation.
+fast_install=$enable_fast_install
+
+# The host system.
+host_alias=$host_alias
+host=$host
+
+# An echo program that does not interpret backslashes.
+echo=$lt_echo
+
+# The archiver.
+AR=$lt_AR
+AR_FLAGS=$lt_AR_FLAGS
+
+# The default C compiler.
+CC=$lt_CC
+
+# Is the compiler the GNU C compiler?
+with_gcc=$GCC
+
+# The linker used to build libraries.
+LD=$lt_LD
+
+# Whether we need hard or soft links.
+LN_S=$lt_LN_S
+
+# A BSD-compatible nm program.
+NM=$lt_NM
+
+# A symbol stripping program
+STRIP=$STRIP
+
+# Used to examine libraries when file_magic_cmd begins "file"
+MAGIC_CMD=$MAGIC_CMD
+
+# Used on cygwin: DLL creation program.
+DLLTOOL="$DLLTOOL"
+
+# Used on cygwin: object dumper.
+OBJDUMP="$OBJDUMP"
+
+# Used on cygwin: assembler.
+AS="$AS"
+
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
+
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
+
+# How to pass a linker flag through the compiler.
+wl=$lt_wl
+
+# Object file suffix (normally "o").
+objext="$ac_objext"
+
+# Old archive suffix (normally "a").
+libext="$libext"
+
+# Executable file suffix (normally "").
+exeext="$exeext"
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_pic_flag
+pic_mode=$pic_mode
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_compiler_c_o
+
+# Can we write directly to a .lo ?
+compiler_o_lo=$lt_compiler_o_lo
+
+# Must we lock files when doing compilation ?
+need_locks=$lt_need_locks
+
+# Do we need the lib prefix for modules?
+need_lib_prefix=$need_lib_prefix
+
+# Do we need a version for libraries?
+need_version=$need_version
+
+# Whether dlopen is supported.
+dlopen_support=$enable_dlopen
+
+# Whether dlopen of programs is supported.
+dlopen_self=$enable_dlopen_self
+
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=$enable_dlopen_self_static
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_link_static_flag
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_no_builtin_flag
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_whole_archive_flag_spec
+
+# Compiler flag to generate thread-safe objects.
+thread_safe_flag_spec=$lt_thread_safe_flag_spec
+
+# Library versioning type.
+version_type=$version_type
+
+# Format of library name prefix.
+libname_spec=$lt_libname_spec
+
+# List of archive names. First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME.
+library_names_spec=$lt_library_names_spec
+
+# The coded name of the library, if different from the real name.
+soname_spec=$lt_soname_spec
+
+# Commands used to build and install an old-style archive.
+RANLIB=$lt_RANLIB
+old_archive_cmds=$lt_old_archive_cmds
+old_postinstall_cmds=$lt_old_postinstall_cmds
+old_postuninstall_cmds=$lt_old_postuninstall_cmds
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
+
+# Commands used to build and install a shared archive.
+archive_cmds=$lt_archive_cmds
+archive_expsym_cmds=$lt_archive_expsym_cmds
+postinstall_cmds=$lt_postinstall_cmds
+postuninstall_cmds=$lt_postuninstall_cmds
+
+# Commands to strip libraries.
+old_striplib=$lt_old_striplib
+striplib=$lt_striplib
+
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method=$lt_deplibs_check_method
+
+# Command to use when deplibs_check_method == file_magic.
+file_magic_cmd=$lt_file_magic_cmd
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_allow_undefined_flag
+
+# Flag that forces no undefined symbols.
+no_undefined_flag=$lt_no_undefined_flag
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds=$lt_finish_cmds
+
+# Same as above, but a single script fragment to be evaled but not shown.
+finish_eval=$lt_finish_eval
+
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe=$lt_global_symbol_pipe
+
+# Transform the output of nm in a proper C declaration
+global_symbol_to_cdecl=$lt_global_symbol_to_cdecl
+
+# Transform the output of nm in a C name address pair
+global_symbol_to_c_name_address=$lt_global_symbol_to_c_name_address
+
+# This is the shared library runtime path variable.
+runpath_var=$runpath_var
+
+# This is the shared library path variable.
+shlibpath_var=$shlibpath_var
+
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$hardcode_action
+
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=$hardcode_into_libs
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
+
+# Whether we need a single -rpath flag with a separated argument.
+hardcode_libdir_separator=$lt_hardcode_libdir_separator
+
+# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
+# resulting binary.
+hardcode_direct=$hardcode_direct
+
+# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
+# resulting binary.
+hardcode_minus_L=$hardcode_minus_L
+
+# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
+# the resulting binary.
+hardcode_shlibpath_var=$hardcode_shlibpath_var
+
+# Variables whose values should be saved in libtool wrapper scripts and
+# restored at relink time.
+variables_saved_for_relink="$variables_saved_for_relink"
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$link_all_deplibs
+
+# Compile-time system search path for libraries
+sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+
+# Run-time system search path for libraries
+sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+
+# Fix the shell variable \$srcfile for the compiler.
+fix_srcfile_path="$fix_srcfile_path"
+
+# Set to yes if exported symbols are required.
+always_export_symbols=$always_export_symbols
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_export_symbols_cmds
+
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=$lt_extract_expsyms_cmds
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_exclude_expsyms
+
+# Symbols that must always be exported.
+include_expsyms=$lt_include_expsyms
+
+# ### END LIBTOOL CONFIG
+
+__EOF__
+
+ case $host_os in
+ aix3*)
+ cat <<\EOF >> "${ofile}T"
+
+# AIX sometimes has problems with the GCC collect2 program. For some
+# reason, if we set the COLLECT_NAMES environment variable, the problems
+# vanish in a puff of smoke.
+if test "X${COLLECT_NAMES+set}" != Xset; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+fi
+EOF
+ ;;
+ esac
+
+ case $host_os in
+ cygwin* | mingw* | pw32* | os2*)
+ cat <<'EOF' >> "${ofile}T"
+ # This is a source program that is used to create dlls on Windows
+ # Don't remove nor modify the starting and closing comments
+# /* ltdll.c starts here */
+# #define WIN32_LEAN_AND_MEAN
+# #include <windows.h>
+# #undef WIN32_LEAN_AND_MEAN
+# #include <stdio.h>
+#
+# #ifndef __CYGWIN__
+# # ifdef __CYGWIN32__
+# # define __CYGWIN__ __CYGWIN32__
+# # endif
+# #endif
+#
+# #ifdef __cplusplus
+# extern "C" {
+# #endif
+# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved);
+# #ifdef __cplusplus
+# }
+# #endif
+#
+# #ifdef __CYGWIN__
+# #include <cygwin/cygwin_dll.h>
+# DECLARE_CYGWIN_DLL( DllMain );
+# #endif
+# HINSTANCE __hDllInstance_base;
+#
+# BOOL APIENTRY
+# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved)
+# {
+# __hDllInstance_base = hInst;
+# return TRUE;
+# }
+# /* ltdll.c ends here */
+ # This is a source program that is used to create import libraries
+ # on Windows for dlls which lack them. Don't remove nor modify the
+ # starting and closing comments
+# /* impgen.c starts here */
+# /* Copyright (C) 1999-2000 Free Software Foundation, Inc.
+#
+# This file is part of GNU libtool.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# */
+#
+# #include <stdio.h> /* for printf() */
+# #include <unistd.h> /* for open(), lseek(), read() */
+# #include <fcntl.h> /* for O_RDONLY, O_BINARY */
+# #include <string.h> /* for strdup() */
+#
+# /* O_BINARY isn't required (or even defined sometimes) under Unix */
+# #ifndef O_BINARY
+# #define O_BINARY 0
+# #endif
+#
+# static unsigned int
+# pe_get16 (fd, offset)
+# int fd;
+# int offset;
+# {
+# unsigned char b[2];
+# lseek (fd, offset, SEEK_SET);
+# read (fd, b, 2);
+# return b[0] + (b[1]<<8);
+# }
+#
+# static unsigned int
+# pe_get32 (fd, offset)
+# int fd;
+# int offset;
+# {
+# unsigned char b[4];
+# lseek (fd, offset, SEEK_SET);
+# read (fd, b, 4);
+# return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24);
+# }
+#
+# static unsigned int
+# pe_as32 (ptr)
+# void *ptr;
+# {
+# unsigned char *b = ptr;
+# return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24);
+# }
+#
+# int
+# main (argc, argv)
+# int argc;
+# char *argv[];
+# {
+# int dll;
+# unsigned long pe_header_offset, opthdr_ofs, num_entries, i;
+# unsigned long export_rva, export_size, nsections, secptr, expptr;
+# unsigned long name_rvas, nexp;
+# unsigned char *expdata, *erva;
+# char *filename, *dll_name;
+#
+# filename = argv[1];
+#
+# dll = open(filename, O_RDONLY|O_BINARY);
+# if (dll < 1)
+# return 1;
+#
+# dll_name = filename;
+#
+# for (i=0; filename[i]; i++)
+# if (filename[i] == '/' || filename[i] == '\\' || filename[i] == ':')
+# dll_name = filename + i +1;
+#
+# pe_header_offset = pe_get32 (dll, 0x3c);
+# opthdr_ofs = pe_header_offset + 4 + 20;
+# num_entries = pe_get32 (dll, opthdr_ofs + 92);
+#
+# if (num_entries < 1) /* no exports */
+# return 1;
+#
+# export_rva = pe_get32 (dll, opthdr_ofs + 96);
+# export_size = pe_get32 (dll, opthdr_ofs + 100);
+# nsections = pe_get16 (dll, pe_header_offset + 4 +2);
+# secptr = (pe_header_offset + 4 + 20 +
+# pe_get16 (dll, pe_header_offset + 4 + 16));
+#
+# expptr = 0;
+# for (i = 0; i < nsections; i++)
+# {
+# char sname[8];
+# unsigned long secptr1 = secptr + 40 * i;
+# unsigned long vaddr = pe_get32 (dll, secptr1 + 12);
+# unsigned long vsize = pe_get32 (dll, secptr1 + 16);
+# unsigned long fptr = pe_get32 (dll, secptr1 + 20);
+# lseek(dll, secptr1, SEEK_SET);
+# read(dll, sname, 8);
+# if (vaddr <= export_rva && vaddr+vsize > export_rva)
+# {
+# expptr = fptr + (export_rva - vaddr);
+# if (export_rva + export_size > vaddr + vsize)
+# export_size = vsize - (export_rva - vaddr);
+# break;
+# }
+# }
+#
+# expdata = (unsigned char*)malloc(export_size);
+# lseek (dll, expptr, SEEK_SET);
+# read (dll, expdata, export_size);
+# erva = expdata - export_rva;
+#
+# nexp = pe_as32 (expdata+24);
+# name_rvas = pe_as32 (expdata+32);
+#
+# printf ("EXPORTS\n");
+# for (i = 0; i<nexp; i++)
+# {
+# unsigned long name_rva = pe_as32 (erva+name_rvas+i*4);
+# printf ("\t%s @ %ld ;\n", erva+name_rva, 1+ i);
+# }
+#
+# return 0;
+# }
+# /* impgen.c ends here */
+
+EOF
+ ;;
+ esac
+
+ # We use sed instead of cat because bash on DJGPP gets confused if
+ # if finds mixed CR/LF and LF-only lines. Since sed operates in
+ # text mode, it properly converts lines to CR/LF. This bash problem
+ # is reportedly fixed, but why not run on old versions too?
+ sed '$q' "$ltmain" >> "${ofile}T" || (rm -f "${ofile}T"; exit 1)
+
+ mv -f "${ofile}T" "$ofile" || \
+ (rm -f "$ofile" && cp "${ofile}T" "$ofile" && rm -f "${ofile}T")
+ chmod +x "$ofile"
+fi
+
+])# _LT_AC_LTCONFIG_HACK
+
+# AC_LIBTOOL_DLOPEN - enable checks for dlopen support
+AC_DEFUN([AC_LIBTOOL_DLOPEN], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])])
+
+# AC_LIBTOOL_WIN32_DLL - declare package support for building win32 dll's
+AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])])
+
+# AC_ENABLE_SHARED - implement the --enable-shared flag
+# Usage: AC_ENABLE_SHARED[(DEFAULT)]
+# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
+# `yes'.
+AC_DEFUN([AC_ENABLE_SHARED],
+[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
+AC_ARG_ENABLE(shared,
+changequote(<<, >>)dnl
+<< --enable-shared[=PKGS] build shared libraries [default=>>AC_ENABLE_SHARED_DEFAULT],
+changequote([, ])dnl
+[p=${PACKAGE-default}
+case $enableval in
+yes) enable_shared=yes ;;
+no) enable_shared=no ;;
+*)
+ enable_shared=no
+ # Look at the argument we got. We use all the common list separators.
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
+ for pkg in $enableval; do
+ if test "X$pkg" = "X$p"; then
+ enable_shared=yes
+ fi
+ done
+ IFS="$ac_save_ifs"
+ ;;
+esac],
+enable_shared=AC_ENABLE_SHARED_DEFAULT)dnl
+])
+
+# AC_DISABLE_SHARED - set the default shared flag to --disable-shared
+AC_DEFUN([AC_DISABLE_SHARED],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+AC_ENABLE_SHARED(no)])
+
+# AC_ENABLE_STATIC - implement the --enable-static flag
+# Usage: AC_ENABLE_STATIC[(DEFAULT)]
+# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
+# `yes'.
+AC_DEFUN([AC_ENABLE_STATIC],
+[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
+AC_ARG_ENABLE(static,
+changequote(<<, >>)dnl
+<< --enable-static[=PKGS] build static libraries [default=>>AC_ENABLE_STATIC_DEFAULT],
+changequote([, ])dnl
+[p=${PACKAGE-default}
+case $enableval in
+yes) enable_static=yes ;;
+no) enable_static=no ;;
+*)
+ enable_static=no
+ # Look at the argument we got. We use all the common list separators.
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
+ for pkg in $enableval; do
+ if test "X$pkg" = "X$p"; then
+ enable_static=yes
+ fi
+ done
+ IFS="$ac_save_ifs"
+ ;;
+esac],
+enable_static=AC_ENABLE_STATIC_DEFAULT)dnl
+])
+
+# AC_DISABLE_STATIC - set the default static flag to --disable-static
+AC_DEFUN([AC_DISABLE_STATIC],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+AC_ENABLE_STATIC(no)])
+
+
+# AC_ENABLE_FAST_INSTALL - implement the --enable-fast-install flag
+# Usage: AC_ENABLE_FAST_INSTALL[(DEFAULT)]
+# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
+# `yes'.
+AC_DEFUN([AC_ENABLE_FAST_INSTALL],
+[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
+AC_ARG_ENABLE(fast-install,
+changequote(<<, >>)dnl
+<< --enable-fast-install[=PKGS] optimize for fast installation [default=>>AC_ENABLE_FAST_INSTALL_DEFAULT],
+changequote([, ])dnl
+[p=${PACKAGE-default}
+case $enableval in
+yes) enable_fast_install=yes ;;
+no) enable_fast_install=no ;;
+*)
+ enable_fast_install=no
+ # Look at the argument we got. We use all the common list separators.
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
+ for pkg in $enableval; do
+ if test "X$pkg" = "X$p"; then
+ enable_fast_install=yes
+ fi
+ done
+ IFS="$ac_save_ifs"
+ ;;
+esac],
+enable_fast_install=AC_ENABLE_FAST_INSTALL_DEFAULT)dnl
+])
+
+# AC_DISABLE_FAST_INSTALL - set the default to --disable-fast-install
+AC_DEFUN([AC_DISABLE_FAST_INSTALL],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+AC_ENABLE_FAST_INSTALL(no)])
+
+# AC_LIBTOOL_PICMODE - implement the --with-pic flag
+# Usage: AC_LIBTOOL_PICMODE[(MODE)]
+# Where MODE is either `yes' or `no'. If omitted, it defaults to
+# `both'.
+AC_DEFUN([AC_LIBTOOL_PICMODE],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+pic_mode=ifelse($#,1,$1,default)])
+
+
+# AC_PATH_TOOL_PREFIX - find a file program which can recognise shared library
+AC_DEFUN([AC_PATH_TOOL_PREFIX],
+[AC_MSG_CHECKING([for $1])
+AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
+[case $MAGIC_CMD in
+ /*)
+ lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+ ;;
+ ?:/*)
+ lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a dos path.
+ ;;
+ *)
+ ac_save_MAGIC_CMD="$MAGIC_CMD"
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+dnl $ac_dummy forces splitting on constant user-supplied paths.
+dnl POSIX.2 word splitting is done only on the output of word expansions,
+dnl not every word. This closes a longstanding sh security hole.
+ ac_dummy="ifelse([$2], , $PATH, [$2])"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$1; then
+ lt_cv_path_MAGIC_CMD="$ac_dir/$1"
+ if test -n "$file_magic_test_file"; then
+ case $deplibs_check_method in
+ "file_magic "*)
+ file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
+ MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+ if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+ egrep "$file_magic_regex" > /dev/null; then
+ :
+ else
+ cat <<EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such. This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem. Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool@gnu.org
+
+EOF
+ fi ;;
+ esac
+ fi
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ MAGIC_CMD="$ac_save_MAGIC_CMD"
+ ;;
+esac])
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+ AC_MSG_RESULT($MAGIC_CMD)
+else
+ AC_MSG_RESULT(no)
+fi
+])
+
+
+# AC_PATH_MAGIC - find a file program which can recognise a shared library
+AC_DEFUN([AC_PATH_MAGIC],
+[AC_REQUIRE([AC_CHECK_TOOL_PREFIX])dnl
+AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin:$PATH)
+if test -z "$lt_cv_path_MAGIC_CMD"; then
+ if test -n "$ac_tool_prefix"; then
+ AC_PATH_TOOL_PREFIX(file, /usr/bin:$PATH)
+ else
+ MAGIC_CMD=:
+ fi
+fi
+])
+
+
+# AC_PROG_LD - find the path to the GNU or non-GNU linker
+AC_DEFUN([AC_PROG_LD],
+[AC_ARG_WITH(gnu-ld,
+[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]],
+test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+AC_REQUIRE([_LT_AC_LIBTOOL_SYS_PATH_SEPARATOR])dnl
+ac_prog=ld
+if test "$GCC" = yes; then
+ # Check if gcc -print-prog-name=ld gives a path.
+ AC_MSG_CHECKING([for ld used by GCC])
+ case $host in
+ *-*-mingw*)
+ # gcc leaves a trailing carriage return which upsets mingw
+ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+ *)
+ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+ esac
+ case $ac_prog in
+ # Accept absolute paths.
+ [[\\/]]* | [[A-Za-z]]:[[\\/]]*)
+ re_direlt='/[[^/]][[^/]]*/\.\./'
+ # Canonicalize the path of ld
+ ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
+ while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
+ ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
+ done
+ test -z "$LD" && LD="$ac_prog"
+ ;;
+ "")
+ # If it fails, then pretend we aren't using GCC.
+ ac_prog=ld
+ ;;
+ *)
+ # If it is relative, then search for the first ld in PATH.
+ with_gnu_ld=unknown
+ ;;
+ esac
+elif test "$with_gnu_ld" = yes; then
+ AC_MSG_CHECKING([for GNU ld])
+else
+ AC_MSG_CHECKING([for non-GNU ld])
+fi
+AC_CACHE_VAL(lt_cv_path_LD,
+[if test -z "$LD"; then
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+ lt_cv_path_LD="$ac_dir/$ac_prog"
+ # Check to see if the program is GNU ld. I'd rather use --version,
+ # but apparently some GNU ld's only accept -v.
+ # Break only if it was the GNU/non-GNU ld that we prefer.
+ if "$lt_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
+ test "$with_gnu_ld" != no && break
+ else
+ test "$with_gnu_ld" != yes && break
+ fi
+ fi
+ done
+ IFS="$ac_save_ifs"
+else
+ lt_cv_path_LD="$LD" # Let the user override the test with a path.
+fi])
+LD="$lt_cv_path_LD"
+if test -n "$LD"; then
+ AC_MSG_RESULT($LD)
+else
+ AC_MSG_RESULT(no)
+fi
+test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
+AC_PROG_LD_GNU
+])
+
+# AC_PROG_LD_GNU -
+AC_DEFUN([AC_PROG_LD_GNU],
+[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
+[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
+if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
+ lt_cv_prog_gnu_ld=yes
+else
+ lt_cv_prog_gnu_ld=no
+fi])
+with_gnu_ld=$lt_cv_prog_gnu_ld
+])
+
+# AC_PROG_LD_RELOAD_FLAG - find reload flag for linker
+# -- PORTME Some linkers may need a different reload flag.
+AC_DEFUN([AC_PROG_LD_RELOAD_FLAG],
+[AC_CACHE_CHECK([for $LD option to reload object files], lt_cv_ld_reload_flag,
+[lt_cv_ld_reload_flag='-r'])
+reload_flag=$lt_cv_ld_reload_flag
+test -n "$reload_flag" && reload_flag=" $reload_flag"
+])
+
+# AC_DEPLIBS_CHECK_METHOD - how to check for library dependencies
+# -- PORTME fill in with the dynamic library characteristics
+AC_DEFUN([AC_DEPLIBS_CHECK_METHOD],
+[AC_CACHE_CHECK([how to recognise dependent libraries],
+lt_cv_deplibs_check_method,
+[lt_cv_file_magic_cmd='$MAGIC_CMD'
+lt_cv_file_magic_test_file=
+lt_cv_deplibs_check_method='unknown'
+# Need to set the preceding variable on all platforms that support
+# interlibrary dependencies.
+# 'none' -- dependencies not supported.
+# `unknown' -- same as none, but documents that we really don't know.
+# 'pass_all' -- all dependencies passed with no checks.
+# 'test_compile' -- check by making test program.
+# 'file_magic [[regex]]' -- check by looking for files in library path
+# which responds to the $file_magic_cmd with a given egrep regex.
+# If you have `file' or equivalent on your system and you're not sure
+# whether `pass_all' will *always* work, you probably want this one.
+
+case $host_os in
+aix4* | aix5*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+beos*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+bsdi4*)
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
+ lt_cv_file_magic_cmd='/usr/bin/file -L'
+ lt_cv_file_magic_test_file=/shlib/libc.so
+ ;;
+
+cygwin* | mingw* | pw32*)
+ lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ ;;
+
+darwin* | rhapsody*)
+ lt_cv_deplibs_check_method='file_magic Mach-O dynamically linked shared library'
+ lt_cv_file_magic_cmd='/usr/bin/file -L'
+ case "$host_os" in
+ rhapsody* | darwin1.[[012]])
+ lt_cv_file_magic_test_file=`echo /System/Library/Frameworks/System.framework/Versions/*/System | head -1`
+ ;;
+ *) # Darwin 1.3 on
+ lt_cv_file_magic_test_file='/usr/lib/libSystem.dylib'
+ ;;
+ esac
+ ;;
+
+freebsd*)
+ if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+ case $host_cpu in
+ i*86 )
+ # Not sure whether the presence of OpenBSD here was a mistake.
+ # Let's accept both of them until this is cleared up.
+ lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[[3-9]]86 (compact )?demand paged shared library'
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+ ;;
+ esac
+ else
+ lt_cv_deplibs_check_method=pass_all
+ fi
+ ;;
+
+gnu*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+hpux10.20*|hpux11*)
+ lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=/usr/lib/libc.sl
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $host_os in
+ irix5* | nonstopux*)
+ # this will be overridden with pass_all, but let us keep it just in case
+ lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1"
+ ;;
+ *)
+ case $LD in
+ *-32|*"-32 ") libmagic=32-bit;;
+ *-n32|*"-n32 ") libmagic=N32;;
+ *-64|*"-64 ") libmagic=64-bit;;
+ *) libmagic=never-match;;
+ esac
+ # this will be overridden with pass_all, but let us keep it just in case
+ lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[[1234]] dynamic lib MIPS - version 1"
+ ;;
+ esac
+ lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*`
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+# This must be Linux ELF.
+linux-gnu*)
+ case $host_cpu in
+ alpha* | hppa* | i*86 | mips | mipsel | powerpc* | sparc* | ia64*)
+ lt_cv_deplibs_check_method=pass_all ;;
+ *)
+ # glibc up to 2.1.1 does not perform some relocations on ARM
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' ;;
+ esac
+ lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
+ ;;
+
+netbsd*)
+ if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/\.]]+\.so\.[[0-9]]+\.[[0-9]]+$'
+ else
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/\.]]+\.so$'
+ fi
+ ;;
+
+newos6*)
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=/usr/lib/libnls.so
+ ;;
+
+openbsd*)
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB shared object'
+ else
+ lt_cv_deplibs_check_method='file_magic OpenBSD.* shared library'
+ fi
+ ;;
+
+osf3* | osf4* | osf5*)
+ # this will be overridden with pass_all, but let us keep it just in case
+ lt_cv_deplibs_check_method='file_magic COFF format alpha shared library'
+ lt_cv_file_magic_test_file=/shlib/libc.so
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+sco3.2v5*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+solaris*)
+ lt_cv_deplibs_check_method=pass_all
+ lt_cv_file_magic_test_file=/lib/libc.so
+ ;;
+
+sysv5uw[[78]]* | sysv4*uw2*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ case $host_vendor in
+ motorola)
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
+ ;;
+ ncr)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ sequent)
+ lt_cv_file_magic_cmd='/bin/file'
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
+ ;;
+ sni)
+ lt_cv_file_magic_cmd='/bin/file'
+ lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
+ lt_cv_file_magic_test_file=/lib/libc.so
+ ;;
+ siemens)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ esac
+ ;;
+esac
+])
+file_magic_cmd=$lt_cv_file_magic_cmd
+deplibs_check_method=$lt_cv_deplibs_check_method
+])
+
+
+# AC_PROG_NM - find the path to a BSD-compatible name lister
+AC_DEFUN([AC_PROG_NM],
+[AC_REQUIRE([_LT_AC_LIBTOOL_SYS_PATH_SEPARATOR])dnl
+AC_MSG_CHECKING([for BSD-compatible nm])
+AC_CACHE_VAL(lt_cv_path_NM,
+[if test -n "$NM"; then
+ # Let the user override the test.
+ lt_cv_path_NM="$NM"
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
+ test -z "$ac_dir" && ac_dir=.
+ tmp_nm=$ac_dir/${ac_tool_prefix}nm
+ if test -f $tmp_nm || test -f $tmp_nm$ac_exeext ; then
+ # Check to see if the nm accepts a BSD-compat flag.
+ # Adding the `sed 1q' prevents false positives on HP-UX, which says:
+ # nm: unknown option "B" ignored
+ # Tru64's nm complains that /dev/null is an invalid object file
+ if ($tmp_nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep '(/dev/null|Invalid file or object type)' >/dev/null; then
+ lt_cv_path_NM="$tmp_nm -B"
+ break
+ elif ($tmp_nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
+ lt_cv_path_NM="$tmp_nm -p"
+ break
+ else
+ lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+ continue # so that we can try to find one that supports BSD flags
+ fi
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
+fi])
+NM="$lt_cv_path_NM"
+AC_MSG_RESULT([$NM])
+])
+
+# AC_CHECK_LIBM - check for math library
+AC_DEFUN([AC_CHECK_LIBM],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+LIBM=
+case $host in
+*-*-beos* | *-*-cygwin* | *-*-pw32*)
+ # These system don't have libm
+ ;;
+*-ncr-sysv4.3*)
+ AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
+ AC_CHECK_LIB(m, main, LIBM="$LIBM -lm")
+ ;;
+*)
+ AC_CHECK_LIB(m, main, LIBM="-lm")
+ ;;
+esac
+])
+
+# AC_LIBLTDL_CONVENIENCE[(dir)] - sets LIBLTDL to the link flags for
+# the libltdl convenience library and LTDLINCL to the include flags for
+# the libltdl header and adds --enable-ltdl-convenience to the
+# configure arguments. Note that LIBLTDL and LTDLINCL are not
+# AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called. If DIR is not
+# provided, it is assumed to be `libltdl'. LIBLTDL will be prefixed
+# with '${top_builddir}/' and LTDLINCL will be prefixed with
+# '${top_srcdir}/' (note the single quotes!). If your package is not
+# flat and you're not using automake, define top_builddir and
+# top_srcdir appropriately in the Makefiles.
+AC_DEFUN([AC_LIBLTDL_CONVENIENCE],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+ case $enable_ltdl_convenience in
+ no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
+ "") enable_ltdl_convenience=yes
+ ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
+ esac
+ LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la
+ LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
+ # For backwards non-gettext consistent compatibility...
+ INCLTDL="$LTDLINCL"
+])
+
+# AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for
+# the libltdl installable library and LTDLINCL to the include flags for
+# the libltdl header and adds --enable-ltdl-install to the configure
+# arguments. Note that LIBLTDL and LTDLINCL are not AC_SUBSTed, nor is
+# AC_CONFIG_SUBDIRS called. If DIR is not provided and an installed
+# libltdl is not found, it is assumed to be `libltdl'. LIBLTDL will
+# be prefixed with '${top_builddir}/' and LTDLINCL will be prefixed
+# with '${top_srcdir}/' (note the single quotes!). If your package is
+# not flat and you're not using automake, define top_builddir and
+# top_srcdir appropriately in the Makefiles.
+# In the future, this macro may have to be called after AC_PROG_LIBTOOL.
+AC_DEFUN([AC_LIBLTDL_INSTALLABLE],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+ AC_CHECK_LIB(ltdl, main,
+ [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
+ [if test x"$enable_ltdl_install" = xno; then
+ AC_MSG_WARN([libltdl not installed, but installation disabled])
+ else
+ enable_ltdl_install=yes
+ fi
+ ])
+ if test x"$enable_ltdl_install" = x"yes"; then
+ ac_configure_args="$ac_configure_args --enable-ltdl-install"
+ LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la
+ LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
+ else
+ ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
+ LIBLTDL="-lltdl"
+ LTDLINCL=
+ fi
+ # For backwards non-gettext consistent compatibility...
+ INCLTDL="$LTDLINCL"
+])
+
+# old names
+AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL])
+AC_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
+AC_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
+AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
+AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
+AC_DEFUN([AM_PROG_LD], [AC_PROG_LD])
+AC_DEFUN([AM_PROG_NM], [AC_PROG_NM])
+
+# This is just to silence aclocal about the macro not being used
+ifelse([AC_DISABLE_FAST_INSTALL])
+
+# NOTE: This macro has been submitted for inclusion into #
+# GNU Autoconf as AC_PROG_SED. When it is available in #
+# a released version of Autoconf we should remove this #
+# macro and use it instead. #
+# LT_AC_PROG_SED
+# --------------
+# Check for a fully-functional sed program, that truncates
+# as few characters as possible. Prefer GNU sed if found.
+AC_DEFUN([LT_AC_PROG_SED],
+[AC_MSG_CHECKING([for a sed that does not truncate output])
+AC_CACHE_VAL(lt_cv_path_SED,
+[# Loop through the user's path and test for sed and gsed.
+# Then use that list of sed's as ones to test for truncation.
+as_executable_p="test -f"
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in sed gsed; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
+ _sed_list="$_sed_list $as_dir/$ac_prog$ac_exec_ext"
+ fi
+ done
+ done
+done
+
+ # Create a temporary directory, and hook for its removal unless debugging.
+$debug ||
+{
+ trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
+ trap '{ (exit 1); exit 1; }' 1 2 13 15
+}
+
+# Create a (secure) tmp directory for tmp files.
+: ${TMPDIR=/tmp}
+{
+ tmp=`(umask 077 && mktemp -d -q "$TMPDIR/sedXXXXXX") 2>/dev/null` &&
+ test -n "$tmp" && test -d "$tmp"
+} ||
+{
+ tmp=$TMPDIR/sed$$-$RANDOM
+ (umask 077 && mkdir $tmp)
+} ||
+{
+ echo "$me: cannot create a temporary directory in $TMPDIR" >&2
+ { (exit 1); exit 1; }
+}
+ _max=0
+ _count=0
+ # Add /usr/xpg4/bin/sed as it is typically found on Solaris
+ # along with /bin/sed that truncates output.
+ for _sed in $_sed_list /usr/xpg4/bin/sed; do
+ test ! -f ${_sed} && break
+ cat /dev/null > "$tmp/sed.in"
+ _count=0
+ echo ${ECHO_N-$ac_n} "0123456789${ECHO_C-$ac_c}" >"$tmp/sed.in"
+ # Check for GNU sed and select it if it is found.
+ if "${_sed}" --version 2>&1 < /dev/null | egrep '(GNU)' > /dev/null; then
+ lt_cv_path_SED=${_sed}
+ break
+ fi
+ while true; do
+ cat "$tmp/sed.in" "$tmp/sed.in" >"$tmp/sed.tmp"
+ mv "$tmp/sed.tmp" "$tmp/sed.in"
+ cp "$tmp/sed.in" "$tmp/sed.nl"
+ echo >>"$tmp/sed.nl"
+ ${_sed} -e 's/a$//' < "$tmp/sed.nl" >"$tmp/sed.out" || break
+ cmp -s "$tmp/sed.out" "$tmp/sed.nl" || break
+ # 40000 chars as input seems more than enough
+ test $_count -gt 10 && break
+ _count=`expr $_count + 1`
+ if test $_count -gt $_max; then
+ _max=$_count
+ lt_cv_path_SED=$_sed
+ fi
+ done
+ done
+ rm -rf "$tmp"
+])
+if test "X$SED" != "X"; then
+ lt_cv_path_SED=$SED
+else
+ SED=$lt_cv_path_SED
+fi
+AC_MSG_RESULT([$SED])
+])
+
+# Do all the work for Automake. -*- Autoconf -*-
+
+# This macro actually does too much some checks are only needed if
+# your package does certain things. But this isn't really a big deal.
+
+# Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+# Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+# serial 9
+
+# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
+# written in clear, in which case automake, when reading aclocal.m4,
+# will think it sees a *use*, and therefore will trigger all it's
+# C support machinery. Also note that it means that autoscan, seeing
+# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
+
+
+AC_PREREQ([2.54])
+
+# Autoconf 2.50 wants to disallow AM_ names. We explicitly allow
+# the ones we care about.
+m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
+
+# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
+# AM_INIT_AUTOMAKE([OPTIONS])
+# -----------------------------------------------
+# The call with PACKAGE and VERSION arguments is the old style
+# call (pre autoconf-2.50), which is being phased out. PACKAGE
+# and VERSION should now be passed to AC_INIT and removed from
+# the call to AM_INIT_AUTOMAKE.
+# We support both call styles for the transition. After
+# the next Automake release, Autoconf can make the AC_INIT
+# arguments mandatory, and then we can depend on a new Autoconf
+# release and drop the old call support.
+AC_DEFUN([AM_INIT_AUTOMAKE],
+[AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
+ AC_REQUIRE([AC_PROG_INSTALL])dnl
+# test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" &&
+ test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+ if (cygpath --version) >/dev/null 2>/dev/null; then
+ CYGPATH_W='cygpath -w'
+ else
+ CYGPATH_W=echo
+ fi
+fi
+AC_SUBST([CYGPATH_W])
+
+# Define the identity of the package.
+dnl Distinguish between old-style and new-style calls.
+m4_ifval([$2],
+[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+ AC_SUBST([PACKAGE], [$1])dnl
+ AC_SUBST([VERSION], [$2])],
+[_AM_SET_OPTIONS([$1])dnl
+ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
+ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
+
+_AM_IF_OPTION([no-define],,
+[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+ AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
+
+# Some tools Automake needs.
+AC_REQUIRE([AM_SANITY_CHECK])dnl
+AC_REQUIRE([AC_ARG_PROGRAM])dnl
+AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
+AM_MISSING_PROG(AUTOCONF, autoconf)
+AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
+AM_MISSING_PROG(AUTOHEADER, autoheader)
+AM_MISSING_PROG(MAKEINFO, makeinfo)
+AM_MISSING_PROG(AMTAR, tar)
+AM_PROG_INSTALL_SH
+AM_PROG_INSTALL_STRIP
+# We need awk for the "check" target. The system "awk" is bad on
+# some platforms.
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+
+_AM_IF_OPTION([no-dependencies],,
+[AC_PROVIDE_IFELSE([AC_PROG_CC],
+ [_AM_DEPENDENCIES(CC)],
+ [define([AC_PROG_CC],
+ defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_CXX],
+ [_AM_DEPENDENCIES(CXX)],
+ [define([AC_PROG_CXX],
+ defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+])
+])
+
+
+# When config.status generates a header, we must update the stamp-h file.
+# This file resides in the same directory as the config header
+# that is generated. The stamp files are numbered to have different names.
+
+# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
+# loop where config.status creates the headers, so we can generate
+# our stamp files there.
+AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
+[# Compute $1's index in $config_headers.
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+ case $_am_header in
+ $1 | $1:* )
+ break ;;
+ * )
+ _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+ esac
+done
+echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
+
+# Copyright 2002 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+
+# AM_AUTOMAKE_VERSION(VERSION)
+# ----------------------------
+# Automake X.Y traces this macro to ensure aclocal.m4 has been
+# generated from the m4 files accompanying Automake X.Y.
+AC_DEFUN([AM_AUTOMAKE_VERSION],[am__api_version="1.7"])
+
+# AM_SET_CURRENT_AUTOMAKE_VERSION
+# -------------------------------
+# Call AM_AUTOMAKE_VERSION so it can be traced.
+# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
+AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+ [AM_AUTOMAKE_VERSION([1.7.3])])
+
+# Helper functions for option handling. -*- Autoconf -*-
+
+# Copyright 2001, 2002 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+# serial 2
+
+# _AM_MANGLE_OPTION(NAME)
+# -----------------------
+AC_DEFUN([_AM_MANGLE_OPTION],
+[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
+
+# _AM_SET_OPTION(NAME)
+# ------------------------------
+# Set option NAME. Presently that only means defining a flag for this option.
+AC_DEFUN([_AM_SET_OPTION],
+[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
+
+# _AM_SET_OPTIONS(OPTIONS)
+# ----------------------------------
+# OPTIONS is a space-separated list of Automake options.
+AC_DEFUN([_AM_SET_OPTIONS],
+[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+
+# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
+# -------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+AC_DEFUN([_AM_IF_OPTION],
+[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+# Copyright 1996, 1997, 2000, 2001 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+# serial 3
+
+# AM_SANITY_CHECK
+# ---------------
+AC_DEFUN([AM_SANITY_CHECK],
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+ if test "$[*]" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftest.file`
+ fi
+ rm -f conftest.file
+ if test "$[*]" != "X $srcdir/configure conftest.file" \
+ && test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "$[2]" = conftest.file
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+AC_MSG_RESULT(yes)])
+
+# -*- Autoconf -*-
+
+
+# Copyright 1997, 1999, 2000, 2001 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+# serial 3
+
+# AM_MISSING_PROG(NAME, PROGRAM)
+# ------------------------------
+AC_DEFUN([AM_MISSING_PROG],
+[AC_REQUIRE([AM_MISSING_HAS_RUN])
+$1=${$1-"${am_missing_run}$2"}
+AC_SUBST($1)])
+
+
+# AM_MISSING_HAS_RUN
+# ------------------
+# Define MISSING if not defined so far and test if it supports --run.
+# If it does, set am_missing_run to use it, otherwise, to nothing.
+AC_DEFUN([AM_MISSING_HAS_RUN],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+ am_missing_run="$MISSING --run "
+else
+ am_missing_run=
+ AC_MSG_WARN([`missing' script is too old or missing])
+fi
+])
+
+# AM_AUX_DIR_EXPAND
+
+# Copyright 2001 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
+# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
+# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+#
+# Of course, Automake must honor this variable whenever it calls a
+# tool from the auxiliary directory. The problem is that $srcdir (and
+# therefore $ac_aux_dir as well) can be either absolute or relative,
+# depending on how configure is run. This is pretty annoying, since
+# it makes $ac_aux_dir quite unusable in subdirectories: in the top
+# source directory, any form will work fine, but in subdirectories a
+# relative path needs to be adjusted first.
+#
+# $ac_aux_dir/missing
+# fails when called from a subdirectory if $ac_aux_dir is relative
+# $top_srcdir/$ac_aux_dir/missing
+# fails if $ac_aux_dir is absolute,
+# fails when called from a subdirectory in a VPATH build with
+# a relative $ac_aux_dir
+#
+# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
+# are both prefixed by $srcdir. In an in-source build this is usually
+# harmless because $srcdir is `.', but things will broke when you
+# start a VPATH build or use an absolute $srcdir.
+#
+# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
+# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
+# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
+# and then we would define $MISSING as
+# MISSING="\${SHELL} $am_aux_dir/missing"
+# This will work as long as MISSING is not called from configure, because
+# unfortunately $(top_srcdir) has no meaning in configure.
+# However there are other variables, like CC, which are often used in
+# configure, and could therefore not use this "fixed" $ac_aux_dir.
+#
+# Another solution, used here, is to always expand $ac_aux_dir to an
+# absolute PATH. The drawback is that using absolute paths prevent a
+# configured tree to be moved without reconfiguration.
+
+# Rely on autoconf to set up CDPATH properly.
+AC_PREREQ([2.50])
+
+AC_DEFUN([AM_AUX_DIR_EXPAND], [
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+])
+
+# AM_PROG_INSTALL_SH
+# ------------------
+# Define $install_sh.
+
+# Copyright 2001 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+AC_DEFUN([AM_PROG_INSTALL_SH],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+install_sh=${install_sh-"$am_aux_dir/install-sh"}
+AC_SUBST(install_sh)])
+
+# AM_PROG_INSTALL_STRIP
+
+# Copyright 2001 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+# One issue with vendor `install' (even GNU) is that you can't
+# specify the program used to strip binaries. This is especially
+# annoying in cross-compiling environments, where the build's strip
+# is unlikely to handle the host's binaries.
+# Fortunately install-sh will honor a STRIPPROG variable, so we
+# always use install-sh in `make install-strip', and initialize
+# STRIPPROG with the value of the STRIP variable (set by the user).
+AC_DEFUN([AM_PROG_INSTALL_STRIP],
+[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'. However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+if test "$cross_compiling" != no; then
+ AC_CHECK_TOOL([STRIP], [strip], :)
+fi
+INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
+AC_SUBST([INSTALL_STRIP_PROGRAM])])
+
+# -*- Autoconf -*-
+# Copyright (C) 2003 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+# serial 1
+
+# Check whether the underlying file-system supports filenames
+# with a leading dot. For instance MS-DOS doesn't.
+AC_DEFUN([AM_SET_LEADING_DOT],
+[rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+ am__leading_dot=.
+else
+ am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+AC_SUBST([am__leading_dot])])
+
+# serial 5 -*- Autoconf -*-
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+
+# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
+# written in clear, in which case automake, when reading aclocal.m4,
+# will think it sees a *use*, and therefore will trigger all it's
+# C support machinery. Also note that it means that autoscan, seeing
+# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
+
+
+
+# _AM_DEPENDENCIES(NAME)
+# ----------------------
+# See how the compiler implements dependency checking.
+# NAME is "CC", "CXX", "GCJ", or "OBJC".
+# We try a few techniques and use that to set a single cache variable.
+#
+# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
+# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
+# dependency, and given that the user is not expected to run this macro,
+# just rely on AC_PROG_CC.
+AC_DEFUN([_AM_DEPENDENCIES],
+[AC_REQUIRE([AM_SET_DEPDIR])dnl
+AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
+AC_REQUIRE([AM_MAKE_INCLUDE])dnl
+AC_REQUIRE([AM_DEP_TRACK])dnl
+
+ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
+ [$1], CXX, [depcc="$CXX" am_compiler_list=],
+ [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+ [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
+ [depcc="$$1" am_compiler_list=])
+
+AC_CACHE_CHECK([dependency style of $depcc],
+ [am_cv_$1_dependencies_compiler_type],
+[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+ # We make a subdir and do the tests there. Otherwise we can end up
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named `D' -- because `-MD' means `put the output
+ # in D'.
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+
+ am_cv_$1_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
+ fi
+ for depmode in $am_compiler_list; do
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ echo '#include "conftest.h"' > conftest.c
+ echo 'int i;' > conftest.h
+ echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf
+
+ case $depmode in
+ nosideeffect)
+ # after this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
+ else
+ break
+ fi
+ ;;
+ none) break ;;
+ esac
+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle `-M -o', and we need to detect this.
+ if depmode=$depmode \
+ source=conftest.c object=conftest.o \
+ depfile=conftest.Po tmpdepfile=conftest.TPo \
+ $SHELL ./depcomp $depcc -c -o conftest.o conftest.c \
+ >/dev/null 2>conftest.err &&
+ grep conftest.h conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+ # icc doesn't choke on unknown options, it will just issue warnings
+ # (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored.
+ if grep 'ignoring option' conftest.err >/dev/null 2>&1; then :; else
+ am_cv_$1_dependencies_compiler_type=$depmode
+ break
+ fi
+ fi
+ done
+
+ cd ..
+ rm -rf conftest.dir
+else
+ am_cv_$1_dependencies_compiler_type=none
+fi
+])
+AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
+AM_CONDITIONAL([am__fastdep$1], [
+ test "x$enable_dependency_tracking" != xno \
+ && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
+])
+
+
+# AM_SET_DEPDIR
+# -------------
+# Choose a directory name for dependency files.
+# This macro is AC_REQUIREd in _AM_DEPENDENCIES
+AC_DEFUN([AM_SET_DEPDIR],
+[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
+])
+
+
+# AM_DEP_TRACK
+# ------------
+AC_DEFUN([AM_DEP_TRACK],
+[AC_ARG_ENABLE(dependency-tracking,
+[ --disable-dependency-tracking Speeds up one-time builds
+ --enable-dependency-tracking Do not reject slow dependency extractors])
+if test "x$enable_dependency_tracking" != xno; then
+ am_depcomp="$ac_aux_dir/depcomp"
+ AMDEPBACKSLASH='\'
+fi
+AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
+AC_SUBST([AMDEPBACKSLASH])
+])
+
+# Generate code to set up dependency tracking. -*- Autoconf -*-
+
+# Copyright 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+#serial 2
+
+# _AM_OUTPUT_DEPENDENCY_COMMANDS
+# ------------------------------
+AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
+[for mf in $CONFIG_FILES; do
+ # Strip MF so we end up with the name of the file.
+ mf=`echo "$mf" | sed -e 's/:.*$//'`
+ # Check whether this is an Automake generated Makefile or not.
+ # We used to match only the files named `Makefile.in', but
+ # some people rename them; so instead we look at the file content.
+ # Grep'ing the first line is not enough: some people post-process
+ # each Makefile.in and add a new line on top of each file to say so.
+ # So let's grep whole file.
+ if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
+ dirpart=`AS_DIRNAME("$mf")`
+ else
+ continue
+ fi
+ grep '^DEP_FILES *= *[[^ @%:@]]' < "$mf" > /dev/null || continue
+ # Extract the definition of DEP_FILES from the Makefile without
+ # running `make'.
+ DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"`
+ test -z "$DEPDIR" && continue
+ # When using ansi2knr, U may be empty or an underscore; expand it
+ U=`sed -n -e '/^U = / s///p' < "$mf"`
+ test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR"
+ # We invoke sed twice because it is the simplest approach to
+ # changing $(DEPDIR) to its actual value in the expansion.
+ for file in `sed -n -e '
+ /^DEP_FILES = .*\\\\$/ {
+ s/^DEP_FILES = //
+ :loop
+ s/\\\\$//
+ p
+ n
+ /\\\\$/ b loop
+ p
+ }
+ /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+ # Make sure the directory exists.
+ test -f "$dirpart/$file" && continue
+ fdir=`AS_DIRNAME(["$file"])`
+ AS_MKDIR_P([$dirpart/$fdir])
+ # echo "creating $dirpart/$file"
+ echo '# dummy' > "$dirpart/$file"
+ done
+done
+])# _AM_OUTPUT_DEPENDENCY_COMMANDS
+
+
+# AM_OUTPUT_DEPENDENCY_COMMANDS
+# -----------------------------
+# This macro should only be invoked once -- use via AC_REQUIRE.
+#
+# This code is only required when automatic dependency tracking
+# is enabled. FIXME. This creates each `.P' file that we will
+# need in order to bootstrap the dependency handling code.
+AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
+[AC_CONFIG_COMMANDS([depfiles],
+ [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
+ [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
+])
+
+# Check to see how 'make' treats includes. -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+# serial 2
+
+# AM_MAKE_INCLUDE()
+# -----------------
+# Check to see how make treats includes.
+AC_DEFUN([AM_MAKE_INCLUDE],
+[am_make=${MAKE-make}
+cat > confinc << 'END'
+doit:
+ @echo done
+END
+# If we don't find an include directive, just comment out the code.
+AC_MSG_CHECKING([for style of include used by $am_make])
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# We grep out `Entering directory' and `Leaving directory'
+# messages which can occur if `w' ends up in MAKEFLAGS.
+# In particular we don't look at `^make:' because GNU make might
+# be invoked under some other name (usually "gmake"), in which
+# case it prints its new name instead of `make'.
+if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
+ am__include=include
+ am__quote=
+ _am_result=GNU
+fi
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+ echo '.include "confinc"' > confmf
+ if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
+ am__include=.include
+ am__quote="\""
+ _am_result=BSD
+ fi
+fi
+AC_SUBST(am__include)
+AC_SUBST(am__quote)
+AC_MSG_RESULT($_am_result)
+rm -f confinc confmf
+])
+
+# AM_CONDITIONAL -*- Autoconf -*-
+
+# Copyright 1997, 2000, 2001 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+# serial 5
+
+AC_PREREQ(2.52)
+
+# AM_CONDITIONAL(NAME, SHELL-CONDITION)
+# -------------------------------------
+# Define a conditional.
+AC_DEFUN([AM_CONDITIONAL],
+[ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
+ [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+AC_SUBST([$1_TRUE])
+AC_SUBST([$1_FALSE])
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi
+AC_CONFIG_COMMANDS_PRE(
+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
+ AC_MSG_ERROR([conditional "$1" was never defined.
+Usually this means the macro was only invoked conditionally.])
+fi])])
+
diff --git a/freebsdtvision/color-xterm.ti b/freebsdtvision/color-xterm.ti
new file mode 100644
index 0000000..b234505
--- /dev/null
+++ b/freebsdtvision/color-xterm.ti
@@ -0,0 +1,42 @@
+# Reconstructed via infocmp from file: /root/.terminfo/x/xterm-color
+xterm-color|xterm with KOI8 font and color support,
+ am, km, mir, msgr, xenl, xon,
+ colors#8, cols#80, it#8, lines#65, ncv#3, pairs#64,
+ acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~..--++\054\054hhII00,
+ bel=^G, bold=\E[1m, clear=\E[H\E[2J, cr=^M,
+ csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+ cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
+ cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+ dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M,
+ ed=\E[J, el=\E[K, enacs=\E(B\E)0, home=\E[H, ht=^I,
+ ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[L,
+ ind=^J,
+ is2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l,
+ kbs=\b, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC,
+ kcuu1=\EOA, kdch1=^?, kend=\E[8~, kent=\EOM,
+ kf1=\E[11~, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~,
+ kf13=\E[25~, kf14=\E[26~, kf15=\E[27~, kf16=\E[28~,
+ kf17=\E[29~, kf18=\E[30~, kf19=\E[31~, kf2=\E[12~,
+ kf20=\E[32~, kf21=\E[33~, kf22=\E[34~, kf23=\E[35~,
+ kf24=\E[36~, kf25=\E[11\^, kf26=\E[12\^, kf27=\E[13\^,
+ kf28=\E[14\^, kf29=\E[15\^, kf3=\E[13~, kf30=\E[17\^,
+ kf31=\E[18\^, kf32=\E[19\^, kf33=\E[20\^, kf34=\E[21\^,
+ kf35=\E[22\^, kf36=\E\e[23\^, kf37=\E\e[11~, kf38=\E\e[12~,
+ kf39=\E\e[13~, kf4=\E[14~, kf40=\E\e[14~, kf41=\E\e[15~,
+ kf42=\E\e[17~, kf43=\E\e[18~, kf44=\E\e[19~, kf45=\E\e[20~,
+ kf46=\E\e[21~, kf47=\E\e[22~, kf48=\E\e[23~, kf5=\E[15~,
+ kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+ khome=\E[7~, kich1=\E[2~, kmous=\E[M, knp=\E[6~,
+ kpp=\E[5~, kll=\E[6\^, kbeg=\E[5\^, kcpy=\E[2\^,
+ kBEG=^V,
+ op=\E[37;40m, rc=\E8, rev=\E[7m, ri=\EM,
+ rmacs=^O, rmam=\E[?7l, rmcup=\E[2J\E[?47l\E8,
+ rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m,
+ rs1=^O,
+ rs2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l\E<,
+ sc=\E7, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+ setb=\E[%p1%{40}%+%dm, setf=\E[%p1%{30}%+%dm,
+ sgr0=\E[m, smacs=^N, smam=\E[?7h, smcup=\E7\E[?47h,
+ smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m,
+ tbc=\E[3k, u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?1;2c,
+ u9=\E[c,
diff --git a/freebsdtvision/config.h.in b/freebsdtvision/config.h.in
new file mode 100644
index 0000000..82e4f57
--- /dev/null
+++ b/freebsdtvision/config.h.in
@@ -0,0 +1,91 @@
+/* config.h.in. Generated from configure.in by autoheader. */
+
+/* Define this to disable the 8 bit output. */
+#undef DISABLE_8BIT_CHARS
+
+/* Define this to disable the alterate character set. */
+#undef DISABLE_ACS
+
+/* Define to enable the FreeBSD mouse support. */
+#undef ENABLE_FBSDM
+
+/* Define to enable the Linux GPM mouse support. */
+#undef ENABLE_GPM
+
+/* Define this to enable the Russian character set. */
+#undef ENABLE_RUSSIAN_CHARSET
+
+/* Define to enable the Linux VCS support. */
+#undef ENABLE_VCS
+
+/* Define to 1 if you have the <curses.h> header file. */
+#undef HAVE_CURSES_H
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#undef HAVE_DLFCN_H
+
+/* Define to 1 if you have the <gpm.h> header file. */
+#undef HAVE_GPM_H
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#undef HAVE_INTTYPES_H
+
+/* Define to 1 if you have the `curses' library (-lcurses). */
+#undef HAVE_LIBCURSES
+
+/* Define to 1 if you have the `gpm' library (-lgpm). */
+#undef HAVE_LIBGPM
+
+/* Define to 1 if you have the `ncurses' library (-lncurses). */
+#undef HAVE_LIBNCURSES
+
+/* Define to 1 if you have the <memory.h> header file. */
+#undef HAVE_MEMORY_H
+
+/* Define to 1 if you have the <ncurses.h> header file. */
+#undef HAVE_NCURSES_H
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#undef HAVE_STDINT_H
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#undef HAVE_STDLIB_H
+
+/* Define to 1 if you have the <strings.h> header file. */
+#undef HAVE_STRINGS_H
+
+/* Define to 1 if you have the <string.h> header file. */
+#undef HAVE_STRING_H
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#undef HAVE_SYS_STAT_H
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#undef HAVE_SYS_TYPES_H
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#undef HAVE_UNISTD_H
+
+/* Name of package */
+#undef PACKAGE
+
+/* Define to the address where bug reports for this package should be sent. */
+#undef PACKAGE_BUGREPORT
+
+/* Define to the full name of this package. */
+#undef PACKAGE_NAME
+
+/* Define to the full name and version of this package. */
+#undef PACKAGE_STRING
+
+/* Define to the one symbol short name of this package. */
+#undef PACKAGE_TARNAME
+
+/* Define to the version of this package. */
+#undef PACKAGE_VERSION
+
+/* Define to 1 if you have the ANSI C header files. */
+#undef STDC_HEADERS
+
+/* Version number of package */
+#undef VERSION
diff --git a/freebsdtvision/configure b/freebsdtvision/configure
new file mode 100755
index 0000000..5433be6
--- /dev/null
+++ b/freebsdtvision/configure
@@ -0,0 +1,9995 @@
+#! /bin/sh
+# Guess values for system-dependent variables and create Makefiles.
+# Generated by GNU Autoconf 2.57 for tvision 1.5.
+#
+# Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002
+# Free Software Foundation, Inc.
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+## --------------------- ##
+## M4sh Initialization. ##
+## --------------------- ##
+
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+ set -o posix
+fi
+
+# Support unset when possible.
+if (FOO=FOO; unset FOO) >/dev/null 2>&1; then
+ as_unset=unset
+else
+ as_unset=false
+fi
+
+
+# Work around bugs in pre-3.0 UWIN ksh.
+$as_unset ENV MAIL MAILPATH
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in \
+ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+ LC_TELEPHONE LC_TIME
+do
+ if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then
+ eval $as_var=C; export $as_var
+ else
+ $as_unset $as_var
+ fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)$' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
+ /^X\/\(\/\/\)$/{ s//\1/; q; }
+ /^X\/\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+
+
+# PATH needs CR, and LINENO needs CR and PATH.
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
+fi
+
+
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x$as_lineno_3" = "x$as_lineno_2" || {
+ # Find who we are. Look in the path if we contain no path at all
+ # relative or not.
+ case $0 in
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+
+ ;;
+ esac
+ # We did not find ourselves, most probably we were run as `sh COMMAND'
+ # in which case we are not to be found in the path.
+ if test "x$as_myself" = x; then
+ as_myself=$0
+ fi
+ if test ! -f "$as_myself"; then
+ { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2
+ { (exit 1); exit 1; }; }
+ fi
+ case $CONFIG_SHELL in
+ '')
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for as_base in sh bash ksh sh5; do
+ case $as_dir in
+ /*)
+ if ("$as_dir/$as_base" -c '
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
+ $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
+ $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
+ CONFIG_SHELL=$as_dir/$as_base
+ export CONFIG_SHELL
+ exec "$CONFIG_SHELL" "$0" ${1+"$@"}
+ fi;;
+ esac
+ done
+done
+;;
+ esac
+
+ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+ # uniformly replaced by the line number. The first 'sed' inserts a
+ # line-number line before each line; the second 'sed' does the real
+ # work. The second script uses 'N' to pair each line-number line
+ # with the numbered line, and appends trailing '-' during
+ # substitution so that $LINENO is not a special case at line end.
+ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+ # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
+ sed '=' <$as_myself |
+ sed '
+ N
+ s,$,-,
+ : loop
+ s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+ t loop
+ s,-$,,
+ s,^['$as_cr_digits']*\n,,
+ ' >$as_me.lineno &&
+ chmod +x $as_me.lineno ||
+ { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+ { (exit 1); exit 1; }; }
+
+ # Don't try to exec as it changes $[0], causing all sort of problems
+ # (the dirname of $[0] is not the place where we might find the
+ # original and so on. Autoconf is especially sensible to this).
+ . ./$as_me.lineno
+ # Exit status is that of the last command.
+ exit
+}
+
+
+case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
+ *c*,-n*) ECHO_N= ECHO_C='
+' ECHO_T=' ' ;;
+ *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
+ *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
+esac
+
+if expr a : '\(a\)' >/dev/null 2>&1; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+ # We could just check for DJGPP; but this test a) works b) is more generic
+ # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+ if test -f conf$$.exe; then
+ # Don't use ln at all; we don't have any links
+ as_ln_s='cp -p'
+ else
+ as_ln_s='ln -s'
+ fi
+elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.file
+
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p=:
+else
+ as_mkdir_p=false
+fi
+
+as_executable_p="test -f"
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g"
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.
+as_nl='
+'
+IFS=" $as_nl"
+
+# CDPATH.
+$as_unset CDPATH
+
+
+# Find the correct PATH separator. Usually this is `:', but
+# DJGPP uses `;' like DOS.
+if test "X${PATH_SEPARATOR+set}" != Xset; then
+ UNAME=${UNAME-`uname 2>/dev/null`}
+ case X$UNAME in
+ *-DOS) lt_cv_sys_path_separator=';' ;;
+ *) lt_cv_sys_path_separator=':' ;;
+ esac
+ PATH_SEPARATOR=$lt_cv_sys_path_separator
+fi
+
+
+# Check that we are running under the correct shell.
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+case X$ECHO in
+X*--fallback-echo)
+ # Remove one level of quotation (which was required for Make).
+ ECHO=`echo "$ECHO" | sed 's,\\\\\$\\$0,'$0','`
+ ;;
+esac
+
+echo=${ECHO-echo}
+if test "X$1" = X--no-reexec; then
+ # Discard the --no-reexec flag, and continue.
+ shift
+elif test "X$1" = X--fallback-echo; then
+ # Avoid inline document here, it may be left over
+ :
+elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
+ # Yippee, $echo works!
+ :
+else
+ # Restart under the correct shell.
+ exec $SHELL "$0" --no-reexec ${1+"$@"}
+fi
+
+if test "X$1" = X--fallback-echo; then
+ # used as fallback echo
+ shift
+ cat <<EOF
+
+EOF
+ exit 0
+fi
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+if test "X${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi
+
+if test -z "$ECHO"; then
+if test "X${echo_test_string+set}" != Xset; then
+# find a string as large as possible, as long as the shell can cope with it
+ for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do
+ # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
+ if (echo_test_string="`eval $cmd`") 2>/dev/null &&
+ echo_test_string="`eval $cmd`" &&
+ (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
+ then
+ break
+ fi
+ done
+fi
+
+if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ :
+else
+ # The Solaris, AIX, and Digital Unix default echo programs unquote
+ # backslashes. This makes it impossible to quote backslashes using
+ # echo "$something" | sed 's/\\/\\\\/g'
+ #
+ # So, first we look for a working echo in the user's PATH.
+
+ IFS="${IFS= }"; save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for dir in $PATH /usr/ucb; do
+ if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
+ test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ echo="$dir/echo"
+ break
+ fi
+ done
+ IFS="$save_ifs"
+
+ if test "X$echo" = Xecho; then
+ # We didn't find a better echo, so look for alternatives.
+ if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ # This shell has a builtin print -r that does the trick.
+ echo='print -r'
+ elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
+ test "X$CONFIG_SHELL" != X/bin/ksh; then
+ # If we have ksh, try running configure again with it.
+ ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
+ export ORIGINAL_CONFIG_SHELL
+ CONFIG_SHELL=/bin/ksh
+ export CONFIG_SHELL
+ exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"}
+ else
+ # Try using printf.
+ echo='printf %s\n'
+ if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ # Cool, printf works
+ :
+ elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
+ test "X$echo_testing_string" = 'X\t' &&
+ echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
+ export CONFIG_SHELL
+ SHELL="$CONFIG_SHELL"
+ export SHELL
+ echo="$CONFIG_SHELL $0 --fallback-echo"
+ elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
+ test "X$echo_testing_string" = 'X\t' &&
+ echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ echo="$CONFIG_SHELL $0 --fallback-echo"
+ else
+ # maybe with a smaller string...
+ prev=:
+
+ for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do
+ if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null
+ then
+ break
+ fi
+ prev="$cmd"
+ done
+
+ if test "$prev" != 'sed 50q "$0"'; then
+ echo_test_string=`eval $prev`
+ export echo_test_string
+ exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"}
+ else
+ # Oops. We lost completely, so just stick with echo.
+ echo=echo
+ fi
+ fi
+ fi
+ fi
+fi
+fi
+
+# Copy echo and quote the copy suitably for passing to libtool from
+# the Makefile, instead of quoting the original, which is used later.
+ECHO=$echo
+if test "X$ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then
+ ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo"
+fi
+
+
+
+# Name of the host.
+# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# so uname gets run too.
+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+exec 6>&1
+
+#
+# Initializations.
+#
+ac_default_prefix=/usr/local
+ac_config_libobj_dir=.
+cross_compiling=no
+subdirs=
+MFLAGS=
+MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+# Maximum number of lines to put in a shell here document.
+# This variable seems obsolete. It should probably be removed, and
+# only ac_max_sed_lines should be used.
+: ${ac_max_here_lines=38}
+
+# Identity of this package.
+PACKAGE_NAME='tvision'
+PACKAGE_TARNAME='tvision'
+PACKAGE_VERSION='1.5'
+PACKAGE_STRING='tvision 1.5'
+PACKAGE_BUGREPORT=''
+
+ac_unique_file="lib/tv.h"
+# Factoring default headers for most tests.
+ac_includes_default="\
+#include <stdio.h>
+#if HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#if HAVE_SYS_STAT_H
+# include <sys/stat.h>
+#endif
+#if STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#else
+# if HAVE_STDLIB_H
+# include <stdlib.h>
+# endif
+#endif
+#if HAVE_STRING_H
+# if !STDC_HEADERS && HAVE_MEMORY_H
+# include <memory.h>
+# endif
+# include <string.h>
+#endif
+#if HAVE_STRINGS_H
+# include <strings.h>
+#endif
+#if HAVE_INTTYPES_H
+# include <inttypes.h>
+#else
+# if HAVE_STDINT_H
+# include <stdint.h>
+# endif
+#endif
+#if HAVE_UNISTD_H
+# include <unistd.h>
+#endif"
+
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO AMTAR install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM AWK SET_MAKE am__leading_dot build build_cpu build_vendor build_os host host_cpu host_vendor host_os CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CPP EGREP LN_S ECHO RANLIB ac_ct_RANLIB LIBTOOL LIBOBJS LTLIBOBJS'
+ac_subst_files=''
+
+# Initialize some variables set by options.
+ac_init_help=
+ac_init_version=false
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+cache_file=/dev/null
+exec_prefix=NONE
+no_create=
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+verbose=
+x_includes=NONE
+x_libraries=NONE
+
+# Installation directory options.
+# These are left unexpanded so users can "make install exec_prefix=/foo"
+# and all the variables that are supposed to be based on exec_prefix
+# by default will actually change.
+# Use braces instead of parens because sh, perl, etc. also accept them.
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+ac_prev=
+for ac_option
+do
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case $ac_option in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir=$ac_optarg ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build_alias ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build_alias=$ac_optarg ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file=$ac_optarg ;;
+
+ --config-cache | -C)
+ cache_file=config.cache ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir=$ac_optarg ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+ { (exit 1); exit 1; }; }
+ ac_feature=`echo $ac_feature | sed 's/-/_/g'`
+ eval "enable_$ac_feature=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+ { (exit 1); exit 1; }; }
+ ac_feature=`echo $ac_feature | sed 's/-/_/g'`
+ case $ac_option in
+ *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_$ac_feature='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix=$ac_optarg ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he | -h)
+ ac_init_help=long ;;
+ -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
+ ac_init_help=recursive ;;
+ -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
+ ac_init_help=short ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host_alias ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host_alias=$ac_optarg ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir=$ac_optarg ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir=$ac_optarg ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir=$ac_optarg ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir=$ac_optarg ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir=$ac_optarg ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir=$ac_optarg ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c | -n)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir=$ac_optarg ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix=$ac_optarg ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix=$ac_optarg ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix=$ac_optarg ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name=$ac_optarg ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir=$ac_optarg ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir=$ac_optarg ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site=$ac_optarg ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir=$ac_optarg ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir=$ac_optarg ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target_alias ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target_alias=$ac_optarg ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers | -V)
+ ac_init_version=: ;;
+
+ -with-* | --with-*)
+ ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid package name: $ac_package" >&2
+ { (exit 1); exit 1; }; }
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case $ac_option in
+ *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_$ac_package='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid package name: $ac_package" >&2
+ { (exit 1); exit 1; }; }
+ ac_package=`echo $ac_package | sed 's/-/_/g'`
+ eval "with_$ac_package=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes=$ac_optarg ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries=$ac_optarg ;;
+
+ -*) { echo "$as_me: error: unrecognized option: $ac_option
+Try \`$0 --help' for more information." >&2
+ { (exit 1); exit 1; }; }
+ ;;
+
+ *=*)
+ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
+ { (exit 1); exit 1; }; }
+ ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
+ eval "$ac_envvar='$ac_optarg'"
+ export $ac_envvar ;;
+
+ *)
+ # FIXME: should be removed in autoconf 3.0.
+ echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+ : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+ { echo "$as_me: error: missing argument to $ac_option" >&2
+ { (exit 1); exit 1; }; }
+fi
+
+# Be sure to have absolute paths.
+for ac_var in exec_prefix prefix
+do
+ eval ac_val=$`echo $ac_var`
+ case $ac_val in
+ [\\/$]* | ?:[\\/]* | NONE | '' ) ;;
+ *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+ { (exit 1); exit 1; }; };;
+ esac
+done
+
+# Be sure to have absolute paths.
+for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
+ localstatedir libdir includedir oldincludedir infodir mandir
+do
+ eval ac_val=$`echo $ac_var`
+ case $ac_val in
+ [\\/$]* | ?:[\\/]* ) ;;
+ *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+ { (exit 1); exit 1; }; };;
+ esac
+done
+
+# There might be people who depend on the old broken behavior: `$host'
+# used to hold the argument of --host etc.
+# FIXME: To remove some day.
+build=$build_alias
+host=$host_alias
+target=$target_alias
+
+# FIXME: To remove some day.
+if test "x$host_alias" != x; then
+ if test "x$build_alias" = x; then
+ cross_compiling=maybe
+ echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
+ If a cross compiler is detected then cross compile mode will be used." >&2
+ elif test "x$build_alias" != "x$host_alias"; then
+ cross_compiling=yes
+ fi
+fi
+
+ac_tool_prefix=
+test -n "$host_alias" && ac_tool_prefix=$host_alias-
+
+test "$silent" = yes && exec 6>/dev/null
+
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_confdir=`(dirname "$0") 2>/dev/null ||
+$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$0" : 'X\(//\)[^/]' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$0" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
+ { (exit 1); exit 1; }; }
+ else
+ { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
+ { (exit 1); exit 1; }; }
+ fi
+fi
+(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null ||
+ { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2
+ { (exit 1); exit 1; }; }
+srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
+ac_env_build_alias_set=${build_alias+set}
+ac_env_build_alias_value=$build_alias
+ac_cv_env_build_alias_set=${build_alias+set}
+ac_cv_env_build_alias_value=$build_alias
+ac_env_host_alias_set=${host_alias+set}
+ac_env_host_alias_value=$host_alias
+ac_cv_env_host_alias_set=${host_alias+set}
+ac_cv_env_host_alias_value=$host_alias
+ac_env_target_alias_set=${target_alias+set}
+ac_env_target_alias_value=$target_alias
+ac_cv_env_target_alias_set=${target_alias+set}
+ac_cv_env_target_alias_value=$target_alias
+ac_env_CC_set=${CC+set}
+ac_env_CC_value=$CC
+ac_cv_env_CC_set=${CC+set}
+ac_cv_env_CC_value=$CC
+ac_env_CFLAGS_set=${CFLAGS+set}
+ac_env_CFLAGS_value=$CFLAGS
+ac_cv_env_CFLAGS_set=${CFLAGS+set}
+ac_cv_env_CFLAGS_value=$CFLAGS
+ac_env_LDFLAGS_set=${LDFLAGS+set}
+ac_env_LDFLAGS_value=$LDFLAGS
+ac_cv_env_LDFLAGS_set=${LDFLAGS+set}
+ac_cv_env_LDFLAGS_value=$LDFLAGS
+ac_env_CPPFLAGS_set=${CPPFLAGS+set}
+ac_env_CPPFLAGS_value=$CPPFLAGS
+ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set}
+ac_cv_env_CPPFLAGS_value=$CPPFLAGS
+ac_env_CXX_set=${CXX+set}
+ac_env_CXX_value=$CXX
+ac_cv_env_CXX_set=${CXX+set}
+ac_cv_env_CXX_value=$CXX
+ac_env_CXXFLAGS_set=${CXXFLAGS+set}
+ac_env_CXXFLAGS_value=$CXXFLAGS
+ac_cv_env_CXXFLAGS_set=${CXXFLAGS+set}
+ac_cv_env_CXXFLAGS_value=$CXXFLAGS
+ac_env_CPP_set=${CPP+set}
+ac_env_CPP_value=$CPP
+ac_cv_env_CPP_set=${CPP+set}
+ac_cv_env_CPP_value=$CPP
+
+#
+# Report the --help message.
+#
+if test "$ac_init_help" = "long"; then
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat <<_ACEOF
+\`configure' configures tvision 1.5 to adapt to many kinds of systems.
+
+Usage: $0 [OPTION]... [VAR=VALUE]...
+
+To assign environment variables (e.g., CC, CFLAGS...), specify them as
+VAR=VALUE. See below for descriptions of some of the useful variables.
+
+Defaults for the options are specified in brackets.
+
+Configuration:
+ -h, --help display this help and exit
+ --help=short display options specific to this package
+ --help=recursive display the short help of all the included packages
+ -V, --version display version information and exit
+ -q, --quiet, --silent do not print \`checking...' messages
+ --cache-file=FILE cache test results in FILE [disabled]
+ -C, --config-cache alias for \`--cache-file=config.cache'
+ -n, --no-create do not create output files
+ --srcdir=DIR find the sources in DIR [configure dir or \`..']
+
+_ACEOF
+
+ cat <<_ACEOF
+Installation directories:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [PREFIX]
+
+By default, \`make install' will install all the files in
+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
+an installation prefix other than \`$ac_default_prefix' using \`--prefix',
+for instance \`--prefix=\$HOME'.
+
+For better control, use the options below.
+
+Fine tuning of the installation directories:
+ --bindir=DIR user executables [EPREFIX/bin]
+ --sbindir=DIR system admin executables [EPREFIX/sbin]
+ --libexecdir=DIR program executables [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data [PREFIX/var]
+ --libdir=DIR object code libraries [EPREFIX/lib]
+ --includedir=DIR C header files [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc [/usr/include]
+ --infodir=DIR info documentation [PREFIX/info]
+ --mandir=DIR man documentation [PREFIX/man]
+_ACEOF
+
+ cat <<\_ACEOF
+
+Program names:
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM run sed PROGRAM on installed program names
+
+System types:
+ --build=BUILD configure for building on BUILD [guessed]
+ --host=HOST cross-compile to build programs to run on HOST [BUILD]
+_ACEOF
+fi
+
+if test -n "$ac_init_help"; then
+ case $ac_init_help in
+ short | recursive ) echo "Configuration of tvision 1.5:";;
+ esac
+ cat <<\_ACEOF
+
+Optional Features:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --disable-dependency-tracking Speeds up one-time builds
+ --enable-dependency-tracking Do not reject slow dependency extractors
+ --enable-shared=PKGS build shared libraries default=yes
+ --enable-static=PKGS build static libraries default=yes
+ --enable-fast-install=PKGS optimize for fast installation default=yes
+ --disable-libtool-lock avoid locking (might break parallel builds)
+ --enable-russian enable Russian character set (now obsolete)
+ --disable-acs disable alternate character set
+ --disable-8bit disable 8 bit output
+ --disable-linux-gpm disable Linux GPM mouse support
+ --disable-linux-vcs disable Linux VCS support
+ --disable-freebsd-mouse disable FreeBSD mouse support
+
+Optional Packages:
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --with-gnu-ld assume the C compiler uses GNU ld default=no
+ --with-pic try to use only PIC/non-PIC objects default=use both
+
+Some influential environment variables:
+ CC C compiler command
+ CFLAGS C compiler flags
+ LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
+ nonstandard directory <lib dir>
+ CPPFLAGS C/C++ preprocessor flags, e.g. -I<include dir> if you have
+ headers in a nonstandard directory <include dir>
+ CXX C++ compiler command
+ CXXFLAGS C++ compiler flags
+ CPP C preprocessor
+
+Use these variables to override the choices made by `configure' or to help
+it to find libraries and programs with nonstandard names/locations.
+
+_ACEOF
+fi
+
+if test "$ac_init_help" = "recursive"; then
+ # If there are subdirs, report their specific --help.
+ ac_popdir=`pwd`
+ for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
+ test -d $ac_dir || continue
+ ac_builddir=.
+
+if test "$ac_dir" != .; then
+ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
+else
+ ac_dir_suffix= ac_top_builddir=
+fi
+
+case $srcdir in
+ .) # No --srcdir option. We are building in place.
+ ac_srcdir=.
+ if test -z "$ac_top_builddir"; then
+ ac_top_srcdir=.
+ else
+ ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
+ fi ;;
+ [\\/]* | ?:[\\/]* ) # Absolute path.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir ;;
+ *) # Relative path.
+ ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_builddir$srcdir ;;
+esac
+# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
+# absolute.
+ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd`
+ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd`
+ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd`
+ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
+
+ cd $ac_dir
+ # Check for guested configure; otherwise get Cygnus style configure.
+ if test -f $ac_srcdir/configure.gnu; then
+ echo
+ $SHELL $ac_srcdir/configure.gnu --help=recursive
+ elif test -f $ac_srcdir/configure; then
+ echo
+ $SHELL $ac_srcdir/configure --help=recursive
+ elif test -f $ac_srcdir/configure.ac ||
+ test -f $ac_srcdir/configure.in; then
+ echo
+ $ac_configure --help
+ else
+ echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+ fi
+ cd $ac_popdir
+ done
+fi
+
+test -n "$ac_init_help" && exit 0
+if $ac_init_version; then
+ cat <<\_ACEOF
+tvision configure 1.5
+generated by GNU Autoconf 2.57
+
+Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002
+Free Software Foundation, Inc.
+This configure script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it.
+_ACEOF
+ exit 0
+fi
+exec 5>config.log
+cat >&5 <<_ACEOF
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by tvision $as_me 1.5, which was
+generated by GNU Autoconf 2.57. Invocation command line was
+
+ $ $0 $@
+
+_ACEOF
+{
+cat <<_ASUNAME
+## --------- ##
+## Platform. ##
+## --------- ##
+
+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
+
+/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
+hostinfo = `(hostinfo) 2>/dev/null || echo unknown`
+/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
+/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
+
+_ASUNAME
+
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ echo "PATH: $as_dir"
+done
+
+} >&5
+
+cat >&5 <<_ACEOF
+
+
+## ----------- ##
+## Core tests. ##
+## ----------- ##
+
+_ACEOF
+
+
+# Keep a trace of the command line.
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Strip out --silent because we don't want to record it for future runs.
+# Also quote any args containing shell meta-characters.
+# Make two passes to allow for proper duplicate-argument suppression.
+ac_configure_args=
+ac_configure_args0=
+ac_configure_args1=
+ac_sep=
+ac_must_keep_next=false
+for ac_pass in 1 2
+do
+ for ac_arg
+ do
+ case $ac_arg in
+ -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ continue ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
+ ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ case $ac_pass in
+ 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
+ 2)
+ ac_configure_args1="$ac_configure_args1 '$ac_arg'"
+ if test $ac_must_keep_next = true; then
+ ac_must_keep_next=false # Got value, back to normal.
+ else
+ case $ac_arg in
+ *=* | --config-cache | -C | -disable-* | --disable-* \
+ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+ | -with-* | --with-* | -without-* | --without-* | --x)
+ case "$ac_configure_args0 " in
+ "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
+ esac
+ ;;
+ -* ) ac_must_keep_next=true ;;
+ esac
+ fi
+ ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
+ # Get rid of the leading space.
+ ac_sep=" "
+ ;;
+ esac
+ done
+done
+$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
+$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
+
+# When interrupted or exit'd, cleanup temporary files, and complete
+# config.log. We remove comments because anyway the quotes in there
+# would cause problems or look ugly.
+# WARNING: Be sure not to use single quotes in there, as some shells,
+# such as our DU 5.0 friend, will then `close' the trap.
+trap 'exit_status=$?
+ # Save into config.log some information that might help in debugging.
+ {
+ echo
+
+ cat <<\_ASBOX
+## ---------------- ##
+## Cache variables. ##
+## ---------------- ##
+_ASBOX
+ echo
+ # The following way of writing the cache mishandles newlines in values,
+{
+ (set) 2>&1 |
+ case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ sed -n \
+ "s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
+ ;;
+ *)
+ sed -n \
+ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+ ;;
+ esac;
+}
+ echo
+
+ cat <<\_ASBOX
+## ----------------- ##
+## Output variables. ##
+## ----------------- ##
+_ASBOX
+ echo
+ for ac_var in $ac_subst_vars
+ do
+ eval ac_val=$`echo $ac_var`
+ echo "$ac_var='"'"'$ac_val'"'"'"
+ done | sort
+ echo
+
+ if test -n "$ac_subst_files"; then
+ cat <<\_ASBOX
+## ------------- ##
+## Output files. ##
+## ------------- ##
+_ASBOX
+ echo
+ for ac_var in $ac_subst_files
+ do
+ eval ac_val=$`echo $ac_var`
+ echo "$ac_var='"'"'$ac_val'"'"'"
+ done | sort
+ echo
+ fi
+
+ if test -s confdefs.h; then
+ cat <<\_ASBOX
+## ----------- ##
+## confdefs.h. ##
+## ----------- ##
+_ASBOX
+ echo
+ sed "/^$/d" confdefs.h | sort
+ echo
+ fi
+ test "$ac_signal" != 0 &&
+ echo "$as_me: caught signal $ac_signal"
+ echo "$as_me: exit $exit_status"
+ } >&5
+ rm -f core core.* *.core &&
+ rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
+ exit $exit_status
+ ' 0
+for ac_signal in 1 2 13 15; do
+ trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
+done
+ac_signal=0
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo >confdefs.h
+
+# Predefined preprocessor variables.
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_NAME "$PACKAGE_NAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_VERSION "$PACKAGE_VERSION"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_STRING "$PACKAGE_STRING"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
+_ACEOF
+
+
+# Let the site file select an alternate cache file if it wants to.
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
+echo "$as_me: loading site script $ac_site_file" >&6;}
+ sed 's/^/| /' "$ac_site_file" >&5
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ # Some versions of bash will fail to source /dev/null (special
+ # files actually), so we avoid doing that.
+ if test -f "$cache_file"; then
+ { echo "$as_me:$LINENO: loading cache $cache_file" >&5
+echo "$as_me: loading cache $cache_file" >&6;}
+ case $cache_file in
+ [\\/]* | ?:[\\/]* ) . $cache_file;;
+ *) . ./$cache_file;;
+ esac
+ fi
+else
+ { echo "$as_me:$LINENO: creating cache $cache_file" >&5
+echo "$as_me: creating cache $cache_file" >&6;}
+ >$cache_file
+fi
+
+# Check that the precious variables saved in the cache have kept the same
+# value.
+ac_cache_corrupted=false
+for ac_var in `(set) 2>&1 |
+ sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do
+ eval ac_old_set=\$ac_cv_env_${ac_var}_set
+ eval ac_new_set=\$ac_env_${ac_var}_set
+ eval ac_old_val="\$ac_cv_env_${ac_var}_value"
+ eval ac_new_val="\$ac_env_${ac_var}_value"
+ case $ac_old_set,$ac_new_set in
+ set,)
+ { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,set)
+ { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,);;
+ *)
+ if test "x$ac_old_val" != "x$ac_new_val"; then
+ { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
+echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+ { echo "$as_me:$LINENO: former value: $ac_old_val" >&5
+echo "$as_me: former value: $ac_old_val" >&2;}
+ { echo "$as_me:$LINENO: current value: $ac_new_val" >&5
+echo "$as_me: current value: $ac_new_val" >&2;}
+ ac_cache_corrupted=:
+ fi;;
+ esac
+ # Pass precious variables to config.status.
+ if test "$ac_new_set" = set; then
+ case $ac_new_val in
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
+ ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+ *) ac_arg=$ac_var=$ac_new_val ;;
+ esac
+ case " $ac_configure_args " in
+ *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
+ *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ esac
+ fi
+done
+if $ac_cache_corrupted; then
+ { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
+echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+ { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
+echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ac_aux_dir=
+for ac_dir in util $srcdir/util; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ elif test -f $ac_dir/shtool; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/shtool install -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in util $srcdir/util" >&5
+echo "$as_me: error: cannot find install-sh or install.sh in util $srcdir/util" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+ac_config_guess="$SHELL $ac_aux_dir/config.guess"
+ac_config_sub="$SHELL $ac_aux_dir/config.sub"
+ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
+
+ ac_config_headers="$ac_config_headers config.h"
+
+
+am__api_version="1.7"
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AmigaOS /C/install, which installs bootblocks on floppy discs
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
+if test -z "$INSTALL"; then
+if test "${ac_cv_path_install+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ # Account for people who put trailing slashes in PATH elements.
+case $as_dir/ in
+ ./ | .// | /cC/* | \
+ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+ /usr/ucb/* ) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
+ if test $ac_prog = install &&
+ grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ elif test $ac_prog = install &&
+ grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # program-specific install script used by HP pwplus--don't use.
+ :
+ else
+ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+ break 3
+ fi
+ fi
+ done
+ done
+ ;;
+esac
+done
+
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL=$ac_cv_path_install
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL=$ac_install_sh
+ fi
+fi
+echo "$as_me:$LINENO: result: $INSTALL" >&5
+echo "${ECHO_T}$INSTALL" >&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo "$as_me:$LINENO: checking whether build environment is sane" >&5
+echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftest.file`
+ fi
+ rm -f conftest.file
+ if test "$*" != "X $srcdir/configure conftest.file" \
+ && test "$*" != "X conftest.file $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" >&5
+echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+
+ test "$2" = conftest.file
+ )
+then
+ # Ok.
+ :
+else
+ { { echo "$as_me:$LINENO: error: newly created file is older than distributed files!
+Check your system clock" >&5
+echo "$as_me: error: newly created file is older than distributed files!
+Check your system clock" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,$program_prefix,;$program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$,$program_suffix,;$program_transform_name"
+# Double any \ or $. echo might interpret backslashes.
+# By default was `s,x,x', remove it if useless.
+cat <<\_ACEOF >conftest.sed
+s/[\\$]/&&/g;s/;s,x,x,$//
+_ACEOF
+program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
+rm conftest.sed
+
+
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+
+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+ am_missing_run="$MISSING --run "
+else
+ am_missing_run=
+ { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
+echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+fi
+
+for ac_prog in gawk mawk nawk awk
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_AWK+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$AWK"; then
+ ac_cv_prog_AWK="$AWK" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_AWK="$ac_prog"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+
+fi
+fi
+AWK=$ac_cv_prog_AWK
+if test -n "$AWK"; then
+ echo "$as_me:$LINENO: result: $AWK" >&5
+echo "${ECHO_T}$AWK" >&6
+else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+ test -n "$AWK" && break
+done
+
+echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'`
+if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.make <<\_ACEOF
+all:
+ @echo 'ac_maketemp="$(MAKE)"'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftest.make
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+ SET_MAKE=
+else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+ am__leading_dot=.
+else
+ am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+
+ # test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" &&
+ test -f $srcdir/config.status; then
+ { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
+echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+ if (cygpath --version) >/dev/null 2>/dev/null; then
+ CYGPATH_W='cygpath -w'
+ else
+ CYGPATH_W=echo
+ fi
+fi
+
+
+# Define the identity of the package.
+ PACKAGE='tvision'
+ VERSION='1.5'
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE "$PACKAGE"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define VERSION "$VERSION"
+_ACEOF
+
+# Some tools Automake needs.
+
+ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
+
+
+AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
+
+
+AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
+
+
+AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
+
+
+MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
+
+
+AMTAR=${AMTAR-"${am_missing_run}tar"}
+
+install_sh=${install_sh-"$am_aux_dir/install-sh"}
+
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'. However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+if test "$cross_compiling" != no; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_STRIP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$STRIP"; then
+ ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+ echo "$as_me:$LINENO: result: $STRIP" >&5
+echo "${ECHO_T}$STRIP" >&6
+else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+ ac_ct_STRIP=$STRIP
+ # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$ac_ct_STRIP"; then
+ ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_STRIP="strip"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+
+ test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":"
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+ echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+echo "${ECHO_T}$ac_ct_STRIP" >&6
+else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+ STRIP=$ac_ct_STRIP
+else
+ STRIP="$ac_cv_prog_STRIP"
+fi
+
+fi
+INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
+
+# We need awk for the "check" target. The system "awk" is bad on
+# some platforms.
+
+
+
+
+# Make sure we can run config.sub.
+$ac_config_sub sun4 >/dev/null 2>&1 ||
+ { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5
+echo "$as_me: error: cannot run $ac_config_sub" >&2;}
+ { (exit 1); exit 1; }; }
+
+echo "$as_me:$LINENO: checking build system type" >&5
+echo $ECHO_N "checking build system type... $ECHO_C" >&6
+if test "${ac_cv_build+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_cv_build_alias=$build_alias
+test -z "$ac_cv_build_alias" &&
+ ac_cv_build_alias=`$ac_config_guess`
+test -z "$ac_cv_build_alias" &&
+ { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
+echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
+ { (exit 1); exit 1; }; }
+ac_cv_build=`$ac_config_sub $ac_cv_build_alias` ||
+ { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5
+echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;}
+ { (exit 1); exit 1; }; }
+
+fi
+echo "$as_me:$LINENO: result: $ac_cv_build" >&5
+echo "${ECHO_T}$ac_cv_build" >&6
+build=$ac_cv_build
+build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+
+
+echo "$as_me:$LINENO: checking host system type" >&5
+echo $ECHO_N "checking host system type... $ECHO_C" >&6
+if test "${ac_cv_host+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_cv_host_alias=$host_alias
+test -z "$ac_cv_host_alias" &&
+ ac_cv_host_alias=$ac_cv_build_alias
+ac_cv_host=`$ac_config_sub $ac_cv_host_alias` ||
+ { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5
+echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;}
+ { (exit 1); exit 1; }; }
+
+fi
+echo "$as_me:$LINENO: result: $ac_cv_host" >&5
+echo "${ECHO_T}$ac_cv_host" >&6
+host=$ac_cv_host
+host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}gcc; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_CC="${ac_tool_prefix}gcc"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6
+else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+ ac_ct_CC=$CC
+ # Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$ac_ct_CC"; then
+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_CC="gcc"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+ echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6
+else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+ CC=$ac_ct_CC
+else
+ CC="$ac_cv_prog_CC"
+fi
+
+if test -z "$CC"; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}cc; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_CC="${ac_tool_prefix}cc"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6
+else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+ ac_ct_CC=$CC
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$ac_ct_CC"; then
+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_CC="cc"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+ echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6
+else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+ CC=$ac_ct_CC
+else
+ CC="$ac_cv_prog_CC"
+fi
+
+fi
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ ac_prog_rejected=no
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# != 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+ fi
+fi
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6
+else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+fi
+if test -z "$CC"; then
+ if test -n "$ac_tool_prefix"; then
+ for ac_prog in cl
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6
+else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+ test -n "$CC" && break
+ done
+fi
+if test -z "$CC"; then
+ ac_ct_CC=$CC
+ for ac_prog in cl
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$ac_ct_CC"; then
+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_CC="$ac_prog"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+ echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6
+else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+ test -n "$ac_ct_CC" && break
+done
+
+ CC=$ac_ct_CC
+fi
+
+fi
+
+
+test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
+See \`config.log' for more details." >&5
+echo "$as_me: error: no acceptable C compiler found in \$PATH
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }
+
+# Provide some information about the compiler.
+echo "$as_me:$LINENO:" \
+ "checking for C compiler version" >&5
+ac_compiler=`set X $ac_compile; echo $2`
+{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
+ (eval $ac_compiler --version </dev/null >&5) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
+ (eval $ac_compiler -v </dev/null >&5) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
+ (eval $ac_compiler -V </dev/null >&5) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files a.out a.exe b.out"
+# Try to create an executable without -o first, disregard a.out.
+# It will help us diagnose broken compilers, and finding out an intuition
+# of exeext.
+echo "$as_me:$LINENO: checking for C compiler default output" >&5
+echo $ECHO_N "checking for C compiler default output... $ECHO_C" >&6
+ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5
+ (eval $ac_link_default) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ # Find the output, starting from the most likely. This scheme is
+# not robust to junk in `.', hence go to wildcards (a.*) only as a last
+# resort.
+
+# Be careful to initialize this variable, since it used to be cached.
+# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile.
+ac_cv_exeext=
+# b.out is created by i960 compilers.
+for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out
+do
+ test -f "$ac_file" || continue
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj )
+ ;;
+ conftest.$ac_ext )
+ # This is the source file.
+ ;;
+ [ab].out )
+ # We found the default executable, but exeext='' is most
+ # certainly right.
+ break;;
+ *.* )
+ ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+ # FIXME: I believe we export ac_cv_exeext for Libtool,
+ # but it would be cool to find out if it's true. Does anybody
+ # maintain Libtool? --akim.
+ export ac_cv_exeext
+ break;;
+ * )
+ break;;
+ esac
+done
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { echo "$as_me:$LINENO: error: C compiler cannot create executables
+See \`config.log' for more details." >&5
+echo "$as_me: error: C compiler cannot create executables
+See \`config.log' for more details." >&2;}
+ { (exit 77); exit 77; }; }
+fi
+
+ac_exeext=$ac_cv_exeext
+echo "$as_me:$LINENO: result: $ac_file" >&5
+echo "${ECHO_T}$ac_file" >&6
+
+# Check the compiler produces executables we can run. If not, either
+# the compiler is broken, or we cross compile.
+echo "$as_me:$LINENO: checking whether the C compiler works" >&5
+echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6
+# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
+# If not cross compiling, check that we can run a simple program.
+if test "$cross_compiling" != yes; then
+ if { ac_try='./$ac_file'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cross_compiling=no
+ else
+ if test "$cross_compiling" = maybe; then
+ cross_compiling=yes
+ else
+ { { echo "$as_me:$LINENO: error: cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+ fi
+fi
+echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+
+rm -f a.out a.exe conftest$ac_cv_exeext b.out
+ac_clean_files=$ac_clean_files_save
+# Check the compiler produces executables we can run. If not, either
+# the compiler is broken, or we cross compile.
+echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
+echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6
+echo "$as_me:$LINENO: result: $cross_compiling" >&5
+echo "${ECHO_T}$cross_compiling" >&6
+
+echo "$as_me:$LINENO: checking for suffix of executables" >&5
+echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ # If both `conftest.exe' and `conftest' are `present' (well, observable)
+# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
+# work properly (i.e., refer to `conftest.exe'), while it won't with
+# `rm'.
+for ac_file in conftest.exe conftest conftest.*; do
+ test -f "$ac_file" || continue
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;;
+ *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+ export ac_cv_exeext
+ break;;
+ * ) break;;
+ esac
+done
+else
+ { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+rm -f conftest$ac_cv_exeext
+echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
+echo "${ECHO_T}$ac_cv_exeext" >&6
+
+rm -f conftest.$ac_ext
+EXEEXT=$ac_cv_exeext
+ac_exeext=$EXEEXT
+echo "$as_me:$LINENO: checking for suffix of object files" >&5
+echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6
+if test "${ac_cv_objext+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.o conftest.obj
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;;
+ *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
+ break;;
+ esac
+done
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot compute suffix of object files: cannot compile
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+rm -f conftest.$ac_cv_objext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
+echo "${ECHO_T}$ac_cv_objext" >&6
+OBJEXT=$ac_cv_objext
+ac_objext=$OBJEXT
+echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
+echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6
+if test "${ac_cv_c_compiler_gnu+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+#ifndef __GNUC__
+ choke me
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_compiler_gnu=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_compiler_gnu=no
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+ac_cv_c_compiler_gnu=$ac_compiler_gnu
+
+fi
+echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
+echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6
+GCC=`test $ac_compiler_gnu = yes && echo yes`
+ac_test_CFLAGS=${CFLAGS+set}
+ac_save_CFLAGS=$CFLAGS
+CFLAGS="-g"
+echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
+echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6
+if test "${ac_cv_prog_cc_g+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_prog_cc_g=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_prog_cc_g=no
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
+echo "${ECHO_T}$ac_cv_prog_cc_g" >&6
+if test "$ac_test_CFLAGS" = set; then
+ CFLAGS=$ac_save_CFLAGS
+elif test $ac_cv_prog_cc_g = yes; then
+ if test "$GCC" = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-g"
+ fi
+else
+ if test "$GCC" = yes; then
+ CFLAGS="-O2"
+ else
+ CFLAGS=
+ fi
+fi
+echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5
+echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
+if test "${ac_cv_prog_cc_stdc+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_cv_prog_cc_stdc=no
+ac_save_CC=$CC
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <stdarg.h>
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
+struct buf { int x; };
+FILE * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+ char **p;
+ int i;
+{
+ return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+ char *s;
+ va_list v;
+ va_start (v,p);
+ s = g (p, va_arg (v,int));
+ va_end (v);
+ return s;
+}
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+int argc;
+char **argv;
+int
+main ()
+{
+return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
+ ;
+ return 0;
+}
+_ACEOF
+# Don't try gcc -ansi; that turns off useful extensions and
+# breaks some systems' header files.
+# AIX -qlanglvl=ansi
+# Ultrix and OSF/1 -std1
+# HP-UX 10.20 and later -Ae
+# HP-UX older versions -Aa -D_HPUX_SOURCE
+# SVR4 -Xc -D__EXTENSIONS__
+for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+ CC="$ac_save_CC $ac_arg"
+ rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_prog_cc_stdc=$ac_arg
+break
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.$ac_objext
+done
+rm -f conftest.$ac_ext conftest.$ac_objext
+CC=$ac_save_CC
+
+fi
+
+case "x$ac_cv_prog_cc_stdc" in
+ x|xno)
+ echo "$as_me:$LINENO: result: none needed" >&5
+echo "${ECHO_T}none needed" >&6 ;;
+ *)
+ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5
+echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
+ CC="$CC $ac_cv_prog_cc_stdc" ;;
+esac
+
+# Some people use a C++ compiler to compile C. Since we use `exit',
+# in C++ we need to declare it. In case someone uses the same compiler
+# for both compiling C and C++ we need to have the C++ compiler decide
+# the declaration of exit, since it's the most demanding environment.
+cat >conftest.$ac_ext <<_ACEOF
+#ifndef __cplusplus
+ choke me
+#endif
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ for ac_declaration in \
+ ''\
+ '#include <stdlib.h>' \
+ 'extern "C" void std::exit (int) throw (); using std::exit;' \
+ 'extern "C" void std::exit (int); using std::exit;' \
+ 'extern "C" void exit (int) throw ();' \
+ 'extern "C" void exit (int);' \
+ 'void exit (int);'
+do
+ cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <stdlib.h>
+$ac_declaration
+int
+main ()
+{
+exit (42);
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+continue
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+ cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_declaration
+int
+main ()
+{
+exit (42);
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ break
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+done
+rm -f conftest*
+if test -n "$ac_declaration"; then
+ echo '#ifdef __cplusplus' >>confdefs.h
+ echo $ac_declaration >>confdefs.h
+ echo '#endif' >>confdefs.h
+fi
+
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+DEPDIR="${am__leading_dot}deps"
+
+ ac_config_commands="$ac_config_commands depfiles"
+
+
+am_make=${MAKE-make}
+cat > confinc << 'END'
+doit:
+ @echo done
+END
+# If we don't find an include directive, just comment out the code.
+echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
+echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# We grep out `Entering directory' and `Leaving directory'
+# messages which can occur if `w' ends up in MAKEFLAGS.
+# In particular we don't look at `^make:' because GNU make might
+# be invoked under some other name (usually "gmake"), in which
+# case it prints its new name instead of `make'.
+if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
+ am__include=include
+ am__quote=
+ _am_result=GNU
+fi
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+ echo '.include "confinc"' > confmf
+ if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
+ am__include=.include
+ am__quote="\""
+ _am_result=BSD
+ fi
+fi
+
+
+echo "$as_me:$LINENO: result: $_am_result" >&5
+echo "${ECHO_T}$_am_result" >&6
+rm -f confinc confmf
+
+# Check whether --enable-dependency-tracking or --disable-dependency-tracking was given.
+if test "${enable_dependency_tracking+set}" = set; then
+ enableval="$enable_dependency_tracking"
+
+fi;
+if test "x$enable_dependency_tracking" != xno; then
+ am_depcomp="$ac_aux_dir/depcomp"
+ AMDEPBACKSLASH='\'
+fi
+
+
+if test "x$enable_dependency_tracking" != xno; then
+ AMDEP_TRUE=
+ AMDEP_FALSE='#'
+else
+ AMDEP_TRUE='#'
+ AMDEP_FALSE=
+fi
+
+
+
+
+depcc="$CC" am_compiler_list=
+
+echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
+echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6
+if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+ # We make a subdir and do the tests there. Otherwise we can end up
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named `D' -- because `-MD' means `put the output
+ # in D'.
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+
+ am_cv_CC_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+ fi
+ for depmode in $am_compiler_list; do
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ echo '#include "conftest.h"' > conftest.c
+ echo 'int i;' > conftest.h
+ echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf
+
+ case $depmode in
+ nosideeffect)
+ # after this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
+ else
+ break
+ fi
+ ;;
+ none) break ;;
+ esac
+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle `-M -o', and we need to detect this.
+ if depmode=$depmode \
+ source=conftest.c object=conftest.o \
+ depfile=conftest.Po tmpdepfile=conftest.TPo \
+ $SHELL ./depcomp $depcc -c -o conftest.o conftest.c \
+ >/dev/null 2>conftest.err &&
+ grep conftest.h conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+ # icc doesn't choke on unknown options, it will just issue warnings
+ # (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored.
+ if grep 'ignoring option' conftest.err >/dev/null 2>&1; then :; else
+ am_cv_CC_dependencies_compiler_type=$depmode
+ break
+ fi
+ fi
+ done
+
+ cd ..
+ rm -rf conftest.dir
+else
+ am_cv_CC_dependencies_compiler_type=none
+fi
+
+fi
+echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
+echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6
+CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
+
+
+
+if
+ test "x$enable_dependency_tracking" != xno \
+ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
+ am__fastdepCC_TRUE=
+ am__fastdepCC_FALSE='#'
+else
+ am__fastdepCC_TRUE='#'
+ am__fastdepCC_FALSE=
+fi
+
+
+ac_ext=cc
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+ for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_CXX+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$CXX"; then
+ ac_cv_prog_CXX="$CXX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+
+fi
+fi
+CXX=$ac_cv_prog_CXX
+if test -n "$CXX"; then
+ echo "$as_me:$LINENO: result: $CXX" >&5
+echo "${ECHO_T}$CXX" >&6
+else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+ test -n "$CXX" && break
+ done
+fi
+if test -z "$CXX"; then
+ ac_ct_CXX=$CXX
+ for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$ac_ct_CXX"; then
+ ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_CXX="$ac_prog"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+
+fi
+fi
+ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
+if test -n "$ac_ct_CXX"; then
+ echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
+echo "${ECHO_T}$ac_ct_CXX" >&6
+else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+ test -n "$ac_ct_CXX" && break
+done
+test -n "$ac_ct_CXX" || ac_ct_CXX="g++"
+
+ CXX=$ac_ct_CXX
+fi
+
+
+# Provide some information about the compiler.
+echo "$as_me:$LINENO:" \
+ "checking for C++ compiler version" >&5
+ac_compiler=`set X $ac_compile; echo $2`
+{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
+ (eval $ac_compiler --version </dev/null >&5) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
+ (eval $ac_compiler -v </dev/null >&5) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
+ (eval $ac_compiler -V </dev/null >&5) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+
+echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5
+echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6
+if test "${ac_cv_cxx_compiler_gnu+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+#ifndef __GNUC__
+ choke me
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_compiler_gnu=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_compiler_gnu=no
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
+
+fi
+echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
+echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6
+GXX=`test $ac_compiler_gnu = yes && echo yes`
+ac_test_CXXFLAGS=${CXXFLAGS+set}
+ac_save_CXXFLAGS=$CXXFLAGS
+CXXFLAGS="-g"
+echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
+echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6
+if test "${ac_cv_prog_cxx_g+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_prog_cxx_g=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_prog_cxx_g=no
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
+echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6
+if test "$ac_test_CXXFLAGS" = set; then
+ CXXFLAGS=$ac_save_CXXFLAGS
+elif test $ac_cv_prog_cxx_g = yes; then
+ if test "$GXX" = yes; then
+ CXXFLAGS="-g -O2"
+ else
+ CXXFLAGS="-g"
+ fi
+else
+ if test "$GXX" = yes; then
+ CXXFLAGS="-O2"
+ else
+ CXXFLAGS=
+ fi
+fi
+for ac_declaration in \
+ ''\
+ '#include <stdlib.h>' \
+ 'extern "C" void std::exit (int) throw (); using std::exit;' \
+ 'extern "C" void std::exit (int); using std::exit;' \
+ 'extern "C" void exit (int) throw ();' \
+ 'extern "C" void exit (int);' \
+ 'void exit (int);'
+do
+ cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <stdlib.h>
+$ac_declaration
+int
+main ()
+{
+exit (42);
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+continue
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+ cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_declaration
+int
+main ()
+{
+exit (42);
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ break
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+done
+rm -f conftest*
+if test -n "$ac_declaration"; then
+ echo '#ifdef __cplusplus' >>confdefs.h
+ echo $ac_declaration >>confdefs.h
+ echo '#endif' >>confdefs.h
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+depcc="$CXX" am_compiler_list=
+
+echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
+echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6
+if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+ # We make a subdir and do the tests there. Otherwise we can end up
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named `D' -- because `-MD' means `put the output
+ # in D'.
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+
+ am_cv_CXX_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+ fi
+ for depmode in $am_compiler_list; do
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ echo '#include "conftest.h"' > conftest.c
+ echo 'int i;' > conftest.h
+ echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf
+
+ case $depmode in
+ nosideeffect)
+ # after this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
+ else
+ break
+ fi
+ ;;
+ none) break ;;
+ esac
+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle `-M -o', and we need to detect this.
+ if depmode=$depmode \
+ source=conftest.c object=conftest.o \
+ depfile=conftest.Po tmpdepfile=conftest.TPo \
+ $SHELL ./depcomp $depcc -c -o conftest.o conftest.c \
+ >/dev/null 2>conftest.err &&
+ grep conftest.h conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+ # icc doesn't choke on unknown options, it will just issue warnings
+ # (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored.
+ if grep 'ignoring option' conftest.err >/dev/null 2>&1; then :; else
+ am_cv_CXX_dependencies_compiler_type=$depmode
+ break
+ fi
+ fi
+ done
+
+ cd ..
+ rm -rf conftest.dir
+else
+ am_cv_CXX_dependencies_compiler_type=none
+fi
+
+fi
+echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5
+echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6
+CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
+
+
+
+if
+ test "x$enable_dependency_tracking" != xno \
+ && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then
+ am__fastdepCXX_TRUE=
+ am__fastdepCXX_FALSE='#'
+else
+ am__fastdepCXX_TRUE='#'
+ am__fastdepCXX_FALSE=
+fi
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
+echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6
+# On Suns, sometimes $CPP names a directory.
+if test -n "$CPP" && test -d "$CPP"; then
+ CPP=
+fi
+if test -z "$CPP"; then
+ if test "${ac_cv_prog_CPP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ # Double quotes because CPP needs to be expanded
+ for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
+ do
+ ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+ else
+ ac_cpp_err=
+ fi
+else
+ ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+ :
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether non-existent headers
+ # can be detected and how.
+ cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+ else
+ ac_cpp_err=
+ fi
+else
+ ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+ # Broken: success on invalid input.
+continue
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then
+ break
+fi
+
+ done
+ ac_cv_prog_CPP=$CPP
+
+fi
+ CPP=$ac_cv_prog_CPP
+else
+ ac_cv_prog_CPP=$CPP
+fi
+echo "$as_me:$LINENO: result: $CPP" >&5
+echo "${ECHO_T}$CPP" >&6
+ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+ else
+ ac_cpp_err=
+ fi
+else
+ ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+ :
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether non-existent headers
+ # can be detected and how.
+ cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+ else
+ ac_cpp_err=
+ fi
+else
+ ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+ # Broken: success on invalid input.
+continue
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then
+ :
+else
+ { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details." >&5
+echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+
+echo "$as_me:$LINENO: checking for egrep" >&5
+echo $ECHO_N "checking for egrep... $ECHO_C" >&6
+if test "${ac_cv_prog_egrep+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if echo a | (grep -E '(a|b)') >/dev/null 2>&1
+ then ac_cv_prog_egrep='grep -E'
+ else ac_cv_prog_egrep='egrep'
+ fi
+fi
+echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5
+echo "${ECHO_T}$ac_cv_prog_egrep" >&6
+ EGREP=$ac_cv_prog_egrep
+
+
+echo "$as_me:$LINENO: checking for ANSI C header files" >&5
+echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
+if test "${ac_cv_header_stdc+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_header_stdc=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_header_stdc=no
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+
+if test $ac_cv_header_stdc = yes; then
+ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+ cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <string.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "memchr" >/dev/null 2>&1; then
+ :
+else
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+ cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <stdlib.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "free" >/dev/null 2>&1; then
+ :
+else
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+ if test "$cross_compiling" = yes; then
+ :
+else
+ cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <ctype.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) \
+ (('a' <= (c) && (c) <= 'i') \
+ || ('j' <= (c) && (c) <= 'r') \
+ || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+ int i;
+ for (i = 0; i < 256; i++)
+ if (XOR (islower (i), ISLOWER (i))
+ || toupper (i) != TOUPPER (i))
+ exit(2);
+ exit (0);
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+else
+ echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+ac_cv_header_stdc=no
+fi
+rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+fi
+fi
+echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
+echo "${ECHO_T}$ac_cv_header_stdc" >&6
+if test $ac_cv_header_stdc = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STDC_HEADERS 1
+_ACEOF
+
+fi
+
+# On IRIX 5.3, sys/types and inttypes.h are conflicting.
+
+
+
+
+
+
+
+
+
+for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
+ inttypes.h stdint.h unistd.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ eval "$as_ac_Header=yes"
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+eval "$as_ac_Header=no"
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+
+
+for ac_header in ncurses.h curses.h gpm.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+else
+ # Is the header compilable?
+echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_header_compiler=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_header_compiler=no
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6
+
+# Is the header present?
+echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <$ac_header>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+ else
+ ac_cpp_err=
+ fi
+else
+ ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+ ac_header_preproc=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_preproc=no
+fi
+rm -f conftest.err conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc in
+ yes:no )
+ { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+ (
+ cat <<\_ASBOX
+## ------------------------------------ ##
+## Report this to bug-autoconf@gnu.org. ##
+## ------------------------------------ ##
+_ASBOX
+ ) |
+ sed "s/^/$as_me: WARNING: /" >&2
+ ;;
+ no:yes )
+ { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+ (
+ cat <<\_ASBOX
+## ------------------------------------ ##
+## Report this to bug-autoconf@gnu.org. ##
+## ------------------------------------ ##
+_ASBOX
+ ) |
+ sed "s/^/$as_me: WARNING: /" >&2
+ ;;
+esac
+echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ eval "$as_ac_Header=$ac_header_preproc"
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+
+fi
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+echo "$as_me:$LINENO: checking for initscr in -lncurses" >&5
+echo $ECHO_N "checking for initscr in -lncurses... $ECHO_C" >&6
+if test "${ac_cv_lib_ncurses_initscr+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lncurses $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any gcc2 internal prototype to avoid an error. */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char initscr ();
+int
+main ()
+{
+initscr ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_ncurses_initscr=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_lib_ncurses_initscr=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_ncurses_initscr" >&5
+echo "${ECHO_T}$ac_cv_lib_ncurses_initscr" >&6
+if test $ac_cv_lib_ncurses_initscr = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBNCURSES 1
+_ACEOF
+
+ LIBS="-lncurses $LIBS"
+
+else
+
+echo "$as_me:$LINENO: checking for initscr in -lcurses" >&5
+echo $ECHO_N "checking for initscr in -lcurses... $ECHO_C" >&6
+if test "${ac_cv_lib_curses_initscr+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lcurses $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any gcc2 internal prototype to avoid an error. */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char initscr ();
+int
+main ()
+{
+initscr ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_curses_initscr=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_lib_curses_initscr=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_curses_initscr" >&5
+echo "${ECHO_T}$ac_cv_lib_curses_initscr" >&6
+if test $ac_cv_lib_curses_initscr = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBCURSES 1
+_ACEOF
+
+ LIBS="-lcurses $LIBS"
+
+fi
+
+fi
+
+
+
+echo "$as_me:$LINENO: checking for Gpm_Close in -lgpm" >&5
+echo $ECHO_N "checking for Gpm_Close in -lgpm... $ECHO_C" >&6
+if test "${ac_cv_lib_gpm_Gpm_Close+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lgpm $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any gcc2 internal prototype to avoid an error. */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char Gpm_Close ();
+int
+main ()
+{
+Gpm_Close ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_gpm_Gpm_Close=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_lib_gpm_Gpm_Close=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_gpm_Gpm_Close" >&5
+echo "${ECHO_T}$ac_cv_lib_gpm_Gpm_Close" >&6
+if test $ac_cv_lib_gpm_Gpm_Close = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBGPM 1
+_ACEOF
+
+ LIBS="-lgpm $LIBS"
+
+fi
+
+
+# Check whether --enable-shared or --disable-shared was given.
+if test "${enable_shared+set}" = set; then
+ enableval="$enable_shared"
+ p=${PACKAGE-default}
+case $enableval in
+yes) enable_shared=yes ;;
+no) enable_shared=no ;;
+*)
+ enable_shared=no
+ # Look at the argument we got. We use all the common list separators.
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
+ for pkg in $enableval; do
+ if test "X$pkg" = "X$p"; then
+ enable_shared=yes
+ fi
+ done
+ IFS="$ac_save_ifs"
+ ;;
+esac
+else
+ enable_shared=yes
+fi;
+# Check whether --enable-static or --disable-static was given.
+if test "${enable_static+set}" = set; then
+ enableval="$enable_static"
+ p=${PACKAGE-default}
+case $enableval in
+yes) enable_static=yes ;;
+no) enable_static=no ;;
+*)
+ enable_static=no
+ # Look at the argument we got. We use all the common list separators.
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
+ for pkg in $enableval; do
+ if test "X$pkg" = "X$p"; then
+ enable_static=yes
+ fi
+ done
+ IFS="$ac_save_ifs"
+ ;;
+esac
+else
+ enable_static=yes
+fi;
+# Check whether --enable-fast-install or --disable-fast-install was given.
+if test "${enable_fast_install+set}" = set; then
+ enableval="$enable_fast_install"
+ p=${PACKAGE-default}
+case $enableval in
+yes) enable_fast_install=yes ;;
+no) enable_fast_install=no ;;
+*)
+ enable_fast_install=no
+ # Look at the argument we got. We use all the common list separators.
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
+ for pkg in $enableval; do
+ if test "X$pkg" = "X$p"; then
+ enable_fast_install=yes
+ fi
+ done
+ IFS="$ac_save_ifs"
+ ;;
+esac
+else
+ enable_fast_install=yes
+fi;
+# Find the correct PATH separator. Usually this is `:', but
+# DJGPP uses `;' like DOS.
+if test "X${PATH_SEPARATOR+set}" != Xset; then
+ UNAME=${UNAME-`uname 2>/dev/null`}
+ case X$UNAME in
+ *-DOS) lt_cv_sys_path_separator=';' ;;
+ *) lt_cv_sys_path_separator=':' ;;
+ esac
+ PATH_SEPARATOR=$lt_cv_sys_path_separator
+fi
+
+
+# Check whether --with-gnu-ld or --without-gnu-ld was given.
+if test "${with_gnu_ld+set}" = set; then
+ withval="$with_gnu_ld"
+ test "$withval" = no || with_gnu_ld=yes
+else
+ with_gnu_ld=no
+fi;
+ac_prog=ld
+if test "$GCC" = yes; then
+ # Check if gcc -print-prog-name=ld gives a path.
+ echo "$as_me:$LINENO: checking for ld used by GCC" >&5
+echo $ECHO_N "checking for ld used by GCC... $ECHO_C" >&6
+ case $host in
+ *-*-mingw*)
+ # gcc leaves a trailing carriage return which upsets mingw
+ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+ *)
+ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+ esac
+ case $ac_prog in
+ # Accept absolute paths.
+ [\\/]* | [A-Za-z]:[\\/]*)
+ re_direlt='/[^/][^/]*/\.\./'
+ # Canonicalize the path of ld
+ ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
+ while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
+ ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
+ done
+ test -z "$LD" && LD="$ac_prog"
+ ;;
+ "")
+ # If it fails, then pretend we aren't using GCC.
+ ac_prog=ld
+ ;;
+ *)
+ # If it is relative, then search for the first ld in PATH.
+ with_gnu_ld=unknown
+ ;;
+ esac
+elif test "$with_gnu_ld" = yes; then
+ echo "$as_me:$LINENO: checking for GNU ld" >&5
+echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6
+else
+ echo "$as_me:$LINENO: checking for non-GNU ld" >&5
+echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6
+fi
+if test "${lt_cv_path_LD+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -z "$LD"; then
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+ lt_cv_path_LD="$ac_dir/$ac_prog"
+ # Check to see if the program is GNU ld. I'd rather use --version,
+ # but apparently some GNU ld's only accept -v.
+ # Break only if it was the GNU/non-GNU ld that we prefer.
+ if "$lt_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
+ test "$with_gnu_ld" != no && break
+ else
+ test "$with_gnu_ld" != yes && break
+ fi
+ fi
+ done
+ IFS="$ac_save_ifs"
+else
+ lt_cv_path_LD="$LD" # Let the user override the test with a path.
+fi
+fi
+
+LD="$lt_cv_path_LD"
+if test -n "$LD"; then
+ echo "$as_me:$LINENO: result: $LD" >&5
+echo "${ECHO_T}$LD" >&6
+else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
+echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
+ { (exit 1); exit 1; }; }
+echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
+echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6
+if test "${lt_cv_prog_gnu_ld+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ # I'd rather use --version here, but apparently some GNU ld's only accept -v.
+if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
+ lt_cv_prog_gnu_ld=yes
+else
+ lt_cv_prog_gnu_ld=no
+fi
+fi
+echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
+echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6
+with_gnu_ld=$lt_cv_prog_gnu_ld
+
+
+echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5
+echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6
+if test "${lt_cv_ld_reload_flag+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ lt_cv_ld_reload_flag='-r'
+fi
+echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5
+echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6
+reload_flag=$lt_cv_ld_reload_flag
+test -n "$reload_flag" && reload_flag=" $reload_flag"
+
+echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5
+echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6
+if test "${lt_cv_path_NM+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$NM"; then
+ # Let the user override the test.
+ lt_cv_path_NM="$NM"
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
+ test -z "$ac_dir" && ac_dir=.
+ tmp_nm=$ac_dir/${ac_tool_prefix}nm
+ if test -f $tmp_nm || test -f $tmp_nm$ac_exeext ; then
+ # Check to see if the nm accepts a BSD-compat flag.
+ # Adding the `sed 1q' prevents false positives on HP-UX, which says:
+ # nm: unknown option "B" ignored
+ # Tru64's nm complains that /dev/null is an invalid object file
+ if ($tmp_nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep '(/dev/null|Invalid file or object type)' >/dev/null; then
+ lt_cv_path_NM="$tmp_nm -B"
+ break
+ elif ($tmp_nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
+ lt_cv_path_NM="$tmp_nm -p"
+ break
+ else
+ lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+ continue # so that we can try to find one that supports BSD flags
+ fi
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
+fi
+fi
+
+NM="$lt_cv_path_NM"
+echo "$as_me:$LINENO: result: $NM" >&5
+echo "${ECHO_T}$NM" >&6
+
+echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5
+echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6
+if test "${lt_cv_path_SED+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ # Loop through the user's path and test for sed and gsed.
+# Then use that list of sed's as ones to test for truncation.
+as_executable_p="test -f"
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in sed gsed; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
+ _sed_list="$_sed_list $as_dir/$ac_prog$ac_exec_ext"
+ fi
+ done
+ done
+done
+
+ # Create a temporary directory, and hook for its removal unless debugging.
+$debug ||
+{
+ trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
+ trap '{ (exit 1); exit 1; }' 1 2 13 15
+}
+
+# Create a (secure) tmp directory for tmp files.
+: ${TMPDIR=/tmp}
+{
+ tmp=`(umask 077 && mktemp -d -q "$TMPDIR/sedXXXXXX") 2>/dev/null` &&
+ test -n "$tmp" && test -d "$tmp"
+} ||
+{
+ tmp=$TMPDIR/sed$$-$RANDOM
+ (umask 077 && mkdir $tmp)
+} ||
+{
+ echo "$me: cannot create a temporary directory in $TMPDIR" >&2
+ { (exit 1); exit 1; }
+}
+ _max=0
+ _count=0
+ # Add /usr/xpg4/bin/sed as it is typically found on Solaris
+ # along with /bin/sed that truncates output.
+ for _sed in $_sed_list /usr/xpg4/bin/sed; do
+ test ! -f ${_sed} && break
+ cat /dev/null > "$tmp/sed.in"
+ _count=0
+ echo ${ECHO_N-$ac_n} "0123456789${ECHO_C-$ac_c}" >"$tmp/sed.in"
+ # Check for GNU sed and select it if it is found.
+ if "${_sed}" --version 2>&1 < /dev/null | egrep '(GNU)' > /dev/null; then
+ lt_cv_path_SED=${_sed}
+ break
+ fi
+ while true; do
+ cat "$tmp/sed.in" "$tmp/sed.in" >"$tmp/sed.tmp"
+ mv "$tmp/sed.tmp" "$tmp/sed.in"
+ cp "$tmp/sed.in" "$tmp/sed.nl"
+ echo >>"$tmp/sed.nl"
+ ${_sed} -e 's/a$//' < "$tmp/sed.nl" >"$tmp/sed.out" || break
+ cmp -s "$tmp/sed.out" "$tmp/sed.nl" || break
+ # 40000 chars as input seems more than enough
+ test $_count -gt 10 && break
+ _count=`expr $_count + 1`
+ if test $_count -gt $_max; then
+ _max=$_count
+ lt_cv_path_SED=$_sed
+ fi
+ done
+ done
+ rm -rf "$tmp"
+
+fi
+
+if test "X$SED" != "X"; then
+ lt_cv_path_SED=$SED
+else
+ SED=$lt_cv_path_SED
+fi
+echo "$as_me:$LINENO: result: $SED" >&5
+echo "${ECHO_T}$SED" >&6
+
+echo "$as_me:$LINENO: checking whether ln -s works" >&5
+echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6
+LN_S=$as_ln_s
+if test "$LN_S" = "ln -s"; then
+ echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+else
+ echo "$as_me:$LINENO: result: no, using $LN_S" >&5
+echo "${ECHO_T}no, using $LN_S" >&6
+fi
+
+echo "$as_me:$LINENO: checking how to recognise dependent libraries" >&5
+echo $ECHO_N "checking how to recognise dependent libraries... $ECHO_C" >&6
+if test "${lt_cv_deplibs_check_method+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ lt_cv_file_magic_cmd='$MAGIC_CMD'
+lt_cv_file_magic_test_file=
+lt_cv_deplibs_check_method='unknown'
+# Need to set the preceding variable on all platforms that support
+# interlibrary dependencies.
+# 'none' -- dependencies not supported.
+# `unknown' -- same as none, but documents that we really don't know.
+# 'pass_all' -- all dependencies passed with no checks.
+# 'test_compile' -- check by making test program.
+# 'file_magic [[regex]]' -- check by looking for files in library path
+# which responds to the $file_magic_cmd with a given egrep regex.
+# If you have `file' or equivalent on your system and you're not sure
+# whether `pass_all' will *always* work, you probably want this one.
+
+case $host_os in
+aix4* | aix5*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+beos*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+bsdi4*)
+ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
+ lt_cv_file_magic_cmd='/usr/bin/file -L'
+ lt_cv_file_magic_test_file=/shlib/libc.so
+ ;;
+
+cygwin* | mingw* | pw32*)
+ lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ ;;
+
+darwin* | rhapsody*)
+ lt_cv_deplibs_check_method='file_magic Mach-O dynamically linked shared library'
+ lt_cv_file_magic_cmd='/usr/bin/file -L'
+ case "$host_os" in
+ rhapsody* | darwin1.[012])
+ lt_cv_file_magic_test_file=`echo /System/Library/Frameworks/System.framework/Versions/*/System | head -1`
+ ;;
+ *) # Darwin 1.3 on
+ lt_cv_file_magic_test_file='/usr/lib/libSystem.dylib'
+ ;;
+ esac
+ ;;
+
+freebsd*)
+ if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+ case $host_cpu in
+ i*86 )
+ # Not sure whether the presence of OpenBSD here was a mistake.
+ # Let's accept both of them until this is cleared up.
+ lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[3-9]86 (compact )?demand paged shared library'
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+ ;;
+ esac
+ else
+ lt_cv_deplibs_check_method=pass_all
+ fi
+ ;;
+
+gnu*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+hpux10.20*|hpux11*)
+ lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=/usr/lib/libc.sl
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $host_os in
+ irix5* | nonstopux*)
+ # this will be overridden with pass_all, but let us keep it just in case
+ lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1"
+ ;;
+ *)
+ case $LD in
+ *-32|*"-32 ") libmagic=32-bit;;
+ *-n32|*"-n32 ") libmagic=N32;;
+ *-64|*"-64 ") libmagic=64-bit;;
+ *) libmagic=never-match;;
+ esac
+ # this will be overridden with pass_all, but let us keep it just in case
+ lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[1234] dynamic lib MIPS - version 1"
+ ;;
+ esac
+ lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*`
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+# This must be Linux ELF.
+linux-gnu*)
+ case $host_cpu in
+ alpha* | hppa* | i*86 | mips | mipsel | powerpc* | sparc* | ia64*)
+ lt_cv_deplibs_check_method=pass_all ;;
+ *)
+ # glibc up to 2.1.1 does not perform some relocations on ARM
+ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ;;
+ esac
+ lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
+ ;;
+
+netbsd*)
+ if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+ lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
+ else
+ lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so$'
+ fi
+ ;;
+
+newos6*)
+ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=/usr/lib/libnls.so
+ ;;
+
+openbsd*)
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB shared object'
+ else
+ lt_cv_deplibs_check_method='file_magic OpenBSD.* shared library'
+ fi
+ ;;
+
+osf3* | osf4* | osf5*)
+ # this will be overridden with pass_all, but let us keep it just in case
+ lt_cv_deplibs_check_method='file_magic COFF format alpha shared library'
+ lt_cv_file_magic_test_file=/shlib/libc.so
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+sco3.2v5*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+solaris*)
+ lt_cv_deplibs_check_method=pass_all
+ lt_cv_file_magic_test_file=/lib/libc.so
+ ;;
+
+sysv5uw[78]* | sysv4*uw2*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ case $host_vendor in
+ motorola)
+ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
+ ;;
+ ncr)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ sequent)
+ lt_cv_file_magic_cmd='/bin/file'
+ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
+ ;;
+ sni)
+ lt_cv_file_magic_cmd='/bin/file'
+ lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
+ lt_cv_file_magic_test_file=/lib/libc.so
+ ;;
+ siemens)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ esac
+ ;;
+esac
+
+fi
+echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5
+echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6
+file_magic_cmd=$lt_cv_file_magic_cmd
+deplibs_check_method=$lt_cv_deplibs_check_method
+
+
+
+
+
+
+
+# Check for command to grab the raw symbol name followed by C symbol from nm.
+echo "$as_me:$LINENO: checking command to parse $NM output" >&5
+echo $ECHO_N "checking command to parse $NM output... $ECHO_C" >&6
+if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+# These are sane defaults that work on at least a few old systems.
+# [They come from Ultrix. What could be older than Ultrix?!! ;)]
+
+# Character class describing NM global symbol codes.
+symcode='[BCDEGRST]'
+
+# Regexp to match symbols that can be accessed directly from C.
+sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
+
+# Transform the above into a raw symbol and a C symbol.
+symxfrm='\1 \2\3 \3'
+
+# Transform an extracted symbol line into a proper C declaration
+lt_cv_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern char \1;/p'"
+
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
+
+# Define system-specific variables.
+case $host_os in
+aix*)
+ symcode='[BCDT]'
+ ;;
+cygwin* | mingw* | pw32*)
+ symcode='[ABCDGISTW]'
+ ;;
+hpux*) # Its linker distinguishes data from code symbols
+ lt_cv_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern char \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+ lt_cv_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
+ ;;
+irix* | nonstopux*)
+ symcode='[BCDEGRST]'
+ ;;
+osf*)
+ symcode='[BCDEGQRST]'
+ ;;
+solaris* | sysv5*)
+ symcode='[BDT]'
+ ;;
+sysv4)
+ symcode='[DFNSTU]'
+ ;;
+esac
+
+# Handle CRLF in mingw tool chain
+opt_cr=
+case $host_os in
+mingw*)
+ opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+ ;;
+esac
+
+# If we're using GNU nm, then use its standard symbol codes.
+if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then
+ symcode='[ABCDGISTW]'
+fi
+
+# Try without a prefix undercore, then with it.
+for ac_symprfx in "" "_"; do
+
+ # Write the raw and C identifiers.
+lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*\($ac_symprfx\)$sympat$opt_cr$/$symxfrm/p'"
+
+ # Check to see that the pipe works correctly.
+ pipe_works=no
+ rm -f conftest*
+ cat > conftest.$ac_ext <<EOF
+#ifdef __cplusplus
+extern "C" {
+#endif
+char nm_test_var;
+void nm_test_func(){}
+#ifdef __cplusplus
+}
+#endif
+int main(){nm_test_var='a';nm_test_func();return(0);}
+EOF
+
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ # Now try to grab the symbols.
+ nlist=conftest.nm
+ if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5
+ (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && test -s "$nlist"; then
+ # Try sorting and uniquifying the output.
+ if sort "$nlist" | uniq > "$nlist"T; then
+ mv -f "$nlist"T "$nlist"
+ else
+ rm -f "$nlist"T
+ fi
+
+ # Make sure that we snagged all the symbols we need.
+ if egrep ' nm_test_var$' "$nlist" >/dev/null; then
+ if egrep ' nm_test_func$' "$nlist" >/dev/null; then
+ cat <<EOF > conftest.$ac_ext
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+EOF
+ # Now generate the symbol file.
+ eval "$lt_cv_global_symbol_to_cdecl"' < "$nlist" >> conftest.$ac_ext'
+
+ cat <<EOF >> conftest.$ac_ext
+#if defined (__STDC__) && __STDC__
+# define lt_ptr void *
+#else
+# define lt_ptr char *
+# define const
+#endif
+
+/* The mapping between symbol names and symbols. */
+const struct {
+ const char *name;
+ lt_ptr address;
+}
+lt_preloaded_symbols[] =
+{
+EOF
+ sed "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr) \&\2},/" < "$nlist" >> conftest.$ac_ext
+ cat <<\EOF >> conftest.$ac_ext
+ {0, (lt_ptr) 0}
+};
+
+#ifdef __cplusplus
+}
+#endif
+EOF
+ # Now try linking the two files.
+ mv conftest.$ac_objext conftstm.$ac_objext
+ save_LIBS="$LIBS"
+ save_CFLAGS="$CFLAGS"
+ LIBS="conftstm.$ac_objext"
+ CFLAGS="$CFLAGS$no_builtin_flag"
+ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && test -s conftest$ac_exeext; then
+ pipe_works=yes
+ fi
+ LIBS="$save_LIBS"
+ CFLAGS="$save_CFLAGS"
+ else
+ echo "cannot find nm_test_func in $nlist" >&5
+ fi
+ else
+ echo "cannot find nm_test_var in $nlist" >&5
+ fi
+ else
+ echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
+ fi
+ else
+ echo "$progname: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ fi
+ rm -f conftest* conftst*
+
+ # Do not use the global_symbol_pipe unless it works.
+ if test "$pipe_works" = yes; then
+ break
+ else
+ lt_cv_sys_global_symbol_pipe=
+ fi
+done
+
+fi
+
+global_symbol_pipe="$lt_cv_sys_global_symbol_pipe"
+if test -z "$lt_cv_sys_global_symbol_pipe"; then
+ global_symbol_to_cdecl=
+ global_symbol_to_c_name_address=
+else
+ global_symbol_to_cdecl="$lt_cv_global_symbol_to_cdecl"
+ global_symbol_to_c_name_address="$lt_cv_global_symbol_to_c_name_address"
+fi
+if test -z "$global_symbol_pipe$global_symbol_to_cdec$global_symbol_to_c_name_address";
+then
+ echo "$as_me:$LINENO: result: failed" >&5
+echo "${ECHO_T}failed" >&6
+else
+ echo "$as_me:$LINENO: result: ok" >&5
+echo "${ECHO_T}ok" >&6
+fi
+
+
+for ac_header in dlfcn.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+else
+ # Is the header compilable?
+echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_header_compiler=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_header_compiler=no
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6
+
+# Is the header present?
+echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <$ac_header>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+ else
+ ac_cpp_err=
+ fi
+else
+ ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+ ac_header_preproc=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_preproc=no
+fi
+rm -f conftest.err conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc in
+ yes:no )
+ { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+ (
+ cat <<\_ASBOX
+## ------------------------------------ ##
+## Report this to bug-autoconf@gnu.org. ##
+## ------------------------------------ ##
+_ASBOX
+ ) |
+ sed "s/^/$as_me: WARNING: /" >&2
+ ;;
+ no:yes )
+ { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+ (
+ cat <<\_ASBOX
+## ------------------------------------ ##
+## Report this to bug-autoconf@gnu.org. ##
+## ------------------------------------ ##
+_ASBOX
+ ) |
+ sed "s/^/$as_me: WARNING: /" >&2
+ ;;
+esac
+echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ eval "$as_ac_Header=$ac_header_preproc"
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+
+fi
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+
+
+
+# Only perform the check for file, if the check method requires it
+case $deplibs_check_method in
+file_magic*)
+ if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+ echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5
+echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6
+if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ case $MAGIC_CMD in
+ /*)
+ lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+ ;;
+ ?:/*)
+ lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a dos path.
+ ;;
+ *)
+ ac_save_MAGIC_CMD="$MAGIC_CMD"
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="/usr/bin:$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/${ac_tool_prefix}file; then
+ lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
+ if test -n "$file_magic_test_file"; then
+ case $deplibs_check_method in
+ "file_magic "*)
+ file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
+ MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+ if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+ egrep "$file_magic_regex" > /dev/null; then
+ :
+ else
+ cat <<EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such. This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem. Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool@gnu.org
+
+EOF
+ fi ;;
+ esac
+ fi
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ MAGIC_CMD="$ac_save_MAGIC_CMD"
+ ;;
+esac
+fi
+
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+ echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
+echo "${ECHO_T}$MAGIC_CMD" >&6
+else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+if test -z "$lt_cv_path_MAGIC_CMD"; then
+ if test -n "$ac_tool_prefix"; then
+ echo "$as_me:$LINENO: checking for file" >&5
+echo $ECHO_N "checking for file... $ECHO_C" >&6
+if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ case $MAGIC_CMD in
+ /*)
+ lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+ ;;
+ ?:/*)
+ lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a dos path.
+ ;;
+ *)
+ ac_save_MAGIC_CMD="$MAGIC_CMD"
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="/usr/bin:$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/file; then
+ lt_cv_path_MAGIC_CMD="$ac_dir/file"
+ if test -n "$file_magic_test_file"; then
+ case $deplibs_check_method in
+ "file_magic "*)
+ file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
+ MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+ if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+ egrep "$file_magic_regex" > /dev/null; then
+ :
+ else
+ cat <<EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such. This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem. Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool@gnu.org
+
+EOF
+ fi ;;
+ esac
+ fi
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ MAGIC_CMD="$ac_save_MAGIC_CMD"
+ ;;
+esac
+fi
+
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+ echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
+echo "${ECHO_T}$MAGIC_CMD" >&6
+else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+ else
+ MAGIC_CMD=:
+ fi
+fi
+
+ fi
+ ;;
+esac
+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_RANLIB+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+
+fi
+fi
+RANLIB=$ac_cv_prog_RANLIB
+if test -n "$RANLIB"; then
+ echo "$as_me:$LINENO: result: $RANLIB" >&5
+echo "${ECHO_T}$RANLIB" >&6
+else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+fi
+if test -z "$ac_cv_prog_RANLIB"; then
+ ac_ct_RANLIB=$RANLIB
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$ac_ct_RANLIB"; then
+ ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_RANLIB="ranlib"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+
+ test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":"
+fi
+fi
+ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
+if test -n "$ac_ct_RANLIB"; then
+ echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
+echo "${ECHO_T}$ac_ct_RANLIB" >&6
+else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+ RANLIB=$ac_ct_RANLIB
+else
+ RANLIB="$ac_cv_prog_RANLIB"
+fi
+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_STRIP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$STRIP"; then
+ ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+ echo "$as_me:$LINENO: result: $STRIP" >&5
+echo "${ECHO_T}$STRIP" >&6
+else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+ ac_ct_STRIP=$STRIP
+ # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$ac_ct_STRIP"; then
+ ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_STRIP="strip"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+
+ test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":"
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+ echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+echo "${ECHO_T}$ac_ct_STRIP" >&6
+else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+ STRIP=$ac_ct_STRIP
+else
+ STRIP="$ac_cv_prog_STRIP"
+fi
+
+
+enable_dlopen=no
+enable_win32_dll=no
+
+# Check whether --enable-libtool-lock or --disable-libtool-lock was given.
+if test "${enable_libtool_lock+set}" = set; then
+ enableval="$enable_libtool_lock"
+
+fi;
+test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case $host in
+*-*-irix6*)
+ # Find out which ABI we are using.
+ echo '#line 5341 "configure"' > conftest.$ac_ext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -32"
+ ;;
+ *N32*)
+ LD="${LD-ld} -n32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -64"
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+
+*-*-sco3.2v5*)
+ # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+ SAVE_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -belf"
+ echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5
+echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6
+if test "${lt_cv_cc_needs_belf+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ lt_cv_cc_needs_belf=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+lt_cv_cc_needs_belf=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+fi
+echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5
+echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6
+ if test x"$lt_cv_cc_needs_belf" != x"yes"; then
+ # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+ CFLAGS="$SAVE_CFLAGS"
+ fi
+ ;;
+
+
+esac
+
+# Sed substitution that helps us do robust quoting. It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed='sed -e s/^X//'
+sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'
+
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+# Constants:
+rm="rm -f"
+
+# Global variables:
+default_ofile=libtool
+can_build_shared=yes
+
+# All known linkers require a `.a' archive for static linking (except M$VC,
+# which needs '.lib').
+libext=a
+ltmain="$ac_aux_dir/ltmain.sh"
+ofile="$default_ofile"
+with_gnu_ld="$lt_cv_prog_gnu_ld"
+need_locks="$enable_libtool_lock"
+
+old_CC="$CC"
+old_CFLAGS="$CFLAGS"
+
+# Set sane defaults for various variables
+test -z "$AR" && AR=ar
+test -z "$AR_FLAGS" && AR_FLAGS=cru
+test -z "$AS" && AS=as
+test -z "$CC" && CC=cc
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+test -z "$LD" && LD=ld
+test -z "$LN_S" && LN_S="ln -s"
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
+test -z "$NM" && NM=nm
+test -z "$OBJDUMP" && OBJDUMP=objdump
+test -z "$RANLIB" && RANLIB=:
+test -z "$STRIP" && STRIP=:
+test -z "$ac_objext" && ac_objext=o
+
+if test x"$host" != x"$build"; then
+ ac_tool_prefix=${host_alias}-
+else
+ ac_tool_prefix=
+fi
+
+# Transform linux* to *-*-linux-gnu*, to support old configure scripts.
+case $host_os in
+linux-gnu*) ;;
+linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
+esac
+
+case $host_os in
+aix3*)
+ # AIX sometimes has problems with the GCC collect2 program. For some
+ # reason, if we set the COLLECT_NAMES environment variable, the problems
+ # vanish in a puff of smoke.
+ if test "X${COLLECT_NAMES+set}" != Xset; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+ fi
+ ;;
+esac
+
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
+
+if test -n "$RANLIB"; then
+ case $host_os in
+ openbsd*)
+ old_postinstall_cmds="\$RANLIB -t \$oldlib~$old_postinstall_cmds"
+ ;;
+ *)
+ old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds"
+ ;;
+ esac
+ old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+fi
+
+# Allow CC to be a program name with arguments.
+set dummy $CC
+compiler="$2"
+
+echo "$as_me:$LINENO: checking for objdir" >&5
+echo $ECHO_N "checking for objdir... $ECHO_C" >&6
+rm -f .libs 2>/dev/null
+mkdir .libs 2>/dev/null
+if test -d .libs; then
+ objdir=.libs
+else
+ # MS-DOS does not allow filenames that begin with a dot.
+ objdir=_libs
+fi
+rmdir .libs 2>/dev/null
+echo "$as_me:$LINENO: result: $objdir" >&5
+echo "${ECHO_T}$objdir" >&6
+
+
+
+# Check whether --with-pic or --without-pic was given.
+if test "${with_pic+set}" = set; then
+ withval="$with_pic"
+ pic_mode="$withval"
+else
+ pic_mode=default
+fi;
+test -z "$pic_mode" && pic_mode=default
+
+# We assume here that the value for lt_cv_prog_cc_pic will not be cached
+# in isolation, and that seeing it set (from the cache) indicates that
+# the associated values are set (in the cache) correctly too.
+echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
+if test "${lt_cv_prog_cc_pic+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ lt_cv_prog_cc_pic=
+ lt_cv_prog_cc_shlib=
+ lt_cv_prog_cc_wl=
+ lt_cv_prog_cc_static=
+ lt_cv_prog_cc_no_builtin=
+ lt_cv_prog_cc_can_build_shared=$can_build_shared
+
+ if test "$GCC" = yes; then
+ lt_cv_prog_cc_wl='-Wl,'
+ lt_cv_prog_cc_static='-static'
+
+ case $host_os in
+ aix*)
+ # Below there is a dirty hack to force normal static linking with -ldl
+ # The problem is because libdl dynamically linked with both libc and
+ # libC (AIX C++ library), which obviously doesn't included in libraries
+ # list by gcc. This cause undefined symbols with -static flags.
+ # This hack allows C programs to be linked with "-static -ldl", but
+ # not sure about C++ programs.
+ lt_cv_prog_cc_static="$lt_cv_prog_cc_static ${lt_cv_prog_cc_wl}-lC"
+ ;;
+ amigaos*)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the `-m68020' flag to GCC prevents building anything better,
+ # like `-m68040'.
+ lt_cv_prog_cc_pic='-m68020 -resident32 -malways-restore-a4'
+ ;;
+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ # PIC is the default for these OSes.
+ ;;
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ lt_cv_prog_cc_pic='-fno-common'
+ ;;
+ cygwin* | mingw* | pw32* | os2*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ lt_cv_prog_cc_pic='-DDLL_EXPORT'
+ ;;
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ lt_cv_prog_cc_pic=-Kconform_pic
+ fi
+ ;;
+ *)
+ lt_cv_prog_cc_pic='-fPIC'
+ ;;
+ esac
+ else
+ # PORTME Check for PIC flags for the system compiler.
+ case $host_os in
+ aix3* | aix4* | aix5*)
+ lt_cv_prog_cc_wl='-Wl,'
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ lt_cv_prog_cc_static='-Bstatic'
+ else
+ lt_cv_prog_cc_static='-bnso -bI:/lib/syscalls.exp'
+ fi
+ ;;
+
+ hpux9* | hpux10* | hpux11*)
+ # Is there a better lt_cv_prog_cc_static that works with the bundled CC?
+ lt_cv_prog_cc_wl='-Wl,'
+ lt_cv_prog_cc_static="${lt_cv_prog_cc_wl}-a ${lt_cv_prog_cc_wl}archive"
+ lt_cv_prog_cc_pic='+Z'
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ lt_cv_prog_cc_wl='-Wl,'
+ lt_cv_prog_cc_static='-non_shared'
+ # PIC (with -KPIC) is the default.
+ ;;
+
+ cygwin* | mingw* | pw32* | os2*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ lt_cv_prog_cc_pic='-DDLL_EXPORT'
+ ;;
+
+ newsos6)
+ lt_cv_prog_cc_pic='-KPIC'
+ lt_cv_prog_cc_static='-Bstatic'
+ ;;
+
+ osf3* | osf4* | osf5*)
+ # All OSF/1 code is PIC.
+ lt_cv_prog_cc_wl='-Wl,'
+ lt_cv_prog_cc_static='-non_shared'
+ ;;
+
+ sco3.2v5*)
+ lt_cv_prog_cc_pic='-Kpic'
+ lt_cv_prog_cc_static='-dn'
+ lt_cv_prog_cc_shlib='-belf'
+ ;;
+
+ solaris*)
+ lt_cv_prog_cc_pic='-KPIC'
+ lt_cv_prog_cc_static='-Bstatic'
+ lt_cv_prog_cc_wl='-Wl,'
+ ;;
+
+ sunos4*)
+ lt_cv_prog_cc_pic='-PIC'
+ lt_cv_prog_cc_static='-Bstatic'
+ lt_cv_prog_cc_wl='-Qoption ld '
+ ;;
+
+ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ lt_cv_prog_cc_pic='-KPIC'
+ lt_cv_prog_cc_static='-Bstatic'
+ lt_cv_prog_cc_wl='-Wl,'
+ ;;
+
+ uts4*)
+ lt_cv_prog_cc_pic='-pic'
+ lt_cv_prog_cc_static='-Bstatic'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec ;then
+ lt_cv_prog_cc_pic='-Kconform_pic'
+ lt_cv_prog_cc_static='-Bstatic'
+ fi
+ ;;
+
+ *)
+ lt_cv_prog_cc_can_build_shared=no
+ ;;
+ esac
+ fi
+
+fi
+
+if test -z "$lt_cv_prog_cc_pic"; then
+ echo "$as_me:$LINENO: result: none" >&5
+echo "${ECHO_T}none" >&6
+else
+ echo "$as_me:$LINENO: result: $lt_cv_prog_cc_pic" >&5
+echo "${ECHO_T}$lt_cv_prog_cc_pic" >&6
+
+ # Check to make sure the pic_flag actually works.
+ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_cv_prog_cc_pic works" >&5
+echo $ECHO_N "checking if $compiler PIC flag $lt_cv_prog_cc_pic works... $ECHO_C" >&6
+ if test "${lt_cv_prog_cc_pic_works+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS $lt_cv_prog_cc_pic -DPIC"
+ cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ case $host_os in
+ hpux9* | hpux10* | hpux11*)
+ # On HP-UX, both CC and GCC only warn that PIC is supported... then
+ # they create non-PIC objects. So, if there were any warnings, we
+ # assume that PIC is not supported.
+ if test -s conftest.err; then
+ lt_cv_prog_cc_pic_works=no
+ else
+ lt_cv_prog_cc_pic_works=yes
+ fi
+ ;;
+ *)
+ lt_cv_prog_cc_pic_works=yes
+ ;;
+ esac
+
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ lt_cv_prog_cc_pic_works=no
+
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+ CFLAGS="$save_CFLAGS"
+
+fi
+
+
+ if test "X$lt_cv_prog_cc_pic_works" = Xno; then
+ lt_cv_prog_cc_pic=
+ lt_cv_prog_cc_can_build_shared=no
+ else
+ lt_cv_prog_cc_pic=" $lt_cv_prog_cc_pic"
+ fi
+
+ echo "$as_me:$LINENO: result: $lt_cv_prog_cc_pic_works" >&5
+echo "${ECHO_T}$lt_cv_prog_cc_pic_works" >&6
+fi
+
+# Check for any special shared library compilation flags.
+if test -n "$lt_cv_prog_cc_shlib"; then
+ { echo "$as_me:$LINENO: WARNING: \`$CC' requires \`$lt_cv_prog_cc_shlib' to build shared libraries" >&5
+echo "$as_me: WARNING: \`$CC' requires \`$lt_cv_prog_cc_shlib' to build shared libraries" >&2;}
+ if echo "$old_CC $old_CFLAGS " | egrep -e "[ ]$lt_cv_prog_cc_shlib[ ]" >/dev/null; then :
+ else
+ { echo "$as_me:$LINENO: WARNING: add \`$lt_cv_prog_cc_shlib' to the CC or CFLAGS env variable and reconfigure" >&5
+echo "$as_me: WARNING: add \`$lt_cv_prog_cc_shlib' to the CC or CFLAGS env variable and reconfigure" >&2;}
+ lt_cv_prog_cc_can_build_shared=no
+ fi
+fi
+
+echo "$as_me:$LINENO: checking if $compiler static flag $lt_cv_prog_cc_static works" >&5
+echo $ECHO_N "checking if $compiler static flag $lt_cv_prog_cc_static works... $ECHO_C" >&6
+if test "${lt_cv_prog_cc_static_works+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ lt_cv_prog_cc_static_works=no
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS $lt_cv_prog_cc_static"
+ cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ lt_cv_prog_cc_static_works=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS="$save_LDFLAGS"
+
+fi
+
+
+# Belt *and* braces to stop my trousers falling down:
+test "X$lt_cv_prog_cc_static_works" = Xno && lt_cv_prog_cc_static=
+echo "$as_me:$LINENO: result: $lt_cv_prog_cc_static_works" >&5
+echo "${ECHO_T}$lt_cv_prog_cc_static_works" >&6
+
+pic_flag="$lt_cv_prog_cc_pic"
+special_shlib_compile_flags="$lt_cv_prog_cc_shlib"
+wl="$lt_cv_prog_cc_wl"
+link_static_flag="$lt_cv_prog_cc_static"
+no_builtin_flag="$lt_cv_prog_cc_no_builtin"
+can_build_shared="$lt_cv_prog_cc_can_build_shared"
+
+
+# Check to see if options -o and -c are simultaneously supported by compiler
+echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
+if test "${lt_cv_compiler_c_o+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+$rm -r conftest 2>/dev/null
+mkdir conftest
+cd conftest
+echo "int some_variable = 0;" > conftest.$ac_ext
+mkdir out
+# According to Tom Tromey, Ian Lance Taylor reported there are C compilers
+# that will create temporary files in the current directory regardless of
+# the output directory. Thus, making CWD read-only will cause this test
+# to fail, enabling locking or at least warning the user not to do parallel
+# builds.
+chmod -w .
+save_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS -o out/conftest2.$ac_objext"
+compiler_c_o=no
+if { (eval echo configure:5870: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>out/conftest.err; } && test -s out/conftest2.$ac_objext; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test -s out/conftest.err; then
+ lt_cv_compiler_c_o=no
+ else
+ lt_cv_compiler_c_o=yes
+ fi
+else
+ # Append any errors to the config.log.
+ cat out/conftest.err 1>&5
+ lt_cv_compiler_c_o=no
+fi
+CFLAGS="$save_CFLAGS"
+chmod u+w .
+$rm conftest* out/*
+rmdir out
+cd ..
+rmdir conftest
+$rm -r conftest 2>/dev/null
+
+fi
+
+compiler_c_o=$lt_cv_compiler_c_o
+echo "$as_me:$LINENO: result: $compiler_c_o" >&5
+echo "${ECHO_T}$compiler_c_o" >&6
+
+if test x"$compiler_c_o" = x"yes"; then
+ # Check to see if we can write to a .lo
+ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.lo" >&5
+echo $ECHO_N "checking if $compiler supports -c -o file.lo... $ECHO_C" >&6
+ if test "${lt_cv_compiler_o_lo+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+ lt_cv_compiler_o_lo=no
+ save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -c -o conftest.lo"
+ save_objext="$ac_objext"
+ ac_objext=lo
+ cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+int some_variable = 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test -s conftest.err; then
+ lt_cv_compiler_o_lo=no
+ else
+ lt_cv_compiler_o_lo=yes
+ fi
+
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+ ac_objext="$save_objext"
+ CFLAGS="$save_CFLAGS"
+
+fi
+
+ compiler_o_lo=$lt_cv_compiler_o_lo
+ echo "$as_me:$LINENO: result: $compiler_o_lo" >&5
+echo "${ECHO_T}$compiler_o_lo" >&6
+else
+ compiler_o_lo=no
+fi
+
+# Check to see if we can do hard links to lock some files if needed
+hard_links="nottested"
+if test "$compiler_c_o" = no && test "$need_locks" != no; then
+ # do not overwrite the value of need_locks provided by the user
+ echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6
+ hard_links=yes
+ $rm conftest*
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ touch conftest.a
+ ln conftest.a conftest.b 2>&5 || hard_links=no
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ echo "$as_me:$LINENO: result: $hard_links" >&5
+echo "${ECHO_T}$hard_links" >&6
+ if test "$hard_links" = no; then
+ { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+ need_locks=warn
+ fi
+else
+ need_locks=no
+fi
+
+if test "$GCC" = yes; then
+ # Check to see if options -fno-rtti -fno-exceptions are supported by compiler
+ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6
+ echo "int some_variable = 0;" > conftest.$ac_ext
+ save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -fno-rtti -fno-exceptions -c conftest.$ac_ext"
+ compiler_rtti_exceptions=no
+ cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+int some_variable = 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test -s conftest.err; then
+ compiler_rtti_exceptions=no
+ else
+ compiler_rtti_exceptions=yes
+ fi
+
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+ CFLAGS="$save_CFLAGS"
+ echo "$as_me:$LINENO: result: $compiler_rtti_exceptions" >&5
+echo "${ECHO_T}$compiler_rtti_exceptions" >&6
+
+ if test "$compiler_rtti_exceptions" = "yes"; then
+ no_builtin_flag=' -fno-builtin -fno-rtti -fno-exceptions'
+ else
+ no_builtin_flag=' -fno-builtin'
+ fi
+fi
+
+# See if the linker supports building shared libraries.
+echo "$as_me:$LINENO: checking whether the linker ($LD) supports shared libraries" >&5
+echo $ECHO_N "checking whether the linker ($LD) supports shared libraries... $ECHO_C" >&6
+
+allow_undefined_flag=
+no_undefined_flag=
+need_lib_prefix=unknown
+need_version=unknown
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+archive_cmds=
+archive_expsym_cmds=
+old_archive_from_new_cmds=
+old_archive_from_expsyms_cmds=
+export_dynamic_flag_spec=
+whole_archive_flag_spec=
+thread_safe_flag_spec=
+hardcode_into_libs=no
+hardcode_libdir_flag_spec=
+hardcode_libdir_separator=
+hardcode_direct=no
+hardcode_minus_L=no
+hardcode_shlibpath_var=unsupported
+runpath_var=
+link_all_deplibs=unknown
+always_export_symbols=no
+export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | sed '\''s/.* //'\'' | sort | uniq > $export_symbols'
+# include_expsyms should be a list of space-separated symbols to be *always*
+# included in the symbol list
+include_expsyms=
+# exclude_expsyms can be an egrep regular expression of symbols to exclude
+# it will be wrapped by ` (' and `)$', so one must not match beginning or
+# end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+# as well as any symbol that contains `d'.
+exclude_expsyms="_GLOBAL_OFFSET_TABLE_"
+# Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+# platforms (ab)use it in PIC code, but their linkers get confused if
+# the symbol is explicitly referenced. Since portable code cannot
+# rely on this symbol name, it's probably fine to never include it in
+# preloaded symbol tables.
+extract_expsyms_cmds=
+
+case $host_os in
+cygwin* | mingw* | pw32*)
+ # FIXME: the MSVC++ port hasn't been tested in a loooong time
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ if test "$GCC" != yes; then
+ with_gnu_ld=no
+ fi
+ ;;
+openbsd*)
+ with_gnu_ld=no
+ ;;
+esac
+
+ld_shlibs=yes
+if test "$with_gnu_ld" = yes; then
+ # If archive_cmds runs LD, not CC, wlarc should be empty
+ wlarc='${wl}'
+
+ # See if GNU ld supports shared libraries.
+ case $host_os in
+ aix3* | aix4* | aix5*)
+ # On AIX, the GNU linker is very broken
+ # Note:Check GNU linker on AIX 5-IA64 when/if it becomes available.
+ ld_shlibs=no
+ cat <<EOF 1>&2
+
+*** Warning: the GNU linker, at least up to release 2.9.1, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support. If you
+*** really care for shared libraries, you may want to modify your PATH
+*** so that a non-GNU linker is found, and then restart.
+
+EOF
+ ;;
+
+ amigaos*)
+ archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+
+ # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
+ # that the semantics of dynamic libraries on AmigaOS, at least up
+ # to version 4, is to share data among multiple programs linked
+ # with the same dynamic library. Since this doesn't match the
+ # behavior of shared libraries on other platforms, we can use
+ # them.
+ ld_shlibs=no
+ ;;
+
+ beos*)
+ if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
+ allow_undefined_flag=unsupported
+ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+ # support --undefined. This deserves some investigation. FIXME
+ archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+
+ cygwin* | mingw* | pw32*)
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ hardcode_libdir_flag_spec='-L$libdir'
+ allow_undefined_flag=unsupported
+ always_export_symbols=yes
+
+ extract_expsyms_cmds='test -f $output_objdir/impgen.c || \
+ sed -e "/^# \/\* impgen\.c starts here \*\//,/^# \/\* impgen.c ends here \*\// { s/^# //;s/^# *$//; p; }" -e d < $''0 > $output_objdir/impgen.c~
+ test -f $output_objdir/impgen.exe || (cd $output_objdir && \
+ if test "x$HOST_CC" != "x" ; then $HOST_CC -o impgen impgen.c ; \
+ else $CC -o impgen impgen.c ; fi)~
+ $output_objdir/impgen $dir/$soroot > $output_objdir/$soname-def'
+
+ old_archive_from_expsyms_cmds='$DLLTOOL --as=$AS --dllname $soname --def $output_objdir/$soname-def --output-lib $output_objdir/$newlib'
+
+ # cygwin and mingw dlls have different entry points and sets of symbols
+ # to exclude.
+ # FIXME: what about values for MSVC?
+ dll_entry=__cygwin_dll_entry@12
+ dll_exclude_symbols=DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12~
+ case $host_os in
+ mingw*)
+ # mingw values
+ dll_entry=_DllMainCRTStartup@12
+ dll_exclude_symbols=DllMain@12,DllMainCRTStartup@12,DllEntryPoint@12~
+ ;;
+ esac
+
+ # mingw and cygwin differ, and it's simplest to just exclude the union
+ # of the two symbol sets.
+ dll_exclude_symbols=DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12,DllMainCRTStartup@12,DllEntryPoint@12
+
+ # recent cygwin and mingw systems supply a stub DllMain which the user
+ # can override, but on older systems we have to supply one (in ltdll.c)
+ if test "x$lt_cv_need_dllmain" = "xyes"; then
+ ltdll_obj='$output_objdir/$soname-ltdll.'"$ac_objext "
+ ltdll_cmds='test -f $output_objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $''0 > $output_objdir/$soname-ltdll.c~
+ test -f $output_objdir/$soname-ltdll.$ac_objext || (cd $output_objdir && $CC -c $soname-ltdll.c)~'
+ else
+ ltdll_obj=
+ ltdll_cmds=
+ fi
+
+ # Extract the symbol export list from an `--export-all' def file,
+ # then regenerate the def file from the symbol export list, so that
+ # the compiled dll only exports the symbol export list.
+ # Be careful not to strip the DATA tag left be newer dlltools.
+ export_symbols_cmds="$ltdll_cmds"'
+ $DLLTOOL --export-all --exclude-symbols '$dll_exclude_symbols' --output-def $output_objdir/$soname-def '$ltdll_obj'$libobjs $convenience~
+ sed -e "1,/EXPORTS/d" -e "s/ @ [0-9]*//" -e "s/ *;.*$//" < $output_objdir/$soname-def > $export_symbols'
+
+ # If the export-symbols file already is a .def file (1st line
+ # is EXPORTS), use it as is.
+ # If DATA tags from a recent dlltool are present, honour them!
+ archive_expsym_cmds='if test "x`sed 1q $export_symbols`" = xEXPORTS; then
+ cp $export_symbols $output_objdir/$soname-def;
+ else
+ echo EXPORTS > $output_objdir/$soname-def;
+ _lt_hint=1;
+ cat $export_symbols | while read symbol; do
+ set dummy \$symbol;
+ case \$# in
+ 2) echo " \$2 @ \$_lt_hint ; " >> $output_objdir/$soname-def;;
+ 4) echo " \$2 \$3 \$4 ; " >> $output_objdir/$soname-def; _lt_hint=`expr \$_lt_hint - 1`;;
+ *) echo " \$2 @ \$_lt_hint \$3 ; " >> $output_objdir/$soname-def;;
+ esac;
+ _lt_hint=`expr 1 + \$_lt_hint`;
+ done;
+ fi~
+ '"$ltdll_cmds"'
+ $CC -Wl,--base-file,$output_objdir/$soname-base '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags~
+ $DLLTOOL --as=$AS --dllname $soname --exclude-symbols '$dll_exclude_symbols' --def $output_objdir/$soname-def --base-file $output_objdir/$soname-base --output-exp $output_objdir/$soname-exp~
+ $CC -Wl,--base-file,$output_objdir/$soname-base $output_objdir/$soname-exp '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags~
+ $DLLTOOL --as=$AS --dllname $soname --exclude-symbols '$dll_exclude_symbols' --def $output_objdir/$soname-def --base-file $output_objdir/$soname-base --output-exp $output_objdir/$soname-exp --output-lib $output_objdir/$libname.dll.a~
+ $CC $output_objdir/$soname-exp '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags'
+ ;;
+
+ netbsd*)
+ if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+ archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+ wlarc=
+ else
+ archive_cmds='$CC -shared -nodefaultlibs $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared -nodefaultlibs $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ fi
+ ;;
+
+ solaris* | sysv5*)
+ if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null; then
+ ld_shlibs=no
+ cat <<EOF 1>&2
+
+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+*** create shared libraries on Solaris systems. Therefore, libtool
+*** is disabling shared libraries support. We urge you to upgrade GNU
+*** binutils to release 2.9.1 or newer. Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+EOF
+ elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+
+ sunos4*)
+ archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ wlarc=
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ *)
+ if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ esac
+
+ if test "$ld_shlibs" = yes; then
+ runpath_var=LD_RUN_PATH
+ hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir'
+ export_dynamic_flag_spec='${wl}--export-dynamic'
+ case $host_os in
+ cygwin* | mingw* | pw32*)
+ # dlltool doesn't understand --whole-archive et. al.
+ whole_archive_flag_spec=
+ ;;
+ *)
+ # ancient GNU ld didn't support --whole-archive et. al.
+ if $LD --help 2>&1 | egrep 'no-whole-archive' > /dev/null; then
+ whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ else
+ whole_archive_flag_spec=
+ fi
+ ;;
+ esac
+ fi
+else
+ # PORTME fill in a description of your system's linker (not GNU ld)
+ case $host_os in
+ aix3*)
+ allow_undefined_flag=unsupported
+ always_export_symbols=yes
+ archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+ # Note: this linker hardcodes the directories in LIBPATH if there
+ # are no directories specified by -L.
+ hardcode_minus_L=yes
+ if test "$GCC" = yes && test -z "$link_static_flag"; then
+ # Neither direct hardcoding nor static linking is supported with a
+ # broken collect2.
+ hardcode_direct=unsupported
+ fi
+ ;;
+
+ aix4* | aix5*)
+ if test "$host_cpu" = ia64; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ exp_sym_flag='-Bexport'
+ no_entry_flag=""
+ else
+ aix_use_runtimelinking=no
+
+ # Test if we are trying to use run time linking or normal
+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+ # need to do runtime linking.
+ case $host_os in aix4.[23]|aix4.[23].*|aix5*)
+ for ld_flag in $LDFLAGS; do
+ case $ld_flag in
+ *-brtl*)
+ aix_use_runtimelinking=yes
+ break
+ ;;
+ esac
+ done
+ esac
+
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
+ fi
+
+ # When large executables or shared objects are built, AIX ld can
+ # have problems creating the table of contents. If linking a library
+ # or program results in "error TOC overflow" add -mminimal-toc to
+ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+ hardcode_direct=yes
+ archive_cmds=''
+ hardcode_libdir_separator=':'
+ if test "$GCC" = yes; then
+ case $host_os in aix4.[012]|aix4.[012].*)
+ collect2name=`${CC} -print-prog-name=collect2`
+ if test -f "$collect2name" && \
+ strings "$collect2name" | grep resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ hardcode_direct=yes
+ else
+ # We have old collect2
+ hardcode_direct=unsupported
+ # It fails to find uninstalled libraries when the uninstalled
+ # path is not listed in the libpath. Setting hardcode_minus_L
+ # to unsupported forces relinking
+ hardcode_minus_L=yes
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_libdir_separator=
+ fi
+ esac
+
+ shared_flag='-shared'
+ else
+ # not using gcc
+ if test "$host_cpu" = ia64; then
+ shared_flag='${wl}-G'
+ else
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag='${wl}-G'
+ else
+ shared_flag='${wl}-bM:SRE'
+ fi
+ fi
+ fi
+
+ # It seems that -bexpall can do strange things, so it is better to
+ # generate a list of symbols to export.
+ always_export_symbols=yes
+ if test "$aix_use_runtimelinking" = yes; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+ allow_undefined_flag='-berok'
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:/usr/lib:/lib'
+ archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ else
+ if test "$host_cpu" = ia64; then
+ hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
+ allow_undefined_flag="-z nodefs"
+ archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname ${wl}-h$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
+ else
+ hardcode_libdir_flag_spec='${wl}-bnolibpath ${wl}-blibpath:$libdir:/usr/lib:/lib'
+ # Warning - without using the other run time loading flags,
+ # -berok will link without error, but may produce a broken library.
+ allow_undefined_flag='${wl}-berok'
+ # This is a bit strange, but is similar to how AIX traditionally builds
+ # it's shared libraries.
+ archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"' ~$AR -crlo $objdir/$libname$release.a $objdir/$soname'
+ fi
+ fi
+ ;;
+
+ amigaos*)
+ archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ # see comment about different semantics on the GNU ld section
+ ld_shlibs=no
+ ;;
+
+ cygwin* | mingw* | pw32*)
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ hardcode_libdir_flag_spec=' '
+ allow_undefined_flag=unsupported
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # FIXME: Setting linknames here is a bad hack.
+ archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | sed -e '\''s/ -lc$//'\''` -link -dll~linknames='
+ # The linker will automatically build a .lib file if we build a DLL.
+ old_archive_from_new_cmds='true'
+ # FIXME: Should let the user specify the lib program.
+ old_archive_cmds='lib /OUT:$oldlib$oldobjs$old_deplibs'
+ fix_srcfile_path='`cygpath -w "$srcfile"`'
+ ;;
+
+ darwin* | rhapsody*)
+ case "$host_os" in
+ rhapsody* | darwin1.[012])
+ allow_undefined_flag='-undefined suppress'
+ ;;
+ *) # Darwin 1.3 on
+ allow_undefined_flag='-flat_namespace -undefined suppress'
+ ;;
+ esac
+ # FIXME: Relying on posixy $() will cause problems for
+ # cross-compilation, but unfortunately the echo tests do not
+ # yet detect zsh echo's removal of \ escapes. Also zsh mangles
+ # `"' quotes if we put them in here... so don't!
+ archive_cmds='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs && $CC $(test .$module = .yes && echo -bundle || echo -dynamiclib) $allow_undefined_flag -o $lib ${lib}-master.o $deplibs$linker_flags $(test .$module != .yes && echo -install_name $rpath/$soname $verstring)'
+ # We need to add '_' to the symbols in $export_symbols first
+ #archive_expsym_cmds="$archive_cmds"' && strip -s $export_symbols'
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ whole_archive_flag_spec='-all_load $convenience'
+ ;;
+
+ freebsd1*)
+ ld_shlibs=no
+ ;;
+
+ # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+ # support. Future versions do this automatically, but an explicit c++rt0.o
+ # does not break anything, and helps significantly (at the cost of a little
+ # extra space).
+ freebsd2.2*)
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+ freebsd2*)
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct=yes
+ hardcode_minus_L=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+ freebsd*)
+ archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ hpux9* | hpux10* | hpux11*)
+ case $host_os in
+ hpux9*) archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' ;;
+ *) archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' ;;
+ esac
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator=:
+ hardcode_direct=yes
+ hardcode_minus_L=yes # Not in the search PATH, but as the default
+ # location of the library.
+ export_dynamic_flag_spec='${wl}-E'
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ if test "$GCC" = yes; then
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ else
+ archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+ hardcode_libdir_flag_spec='-rpath $libdir'
+ fi
+ hardcode_libdir_separator=:
+ link_all_deplibs=yes
+ ;;
+
+ netbsd*)
+ if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
+ else
+ archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
+ fi
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ newsos6)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct=yes
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator=:
+ hardcode_shlibpath_var=no
+ ;;
+
+ openbsd*)
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ export_dynamic_flag_spec='${wl}-E'
+ else
+ case "$host_os" in
+ openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec='-R$libdir'
+ ;;
+ *)
+ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ ;;
+ esac
+ fi
+ ;;
+
+ os2*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ allow_undefined_flag=unsupported
+ archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+ old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+ ;;
+
+ osf3*)
+ if test "$GCC" = yes; then
+ allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+ allow_undefined_flag=' -expect_unresolved \*'
+ archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+ fi
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator=:
+ ;;
+
+ osf4* | osf5*) # as osf3* with the addition of -msym flag
+ if test "$GCC" = yes; then
+ allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ else
+ allow_undefined_flag=' -expect_unresolved \*'
+ archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_expsym_cmds='for i in `cat $export_symbols`; do printf "-exported_symbol " >> $lib.exp; echo "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
+ $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib~$rm $lib.exp'
+
+ #Both c and cxx compiler support -rpath directly
+ hardcode_libdir_flag_spec='-rpath $libdir'
+ fi
+ hardcode_libdir_separator=:
+ ;;
+
+ sco3.2v5*)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_shlibpath_var=no
+ runpath_var=LD_RUN_PATH
+ hardcode_runpath_var=yes
+ export_dynamic_flag_spec='${wl}-Bexport'
+ ;;
+
+ solaris*)
+ # gcc --version < 3.0 without binutils cannot create self contained
+ # shared libraries reliably, requiring libgcc.a to resolve some of
+ # the object symbols generated in some cases. Libraries that use
+ # assert need libgcc.a to resolve __eprintf, for example. Linking
+ # a copy of libgcc.a into every shared library to guarantee resolving
+ # such symbols causes other problems: According to Tim Van Holder
+ # <tim.van.holder@pandora.be>, C++ libraries end up with a separate
+ # (to the application) exception stack for one thing.
+ no_undefined_flag=' -z defs'
+ if test "$GCC" = yes; then
+ case `$CC --version 2>/dev/null` in
+ [12].*)
+ cat <<EOF 1>&2
+
+*** Warning: Releases of GCC earlier than version 3.0 cannot reliably
+*** create self contained shared libraries on Solaris systems, without
+*** introducing a dependency on libgcc.a. Therefore, libtool is disabling
+*** -no-undefined support, which will at least allow you to build shared
+*** libraries. However, you may find that when you link such libraries
+*** into an application without using GCC, you have to manually add
+*** \`gcc --print-libgcc-file-name\` to the link command. We urge you to
+*** upgrade to a newer version of GCC. Another option is to rebuild your
+*** current GCC to use the GNU linker from GNU binutils 2.9.1 or newer.
+
+EOF
+ no_undefined_flag=
+ ;;
+ esac
+ fi
+ # $CC -shared without GNU ld will not create a library from C++
+ # object files and a static libstdc++, better avoid it by now
+ archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_shlibpath_var=no
+ case $host_os in
+ solaris2.[0-5] | solaris2.[0-5].*) ;;
+ *) # Supported since Solaris 2.6 (maybe 2.5.1?)
+ whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;;
+ esac
+ link_all_deplibs=yes
+ ;;
+
+ sunos4*)
+ if test "x$host_vendor" = xsequent; then
+ # Use $CC to link under sequent, because it throws in some extra .o
+ # files that make .init and .fini sections work.
+ archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_direct=yes
+ hardcode_minus_L=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ sysv4)
+ case $host_vendor in
+ sni)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct=yes # is this really true???
+ ;;
+ siemens)
+ ## LD is ld it makes a PLAMLIB
+ ## CC just makes a GrossModule.
+ archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+ reload_cmds='$CC -r -o $output$reload_objs'
+ hardcode_direct=no
+ ;;
+ motorola)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct=no #Motorola manual says yes, but my tests say they lie
+ ;;
+ esac
+ runpath_var='LD_RUN_PATH'
+ hardcode_shlibpath_var=no
+ ;;
+
+ sysv4.3*)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_shlibpath_var=no
+ export_dynamic_flag_spec='-Bexport'
+ ;;
+
+ sysv5*)
+ no_undefined_flag=' -z text'
+ # $CC -shared without GNU ld will not create a library from C++
+ # object files and a static libstdc++, better avoid it by now
+ archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
+ hardcode_libdir_flag_spec=
+ hardcode_shlibpath_var=no
+ runpath_var='LD_RUN_PATH'
+ ;;
+
+ uts4*)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_shlibpath_var=no
+ ;;
+
+ dgux*)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_shlibpath_var=no
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_shlibpath_var=no
+ runpath_var=LD_RUN_PATH
+ hardcode_runpath_var=yes
+ ld_shlibs=yes
+ fi
+ ;;
+
+ sysv4.2uw2*)
+ archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct=yes
+ hardcode_minus_L=no
+ hardcode_shlibpath_var=no
+ hardcode_runpath_var=yes
+ runpath_var=LD_RUN_PATH
+ ;;
+
+ sysv5uw7* | unixware7*)
+ no_undefined_flag='${wl}-z ${wl}text'
+ if test "$GCC" = yes; then
+ archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ fi
+ runpath_var='LD_RUN_PATH'
+ hardcode_shlibpath_var=no
+ ;;
+
+ *)
+ ld_shlibs=no
+ ;;
+ esac
+fi
+echo "$as_me:$LINENO: result: $ld_shlibs" >&5
+echo "${ECHO_T}$ld_shlibs" >&6
+test "$ld_shlibs" = no && can_build_shared=no
+
+# Check hardcoding attributes.
+echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
+hardcode_action=
+if test -n "$hardcode_libdir_flag_spec" || \
+ test -n "$runpath_var"; then
+
+ # We can hardcode non-existant directories.
+ if test "$hardcode_direct" != no &&
+ # If the only mechanism to avoid hardcoding is shlibpath_var, we
+ # have to relink, otherwise we might link with an installed library
+ # when we should be linking with a yet-to-be-installed one
+ ## test "$hardcode_shlibpath_var" != no &&
+ test "$hardcode_minus_L" != no; then
+ # Linking always hardcodes the temporary library directory.
+ hardcode_action=relink
+ else
+ # We can link without hardcoding, and we can hardcode nonexisting dirs.
+ hardcode_action=immediate
+ fi
+else
+ # We cannot hardcode anything, or else we can only hardcode existing
+ # directories.
+ hardcode_action=unsupported
+fi
+echo "$as_me:$LINENO: result: $hardcode_action" >&5
+echo "${ECHO_T}$hardcode_action" >&6
+
+striplib=
+old_striplib=
+echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
+echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6
+if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
+ test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+ test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+ echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+reload_cmds='$LD$reload_flag -o $output$reload_objs'
+test -z "$deplibs_check_method" && deplibs_check_method=unknown
+
+# PORTME Fill in your ld.so characteristics
+echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+
+case $host_os in
+aix3*)
+ version_type=linux
+ library_names_spec='${libname}${release}.so$versuffix $libname.a'
+ shlibpath_var=LIBPATH
+
+ # AIX has no versioning support, so we append a major version to the name.
+ soname_spec='${libname}${release}.so$major'
+ ;;
+
+aix4* | aix5*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ hardcode_into_libs=yes
+ if test "$host_cpu" = ia64; then
+ # AIX 5 supports IA64
+ library_names_spec='${libname}${release}.so$major ${libname}${release}.so$versuffix $libname.so'
+ shlibpath_var=LD_LIBRARY_PATH
+ else
+ # With GCC up to 2.95.x, collect2 would create an import file
+ # for dependence libraries. The import file would start with
+ # the line `#! .'. This would cause the generated library to
+ # depend on `.', always an invalid library. This was fixed in
+ # development snapshots of GCC prior to 3.0.
+ case $host_os in
+ aix4 | aix4.[01] | aix4.[01].*)
+ if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+ echo ' yes '
+ echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
+ :
+ else
+ can_build_shared=no
+ fi
+ ;;
+ esac
+ # AIX (on Power*) has no versioning support, so currently we can
+ # not hardcode correct soname into executable. Probably we can
+ # add versioning support to collect2, so additional links can
+ # be useful in future.
+ if test "$aix_use_runtimelinking" = yes; then
+ # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+ # instead of lib<name>.a to let people know that these are not
+ # typical AIX shared libraries.
+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
+ else
+ # We preserve .a as extension for shared libraries through AIX4.2
+ # and later when we are not doing run time linking.
+ library_names_spec='${libname}${release}.a $libname.a'
+ soname_spec='${libname}${release}.so$major'
+ fi
+ shlibpath_var=LIBPATH
+ fi
+ hardcode_into_libs=yes
+ ;;
+
+amigaos*)
+ library_names_spec='$libname.ixlibrary $libname.a'
+ # Create ${libname}_ixlibrary.a entries in /sys/libs.
+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done'
+ ;;
+
+beos*)
+ library_names_spec='${libname}.so'
+ dynamic_linker="$host_os ld.so"
+ shlibpath_var=LIBRARY_PATH
+ ;;
+
+bsdi4*)
+ version_type=linux
+ need_version=no
+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
+ soname_spec='${libname}${release}.so$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+ sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+ export_dynamic_flag_spec=-rdynamic
+ # the default ld.so.conf also contains /usr/contrib/lib and
+ # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+ # libtool to hard-code these into programs
+ ;;
+
+cygwin* | mingw* | pw32*)
+ version_type=windows
+ need_version=no
+ need_lib_prefix=no
+ case $GCC,$host_os in
+ yes,cygwin*)
+ library_names_spec='$libname.dll.a'
+ soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll'
+ postinstall_cmds='dlpath=`bash 2>&1 -c '\''. $dir/${file}i;echo \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog .libs/$dlname \$dldir/$dlname'
+ postuninstall_cmds='dldll=`bash 2>&1 -c '\''. $file; echo \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $rm \$dlpath'
+ ;;
+ yes,mingw*)
+ library_names_spec='${libname}`echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll'
+ sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | sed -e "s/^libraries://" -e "s/;/ /g" -e "s,=/,/,g"`
+ ;;
+ yes,pw32*)
+ library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | sed -e 's/./-/g'`${versuffix}.dll'
+ ;;
+ *)
+ library_names_spec='${libname}`echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll $libname.lib'
+ ;;
+ esac
+ dynamic_linker='Win32 ld.exe'
+ # FIXME: first we should search . and the directory the executable is in
+ shlibpath_var=PATH
+ ;;
+
+darwin* | rhapsody*)
+ dynamic_linker="$host_os dyld"
+ version_type=darwin
+ need_lib_prefix=no
+ need_version=no
+ # FIXME: Relying on posixy $() will cause problems for
+ # cross-compilation, but unfortunately the echo tests do not
+ # yet detect zsh echo's removal of \ escapes.
+ library_names_spec='${libname}${release}${versuffix}.$(test .$module = .yes && echo so || echo dylib) ${libname}${release}${major}.$(test .$module = .yes && echo so || echo dylib) ${libname}.$(test .$module = .yes && echo so || echo dylib)'
+ soname_spec='${libname}${release}${major}.$(test .$module = .yes && echo so || echo dylib)'
+ shlibpath_overrides_runpath=yes
+ shlibpath_var=DYLD_LIBRARY_PATH
+ ;;
+
+freebsd1*)
+ dynamic_linker=no
+ ;;
+
+freebsd*)
+ objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
+ version_type=freebsd-$objformat
+ case $version_type in
+ freebsd-elf*)
+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so'
+ need_version=no
+ need_lib_prefix=no
+ ;;
+ freebsd-*)
+ library_names_spec='${libname}${release}.so$versuffix $libname.so$versuffix'
+ need_version=yes
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_os in
+ freebsd2*)
+ shlibpath_overrides_runpath=yes
+ ;;
+ *)
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+ esac
+ ;;
+
+gnu*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so${major} ${libname}.so'
+ soname_spec='${libname}${release}.so$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ hardcode_into_libs=yes
+ ;;
+
+hpux9* | hpux10* | hpux11*)
+ # Give a soname corresponding to the major version so that dld.sl refuses to
+ # link against other versions.
+ dynamic_linker="$host_os dld.sl"
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ shlibpath_var=SHLIB_PATH
+ shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+ library_names_spec='${libname}${release}.sl$versuffix ${libname}${release}.sl$major $libname.sl'
+ soname_spec='${libname}${release}.sl$major'
+ # HP-UX runs *really* slowly unless shared libraries are mode 555.
+ postinstall_cmds='chmod 555 $lib'
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $host_os in
+ nonstopux*) version_type=nonstopux ;;
+ *) version_type=irix ;;
+ esac
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}.so$major'
+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so $libname.so'
+ case $host_os in
+ irix5* | nonstopux*)
+ libsuff= shlibsuff=
+ ;;
+ *)
+ case $LD in # libtool.m4 will add one of these switches to LD
+ *-32|*"-32 ") libsuff= shlibsuff= libmagic=32-bit;;
+ *-n32|*"-n32 ") libsuff=32 shlibsuff=N32 libmagic=N32;;
+ *-64|*"-64 ") libsuff=64 shlibsuff=64 libmagic=64-bit;;
+ *) libsuff= shlibsuff= libmagic=never-match;;
+ esac
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+ sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+ ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux-gnuoldld* | linux-gnuaout* | linux-gnucoff*)
+ dynamic_linker=no
+ ;;
+
+# This must be Linux ELF.
+linux-gnu*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
+ soname_spec='${libname}${release}.so$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ # This implies no fast_install, which is unacceptable.
+ # Some rework will be needed to allow for fast_install
+ # before this can be enabled.
+ hardcode_into_libs=yes
+
+ # We used to test for /lib/ld.so.1 and disable shared libraries on
+ # powerpc, because MkLinux only supported shared libraries with the
+ # GNU dynamic linker. Since this was broken with cross compilers,
+ # most powerpc-linux boxes support dynamic linking these days and
+ # people can always --disable-shared, the test was removed, and we
+ # assume the GNU/Linux dynamic linker is in use.
+ dynamic_linker='GNU/Linux ld.so'
+ ;;
+
+netbsd*)
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+ library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ dynamic_linker='NetBSD (a.out) ld.so'
+ else
+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so ${libname}.so'
+ soname_spec='${libname}${release}.so$major'
+ dynamic_linker='NetBSD ld.elf_so'
+ fi
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+
+newsos6)
+ version_type=linux
+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ ;;
+
+openbsd*)
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ case "$host_os" in
+ openbsd2.[89] | openbsd2.[89].*)
+ shlibpath_overrides_runpath=no
+ ;;
+ *)
+ shlibpath_overrides_runpath=yes
+ ;;
+ esac
+ else
+ shlibpath_overrides_runpath=yes
+ fi
+ library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+os2*)
+ libname_spec='$name'
+ need_lib_prefix=no
+ library_names_spec='$libname.dll $libname.a'
+ dynamic_linker='OS/2 ld.exe'
+ shlibpath_var=LIBPATH
+ ;;
+
+osf3* | osf4* | osf5*)
+ version_type=osf
+ need_version=no
+ soname_spec='${libname}${release}.so$major'
+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+ sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+ hardcode_into_libs=yes
+ ;;
+
+sco3.2v5*)
+ version_type=osf
+ soname_spec='${libname}${release}.so$major'
+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+solaris*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
+ soname_spec='${libname}${release}.so$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ # ldd complains unless libraries are executable
+ postinstall_cmds='chmod +x $lib'
+ ;;
+
+sunos4*)
+ version_type=sunos
+ library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
+ finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ if test "$with_gnu_ld" = yes; then
+ need_lib_prefix=no
+ fi
+ need_version=yes
+ ;;
+
+sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ version_type=linux
+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
+ soname_spec='${libname}${release}.so$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_vendor in
+ sni)
+ shlibpath_overrides_runpath=no
+ need_lib_prefix=no
+ export_dynamic_flag_spec='${wl}-Blargedynsym'
+ runpath_var=LD_RUN_PATH
+ ;;
+ siemens)
+ need_lib_prefix=no
+ ;;
+ motorola)
+ need_lib_prefix=no
+ need_version=no
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+ ;;
+ esac
+ ;;
+
+uts4*)
+ version_type=linux
+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
+ soname_spec='${libname}${release}.so$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+dgux*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
+ soname_spec='${libname}${release}.so$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+sysv4*MP*)
+ if test -d /usr/nec ;then
+ version_type=linux
+ library_names_spec='$libname.so.$versuffix $libname.so.$major $libname.so'
+ soname_spec='$libname.so.$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ fi
+ ;;
+
+*)
+ dynamic_linker=no
+ ;;
+esac
+echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+echo "${ECHO_T}$dynamic_linker" >&6
+test "$dynamic_linker" = no && can_build_shared=no
+
+# Report the final consequences.
+echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
+echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6
+echo "$as_me:$LINENO: result: $can_build_shared" >&5
+echo "${ECHO_T}$can_build_shared" >&6
+
+echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
+echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6
+test "$can_build_shared" = "no" && enable_shared=no
+
+# On AIX, shared libraries and static libraries use the same namespace, and
+# are all built from PIC.
+case "$host_os" in
+aix3*)
+ test "$enable_shared" = yes && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+
+aix4*)
+ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+ test "$enable_shared" = yes && enable_static=no
+ fi
+ ;;
+esac
+echo "$as_me:$LINENO: result: $enable_shared" >&5
+echo "${ECHO_T}$enable_shared" >&6
+
+echo "$as_me:$LINENO: checking whether to build static libraries" >&5
+echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6
+# Make sure either enable_shared or enable_static is yes.
+test "$enable_shared" = yes || enable_static=yes
+echo "$as_me:$LINENO: result: $enable_static" >&5
+echo "${ECHO_T}$enable_static" >&6
+
+if test "$hardcode_action" = relink; then
+ # Fast installation is not supported
+ enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+ test "$enable_shared" = no; then
+ # Fast installation is not necessary
+ enable_fast_install=needless
+fi
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+ variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+if test "x$enable_dlopen" != xyes; then
+ enable_dlopen=unknown
+ enable_dlopen_self=unknown
+ enable_dlopen_self_static=unknown
+else
+ lt_cv_dlopen=no
+ lt_cv_dlopen_libs=
+
+ case $host_os in
+ beos*)
+ lt_cv_dlopen="load_add_on"
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=yes
+ ;;
+
+ cygwin* | mingw* | pw32*)
+ lt_cv_dlopen="LoadLibrary"
+ lt_cv_dlopen_libs=
+ ;;
+
+ *)
+ echo "$as_me:$LINENO: checking for shl_load" >&5
+echo $ECHO_N "checking for shl_load... $ECHO_C" >&6
+if test "${ac_cv_func_shl_load+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char shl_load (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+/* Override any gcc2 internal prototype to avoid an error. */
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char shl_load ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_shl_load) || defined (__stub___shl_load)
+choke me
+#else
+char (*f) () = shl_load;
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+int
+main ()
+{
+return f != shl_load;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_func_shl_load=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_func_shl_load=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
+echo "${ECHO_T}$ac_cv_func_shl_load" >&6
+if test $ac_cv_func_shl_load = yes; then
+ lt_cv_dlopen="shl_load"
+else
+ echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
+echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6
+if test "${ac_cv_lib_dld_shl_load+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldld $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any gcc2 internal prototype to avoid an error. */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char shl_load ();
+int
+main ()
+{
+shl_load ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_dld_shl_load=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_lib_dld_shl_load=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
+echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6
+if test $ac_cv_lib_dld_shl_load = yes; then
+ lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"
+else
+ echo "$as_me:$LINENO: checking for dlopen" >&5
+echo $ECHO_N "checking for dlopen... $ECHO_C" >&6
+if test "${ac_cv_func_dlopen+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char dlopen (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+/* Override any gcc2 internal prototype to avoid an error. */
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char dlopen ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_dlopen) || defined (__stub___dlopen)
+choke me
+#else
+char (*f) () = dlopen;
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+int
+main ()
+{
+return f != dlopen;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_func_dlopen=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_func_dlopen=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
+echo "${ECHO_T}$ac_cv_func_dlopen" >&6
+if test $ac_cv_func_dlopen = yes; then
+ lt_cv_dlopen="dlopen"
+else
+ echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
+echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6
+if test "${ac_cv_lib_dl_dlopen+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldl $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any gcc2 internal prototype to avoid an error. */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char dlopen ();
+int
+main ()
+{
+dlopen ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_dl_dlopen=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_lib_dl_dlopen=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
+echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6
+if test $ac_cv_lib_dl_dlopen = yes; then
+ lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
+else
+ echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
+echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6
+if test "${ac_cv_lib_svld_dlopen+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lsvld $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any gcc2 internal prototype to avoid an error. */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char dlopen ();
+int
+main ()
+{
+dlopen ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_svld_dlopen=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_lib_svld_dlopen=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5
+echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6
+if test $ac_cv_lib_svld_dlopen = yes; then
+ lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
+else
+ echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5
+echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6
+if test "${ac_cv_lib_dld_dld_link+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldld $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any gcc2 internal prototype to avoid an error. */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char dld_link ();
+int
+main ()
+{
+dld_link ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_dld_dld_link=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_lib_dld_dld_link=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
+echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6
+if test $ac_cv_lib_dld_dld_link = yes; then
+ lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+ ;;
+ esac
+
+ if test "x$lt_cv_dlopen" != xno; then
+ enable_dlopen=yes
+ else
+ enable_dlopen=no
+ fi
+
+ case $lt_cv_dlopen in
+ dlopen)
+ save_CPPFLAGS="$CPPFLAGS"
+ test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+
+ save_LDFLAGS="$LDFLAGS"
+ eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+
+ save_LIBS="$LIBS"
+ LIBS="$lt_cv_dlopen_libs $LIBS"
+
+ echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5
+echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6
+if test "${lt_cv_dlopen_self+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test "$cross_compiling" = yes; then :
+ lt_cv_dlopen_self=cross
+else
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<EOF
+#line 7702 "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+# define LT_DLGLOBAL RTLD_GLOBAL
+#else
+# ifdef DL_GLOBAL
+# define LT_DLGLOBAL DL_GLOBAL
+# else
+# define LT_DLGLOBAL 0
+# endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+ find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+# ifdef RTLD_LAZY
+# define LT_DLLAZY_OR_NOW RTLD_LAZY
+# else
+# ifdef DL_LAZY
+# define LT_DLLAZY_OR_NOW DL_LAZY
+# else
+# ifdef RTLD_NOW
+# define LT_DLLAZY_OR_NOW RTLD_NOW
+# else
+# ifdef DL_NOW
+# define LT_DLLAZY_OR_NOW DL_NOW
+# else
+# define LT_DLLAZY_OR_NOW 0
+# endif
+# endif
+# endif
+# endif
+#endif
+
+#ifdef __cplusplus
+extern "C" void exit (int);
+#endif
+
+void fnord() { int i=42;}
+int main ()
+{
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+ int status = $lt_dlunknown;
+
+ if (self)
+ {
+ if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
+ else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+ /* dlclose (self); */
+ }
+
+ exit (status);
+}
+EOF
+ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
+ (./conftest; exit; ) 2>/dev/null
+ lt_status=$?
+ case x$lt_status in
+ x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
+ x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
+ x$lt_unknown|x*) lt_cv_dlopen_self=no ;;
+ esac
+ else :
+ # compilation failed
+ lt_cv_dlopen_self=no
+ fi
+fi
+rm -fr conftest*
+
+
+fi
+echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5
+echo "${ECHO_T}$lt_cv_dlopen_self" >&6
+
+ if test "x$lt_cv_dlopen_self" = xyes; then
+ LDFLAGS="$LDFLAGS $link_static_flag"
+ echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5
+echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6
+if test "${lt_cv_dlopen_self_static+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test "$cross_compiling" = yes; then :
+ lt_cv_dlopen_self_static=cross
+else
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<EOF
+#line 7800 "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+# define LT_DLGLOBAL RTLD_GLOBAL
+#else
+# ifdef DL_GLOBAL
+# define LT_DLGLOBAL DL_GLOBAL
+# else
+# define LT_DLGLOBAL 0
+# endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+ find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+# ifdef RTLD_LAZY
+# define LT_DLLAZY_OR_NOW RTLD_LAZY
+# else
+# ifdef DL_LAZY
+# define LT_DLLAZY_OR_NOW DL_LAZY
+# else
+# ifdef RTLD_NOW
+# define LT_DLLAZY_OR_NOW RTLD_NOW
+# else
+# ifdef DL_NOW
+# define LT_DLLAZY_OR_NOW DL_NOW
+# else
+# define LT_DLLAZY_OR_NOW 0
+# endif
+# endif
+# endif
+# endif
+#endif
+
+#ifdef __cplusplus
+extern "C" void exit (int);
+#endif
+
+void fnord() { int i=42;}
+int main ()
+{
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+ int status = $lt_dlunknown;
+
+ if (self)
+ {
+ if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
+ else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+ /* dlclose (self); */
+ }
+
+ exit (status);
+}
+EOF
+ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
+ (./conftest; exit; ) 2>/dev/null
+ lt_status=$?
+ case x$lt_status in
+ x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
+ x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
+ x$lt_unknown|x*) lt_cv_dlopen_self_static=no ;;
+ esac
+ else :
+ # compilation failed
+ lt_cv_dlopen_self_static=no
+ fi
+fi
+rm -fr conftest*
+
+
+fi
+echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5
+echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6
+ fi
+
+ CPPFLAGS="$save_CPPFLAGS"
+ LDFLAGS="$save_LDFLAGS"
+ LIBS="$save_LIBS"
+ ;;
+ esac
+
+ case $lt_cv_dlopen_self in
+ yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
+ *) enable_dlopen_self=unknown ;;
+ esac
+
+ case $lt_cv_dlopen_self_static in
+ yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
+ *) enable_dlopen_self_static=unknown ;;
+ esac
+fi
+
+
+if test "$enable_shared" = yes && test "$GCC" = yes; then
+ case $archive_cmds in
+ *'~'*)
+ # FIXME: we may have to deal with multi-command sequences.
+ ;;
+ '$CC '*)
+ # Test whether the compiler implicitly links with -lc since on some
+ # systems, -lgcc has to come before -lc. If gcc already passes -lc
+ # to ld, don't add -lc before -lgcc.
+ echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6
+ if test "${lt_cv_archive_cmds_need_lc+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ $rm conftest*
+ echo 'static int dummy;' > conftest.$ac_ext
+
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ soname=conftest
+ lib=conftest
+ libobjs=conftest.$ac_objext
+ deplibs=
+ wl=$lt_cv_prog_cc_wl
+ compiler_flags=-v
+ linker_flags=-v
+ verstring=
+ output_objdir=.
+ libname=conftest
+ save_allow_undefined_flag=$allow_undefined_flag
+ allow_undefined_flag=
+ if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
+ (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+ then
+ lt_cv_archive_cmds_need_lc=no
+ else
+ lt_cv_archive_cmds_need_lc=yes
+ fi
+ allow_undefined_flag=$save_allow_undefined_flag
+ else
+ cat conftest.err 1>&5
+ fi
+fi
+
+ echo "$as_me:$LINENO: result: $lt_cv_archive_cmds_need_lc" >&5
+echo "${ECHO_T}$lt_cv_archive_cmds_need_lc" >&6
+ ;;
+ esac
+fi
+need_lc=${lt_cv_archive_cmds_need_lc-yes}
+
+# The second clause should only fire when bootstrapping the
+# libtool distribution, otherwise you forgot to ship ltmain.sh
+# with your package, and you will get complaints that there are
+# no rules to generate ltmain.sh.
+if test -f "$ltmain"; then
+ :
+else
+ # If there is no Makefile yet, we rely on a make rule to execute
+ # `config.status --recheck' to rerun these tests and create the
+ # libtool script then.
+ test -f Makefile && make "$ltmain"
+fi
+
+if test -f "$ltmain"; then
+ trap "$rm \"${ofile}T\"; exit 1" 1 2 15
+ $rm -f "${ofile}T"
+
+ echo creating $ofile
+
+ # Now quote all the things that may contain metacharacters while being
+ # careful not to overquote the AC_SUBSTed values. We take copies of the
+ # variables and quote the copies for generation of the libtool script.
+ for var in echo old_CC old_CFLAGS SED \
+ AR AR_FLAGS CC LD LN_S NM SHELL \
+ reload_flag reload_cmds wl \
+ pic_flag link_static_flag no_builtin_flag export_dynamic_flag_spec \
+ thread_safe_flag_spec whole_archive_flag_spec libname_spec \
+ library_names_spec soname_spec \
+ RANLIB old_archive_cmds old_archive_from_new_cmds old_postinstall_cmds \
+ old_postuninstall_cmds archive_cmds archive_expsym_cmds postinstall_cmds \
+ postuninstall_cmds extract_expsyms_cmds old_archive_from_expsyms_cmds \
+ old_striplib striplib file_magic_cmd export_symbols_cmds \
+ deplibs_check_method allow_undefined_flag no_undefined_flag \
+ finish_cmds finish_eval global_symbol_pipe global_symbol_to_cdecl \
+ global_symbol_to_c_name_address \
+ hardcode_libdir_flag_spec hardcode_libdir_separator \
+ sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
+ compiler_c_o compiler_o_lo need_locks exclude_expsyms include_expsyms; do
+
+ case $var in
+ reload_cmds | old_archive_cmds | old_archive_from_new_cmds | \
+ old_postinstall_cmds | old_postuninstall_cmds | \
+ export_symbols_cmds | archive_cmds | archive_expsym_cmds | \
+ extract_expsyms_cmds | old_archive_from_expsyms_cmds | \
+ postinstall_cmds | postuninstall_cmds | \
+ finish_cmds | sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
+ # Double-quote double-evaled strings.
+ eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
+ ;;
+ *)
+ eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
+ ;;
+ esac
+ done
+
+ cat <<__EOF__ > "${ofile}T"
+#! $SHELL
+
+# `$echo "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
+# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+#
+# Copyright (C) 1996-2000 Free Software Foundation, Inc.
+# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# A sed that does not truncate output.
+SED=$lt_SED
+
+# Sed that helps us avoid accidentally triggering echo(1) options like -n.
+Xsed="${SED} -e s/^X//"
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+if test "X\${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi
+
+# ### BEGIN LIBTOOL CONFIG
+
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
+
+# Whether or not to build shared libraries.
+build_libtool_libs=$enable_shared
+
+# Whether or not to build static libraries.
+build_old_libs=$enable_static
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$need_lc
+
+# Whether or not to optimize for fast installation.
+fast_install=$enable_fast_install
+
+# The host system.
+host_alias=$host_alias
+host=$host
+
+# An echo program that does not interpret backslashes.
+echo=$lt_echo
+
+# The archiver.
+AR=$lt_AR
+AR_FLAGS=$lt_AR_FLAGS
+
+# The default C compiler.
+CC=$lt_CC
+
+# Is the compiler the GNU C compiler?
+with_gcc=$GCC
+
+# The linker used to build libraries.
+LD=$lt_LD
+
+# Whether we need hard or soft links.
+LN_S=$lt_LN_S
+
+# A BSD-compatible nm program.
+NM=$lt_NM
+
+# A symbol stripping program
+STRIP=$STRIP
+
+# Used to examine libraries when file_magic_cmd begins "file"
+MAGIC_CMD=$MAGIC_CMD
+
+# Used on cygwin: DLL creation program.
+DLLTOOL="$DLLTOOL"
+
+# Used on cygwin: object dumper.
+OBJDUMP="$OBJDUMP"
+
+# Used on cygwin: assembler.
+AS="$AS"
+
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
+
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
+
+# How to pass a linker flag through the compiler.
+wl=$lt_wl
+
+# Object file suffix (normally "o").
+objext="$ac_objext"
+
+# Old archive suffix (normally "a").
+libext="$libext"
+
+# Executable file suffix (normally "").
+exeext="$exeext"
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_pic_flag
+pic_mode=$pic_mode
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_compiler_c_o
+
+# Can we write directly to a .lo ?
+compiler_o_lo=$lt_compiler_o_lo
+
+# Must we lock files when doing compilation ?
+need_locks=$lt_need_locks
+
+# Do we need the lib prefix for modules?
+need_lib_prefix=$need_lib_prefix
+
+# Do we need a version for libraries?
+need_version=$need_version
+
+# Whether dlopen is supported.
+dlopen_support=$enable_dlopen
+
+# Whether dlopen of programs is supported.
+dlopen_self=$enable_dlopen_self
+
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=$enable_dlopen_self_static
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_link_static_flag
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_no_builtin_flag
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_whole_archive_flag_spec
+
+# Compiler flag to generate thread-safe objects.
+thread_safe_flag_spec=$lt_thread_safe_flag_spec
+
+# Library versioning type.
+version_type=$version_type
+
+# Format of library name prefix.
+libname_spec=$lt_libname_spec
+
+# List of archive names. First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME.
+library_names_spec=$lt_library_names_spec
+
+# The coded name of the library, if different from the real name.
+soname_spec=$lt_soname_spec
+
+# Commands used to build and install an old-style archive.
+RANLIB=$lt_RANLIB
+old_archive_cmds=$lt_old_archive_cmds
+old_postinstall_cmds=$lt_old_postinstall_cmds
+old_postuninstall_cmds=$lt_old_postuninstall_cmds
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
+
+# Commands used to build and install a shared archive.
+archive_cmds=$lt_archive_cmds
+archive_expsym_cmds=$lt_archive_expsym_cmds
+postinstall_cmds=$lt_postinstall_cmds
+postuninstall_cmds=$lt_postuninstall_cmds
+
+# Commands to strip libraries.
+old_striplib=$lt_old_striplib
+striplib=$lt_striplib
+
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method=$lt_deplibs_check_method
+
+# Command to use when deplibs_check_method == file_magic.
+file_magic_cmd=$lt_file_magic_cmd
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_allow_undefined_flag
+
+# Flag that forces no undefined symbols.
+no_undefined_flag=$lt_no_undefined_flag
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds=$lt_finish_cmds
+
+# Same as above, but a single script fragment to be evaled but not shown.
+finish_eval=$lt_finish_eval
+
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe=$lt_global_symbol_pipe
+
+# Transform the output of nm in a proper C declaration
+global_symbol_to_cdecl=$lt_global_symbol_to_cdecl
+
+# Transform the output of nm in a C name address pair
+global_symbol_to_c_name_address=$lt_global_symbol_to_c_name_address
+
+# This is the shared library runtime path variable.
+runpath_var=$runpath_var
+
+# This is the shared library path variable.
+shlibpath_var=$shlibpath_var
+
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$hardcode_action
+
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=$hardcode_into_libs
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
+
+# Whether we need a single -rpath flag with a separated argument.
+hardcode_libdir_separator=$lt_hardcode_libdir_separator
+
+# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
+# resulting binary.
+hardcode_direct=$hardcode_direct
+
+# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
+# resulting binary.
+hardcode_minus_L=$hardcode_minus_L
+
+# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
+# the resulting binary.
+hardcode_shlibpath_var=$hardcode_shlibpath_var
+
+# Variables whose values should be saved in libtool wrapper scripts and
+# restored at relink time.
+variables_saved_for_relink="$variables_saved_for_relink"
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$link_all_deplibs
+
+# Compile-time system search path for libraries
+sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+
+# Run-time system search path for libraries
+sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+
+# Fix the shell variable \$srcfile for the compiler.
+fix_srcfile_path="$fix_srcfile_path"
+
+# Set to yes if exported symbols are required.
+always_export_symbols=$always_export_symbols
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_export_symbols_cmds
+
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=$lt_extract_expsyms_cmds
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_exclude_expsyms
+
+# Symbols that must always be exported.
+include_expsyms=$lt_include_expsyms
+
+# ### END LIBTOOL CONFIG
+
+__EOF__
+
+ case $host_os in
+ aix3*)
+ cat <<\EOF >> "${ofile}T"
+
+# AIX sometimes has problems with the GCC collect2 program. For some
+# reason, if we set the COLLECT_NAMES environment variable, the problems
+# vanish in a puff of smoke.
+if test "X${COLLECT_NAMES+set}" != Xset; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+fi
+EOF
+ ;;
+ esac
+
+ case $host_os in
+ cygwin* | mingw* | pw32* | os2*)
+ cat <<'EOF' >> "${ofile}T"
+ # This is a source program that is used to create dlls on Windows
+ # Don't remove nor modify the starting and closing comments
+# /* ltdll.c starts here */
+# #define WIN32_LEAN_AND_MEAN
+# #include <windows.h>
+# #undef WIN32_LEAN_AND_MEAN
+# #include <stdio.h>
+#
+# #ifndef __CYGWIN__
+# # ifdef __CYGWIN32__
+# # define __CYGWIN__ __CYGWIN32__
+# # endif
+# #endif
+#
+# #ifdef __cplusplus
+# extern "C" {
+# #endif
+# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved);
+# #ifdef __cplusplus
+# }
+# #endif
+#
+# #ifdef __CYGWIN__
+# #include <cygwin/cygwin_dll.h>
+# DECLARE_CYGWIN_DLL( DllMain );
+# #endif
+# HINSTANCE __hDllInstance_base;
+#
+# BOOL APIENTRY
+# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved)
+# {
+# __hDllInstance_base = hInst;
+# return TRUE;
+# }
+# /* ltdll.c ends here */
+ # This is a source program that is used to create import libraries
+ # on Windows for dlls which lack them. Don't remove nor modify the
+ # starting and closing comments
+# /* impgen.c starts here */
+# /* Copyright (C) 1999-2000 Free Software Foundation, Inc.
+#
+# This file is part of GNU libtool.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# */
+#
+# #include <stdio.h> /* for printf() */
+# #include <unistd.h> /* for open(), lseek(), read() */
+# #include <fcntl.h> /* for O_RDONLY, O_BINARY */
+# #include <string.h> /* for strdup() */
+#
+# /* O_BINARY isn't required (or even defined sometimes) under Unix */
+# #ifndef O_BINARY
+# #define O_BINARY 0
+# #endif
+#
+# static unsigned int
+# pe_get16 (fd, offset)
+# int fd;
+# int offset;
+# {
+# unsigned char b[2];
+# lseek (fd, offset, SEEK_SET);
+# read (fd, b, 2);
+# return b[0] + (b[1]<<8);
+# }
+#
+# static unsigned int
+# pe_get32 (fd, offset)
+# int fd;
+# int offset;
+# {
+# unsigned char b[4];
+# lseek (fd, offset, SEEK_SET);
+# read (fd, b, 4);
+# return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24);
+# }
+#
+# static unsigned int
+# pe_as32 (ptr)
+# void *ptr;
+# {
+# unsigned char *b = ptr;
+# return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24);
+# }
+#
+# int
+# main (argc, argv)
+# int argc;
+# char *argv[];
+# {
+# int dll;
+# unsigned long pe_header_offset, opthdr_ofs, num_entries, i;
+# unsigned long export_rva, export_size, nsections, secptr, expptr;
+# unsigned long name_rvas, nexp;
+# unsigned char *expdata, *erva;
+# char *filename, *dll_name;
+#
+# filename = argv[1];
+#
+# dll = open(filename, O_RDONLY|O_BINARY);
+# if (dll < 1)
+# return 1;
+#
+# dll_name = filename;
+#
+# for (i=0; filename[i]; i++)
+# if (filename[i] == '/' || filename[i] == '\\' || filename[i] == ':')
+# dll_name = filename + i +1;
+#
+# pe_header_offset = pe_get32 (dll, 0x3c);
+# opthdr_ofs = pe_header_offset + 4 + 20;
+# num_entries = pe_get32 (dll, opthdr_ofs + 92);
+#
+# if (num_entries < 1) /* no exports */
+# return 1;
+#
+# export_rva = pe_get32 (dll, opthdr_ofs + 96);
+# export_size = pe_get32 (dll, opthdr_ofs + 100);
+# nsections = pe_get16 (dll, pe_header_offset + 4 +2);
+# secptr = (pe_header_offset + 4 + 20 +
+# pe_get16 (dll, pe_header_offset + 4 + 16));
+#
+# expptr = 0;
+# for (i = 0; i < nsections; i++)
+# {
+# char sname[8];
+# unsigned long secptr1 = secptr + 40 * i;
+# unsigned long vaddr = pe_get32 (dll, secptr1 + 12);
+# unsigned long vsize = pe_get32 (dll, secptr1 + 16);
+# unsigned long fptr = pe_get32 (dll, secptr1 + 20);
+# lseek(dll, secptr1, SEEK_SET);
+# read(dll, sname, 8);
+# if (vaddr <= export_rva && vaddr+vsize > export_rva)
+# {
+# expptr = fptr + (export_rva - vaddr);
+# if (export_rva + export_size > vaddr + vsize)
+# export_size = vsize - (export_rva - vaddr);
+# break;
+# }
+# }
+#
+# expdata = (unsigned char*)malloc(export_size);
+# lseek (dll, expptr, SEEK_SET);
+# read (dll, expdata, export_size);
+# erva = expdata - export_rva;
+#
+# nexp = pe_as32 (expdata+24);
+# name_rvas = pe_as32 (expdata+32);
+#
+# printf ("EXPORTS\n");
+# for (i = 0; i<nexp; i++)
+# {
+# unsigned long name_rva = pe_as32 (erva+name_rvas+i*4);
+# printf ("\t%s @ %ld ;\n", erva+name_rva, 1+ i);
+# }
+#
+# return 0;
+# }
+# /* impgen.c ends here */
+
+EOF
+ ;;
+ esac
+
+ # We use sed instead of cat because bash on DJGPP gets confused if
+ # if finds mixed CR/LF and LF-only lines. Since sed operates in
+ # text mode, it properly converts lines to CR/LF. This bash problem
+ # is reportedly fixed, but why not run on old versions too?
+ sed '$q' "$ltmain" >> "${ofile}T" || (rm -f "${ofile}T"; exit 1)
+
+ mv -f "${ofile}T" "$ofile" || \
+ (rm -f "$ofile" && cp "${ofile}T" "$ofile" && rm -f "${ofile}T")
+ chmod +x "$ofile"
+fi
+
+
+
+
+
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"
+
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+
+# Prevent multiple expansion
+
+
+
+
+echo "$as_me:$LINENO: checking if the Russian character set should be enabled (now obsolete)" >&5
+echo $ECHO_N "checking if the Russian character set should be enabled (now obsolete)... $ECHO_C" >&6
+# Check whether --enable-russian or --disable-russian was given.
+if test "${enable_russian+set}" = set; then
+ enableval="$enable_russian"
+
+echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+
+cat >>confdefs.h <<\_ACEOF
+#define ENABLE_RUSSIAN_CHARSET 1
+_ACEOF
+
+
+else
+
+echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+
+fi;
+
+echo "$as_me:$LINENO: checking if the alternate character set should be disabled" >&5
+echo $ECHO_N "checking if the alternate character set should be disabled... $ECHO_C" >&6
+# Check whether --enable-acs or --disable-acs was given.
+if test "${enable_acs+set}" = set; then
+ enableval="$enable_acs"
+
+echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+
+cat >>confdefs.h <<\_ACEOF
+#define DISABLE_ACS 1
+_ACEOF
+
+
+else
+
+echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+
+fi;
+
+echo "$as_me:$LINENO: checking if the 8 bit output should be disabled" >&5
+echo $ECHO_N "checking if the 8 bit output should be disabled... $ECHO_C" >&6
+# Check whether --enable-8bit or --disable-8bit was given.
+if test "${enable_8bit+set}" = set; then
+ enableval="$enable_8bit"
+
+echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+
+cat >>confdefs.h <<\_ACEOF
+#define DISABLE_8BIT_CHARS 1
+_ACEOF
+
+
+else
+
+echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+
+fi;
+
+case $host_os in
+ linux*)
+echo "$as_me:$LINENO: checking if the Linux GPM mouse support should be disabled" >&5
+echo $ECHO_N "checking if the Linux GPM mouse support should be disabled... $ECHO_C" >&6
+# Check whether --enable-linux-gpm or --disable-linux-gpm was given.
+if test "${enable_linux_gpm+set}" = set; then
+ enableval="$enable_linux_gpm"
+
+echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+
+else
+
+echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+
+cat >>confdefs.h <<\_ACEOF
+#define ENABLE_GPM 1
+_ACEOF
+
+
+fi;
+
+echo "$as_me:$LINENO: checking if the Linux VCS support should be disabled" >&5
+echo $ECHO_N "checking if the Linux VCS support should be disabled... $ECHO_C" >&6
+# Check whether --enable-linux-vcs or --disable-linux-vcs was given.
+if test "${enable_linux_vcs+set}" = set; then
+ enableval="$enable_linux_vcs"
+
+echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+
+else
+
+echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+
+cat >>confdefs.h <<\_ACEOF
+#define ENABLE_VCS 1
+_ACEOF
+
+
+fi;
+ ;;
+ freebsd*)
+echo "$as_me:$LINENO: checking if the FreeBSD mouse support should be disabled" >&5
+echo $ECHO_N "checking if the FreeBSD mouse support should be disabled... $ECHO_C" >&6
+# Check whether --enable-freebsd-mouse or --disable-freebsd-mouse was given.
+if test "${enable_freebsd_mouse+set}" = set; then
+ enableval="$enable_freebsd_mouse"
+
+echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+
+else
+
+echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+
+cat >>confdefs.h <<\_ACEOF
+#define ENABLE_FBSDM 1
+_ACEOF
+
+
+fi;
+ ;;
+esac
+
+ ac_config_files="$ac_config_files doc/Makefile lib/Makefile demo/Makefile tutorial/Makefile tvhc/Makefile Makefile"
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems. If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overridden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+{
+ (set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote
+ # substitution turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ "s/'/'\\\\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n \
+ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+ ;;
+ esac;
+} |
+ sed '
+ t clear
+ : clear
+ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+ t end
+ /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+ : end' >>confcache
+if diff $cache_file confcache >/dev/null 2>&1; then :; else
+ if test -w $cache_file; then
+ test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
+ cat confcache >$cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=/{
+s/:*\$(srcdir):*/:/;
+s/:*\${srcdir}:*/:/;
+s/:*@srcdir@:*/:/;
+s/^\([^=]*=[ ]*\):*/\1/;
+s/:*$//;
+s/^[^=]*=[ ]*$//;
+}'
+fi
+
+DEFS=-DHAVE_CONFIG_H
+
+ac_libobjs=
+ac_ltlibobjs=
+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
+ # 1. Remove the extension, and $U if already installed.
+ ac_i=`echo "$ac_i" |
+ sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
+ # 2. Add them.
+ ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
+ ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
+done
+LIBOBJS=$ac_libobjs
+
+LTLIBOBJS=$ac_ltlibobjs
+
+
+if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
+ { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"AMDEP\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
+ { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
+ { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+: ${CONFIG_STATUS=./config.status}
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
+echo "$as_me: creating $CONFIG_STATUS" >&6;}
+cat >$CONFIG_STATUS <<_ACEOF
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+ac_cs_recheck=false
+ac_cs_silent=false
+SHELL=\${CONFIG_SHELL-$SHELL}
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+## --------------------- ##
+## M4sh Initialization. ##
+## --------------------- ##
+
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+ set -o posix
+fi
+
+# Support unset when possible.
+if (FOO=FOO; unset FOO) >/dev/null 2>&1; then
+ as_unset=unset
+else
+ as_unset=false
+fi
+
+
+# Work around bugs in pre-3.0 UWIN ksh.
+$as_unset ENV MAIL MAILPATH
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in \
+ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+ LC_TELEPHONE LC_TIME
+do
+ if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then
+ eval $as_var=C; export $as_var
+ else
+ $as_unset $as_var
+ fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)$' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
+ /^X\/\(\/\/\)$/{ s//\1/; q; }
+ /^X\/\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+
+
+# PATH needs CR, and LINENO needs CR and PATH.
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
+fi
+
+
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x$as_lineno_3" = "x$as_lineno_2" || {
+ # Find who we are. Look in the path if we contain no path at all
+ # relative or not.
+ case $0 in
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+
+ ;;
+ esac
+ # We did not find ourselves, most probably we were run as `sh COMMAND'
+ # in which case we are not to be found in the path.
+ if test "x$as_myself" = x; then
+ as_myself=$0
+ fi
+ if test ! -f "$as_myself"; then
+ { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
+echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+ case $CONFIG_SHELL in
+ '')
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for as_base in sh bash ksh sh5; do
+ case $as_dir in
+ /*)
+ if ("$as_dir/$as_base" -c '
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
+ $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
+ $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
+ CONFIG_SHELL=$as_dir/$as_base
+ export CONFIG_SHELL
+ exec "$CONFIG_SHELL" "$0" ${1+"$@"}
+ fi;;
+ esac
+ done
+done
+;;
+ esac
+
+ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+ # uniformly replaced by the line number. The first 'sed' inserts a
+ # line-number line before each line; the second 'sed' does the real
+ # work. The second script uses 'N' to pair each line-number line
+ # with the numbered line, and appends trailing '-' during
+ # substitution so that $LINENO is not a special case at line end.
+ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+ # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
+ sed '=' <$as_myself |
+ sed '
+ N
+ s,$,-,
+ : loop
+ s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+ t loop
+ s,-$,,
+ s,^['$as_cr_digits']*\n,,
+ ' >$as_me.lineno &&
+ chmod +x $as_me.lineno ||
+ { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
+echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
+ { (exit 1); exit 1; }; }
+
+ # Don't try to exec as it changes $[0], causing all sort of problems
+ # (the dirname of $[0] is not the place where we might find the
+ # original and so on. Autoconf is especially sensible to this).
+ . ./$as_me.lineno
+ # Exit status is that of the last command.
+ exit
+}
+
+
+case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
+ *c*,-n*) ECHO_N= ECHO_C='
+' ECHO_T=' ' ;;
+ *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
+ *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
+esac
+
+if expr a : '\(a\)' >/dev/null 2>&1; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+ # We could just check for DJGPP; but this test a) works b) is more generic
+ # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+ if test -f conf$$.exe; then
+ # Don't use ln at all; we don't have any links
+ as_ln_s='cp -p'
+ else
+ as_ln_s='ln -s'
+ fi
+elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.file
+
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p=:
+else
+ as_mkdir_p=false
+fi
+
+as_executable_p="test -f"
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g"
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.
+as_nl='
+'
+IFS=" $as_nl"
+
+# CDPATH.
+$as_unset CDPATH
+
+exec 6>&1
+
+# Open the log real soon, to keep \$[0] and so on meaningful, and to
+# report actual input values of CONFIG_FILES etc. instead of their
+# values after options handling. Logging --version etc. is OK.
+exec 5>>config.log
+{
+ echo
+ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+} >&5
+cat >&5 <<_CSEOF
+
+This file was extended by tvision $as_me 1.5, which was
+generated by GNU Autoconf 2.57. Invocation command line was
+
+ CONFIG_FILES = $CONFIG_FILES
+ CONFIG_HEADERS = $CONFIG_HEADERS
+ CONFIG_LINKS = $CONFIG_LINKS
+ CONFIG_COMMANDS = $CONFIG_COMMANDS
+ $ $0 $@
+
+_CSEOF
+echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
+echo >&5
+_ACEOF
+
+# Files that config.status was made for.
+if test -n "$ac_config_files"; then
+ echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_headers"; then
+ echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_links"; then
+ echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_commands"; then
+ echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
+fi
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+
+ac_cs_usage="\
+\`$as_me' instantiates files from templates according to the
+current configuration.
+
+Usage: $0 [OPTIONS] [FILE]...
+
+ -h, --help print this help, then exit
+ -V, --version print version number, then exit
+ -q, --quiet do not print progress messages
+ -d, --debug don't remove temporary files
+ --recheck update $as_me by reconfiguring in the same conditions
+ --file=FILE[:TEMPLATE]
+ instantiate the configuration file FILE
+ --header=FILE[:TEMPLATE]
+ instantiate the configuration header FILE
+
+Configuration files:
+$config_files
+
+Configuration headers:
+$config_headers
+
+Configuration commands:
+$config_commands
+
+Report bugs to <bug-autoconf@gnu.org>."
+_ACEOF
+
+cat >>$CONFIG_STATUS <<_ACEOF
+ac_cs_version="\\
+tvision config.status 1.5
+configured by $0, generated by GNU Autoconf 2.57,
+ with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
+
+Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
+Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+srcdir=$srcdir
+INSTALL="$INSTALL"
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+# If no file are specified by the user, then we need to provide default
+# value. By we need to know if files were specified by the user.
+ac_need_defaults=:
+while test $# != 0
+do
+ case $1 in
+ --*=*)
+ ac_option=`expr "x$1" : 'x\([^=]*\)='`
+ ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
+ ac_shift=:
+ ;;
+ -*)
+ ac_option=$1
+ ac_optarg=$2
+ ac_shift=shift
+ ;;
+ *) # This is not an option, so the user has probably given explicit
+ # arguments.
+ ac_option=$1
+ ac_need_defaults=false;;
+ esac
+
+ case $ac_option in
+ # Handling of the options.
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ ac_cs_recheck=: ;;
+ --version | --vers* | -V )
+ echo "$ac_cs_version"; exit 0 ;;
+ --he | --h)
+ # Conflict between --help and --header
+ { { echo "$as_me:$LINENO: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&2;}
+ { (exit 1); exit 1; }; };;
+ --help | --hel | -h )
+ echo "$ac_cs_usage"; exit 0 ;;
+ --debug | --d* | -d )
+ debug=: ;;
+ --file | --fil | --fi | --f )
+ $ac_shift
+ CONFIG_FILES="$CONFIG_FILES $ac_optarg"
+ ac_need_defaults=false;;
+ --header | --heade | --head | --hea )
+ $ac_shift
+ CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
+ ac_need_defaults=false;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil | --si | --s)
+ ac_cs_silent=: ;;
+
+ # This is an error.
+ -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2;}
+ { (exit 1); exit 1; }; } ;;
+
+ *) ac_config_targets="$ac_config_targets $1" ;;
+
+ esac
+ shift
+done
+
+ac_configure_extra_args=
+
+if $ac_cs_silent; then
+ exec 6>/dev/null
+ ac_configure_extra_args="$ac_configure_extra_args --silent"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+if \$ac_cs_recheck; then
+ echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
+ exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+fi
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<_ACEOF
+#
+# INIT-COMMANDS section.
+#
+
+AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
+
+_ACEOF
+
+
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+for ac_config_target in $ac_config_targets
+do
+ case "$ac_config_target" in
+ # Handling of arguments.
+ "doc/Makefile" ) CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
+ "lib/Makefile" ) CONFIG_FILES="$CONFIG_FILES lib/Makefile" ;;
+ "demo/Makefile" ) CONFIG_FILES="$CONFIG_FILES demo/Makefile" ;;
+ "tutorial/Makefile" ) CONFIG_FILES="$CONFIG_FILES tutorial/Makefile" ;;
+ "tvhc/Makefile" ) CONFIG_FILES="$CONFIG_FILES tvhc/Makefile" ;;
+ "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
+ "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
+ *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
+echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+ { (exit 1); exit 1; }; };;
+ esac
+done
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used. Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+ test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
+ test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
+fi
+
+# Have a temporary directory for convenience. Make it in the build tree
+# simply because there is no reason to put it here, and in addition,
+# creating and moving files from /tmp can sometimes cause problems.
+# Create a temporary directory, and hook for its removal unless debugging.
+$debug ||
+{
+ trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
+ trap '{ (exit 1); exit 1; }' 1 2 13 15
+}
+
+# Create a (secure) tmp directory for tmp files.
+
+{
+ tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` &&
+ test -n "$tmp" && test -d "$tmp"
+} ||
+{
+ tmp=./confstat$$-$RANDOM
+ (umask 077 && mkdir $tmp)
+} ||
+{
+ echo "$me: cannot create a temporary directory in ." >&2
+ { (exit 1); exit 1; }
+}
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<_ACEOF
+
+#
+# CONFIG_FILES section.
+#
+
+# No need to generate the scripts if there are no CONFIG_FILES.
+# This happens for instance when ./config.status config.h
+if test -n "\$CONFIG_FILES"; then
+ # Protect against being on the right side of a sed subst in config.status.
+ sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
+ s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
+s,@SHELL@,$SHELL,;t t
+s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
+s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t
+s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
+s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
+s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t
+s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
+s,@exec_prefix@,$exec_prefix,;t t
+s,@prefix@,$prefix,;t t
+s,@program_transform_name@,$program_transform_name,;t t
+s,@bindir@,$bindir,;t t
+s,@sbindir@,$sbindir,;t t
+s,@libexecdir@,$libexecdir,;t t
+s,@datadir@,$datadir,;t t
+s,@sysconfdir@,$sysconfdir,;t t
+s,@sharedstatedir@,$sharedstatedir,;t t
+s,@localstatedir@,$localstatedir,;t t
+s,@libdir@,$libdir,;t t
+s,@includedir@,$includedir,;t t
+s,@oldincludedir@,$oldincludedir,;t t
+s,@infodir@,$infodir,;t t
+s,@mandir@,$mandir,;t t
+s,@build_alias@,$build_alias,;t t
+s,@host_alias@,$host_alias,;t t
+s,@target_alias@,$target_alias,;t t
+s,@DEFS@,$DEFS,;t t
+s,@ECHO_C@,$ECHO_C,;t t
+s,@ECHO_N@,$ECHO_N,;t t
+s,@ECHO_T@,$ECHO_T,;t t
+s,@LIBS@,$LIBS,;t t
+s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
+s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
+s,@INSTALL_DATA@,$INSTALL_DATA,;t t
+s,@CYGPATH_W@,$CYGPATH_W,;t t
+s,@PACKAGE@,$PACKAGE,;t t
+s,@VERSION@,$VERSION,;t t
+s,@ACLOCAL@,$ACLOCAL,;t t
+s,@AUTOCONF@,$AUTOCONF,;t t
+s,@AUTOMAKE@,$AUTOMAKE,;t t
+s,@AUTOHEADER@,$AUTOHEADER,;t t
+s,@MAKEINFO@,$MAKEINFO,;t t
+s,@AMTAR@,$AMTAR,;t t
+s,@install_sh@,$install_sh,;t t
+s,@STRIP@,$STRIP,;t t
+s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t
+s,@INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t
+s,@AWK@,$AWK,;t t
+s,@SET_MAKE@,$SET_MAKE,;t t
+s,@am__leading_dot@,$am__leading_dot,;t t
+s,@build@,$build,;t t
+s,@build_cpu@,$build_cpu,;t t
+s,@build_vendor@,$build_vendor,;t t
+s,@build_os@,$build_os,;t t
+s,@host@,$host,;t t
+s,@host_cpu@,$host_cpu,;t t
+s,@host_vendor@,$host_vendor,;t t
+s,@host_os@,$host_os,;t t
+s,@CC@,$CC,;t t
+s,@CFLAGS@,$CFLAGS,;t t
+s,@LDFLAGS@,$LDFLAGS,;t t
+s,@CPPFLAGS@,$CPPFLAGS,;t t
+s,@ac_ct_CC@,$ac_ct_CC,;t t
+s,@EXEEXT@,$EXEEXT,;t t
+s,@OBJEXT@,$OBJEXT,;t t
+s,@DEPDIR@,$DEPDIR,;t t
+s,@am__include@,$am__include,;t t
+s,@am__quote@,$am__quote,;t t
+s,@AMDEP_TRUE@,$AMDEP_TRUE,;t t
+s,@AMDEP_FALSE@,$AMDEP_FALSE,;t t
+s,@AMDEPBACKSLASH@,$AMDEPBACKSLASH,;t t
+s,@CCDEPMODE@,$CCDEPMODE,;t t
+s,@am__fastdepCC_TRUE@,$am__fastdepCC_TRUE,;t t
+s,@am__fastdepCC_FALSE@,$am__fastdepCC_FALSE,;t t
+s,@CXX@,$CXX,;t t
+s,@CXXFLAGS@,$CXXFLAGS,;t t
+s,@ac_ct_CXX@,$ac_ct_CXX,;t t
+s,@CXXDEPMODE@,$CXXDEPMODE,;t t
+s,@am__fastdepCXX_TRUE@,$am__fastdepCXX_TRUE,;t t
+s,@am__fastdepCXX_FALSE@,$am__fastdepCXX_FALSE,;t t
+s,@CPP@,$CPP,;t t
+s,@EGREP@,$EGREP,;t t
+s,@LN_S@,$LN_S,;t t
+s,@ECHO@,$ECHO,;t t
+s,@RANLIB@,$RANLIB,;t t
+s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t
+s,@LIBTOOL@,$LIBTOOL,;t t
+s,@LIBOBJS@,$LIBOBJS,;t t
+s,@LTLIBOBJS@,$LTLIBOBJS,;t t
+CEOF
+
+_ACEOF
+
+ cat >>$CONFIG_STATUS <<\_ACEOF
+ # Split the substitutions into bite-sized pieces for seds with
+ # small command number limits, like on Digital OSF/1 and HP-UX.
+ ac_max_sed_lines=48
+ ac_sed_frag=1 # Number of current file.
+ ac_beg=1 # First line for current file.
+ ac_end=$ac_max_sed_lines # Line after last line for current file.
+ ac_more_lines=:
+ ac_sed_cmds=
+ while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+ else
+ sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+ fi
+ if test ! -s $tmp/subs.frag; then
+ ac_more_lines=false
+ else
+ # The purpose of the label and of the branching condition is to
+ # speed up the sed processing (if there are no `@' at all, there
+ # is no need to browse any of the substitutions).
+ # These are the two extra sed commands mentioned above.
+ (echo ':t
+ /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
+ fi
+ ac_sed_frag=`expr $ac_sed_frag + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_lines`
+ fi
+ done
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+ fi
+fi # test -n "$CONFIG_FILES"
+
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case $ac_file in
+ - | *:- | *:-:* ) # input from stdin
+ cat >$tmp/stdin
+ ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ * ) ac_file_in=$ac_file.in ;;
+ esac
+
+ # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
+ ac_dir=`(dirname "$ac_file") 2>/dev/null ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ { if $as_mkdir_p; then
+ mkdir -p "$ac_dir"
+ else
+ as_dir="$ac_dir"
+ as_dirs=
+ while test ! -d "$as_dir"; do
+ as_dirs="$as_dir $as_dirs"
+ as_dir=`(dirname "$as_dir") 2>/dev/null ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ done
+ test ! -n "$as_dirs" || mkdir $as_dirs
+ fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
+echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
+ { (exit 1); exit 1; }; }; }
+
+ ac_builddir=.
+
+if test "$ac_dir" != .; then
+ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
+else
+ ac_dir_suffix= ac_top_builddir=
+fi
+
+case $srcdir in
+ .) # No --srcdir option. We are building in place.
+ ac_srcdir=.
+ if test -z "$ac_top_builddir"; then
+ ac_top_srcdir=.
+ else
+ ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
+ fi ;;
+ [\\/]* | ?:[\\/]* ) # Absolute path.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir ;;
+ *) # Relative path.
+ ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_builddir$srcdir ;;
+esac
+# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
+# absolute.
+ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd`
+ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd`
+ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd`
+ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
+
+
+ case $INSTALL in
+ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+ *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
+ esac
+
+ if test x"$ac_file" != x-; then
+ { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+ rm -f "$ac_file"
+ fi
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated by config.status. */
+ if test x"$ac_file" = x-; then
+ configure_input=
+ else
+ configure_input="$ac_file. "
+ fi
+ configure_input=$configure_input"Generated from `echo $ac_file_in |
+ sed 's,.*/,,'` by configure."
+
+ # First look for the input files in the build tree, otherwise in the
+ # src tree.
+ ac_file_inputs=`IFS=:
+ for f in $ac_file_in; do
+ case $f in
+ -) echo $tmp/stdin ;;
+ [\\/$]*)
+ # Absolute (can't be DOS-style, as IFS=:)
+ test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ echo $f;;
+ *) # Relative
+ if test -f "$f"; then
+ # Build tree
+ echo $f
+ elif test -f "$srcdir/$f"; then
+ # Source tree
+ echo $srcdir/$f
+ else
+ # /dev/null tree
+ { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ fi;;
+ esac
+ done` || { (exit 1); exit 1; }
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+ sed "$ac_vpsub
+$extrasub
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s,@configure_input@,$configure_input,;t t
+s,@srcdir@,$ac_srcdir,;t t
+s,@abs_srcdir@,$ac_abs_srcdir,;t t
+s,@top_srcdir@,$ac_top_srcdir,;t t
+s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t
+s,@builddir@,$ac_builddir,;t t
+s,@abs_builddir@,$ac_abs_builddir,;t t
+s,@top_builddir@,$ac_top_builddir,;t t
+s,@abs_top_builddir@,$ac_abs_top_builddir,;t t
+s,@INSTALL@,$ac_INSTALL,;t t
+" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
+ rm -f $tmp/stdin
+ if test x"$ac_file" != x-; then
+ mv $tmp/out $ac_file
+ else
+ cat $tmp/out
+ rm -f $tmp/out
+ fi
+
+done
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+
+#
+# CONFIG_HEADER section.
+#
+
+# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
+# NAME is the cpp macro being defined and VALUE is the value it is being given.
+#
+# ac_d sets the value in "#define NAME VALUE" lines.
+ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)'
+ac_dB='[ ].*$,\1#\2'
+ac_dC=' '
+ac_dD=',;t'
+# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
+ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
+ac_uB='$,\1#\2define\3'
+ac_uC=' '
+ac_uD=',;t'
+
+for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case $ac_file in
+ - | *:- | *:-:* ) # input from stdin
+ cat >$tmp/stdin
+ ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ * ) ac_file_in=$ac_file.in ;;
+ esac
+
+ test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+
+ # First look for the input files in the build tree, otherwise in the
+ # src tree.
+ ac_file_inputs=`IFS=:
+ for f in $ac_file_in; do
+ case $f in
+ -) echo $tmp/stdin ;;
+ [\\/$]*)
+ # Absolute (can't be DOS-style, as IFS=:)
+ test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ echo $f;;
+ *) # Relative
+ if test -f "$f"; then
+ # Build tree
+ echo $f
+ elif test -f "$srcdir/$f"; then
+ # Source tree
+ echo $srcdir/$f
+ else
+ # /dev/null tree
+ { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ fi;;
+ esac
+ done` || { (exit 1); exit 1; }
+ # Remove the trailing spaces.
+ sed 's/[ ]*$//' $ac_file_inputs >$tmp/in
+
+_ACEOF
+
+# Transform confdefs.h into two sed scripts, `conftest.defines' and
+# `conftest.undefs', that substitutes the proper values into
+# config.h.in to produce config.h. The first handles `#define'
+# templates, and the second `#undef' templates.
+# And first: Protect against being on the right side of a sed subst in
+# config.status. Protect against being in an unquoted here document
+# in config.status.
+rm -f conftest.defines conftest.undefs
+# Using a here document instead of a string reduces the quoting nightmare.
+# Putting comments in sed scripts is not portable.
+#
+# `end' is used to avoid that the second main sed command (meant for
+# 0-ary CPP macros) applies to n-ary macro definitions.
+# See the Autoconf documentation for `clear'.
+cat >confdef2sed.sed <<\_ACEOF
+s/[\\&,]/\\&/g
+s,[\\$`],\\&,g
+t clear
+: clear
+s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*\)\(([^)]*)\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp
+t end
+s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp
+: end
+_ACEOF
+# If some macros were called several times there might be several times
+# the same #defines, which is useless. Nevertheless, we may not want to
+# sort them, since we want the *last* AC-DEFINE to be honored.
+uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines
+sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs
+rm -f confdef2sed.sed
+
+# This sed command replaces #undef with comments. This is necessary, for
+# example, in the case of _POSIX_SOURCE, which is predefined and required
+# on some systems where configure will not decide to define it.
+cat >>conftest.undefs <<\_ACEOF
+s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */,
+_ACEOF
+
+# Break up conftest.defines because some shells have a limit on the size
+# of here documents, and old seds have small limits too (100 cmds).
+echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS
+echo ' if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS
+echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS
+echo ' :' >>$CONFIG_STATUS
+rm -f conftest.tail
+while grep . conftest.defines >/dev/null
+do
+ # Write a limited-size here document to $tmp/defines.sed.
+ echo ' cat >$tmp/defines.sed <<CEOF' >>$CONFIG_STATUS
+ # Speed up: don't consider the non `#define' lines.
+ echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS
+ # Work around the forget-to-reset-the-flag bug.
+ echo 't clr' >>$CONFIG_STATUS
+ echo ': clr' >>$CONFIG_STATUS
+ sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS
+ echo 'CEOF
+ sed -f $tmp/defines.sed $tmp/in >$tmp/out
+ rm -f $tmp/in
+ mv $tmp/out $tmp/in
+' >>$CONFIG_STATUS
+ sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail
+ rm -f conftest.defines
+ mv conftest.tail conftest.defines
+done
+rm -f conftest.defines
+echo ' fi # grep' >>$CONFIG_STATUS
+echo >>$CONFIG_STATUS
+
+# Break up conftest.undefs because some shells have a limit on the size
+# of here documents, and old seds have small limits too (100 cmds).
+echo ' # Handle all the #undef templates' >>$CONFIG_STATUS
+rm -f conftest.tail
+while grep . conftest.undefs >/dev/null
+do
+ # Write a limited-size here document to $tmp/undefs.sed.
+ echo ' cat >$tmp/undefs.sed <<CEOF' >>$CONFIG_STATUS
+ # Speed up: don't consider the non `#undef'
+ echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS
+ # Work around the forget-to-reset-the-flag bug.
+ echo 't clr' >>$CONFIG_STATUS
+ echo ': clr' >>$CONFIG_STATUS
+ sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS
+ echo 'CEOF
+ sed -f $tmp/undefs.sed $tmp/in >$tmp/out
+ rm -f $tmp/in
+ mv $tmp/out $tmp/in
+' >>$CONFIG_STATUS
+ sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail
+ rm -f conftest.undefs
+ mv conftest.tail conftest.undefs
+done
+rm -f conftest.undefs
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated by config.status. */
+ if test x"$ac_file" = x-; then
+ echo "/* Generated by configure. */" >$tmp/config.h
+ else
+ echo "/* $ac_file. Generated by configure. */" >$tmp/config.h
+ fi
+ cat $tmp/in >>$tmp/config.h
+ rm -f $tmp/in
+ if test x"$ac_file" != x-; then
+ if diff $ac_file $tmp/config.h >/dev/null 2>&1; then
+ { echo "$as_me:$LINENO: $ac_file is unchanged" >&5
+echo "$as_me: $ac_file is unchanged" >&6;}
+ else
+ ac_dir=`(dirname "$ac_file") 2>/dev/null ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ { if $as_mkdir_p; then
+ mkdir -p "$ac_dir"
+ else
+ as_dir="$ac_dir"
+ as_dirs=
+ while test ! -d "$as_dir"; do
+ as_dirs="$as_dir $as_dirs"
+ as_dir=`(dirname "$as_dir") 2>/dev/null ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ done
+ test ! -n "$as_dirs" || mkdir $as_dirs
+ fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
+echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
+ { (exit 1); exit 1; }; }; }
+
+ rm -f $ac_file
+ mv $tmp/config.h $ac_file
+ fi
+ else
+ cat $tmp/config.h
+ rm -f $tmp/config.h
+ fi
+# Compute $ac_file's index in $config_headers.
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+ case $_am_header in
+ $ac_file | $ac_file:* )
+ break ;;
+ * )
+ _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+ esac
+done
+echo "timestamp for $ac_file" >`(dirname $ac_file) 2>/dev/null ||
+$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X$ac_file : 'X\(//\)[^/]' \| \
+ X$ac_file : 'X\(//\)$' \| \
+ X$ac_file : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X$ac_file |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`/stamp-h$_am_stamp_count
+done
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+
+#
+# CONFIG_COMMANDS section.
+#
+for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue
+ ac_dest=`echo "$ac_file" | sed 's,:.*,,'`
+ ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_dir=`(dirname "$ac_dest") 2>/dev/null ||
+$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_dest" : 'X\(//\)[^/]' \| \
+ X"$ac_dest" : 'X\(//\)$' \| \
+ X"$ac_dest" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$ac_dest" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ ac_builddir=.
+
+if test "$ac_dir" != .; then
+ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
+else
+ ac_dir_suffix= ac_top_builddir=
+fi
+
+case $srcdir in
+ .) # No --srcdir option. We are building in place.
+ ac_srcdir=.
+ if test -z "$ac_top_builddir"; then
+ ac_top_srcdir=.
+ else
+ ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
+ fi ;;
+ [\\/]* | ?:[\\/]* ) # Absolute path.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir ;;
+ *) # Relative path.
+ ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_builddir$srcdir ;;
+esac
+# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
+# absolute.
+ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd`
+ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd`
+ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd`
+ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
+
+
+ { echo "$as_me:$LINENO: executing $ac_dest commands" >&5
+echo "$as_me: executing $ac_dest commands" >&6;}
+ case $ac_dest in
+ depfiles ) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do
+ # Strip MF so we end up with the name of the file.
+ mf=`echo "$mf" | sed -e 's/:.*$//'`
+ # Check whether this is an Automake generated Makefile or not.
+ # We used to match only the files named `Makefile.in', but
+ # some people rename them; so instead we look at the file content.
+ # Grep'ing the first line is not enough: some people post-process
+ # each Makefile.in and add a new line on top of each file to say so.
+ # So let's grep whole file.
+ if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
+ dirpart=`(dirname "$mf") 2>/dev/null ||
+$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$mf" : 'X\(//\)[^/]' \| \
+ X"$mf" : 'X\(//\)$' \| \
+ X"$mf" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$mf" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ else
+ continue
+ fi
+ grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue
+ # Extract the definition of DEP_FILES from the Makefile without
+ # running `make'.
+ DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"`
+ test -z "$DEPDIR" && continue
+ # When using ansi2knr, U may be empty or an underscore; expand it
+ U=`sed -n -e '/^U = / s///p' < "$mf"`
+ test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR"
+ # We invoke sed twice because it is the simplest approach to
+ # changing $(DEPDIR) to its actual value in the expansion.
+ for file in `sed -n -e '
+ /^DEP_FILES = .*\\\\$/ {
+ s/^DEP_FILES = //
+ :loop
+ s/\\\\$//
+ p
+ n
+ /\\\\$/ b loop
+ p
+ }
+ /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+ # Make sure the directory exists.
+ test -f "$dirpart/$file" && continue
+ fdir=`(dirname "$file") 2>/dev/null ||
+$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$file" : 'X\(//\)[^/]' \| \
+ X"$file" : 'X\(//\)$' \| \
+ X"$file" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ { if $as_mkdir_p; then
+ mkdir -p $dirpart/$fdir
+ else
+ as_dir=$dirpart/$fdir
+ as_dirs=
+ while test ! -d "$as_dir"; do
+ as_dirs="$as_dir $as_dirs"
+ as_dir=`(dirname "$as_dir") 2>/dev/null ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ done
+ test ! -n "$as_dirs" || mkdir $as_dirs
+ fi || { { echo "$as_me:$LINENO: error: cannot create directory $dirpart/$fdir" >&5
+echo "$as_me: error: cannot create directory $dirpart/$fdir" >&2;}
+ { (exit 1); exit 1; }; }; }
+
+ # echo "creating $dirpart/$file"
+ echo '# dummy' > "$dirpart/$file"
+ done
+done
+ ;;
+ esac
+done
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+
+{ (exit 0); exit 0; }
+_ACEOF
+chmod +x $CONFIG_STATUS
+ac_clean_files=$ac_clean_files_save
+
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded. So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status. When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+ ac_cs_success=:
+ ac_config_status_args=
+ test "$silent" = yes &&
+ ac_config_status_args="$ac_config_status_args --quiet"
+ exec 5>/dev/null
+ $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
+ exec 5>>config.log
+ # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+ # would make configure fail if this is the last instruction.
+ $ac_cs_success || { (exit 1); exit 1; }
+fi
+
diff --git a/freebsdtvision/configure.in b/freebsdtvision/configure.in
new file mode 100644
index 0000000..481cceb
--- /dev/null
+++ b/freebsdtvision/configure.in
@@ -0,0 +1,98 @@
+dnl ---- Process this file with `autoconf' to produce a configure script.
+AC_INIT(tvision, 1.5)
+AC_CONFIG_AUX_DIR(util)
+AC_CONFIG_HEADER(config.h)
+AC_CONFIG_SRCDIR(lib/tv.h)
+AM_INIT_AUTOMAKE
+
+dnl ---- Check for system.
+AC_CANONICAL_HOST
+
+dnl ---- Checks for programs.
+AC_PROG_CC
+AC_PROG_CXX
+AC_PROG_CPP
+
+dnl ---- Checks for header files.
+AC_STDC_HEADERS
+AC_CHECK_HEADERS(ncurses.h curses.h gpm.h)
+
+dnl ---- Checks for libraries.
+AC_CHECK_LIB(ncurses, initscr, ,
+ AC_CHECK_LIB(curses, initscr))
+
+dnl ---- Checks for library functions.
+AC_CHECK_LIB(gpm, Gpm_Close)
+
+dnl ---- Checks for dynamic libraries.
+AM_PROG_LIBTOOL
+
+dnl ---- Various enable/disable checks.
+
+AC_MSG_CHECKING(if the Russian character set should be enabled (now obsolete))
+AC_ARG_ENABLE(russian,
+[ --enable-russian enable Russian character set (now obsolete)],
+[
+AC_MSG_RESULT(yes)
+AC_DEFINE(ENABLE_RUSSIAN_CHARSET, 1, [Define this to enable the Russian character set.])
+], [
+AC_MSG_RESULT(no)
+])
+
+AC_MSG_CHECKING(if the alternate character set should be disabled)
+AC_ARG_ENABLE(acs,
+[ --disable-acs disable alternate character set],
+[
+AC_MSG_RESULT(yes)
+AC_DEFINE(DISABLE_ACS, 1, [Define this to disable the alterate character set.])
+], [
+AC_MSG_RESULT(no)
+])
+
+AC_MSG_CHECKING(if the 8 bit output should be disabled)
+AC_ARG_ENABLE(8bit,
+[ --disable-8bit disable 8 bit output],
+[
+AC_MSG_RESULT(yes)
+AC_DEFINE(DISABLE_8BIT_CHARS, 1, [Define this to disable the 8 bit output.])
+], [
+AC_MSG_RESULT(no)
+])
+
+case $host_os in
+ linux*)
+AC_MSG_CHECKING(if the Linux GPM mouse support should be disabled)
+AC_ARG_ENABLE(linux-gpm,
+[ --disable-linux-gpm disable Linux GPM mouse support],
+[
+AC_MSG_RESULT(yes)
+], [
+AC_MSG_RESULT(no)
+AC_DEFINE(ENABLE_GPM, 1, [Define to enable the Linux GPM mouse support.])
+])
+
+AC_MSG_CHECKING(if the Linux VCS support should be disabled)
+AC_ARG_ENABLE(linux-vcs,
+[ --disable-linux-vcs disable Linux VCS support],
+[
+AC_MSG_RESULT(yes)
+], [
+AC_MSG_RESULT(no)
+AC_DEFINE(ENABLE_VCS, 1, [Define to enable the Linux VCS support.])
+])
+ ;;
+ freebsd*)
+AC_MSG_CHECKING(if the FreeBSD mouse support should be disabled)
+AC_ARG_ENABLE(freebsd-mouse,
+[ --disable-freebsd-mouse disable FreeBSD mouse support],
+[
+AC_MSG_RESULT(yes)
+], [
+AC_MSG_RESULT(no)
+AC_DEFINE(ENABLE_FBSDM, 1, [Define to enable the FreeBSD mouse support.])
+])
+ ;;
+esac
+
+AC_OUTPUT(doc/Makefile lib/Makefile demo/Makefile tutorial/Makefile \
+ tvhc/Makefile Makefile)
diff --git a/freebsdtvision/demo/DEMOHELP.H32 b/freebsdtvision/demo/DEMOHELP.H32
new file mode 100644
index 0000000..3f5c7b5
--- /dev/null
+++ b/freebsdtvision/demo/DEMOHELP.H32
Binary files differ
diff --git a/freebsdtvision/demo/Makefile.am b/freebsdtvision/demo/Makefile.am
new file mode 100644
index 0000000..ab1844b
--- /dev/null
+++ b/freebsdtvision/demo/Makefile.am
@@ -0,0 +1,14 @@
+AUTOMAKE_OPTIONS = foreign
+
+noinst_PROGRAMS = demo
+
+demo_SOURCES = ascii.cc calc.cc calendar.cc fileview.cc gadgets.cc \
+mousedlg.cc puzzle.cc tvdemo1.cc tvdemo2.cc tvdemo3.cc \
+ascii.h calc.h calendar.h demohelp.h fileview.h gadgets.h mousedlg.h \
+puzzle.h tvcmds.h tvdemo.h
+
+LDADD = ../lib/libtvision.a
+
+INCLUDES = -I../lib
+
+EXTRA_DIST = DEMOHELP.H32
diff --git a/freebsdtvision/demo/Makefile.in b/freebsdtvision/demo/Makefile.in
new file mode 100644
index 0000000..701d8b4
--- /dev/null
+++ b/freebsdtvision/demo/Makefile.in
@@ -0,0 +1,443 @@
+# Makefile.in generated by automake 1.7.3 from Makefile.am.
+# @configure_input@
+
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+# Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ..
+
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_triplet = @host@
+ACLOCAL = @ACLOCAL@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+AUTOMAKE_OPTIONS = foreign
+
+noinst_PROGRAMS = demo
+
+demo_SOURCES = ascii.cc calc.cc calendar.cc fileview.cc gadgets.cc \
+mousedlg.cc puzzle.cc tvdemo1.cc tvdemo2.cc tvdemo3.cc \
+ascii.h calc.h calendar.h demohelp.h fileview.h gadgets.h mousedlg.h \
+puzzle.h tvcmds.h tvdemo.h
+
+
+LDADD = ../lib/libtvision.a
+
+INCLUDES = -I../lib
+
+EXTRA_DIST = DEMOHELP.H32
+subdir = demo
+mkinstalldirs = $(SHELL) $(top_srcdir)/util/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+noinst_PROGRAMS = demo$(EXEEXT)
+PROGRAMS = $(noinst_PROGRAMS)
+
+am_demo_OBJECTS = ascii.$(OBJEXT) calc.$(OBJEXT) calendar.$(OBJEXT) \
+ fileview.$(OBJEXT) gadgets.$(OBJEXT) mousedlg.$(OBJEXT) \
+ puzzle.$(OBJEXT) tvdemo1.$(OBJEXT) tvdemo2.$(OBJEXT) \
+ tvdemo3.$(OBJEXT)
+demo_OBJECTS = $(am_demo_OBJECTS)
+demo_LDADD = $(LDADD)
+demo_DEPENDENCIES = ../lib/libtvision.a
+demo_LDFLAGS =
+
+DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/util/depcomp
+am__depfiles_maybe = depfiles
+@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/ascii.Po ./$(DEPDIR)/calc.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/calendar.Po ./$(DEPDIR)/fileview.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/gadgets.Po ./$(DEPDIR)/mousedlg.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/puzzle.Po ./$(DEPDIR)/tvdemo1.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/tvdemo2.Po ./$(DEPDIR)/tvdemo3.Po
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \
+ $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+DIST_SOURCES = $(demo_SOURCES)
+DIST_COMMON = Makefile.am Makefile.in
+SOURCES = $(demo_SOURCES)
+
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cc .lo .o .obj
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign demo/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+
+clean-noinstPROGRAMS:
+ @list='$(noinst_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+demo$(EXEEXT): $(demo_OBJECTS) $(demo_DEPENDENCIES)
+ @rm -f demo$(EXEEXT)
+ $(CXXLINK) $(demo_LDFLAGS) $(demo_OBJECTS) $(demo_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT) core *.core
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ascii.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/calc.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/calendar.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fileview.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gadgets.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mousedlg.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/puzzle.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tvdemo1.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tvdemo2.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tvdemo3.Po@am__quote@
+
+distclean-depend:
+ -rm -rf ./$(DEPDIR)
+
+.cc.o:
+@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
+@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
+@am__fastdepCXX_TRUE@ then mv "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
+@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
+@am__fastdepCXX_TRUE@ fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
+
+.cc.obj:
+@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
+@am__fastdepCXX_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \
+@am__fastdepCXX_TRUE@ then mv "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
+@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
+@am__fastdepCXX_TRUE@ fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`
+
+.cc.lo:
+@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
+@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
+@am__fastdepCXX_TRUE@ then mv "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \
+@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
+@am__fastdepCXX_TRUE@ fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+distclean-libtool:
+ -rm -f libtool
+uninstall-info-am:
+
+ETAGS = etags
+ETAGSFLAGS =
+
+CTAGS = ctags
+CTAGSFLAGS =
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ mkid -fID $$unique
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$tags$$unique" \
+ || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique
+
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+
+top_distdir = ..
+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkinstalldirs) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS)
+
+installdirs:
+
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
+ mostlyclean-am
+
+distclean: distclean-am
+
+distclean-am: clean-am distclean-compile distclean-depend \
+ distclean-generic distclean-libtool distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-noinstPROGRAMS ctags distclean \
+ distclean-compile distclean-depend distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am info \
+ info-am install install-am install-data install-data-am \
+ install-exec install-exec-am install-info install-info-am \
+ install-man install-strip installcheck installcheck-am \
+ installdirs maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
+ uninstall-am uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/freebsdtvision/demo/ascii.cc b/freebsdtvision/demo/ascii.cc
new file mode 100644
index 0000000..fd4d6b4
--- /dev/null
+++ b/freebsdtvision/demo/ascii.cc
@@ -0,0 +1,305 @@
+/*----------------------------------------------------------*/
+/* */
+/* Ascii.cpp: Member functions of following classes: */
+/* TTable */
+/* TReport */
+/* TAsciiChart */
+/* */
+/*----------------------------------------------------------*/
+/*
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
+ */
+
+#include "ascii.h"
+
+#define Uses_TRect
+#define Uses_TEvent
+#define Uses_TKeys
+#define Uses_TDrawBuffer
+#define Uses_TStreamableClass
+#define Uses_TStreamable
+#define Uses_TView
+#define Uses_TWindow
+#include <tvision/tv.h>
+__link( RView )
+__link( RWindow )
+
+#include <string.h>
+#include <stdlib.h>
+#include <ctype.h>
+
+#include <iomanip>
+#include <ios>
+#include <sstream>
+#include <string>
+
+using std::ios;
+using std::ostringstream;
+using std::string;
+
+//
+// TTable functions
+//
+
+const char * const TTable::name = "TTable";
+
+
+void TTable::write( opstream& os )
+{
+ TView::write( os );
+}
+
+
+void *TTable::read( ipstream& is )
+{
+ TView::read( is );
+ return this;
+}
+
+
+TStreamable *TTable::build()
+{
+ return new TTable( streamableInit );
+}
+
+
+TStreamableClass RTable( TTable::name,
+ TTable::build,
+ __DELTA(TTable)
+ );
+
+
+TTable::TTable(TRect& r) :
+ TView( r )
+{
+ eventMask |= evKeyboard;
+}
+
+
+void TTable::draw()
+{
+ TDrawBuffer buf;
+ char color = getColor(6);
+
+ for(ushort y = 0; y <= size.y-1; y++)
+ {
+ buf.moveChar(0, ' ', color, (short)size.x );
+ for(ushort x = 0; x <= size.x-1; x++)
+ buf.moveChar(x, (ushort)(32*y+x), color, (ushort)1 );
+ writeLine(0, y, (short)size.x, (ushort)1, buf);
+ }
+ showCursor();
+}
+
+//
+// cmCharFocused is a offset value (basically the ascii code of the
+// current selected character) thus should be added, not or'ed, to
+// cmAsciiTableCmdBase.
+//
+
+void TTable::charFocused()
+{
+ message(owner, evBroadcast, cmAsciiTableCmdBase + cmCharFocused,
+ (void *) (cursor.x + 32 * cursor.y));
+}
+
+
+void TTable::handleEvent(TEvent& event)
+{
+ TView::handleEvent(event);
+
+ if (event.what == evMouseDown)
+ {
+ do
+ {
+ if(mouseInView(event.mouse.where))
+ {
+ TPoint spot = makeLocal(event.mouse.where);
+ setCursor(spot.x, spot.y);
+ charFocused();
+ }
+ } while (mouseEvent(event, evMouseMove));
+ clearEvent(event);
+ }
+ else
+ {
+ if (event.what == evKeyboard)
+ {
+ switch (event.keyDown.keyCode)
+ {
+ case kbHome:
+ setCursor(0,0);
+ break;
+ case kbEnd:
+ setCursor(size.x-1, size.y-1);
+ break;
+ case kbUp:
+ if (cursor.y > 0)
+ setCursor(cursor.x, cursor.y-1);
+ break;
+ case kbDown:
+ if (cursor.y < size.y-1)
+ setCursor(cursor.x, cursor.y+1);
+ break;
+ case kbLeft:
+ if (cursor.x > 0)
+ setCursor(cursor.x-1, cursor.y);
+ break;
+ case kbRight:
+ if (cursor.x < size.x-1)
+ setCursor(cursor.x+1, cursor.y);
+ break;
+ default:
+ setCursor(event.keyDown.charScan.charCode % 32,
+ event.keyDown.charScan.charCode / 32);
+ break;
+ }
+ charFocused();
+ clearEvent(event);
+ }
+ }
+}
+
+
+//
+// TReport functions
+//
+
+const char * const TReport::name = "TReport";
+
+
+void TReport::write( opstream& os )
+{
+ TView::write( os );
+ os << asciiChar;
+}
+
+
+void *TReport::read( ipstream& is )
+{
+ TView::read( is );
+ is >> asciiChar;
+ return this;
+}
+
+
+TStreamable *TReport::build()
+{
+ return new TReport( streamableInit );
+}
+
+
+TStreamableClass RReport( TReport::name,
+ TReport::build,
+ __DELTA(TReport)
+ );
+
+
+TReport::TReport(TRect& r) :
+ TView(r)
+{
+ asciiChar = 0;
+}
+
+
+void TReport::draw()
+{
+ TDrawBuffer buf;
+ char color = getColor(6);
+ string str;
+ ostringstream statusStr(str);
+
+ statusStr
+ << " Char: " << (char ) ((asciiChar == 0) ? 0x20 : asciiChar)
+ << " Decimal: " << std::setw(3) << (int) asciiChar
+ << " Hex " << std::hex << std::setiosflags(ios::uppercase)
+ << std::setw(2) << (int) asciiChar << " " << std::ends;
+
+ buf.moveStr(0, str.c_str(), color);
+ writeLine(0, 0, 32, 1, buf);
+}
+
+
+void TReport::handleEvent(TEvent& event)
+{
+ TView::handleEvent(event);
+ if (event.what == evBroadcast)
+ {
+ if (event.message.command == cmAsciiTableCmdBase + cmCharFocused)
+ {
+ asciiChar = event.message.infoLong;
+ drawView();
+ }
+ }
+}
+
+
+//
+// TAsciiChart functions
+//
+
+const char * const TAsciiChart::name = "TAsciiChart";
+
+
+void TAsciiChart::write( opstream& os )
+{
+ TWindow::write( os );
+}
+
+
+void *TAsciiChart::read( ipstream& is )
+{
+ TWindow::read( is );
+ return this;
+}
+
+
+TStreamable *TAsciiChart::build()
+{
+ return new TAsciiChart( streamableInit );
+}
+
+
+TStreamableClass RAsciiChart( TAsciiChart::name,
+ TAsciiChart::build,
+ __DELTA(TAsciiChart)
+ );
+
+
+TAsciiChart::TAsciiChart() :
+ TWindow(TRect(0, 0, 34, 12), "ASCII Chart", wnNoNumber),
+ TWindowInit( &TAsciiChart::initFrame )
+{
+ TView *control;
+
+ flags &= ~(wfGrow | wfZoom);
+ palette = wpGrayWindow;
+
+ TRect r = getExtent();
+ r.grow(-1, -1);
+ r.a.y = r.b.y - 1;
+ control = new TReport( r );
+ control->options |= ofFramed;
+ control->eventMask |= evBroadcast;
+ insert(control);
+
+ r = getExtent();
+ r.grow(-1, -1);
+ r.b.y = r.b.y - 2;
+ control = new TTable( r );
+ control->options |= ofFramed;
+ control->options |= ofSelectable;
+ control->blockCursor();
+ insert(control);
+ control->select();
+}
+
+void TAsciiChart::handleEvent( TEvent &event ) {
+ TWindow::handleEvent( event );
+}
diff --git a/freebsdtvision/demo/ascii.h b/freebsdtvision/demo/ascii.h
new file mode 100644
index 0000000..38c8bf8
--- /dev/null
+++ b/freebsdtvision/demo/ascii.h
@@ -0,0 +1,145 @@
+/*-------------------------------------------------------*/
+/* */
+/* Ascii.h: Header file for Ascii.cpp */
+/* */
+/*-------------------------------------------------------*/
+/*
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
+ */
+
+#if !defined( __ASCII_H )
+#define __ASCII_H
+
+#define Uses_TEvent
+#define Uses_TWindow
+#define Uses_TView
+#include <tvision/tv.h>
+
+const int cmAsciiTableCmdBase = 910;
+const int cmCharFocused = 0;
+
+
+class TTable : public TView
+{
+
+public:
+
+ TTable( TRect& r );
+ TTable( StreamableInit ) : TView(streamableInit) { };
+ virtual void draw();
+ virtual void handleEvent( TEvent& event );
+ void charFocused();
+
+private:
+
+ virtual const char *streamableName() const
+ { return name; }
+
+protected:
+
+ virtual void write( opstream& );
+ virtual void *read( ipstream& );
+
+public:
+
+ static const char * const name;
+ static TStreamable *build();
+
+};
+
+
+inline ipstream& operator >> ( ipstream& is, TTable& cl )
+ { return is >> (TStreamable&) cl; }
+inline ipstream& operator >> ( ipstream& is, TTable*& cl )
+ { return is >> (void *&) cl; }
+
+inline opstream& operator << ( opstream& os, TTable& cl )
+ { return os << (TStreamable&) cl; }
+inline opstream& operator << ( opstream& os, TTable* cl )
+ { return os << (TStreamable *) cl; }
+
+
+class TReport : public TView
+{
+
+public:
+
+ TReport( TRect& r );
+ TReport( StreamableInit ) : TView(streamableInit) { };
+ virtual void draw();
+ virtual void handleEvent( TEvent& event );
+
+private:
+
+ long asciiChar;
+
+ virtual const char *streamableName() const
+ { return name; }
+
+protected:
+
+ virtual void write( opstream& );
+ virtual void *read( ipstream& );
+
+public:
+
+ static const char * const name;
+ static TStreamable *build();
+
+};
+
+inline ipstream& operator >> ( ipstream& is, TReport& cl )
+ { return is >> (TStreamable&) cl; }
+inline ipstream& operator >> ( ipstream& is, TReport*& cl )
+ { return is >> (void *&) cl; }
+
+inline opstream& operator << ( opstream& os, TReport& cl )
+ { return os << (TStreamable&) cl; }
+inline opstream& operator << ( opstream& os, TReport* cl )
+ { return os << (TStreamable *) cl; }
+
+
+class TAsciiChart : public TWindow
+{
+
+public:
+
+ TAsciiChart();
+ TAsciiChart( StreamableInit ) : TWindow(streamableInit),
+ TWindowInit(&initFrame) { };
+ virtual void handleEvent( TEvent &event );
+
+private:
+
+ virtual const char *streamableName() const
+ { return name; }
+
+protected:
+
+ virtual void write( opstream& );
+ virtual void *read( ipstream& );
+
+public:
+
+ static const char * const name;
+ static TStreamable *build();
+
+};
+
+inline ipstream& operator >> ( ipstream& is, TAsciiChart& cl )
+ { return is >> (TStreamable&) cl; }
+inline ipstream& operator >> ( ipstream& is, TAsciiChart*& cl )
+ { return is >> (void *&) cl; }
+
+inline opstream& operator << ( opstream& os, TAsciiChart& cl )
+ { return os << (TStreamable&) cl; }
+inline opstream& operator << ( opstream& os, TAsciiChart* cl )
+ { return os << (TStreamable *) cl; }
+
+
+#endif // __ASCII_H
diff --git a/freebsdtvision/demo/calc.cc b/freebsdtvision/demo/calc.cc
new file mode 100644
index 0000000..35082b1
--- /dev/null
+++ b/freebsdtvision/demo/calc.cc
@@ -0,0 +1,346 @@
+/*------------------------------------------------------------*/
+/* */
+/* Calc.cpp: TCalcDisplay member functions and TCalculator */
+/* constructor */
+/* */
+/*------------------------------------------------------------*/
+/*
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
+ */
+
+#define Uses_TRect
+#define Uses_TEvent
+#define Uses_TButton
+#define Uses_TKeys
+#define Uses_TDrawBuffer
+#define Uses_TStreamableClass
+#define Uses_TStreamable
+#define Uses_TView
+#define Uses_TDialog
+#include <tvision/tv.h>
+__link( RView )
+__link( RDialog )
+__link( RButton )
+
+#include "calc.h"
+
+#include <string.h>
+#include <stdlib.h>
+#include <ctype.h>
+
+#include <sstream>
+#include <iomanip>
+
+using std::string;
+using std::ostringstream;
+
+#define cpCalcPalette "\x13"
+
+
+//
+// TCalcDisplay functions
+//
+
+const char * const TCalcDisplay::name = "TCalcDisplay";
+
+void TCalcDisplay::write( opstream& os )
+{
+ TView::write( os );
+ os.writeBytes(&status, sizeof(status));
+ os.writeString(number);
+ os.writeByte(sign);
+ os.writeByte(operate);
+ os.writeBytes(&operand, sizeof(operand));
+}
+
+
+void *TCalcDisplay::read( ipstream& is )
+{
+ TView::read( is );
+ number = new char[DISPLAYLEN];
+ is.readBytes(&status, sizeof(status));
+ is.readString(number, DISPLAYLEN);
+ sign = is.readByte();
+ operate = is.readByte();
+ is.readBytes(&operand, sizeof(operand));
+ return this;
+}
+
+
+TStreamable *TCalcDisplay::build()
+{
+ return new TCalcDisplay( streamableInit );
+}
+
+
+TStreamableClass RCalcDisplay( TCalcDisplay::name,
+ TCalcDisplay::build,
+ __DELTA(TCalcDisplay)
+ );
+
+
+TCalcDisplay::TCalcDisplay(TRect& r) : TView ( r )
+{
+ options |= ofSelectable;
+ eventMask = (evKeyboard | evBroadcast);
+ number = new char[DISPLAYLEN];
+ clear();
+
+}
+
+TCalcDisplay::~TCalcDisplay()
+{
+ delete number;
+}
+
+TPalette& TCalcDisplay::getPalette() const
+{
+ static TPalette palette( cpCalcPalette, sizeof(cpCalcPalette)-1 );
+ return palette;
+}
+
+
+void TCalcDisplay::handleEvent(TEvent& event)
+{
+ TView::handleEvent(event);
+
+ switch(event.what)
+ {
+ case evKeyboard:
+ calcKey(event.keyDown.charScan.charCode);
+ clearEvent(event);
+ break;
+ case evBroadcast:
+ if(event.message.command == cmCalcButton)
+ {
+ calcKey( ((TButton *) event.message.infoPtr)->title[0]);
+ clearEvent(event);
+ }
+ break;
+ }
+}
+
+
+void TCalcDisplay::draw()
+{
+ char color = getColor(1);
+ short i;
+ TDrawBuffer buf;
+
+ i = (short)(size.x - strlen(number) - 2);
+ buf.moveChar(0, ' ', color, (short)size.x);
+ buf.moveChar(i, sign, color, (short)1 );
+ buf.moveStr((short)(i+1), number, color);
+ writeLine(0, 0, (short)size.x, 1, buf);
+}
+
+
+void TCalcDisplay::error()
+{
+ status = csError;
+ strcpy(number, "Error");
+ sign = ' ';
+}
+
+
+void TCalcDisplay::clear()
+{
+ status = csFirst;
+ strcpy(number, "0");
+ sign = ' ';
+ operate = '=';
+}
+
+
+void TCalcDisplay::setDisplay(double r)
+{
+ string str;
+ ostringstream displayStr(str);
+
+ if(r < 0.0)
+ {
+ sign = '-';
+ displayStr << -r << std::ends;
+ }
+ else
+ {
+ displayStr << r << std::ends;
+ sign = ' ';
+ }
+
+ int len = str.length();
+ if (len > DISPLAYLEN)
+ error();
+ else
+ strcpy(number, str.c_str());
+}
+
+
+void TCalcDisplay::checkFirst()
+{
+ if( status == csFirst)
+ {
+ status = csValid;
+ strcpy(number, "0");
+ sign = ' ';
+ }
+}
+
+
+void TCalcDisplay::calcKey(unsigned char key)
+{
+ char stub[2] = " ";
+ double r;
+
+ key = (unsigned char)toupper(key);
+ if( status == csError && key != 'C')
+ key = ' ';
+
+ switch(key)
+ {
+ case '0': case '1': case '2': case '3': case '4':
+ case '5': case '6': case '7': case '8': case '9':
+ checkFirst();
+ if (strlen(number) < 15)
+ { // 15 is max visible display length
+ if (strcmp(number, "0") == 0)
+ number[0] = '\0';
+ stub[0] = key;
+ strcat(number, stub);
+ }
+ break;
+
+ case '.':
+ checkFirst();
+ if(strchr(number, '.') == NULL)
+ {
+ stub[0] = '.';
+ strcat(number, stub);
+ }
+ break;
+
+ case 8:
+ case 27:
+ int len;
+
+ checkFirst();
+ if( (len = strlen(number)) == 1 )
+ strcpy(number, "0");
+ else
+ number[len-1] = '\0';
+ break;
+
+ case '_': // underscore (keyboard version of +/-)
+ case 241: // +/- extended character.
+ if (sign==' ')
+ sign='-';
+ else
+ sign=' ';
+ break;
+
+ case '+': case '-': case '*': case '/':
+ case '=': case '%': case 13:
+ if(status == csValid)
+ {
+ status = csFirst;
+ r = getDisplay() * ((sign == '-') ? -1.0 : 1.0);
+ if( key == '%' )
+ {
+ if(operate == '+' || operate == '-')
+ r = (operand * r) / 100;
+ else
+ r /= 100;
+ }
+ switch( operate )
+ {
+ case '+':
+ setDisplay(operand + r);
+ break;
+
+ case '-':
+ setDisplay(operand - r);
+ break;
+
+ case '*':
+ setDisplay(operand * r);
+ break;
+
+ case '/':
+ if(r == 0)
+ error();
+ else
+ setDisplay(operand / r);
+ break;
+
+ }
+ }
+ operate = key;
+ operand = getDisplay() * ((sign == '-') ? -1.0 : 1.0);
+ break;
+
+ case 'C':
+ clear();
+ break;
+
+ }
+ drawView();
+}
+
+
+
+static char *keyChar[20] =
+ { "C", "\x1B", "%", "\xF1", // 0x1B is escape, 0xF1 is +/- char.
+ "7", "8", "9", "/",
+ "4", "5", "6", "*",
+ "1", "2", "3", "-",
+ "0", ".", "=", "+"
+ };
+
+
+//
+// TCalculator functions
+//
+
+const char * const TCalculator::name = "TCalculator";
+
+TStreamable *TCalculator::build()
+{
+ return new TCalculator( streamableInit );
+}
+
+
+TStreamableClass RCalculator( TCalculator::name,
+ TCalculator::build,
+ __DELTA(TCalculator)
+ );
+
+
+TCalculator::TCalculator() :
+ TDialog( TRect(5, 3, 29, 18), "Calculator" ),
+ TWindowInit( &TCalculator::initFrame )
+{
+ TView *tv;
+ TRect r;
+
+ options |= ofFirstClick;
+
+ for(int i = 0; i <= 19; i++)
+ {
+ int x = (i%4)*5+2;
+ int y = (i/4)*2+4;
+ r = TRect( x, y, x+5, y+2 );
+
+ tv = new TButton( r, keyChar[i], cmCalcButton, bfNormal | bfBroadcast );
+ tv->options &= ~ofSelectable;
+ insert( tv );
+ }
+ r = TRect( 3, 2, 21, 3 );
+ insert( new TCalcDisplay(r) );
+}
+
diff --git a/freebsdtvision/demo/calc.h b/freebsdtvision/demo/calc.h
new file mode 100644
index 0000000..bd93e63
--- /dev/null
+++ b/freebsdtvision/demo/calc.h
@@ -0,0 +1,117 @@
+/*-------------------------------------------------------*/
+/* */
+/* Calc.h: Header file for Calc.cpp */
+/* */
+/*-------------------------------------------------------*/
+/*
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ */
+
+#if !defined( __CALC_H )
+#define __CALC_H
+
+#include <math.h>
+#include <stdlib.h>
+
+#define DISPLAYLEN 25 // Length (width) of calculator display
+
+enum TCalcState { csFirst = 1, csValid, csError };
+
+const int cmCalcButton = 200;
+
+
+class TCalcDisplay : public TView
+{
+
+public:
+
+ TCalcDisplay(TRect& r);
+ TCalcDisplay( StreamableInit ) : TView(streamableInit) { };
+ ~TCalcDisplay();
+ virtual TPalette& getPalette() const;
+ virtual void handleEvent(TEvent& event);
+ virtual void draw();
+
+private:
+
+ TCalcState status;
+ char *number;
+ char sign;
+ char operate; // since 'operator' is a reserved word.
+ double operand;
+
+ void calcKey(unsigned char key);
+ void checkFirst();
+ void setDisplay(double r);
+ void clear();
+ void error();
+ inline double getDisplay() { return( atof( number ) ); };
+
+ virtual const char *streamableName() const
+ { return name; }
+
+protected:
+
+ virtual void write( opstream& );
+ virtual void *read( ipstream& );
+
+public:
+
+ static const char * const name;
+ static TStreamable *build();
+
+};
+
+inline ipstream& operator >> ( ipstream& is, TCalcDisplay& cl )
+ { return is >> (TStreamable&) cl; }
+inline ipstream& operator >> ( ipstream& is, TCalcDisplay*& cl )
+ { return is >> (void *&) cl; }
+
+inline opstream& operator << ( opstream& os, TCalcDisplay& cl )
+ { return os << (TStreamable&) cl; }
+inline opstream& operator << ( opstream& os, TCalcDisplay* cl )
+ { return os << (TStreamable *) cl; }
+
+
+class TCalculator : public TDialog
+{
+
+public:
+
+ TCalculator();
+ TCalculator( StreamableInit ) :
+ TDialog(streamableInit), TWindowInit(&TCalculator::initFrame) { };
+
+private:
+
+ virtual const char *streamableName() const
+ { return name; }
+
+//protected:
+
+// virtual void write( opstream& );
+// virtual void *read( ipstream& );
+
+public:
+
+ static const char * const name;
+ static TStreamable *build();
+
+};
+
+inline ipstream& operator >> ( ipstream& is, TCalculator& cl )
+ { return is >> (TStreamable&) cl; }
+inline ipstream& operator >> ( ipstream& is, TCalculator*& cl )
+ { return is >> (void *&) cl; }
+
+inline opstream& operator << ( opstream& os, TCalculator& cl )
+ { return os << (TStreamable&) cl; }
+inline opstream& operator << ( opstream& os, TCalculator* cl )
+ { return os << (TStreamable *) cl; }
+
+
+#endif // __CALC_H
diff --git a/freebsdtvision/demo/calendar.cc b/freebsdtvision/demo/calendar.cc
new file mode 100644
index 0000000..f14074f
--- /dev/null
+++ b/freebsdtvision/demo/calendar.cc
@@ -0,0 +1,293 @@
+/*---------------------------------------------------------*/
+/* */
+/* Calendar.cpp: TCalenderWindow member functions. */
+/* */
+/*---------------------------------------------------------*/
+/*
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
+ */
+
+#define Uses_TRect
+#define Uses_TEvent
+#define Uses_TKeys
+#define Uses_TDrawBuffer
+#define Uses_TStreamableClass
+#define Uses_TStreamable
+#define Uses_TView
+#define Uses_TWindow
+#include <tvision/tv.h>
+__link( RView )
+__link( RWindow )
+
+#include "calendar.h"
+
+#include <string.h>
+#include <stdlib.h>
+#include <ctype.h>
+#include <time.h>
+
+#include <iomanip>
+#include <sstream>
+#include <string>
+
+using std::string;
+using std::ostringstream;
+
+static char *monthNames[] = {
+ "",
+ "January", "February", "March", "April", "May", "June",
+ "July", "August", "September","October", "November", "December"
+};
+
+
+static unsigned char daysInMonth[] = {
+ 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31
+};
+
+
+//
+// TCalendarView functions
+//
+
+const char * const TCalendarView::name = "TCalendarView";
+
+
+void TCalendarView::write( opstream& os )
+{
+ TView::write( os );
+ os << days << month << year << curDay << curMonth << curYear;
+}
+
+
+void *TCalendarView::read( ipstream& is )
+{
+ TView::read( is );
+ is >> days >> month >> year >> curDay >> curMonth >> curYear;
+ return this;
+}
+
+
+TStreamable *TCalendarView::build()
+{
+ return new TCalendarView( streamableInit );
+}
+
+
+TStreamableClass RCalendarView( TCalendarView::name,
+ TCalendarView::build,
+ __DELTA(TCalendarView)
+ );
+
+
+TCalendarView::TCalendarView(TRect& r) : TView( r )
+{
+ /* SS: little change */
+
+// struct date d;
+
+ options |= ofSelectable;
+ eventMask |= evMouseAuto;
+
+ time_t now = time(NULL);
+ tm *broken = localtime(&now);
+
+ year = curYear = broken->tm_year + 1900;
+ month = curMonth = broken->tm_mon + 1;
+ curDay = broken->tm_mday;
+
+// getdate( &d );
+// year = curYear = d.da_year;
+// month = curMonth = d.da_mon;
+// curDay = d.da_day;
+
+ drawView();
+}
+
+
+int dayOfWeek(int day, int month, int year)
+{
+ int century, yr, dw;
+
+ if(month < 3)
+ {
+ month += 10;
+ --year;
+ }
+ else
+ month -= 2;
+
+ century = year / 100;
+ yr = year % 100;
+ dw = (((26 * (int)month - 2) / 10) + (int)day + yr + (yr / 4) + (century / 4) -
+ (2 * century)) % 7;
+
+ if(dw < 0)
+ dw += 7;
+
+ return((int)dw);
+}
+
+
+void
+TCalendarView::draw()
+{
+ char current = (char)(1 - dayOfWeek(1, month, year));
+ char days = (char)( daysInMonth[month] +
+ ((year % 4 == 0 && month == 2) ? 1 : 0) );
+ char color, boldColor;
+ short i, j;
+ TDrawBuffer buf;
+
+ color = getColor(6);
+ boldColor = getColor(7);
+
+ buf.moveChar(0, ' ', color, 22);
+
+ ostringstream s1;
+ s1 << std::setw(9) << monthNames[month]
+ << " " << std::setw(4) << year
+ << " " << (char) 30
+ << " " << (char) 31 <<
+ " " << std::ends;
+
+ buf.moveStr(0, s1.str().c_str(), color);
+ writeLine(0, 0, 22, 1, buf);
+
+ buf.moveChar(0, ' ', color, 22);
+ buf.moveStr(0, "Su Mo Tu We Th Fr Sa", color);
+ writeLine(0, 1, 22, 1, buf);
+
+ for (i = 1; i <= 6; i++) {
+ buf.moveChar(0, ' ', color, 22);
+ for(j = 0; j <= 6; j++) {
+ if (current < 1 || current > days) {
+ buf.moveStr((short)(j*3), " ", color);
+ } else {
+ ostringstream s2;
+ s2 << std::setw(2) << (int) current << std::ends;
+ if (year == curYear &&
+ month == curMonth &&
+ current == (int)curDay) {
+ buf.moveStr((short)(j*3), s2.str().c_str(), boldColor);
+ } else {
+ buf.moveStr((short)(j*3), s2.str().c_str(), color);
+ }
+ }
+ current++;
+ }
+ writeLine(0, (short)(i+1), 22, 1, buf);
+ }
+}
+
+
+void TCalendarView::handleEvent(TEvent& event)
+{
+ TPoint point;
+
+ TView::handleEvent(event);
+ if (state && sfSelected)
+ {
+ if ( (event.what & evMouse) && (evMouseDown || evMouseAuto) )
+ {
+ point = makeLocal(event.mouse.where);
+ if (point.x == 15 && point.y == 0)
+ {
+ ++month;
+ if (month > 12)
+ {
+ ++year;
+ month = 1;
+ }
+ drawView();
+ }
+ else if (point.x == 18 && point.y == 0)
+ {
+ --month;
+ if (month < 1)
+ {
+ --year;
+ month = 12;
+ }
+ drawView();
+ }
+ }
+ else if (event.what == evKeyboard)
+ {
+ if ( (loByte(event.keyDown.keyCode) == '+') ||
+ event.keyDown.keyCode == kbDown)
+ {
+ ++month;
+ if (month > 12)
+ {
+ ++year;
+ month = 1;
+ }
+ }
+ else if ( (loByte(event.keyDown.keyCode) == '-') ||
+ event.keyDown.keyCode == kbUp)
+ {
+ --month;
+ if (month < 1)
+ {
+ --year;
+ month = 12;
+ }
+ }
+ drawView();
+ }
+ }
+}
+
+
+//
+// TCalendarWindow functions
+//
+
+const char * const TCalendarWindow::name = "TCalendarWindow";
+
+
+void TCalendarWindow::write( opstream& os )
+{
+ TWindow::write( os );
+}
+
+
+void *TCalendarWindow::read( ipstream& is )
+{
+ TWindow::read( is );
+ return this;
+}
+
+
+TStreamable *TCalendarWindow::build()
+{
+ return new TCalendarWindow( streamableInit );
+}
+
+
+TStreamableClass RCalendarWindow( TCalendarWindow::name,
+ TCalendarWindow::build,
+ __DELTA(TCalendarWindow)
+ );
+
+
+TCalendarWindow::TCalendarWindow() :
+ TWindow( TRect(1, 1, 23, 11), "Calendar", wnNoNumber ),
+ TWindowInit( &TCalendarWindow::initFrame )
+{
+ TRect r(getExtent());
+
+ flags &= ~(wfZoom | wfGrow);
+ growMode = 0;
+
+ palette = wpCyanWindow;
+
+ r.grow(-1, -1);
+ insert( new TCalendarView( r ));
+}
diff --git a/freebsdtvision/demo/calendar.h b/freebsdtvision/demo/calendar.h
new file mode 100644
index 0000000..ba51409
--- /dev/null
+++ b/freebsdtvision/demo/calendar.h
@@ -0,0 +1,94 @@
+/*-------------------------------------------------------*/
+/* */
+/* Calendar.h: Header file for Calendar.cpp */
+/* */
+/*-------------------------------------------------------*/
+/*
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ */
+
+#if !defined( __CALENDAR_H )
+#define __CALENDAR_H
+
+class TCalendarView : public TView
+{
+
+public:
+
+ TCalendarView(TRect & r);
+ TCalendarView( StreamableInit ) : TView(streamableInit) { };
+ virtual void handleEvent(TEvent& event);
+ virtual void draw();
+
+private:
+
+ unsigned days, month, year;
+ unsigned curDay, curMonth, curYear;
+
+ virtual const char *streamableName() const
+ { return name; }
+
+protected:
+
+ virtual void write( opstream& );
+ virtual void *read( ipstream& );
+
+public:
+
+ static const char * const name;
+ static TStreamable *build();
+};
+
+inline ipstream& operator >> ( ipstream& is, TCalendarView& cl )
+ { return is >> (TStreamable&) cl; }
+inline ipstream& operator >> ( ipstream& is, TCalendarView*& cl )
+ { return is >> (void *&) cl; }
+
+inline opstream& operator << ( opstream& os, TCalendarView& cl )
+ { return os << (TStreamable&) cl; }
+inline opstream& operator << ( opstream& os, TCalendarView* cl )
+ { return os << (TStreamable *) cl; }
+
+
+class TCalendarWindow : public TWindow
+{
+
+public:
+
+ TCalendarWindow();
+ TCalendarWindow( StreamableInit ) :
+ TWindow(streamableInit), TWindowInit(&TCalendarWindow::initFrame) { };
+
+private:
+
+ virtual const char *streamableName() const
+ { return name; }
+
+protected:
+
+ virtual void write( opstream& );
+ virtual void *read( ipstream& );
+
+public:
+
+ static const char * const name;
+ static TStreamable *build();
+
+};
+
+inline ipstream& operator >> ( ipstream& is, TCalendarWindow& cl )
+ { return is >> (TStreamable&) cl; }
+inline ipstream& operator >> ( ipstream& is, TCalendarWindow*& cl )
+ { return is >> (void *&) cl; }
+
+inline opstream& operator << ( opstream& os, TCalendarWindow& cl )
+ { return os << (TStreamable&) cl; }
+inline opstream& operator << ( opstream& os, TCalendarWindow* cl )
+ { return os << (TStreamable *) cl; }
+
+
+#endif // __CALENDAR_H
diff --git a/freebsdtvision/demo/demohelp.h b/freebsdtvision/demo/demohelp.h
new file mode 100644
index 0000000..6b6bad5
--- /dev/null
+++ b/freebsdtvision/demo/demohelp.h
@@ -0,0 +1,40 @@
+const
+ int hcAsciiTable = 6,
+ hcCalculator = 4,
+ hcCalendar = 5,
+ hcCancelBtn = 35,
+ hcFCChDirDBox = 37,
+ hcFChangeDir = 15,
+ hcFDosShell = 16,
+ hcFExit = 17,
+ hcFOFileOpenDBox = 31,
+ hcFOFiles = 33,
+ hcFOName = 32,
+ hcFOOpenBtn = 34,
+ hcFOpen = 14,
+ hcFile = 13,
+ hcNocontext = 0,
+ hcOCColorsDBox = 39,
+ hcOColors = 28,
+ hcOMMouseDBox = 38,
+ hcOMouse = 27,
+ hcORestoreDesktop = 30,
+ hcOSaveDesktop = 29,
+ hcOpenBtn = 36,
+ hcOptions = 26,
+ hcPuzzle = 3,
+ hcSAbout = 8,
+ hcSAsciiTable = 11,
+ hcSCalculator = 12,
+ hcSCalendar = 10,
+ hcSPuzzle = 9,
+ hcSystem = 7,
+ hcViewer = 2,
+ hcWCascade = 22,
+ hcWClose = 25,
+ hcWNext = 23,
+ hcWPrevious = 24,
+ hcWSizeMove = 19,
+ hcWTile = 21,
+ hcWZoom = 20,
+ hcWindows = 18;
diff --git a/freebsdtvision/demo/fileview.cc b/freebsdtvision/demo/fileview.cc
new file mode 100644
index 0000000..15604e7
--- /dev/null
+++ b/freebsdtvision/demo/fileview.cc
@@ -0,0 +1,178 @@
+/*---------------------------------------------------------*/
+/* */
+/* Turbo Vision FileViewer Demo Support File */
+/* */
+/*---------------------------------------------------------*/
+/*
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
+ */
+
+#define Uses_MsgBox
+#define Uses_TKeys
+#define Uses_TScroller
+#define Uses_TDrawBuffer
+#define Uses_TRect
+#define Uses_TProgram
+#define Uses_TDeskTop
+#define Uses_TStreamableClass
+#include <tvision/tv.h>
+__link(RScroller)
+__link(RScrollBar)
+
+#include "tvcmds.h"
+#include "fileview.h"
+
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <ctype.h>
+
+#include <fstream>
+
+using std::ifstream;
+
+const char * const TFileViewer::name = "TFileViewer";
+
+TFileViewer::TFileViewer( const TRect& bounds,
+ TScrollBar *aHScrollBar,
+ TScrollBar *aVScrollBar,
+ const char *aFileName) :
+ TScroller( bounds, aHScrollBar, aVScrollBar )
+{
+ growMode = gfGrowHiX | gfGrowHiY;
+ isValid = True;
+ fileName = 0;
+ readFile( aFileName );
+}
+
+TFileViewer::~TFileViewer()
+{
+ delete fileName;
+ destroy (fileLines);
+}
+
+void TFileViewer::draw()
+{
+ char *p;
+
+ ushort c = getColor(0x0301);
+ for( short i = 0; i < size.y; i++ )
+ {
+ TDrawBuffer b;
+ b.moveChar( 0, ' ', c, (short)size.x );
+
+ if( delta.y + i < fileLines->getCount() )
+ {
+ char s[maxLineLength+1];
+ p = (char *)( fileLines->at(delta.y+i) );
+ if( p == 0 || (int)strlen(p) < delta.x )
+ s[0] = EOS;
+ else
+ {
+ strncpy( s, p+delta.x, size.x );
+ if( (int)strlen( p + delta.x ) > size.x )
+ s[size.x] = EOS;
+ }
+ b.moveStr( 0, s, c );
+ }
+ writeBuf( 0, i, (short)size.x, 1, b );
+ }
+}
+
+void TFileViewer::scrollDraw()
+{
+ TScroller::scrollDraw();
+ draw();
+}
+
+void TFileViewer::readFile( const char *fName )
+{
+ delete fileName;
+
+ limit.x = 0;
+ fileName = newStr( fName );
+ fileLines = new TLineCollection(5, 5);
+ ifstream fileToView( fName );
+ if( !fileToView )
+ {
+ messageBox( "Invalid drive or directory", mfError | mfOKButton );
+ isValid = False;
+ }
+ else
+ {
+ char line[maxLineLength+1];
+ while(!fileToView.eof() && fileToView.get( line, sizeof line ) != 0)
+ {
+ char c;
+ fileToView.get(c); // grab trailing newline
+ limit.x = max( limit.x, strlen( line ) );
+ fileLines->insert( newStr( line ) );
+ }
+ isValid = True;
+ }
+ limit.y = fileLines->getCount();
+}
+
+void TFileViewer::setState( ushort aState, Boolean enable )
+{
+ TScroller::setState( aState, enable );
+ if( enable && (aState & sfExposed) )
+ setLimit( limit.x, limit.y );
+}
+
+Boolean TFileViewer::valid( ushort )
+{
+ return isValid;
+}
+
+void *TFileViewer::read(ipstream& is)
+{
+ char *fName;
+
+ TScroller::read(is);
+ fName = is.readString();
+ fileName = 0;
+ readFile(fName);
+ delete fName;
+ return this;
+}
+
+void TFileViewer::write(opstream& os)
+{
+ TScroller::write(os);
+ os.writeString(fileName);
+}
+
+TStreamable *TFileViewer::build()
+{
+ return new TFileViewer( streamableInit );
+}
+
+
+TStreamableClass RFileView( TFileViewer::name,
+ TFileViewer::build,
+ __DELTA(TFileViewer)
+ );
+
+
+
+static short winNumber = 0;
+
+TFileWindow::TFileWindow( const char *fileName ) :
+ TWindow( TProgram::deskTop->getExtent(), fileName, winNumber++ ),
+ TWindowInit( &TFileWindow::initFrame )
+{
+ options |= ofTileable;
+ TRect r( getExtent() );
+ r.grow(-1, -1);
+ insert(new TFileViewer( r,
+ standardScrollBar(sbHorizontal | sbHandleKeyboard),
+ standardScrollBar(sbVertical | sbHandleKeyboard),
+ fileName) );
+}
diff --git a/freebsdtvision/demo/fileview.h b/freebsdtvision/demo/fileview.h
new file mode 100644
index 0000000..89b2fb2
--- /dev/null
+++ b/freebsdtvision/demo/fileview.h
@@ -0,0 +1,88 @@
+/*---------------------------------------------------------*/
+/* */
+/* Fileview.h: Header file for fileview.cpp. */
+/* */
+/*---------------------------------------------------------*/
+/*
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ */
+
+#if !defined( __FILEVIEW_H )
+#define __FILEVIEW_H
+
+#define Uses_TCollection
+#define Uses_TScroller
+#define Uses_TWindow
+#include <tvision/tv.h>
+
+const int hlChangeDir = cmChangeDir;
+
+class TLineCollection : public TCollection
+{
+
+public:
+
+ TLineCollection(short lim, short delta) : TCollection(lim, delta) {}
+ virtual void freeItem(void *p) { delete p; }
+
+private:
+
+ virtual void *readItem( ipstream& ) { return 0; }
+ virtual void writeItem( void *, opstream& ) {}
+
+};
+
+class TFileViewer : public TScroller
+{
+
+public:
+
+ char *fileName;
+ TCollection *fileLines;
+ Boolean isValid;
+ TFileViewer( const TRect& bounds,
+ TScrollBar *aHScrollBar,
+ TScrollBar *aVScrollBar,
+ const char *aFileName
+ );
+ ~TFileViewer();
+ TFileViewer( StreamableInit ) : TScroller(streamableInit) { };
+ void draw();
+ void readFile( const char *fName );
+ void setState( ushort aState, Boolean enable );
+ void scrollDraw();
+ Boolean valid( ushort command );
+
+private:
+
+ virtual const char *streamableName() const
+ { return name; }
+
+protected:
+
+ virtual void write( opstream& );
+ virtual void *read( ipstream& );
+
+public:
+
+ static const char * const name;
+ static TStreamable *build();
+
+};
+
+class TFileWindow : public TWindow
+{
+
+public:
+
+ TFileWindow( const char *fileName );
+
+};
+
+const int maxLineLength = 256;
+
+#endif
diff --git a/freebsdtvision/demo/gadgets.cc b/freebsdtvision/demo/gadgets.cc
new file mode 100644
index 0000000..ef3fcfe
--- /dev/null
+++ b/freebsdtvision/demo/gadgets.cc
@@ -0,0 +1,160 @@
+/*-------------------------------------------------------------------*/
+/* */
+/* Turbo Vision Demo */
+/* */
+/* Gadgets.cpp: Gadgets for the Turbo Vision Demo. Includes a */
+/* heap view and a clock view which display the clock at the */
+/* right end of the menu bar and the current heap space at */
+/* the right end of the status line. */
+/* */
+/*-------------------------------------------------------------------*/
+/*
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
+ */
+
+#define Uses_TRect
+#define Uses_TView
+#define Uses_TDrawBuffer
+#include <tvision/tv.h>
+
+#include "gadgets.h"
+
+#include <string.h>
+#include <stdlib.h>
+#include <ctype.h>
+#include <time.h>
+
+#include <sstream>
+#include <iomanip>
+
+//extern "C" unsigned long farcoreleft( void );
+
+//
+// ------------- Heap Viewer functions
+//
+
+THeapView::THeapView(TRect& r) : TView( r )
+{
+ oldMem = 0;
+ newMem = heapSize();
+
+ /* SS: now resizing under X works well */
+ growMode = gfGrowLoX | gfGrowLoY | gfGrowHiX | gfGrowHiY;
+}
+
+
+void THeapView::draw()
+{
+ TDrawBuffer buf;
+ char c = getColor(2);
+
+ buf.moveChar(0, ' ', c, (short)size.x);
+ buf.moveStr(0, heapStr, c);
+ writeLine(0, 0, (short)size.x, 1, buf);
+}
+
+
+void THeapView::update()
+{
+ if( (newMem = heapSize()) != oldMem )
+ {
+ oldMem = newMem;
+ drawView();
+ }
+}
+
+
+long THeapView::heapSize()
+{
+ /* SS: changed */
+#if 0
+//#if !defined( __DPMI32__ )
+// long total = farcoreleft();
+//#else
+ long total = 0;
+//#endif
+
+#if !defined( __DPMI16__ ) && !defined( __DPMI32__ )
+ struct farheapinfo heap;
+#endif
+
+ ostringstream totalStr( heapStr, sizeof heapStr);
+
+//#if defined( __DPMI32__ )
+// switch( _HEAPEMPTY )
+//#else
+ switch( heapcheck() )
+//#endif
+ {
+ case _HEAPEMPTY:
+ strcpy(heapStr, " No heap");
+ total = -1;
+ break;
+
+ case _HEAPCORRUPT:
+ strcpy(heapStr, "Heap corrupt");
+ total = -2;
+ break;
+
+ case _HEAPOK:
+#if !defined( __DPMI16__ ) && !defined( __DPMI32__ )
+ heap.ptr = NULL;
+ while(farheapwalk(&heap) != _HEAPEND)
+ if(!heap.in_use)
+ total += heap.size;
+#endif
+ totalStr << setw(12) << total << ends;
+ break;
+ }
+ return(total);
+#endif
+ strcpy(heapStr, "Hello world!");
+ return -1;
+}
+
+
+//
+// -------------- Clock Viewer functions
+//
+
+TClockView::TClockView( TRect& r ) : TView( r )
+{
+ strcpy(lastTime, " ");
+ strcpy(curTime, " ");
+
+ /* SS: now resizing under X works well */
+ growMode = gfGrowLoX | gfGrowHiX;
+}
+
+
+void TClockView::draw()
+{
+ TDrawBuffer buf;
+ char c = getColor(2);
+
+ buf.moveChar(0, ' ', c, (short)size.x);
+ buf.moveStr(0, curTime, c);
+ writeLine(0, 0, (short)size.x, 1, buf);
+}
+
+
+void TClockView::update()
+{
+ time_t t = time(0);
+ char *date = ctime(&t);
+
+ date[19] = '\0';
+ strcpy(curTime, &date[11]); /* Extract time. */
+
+ if( strcmp(lastTime, curTime) )
+ {
+ drawView();
+ strcpy(lastTime, curTime);
+ }
+}
diff --git a/freebsdtvision/demo/gadgets.h b/freebsdtvision/demo/gadgets.h
new file mode 100644
index 0000000..2856294
--- /dev/null
+++ b/freebsdtvision/demo/gadgets.h
@@ -0,0 +1,57 @@
+/*---------------------------------------------------------*/
+/* */
+/* Gadgets.h : Header file for gadgets.cpp */
+/* */
+/*---------------------------------------------------------*/
+/*
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ */
+
+#if !defined( __GADGETS_H )
+#define __GADGETS_H
+
+#define Uses_TEvent
+#define Uses_TRect
+#define Uses_TView
+#include <tvision/tv.h>
+
+
+class THeapView : public TView
+{
+
+public:
+
+ THeapView( TRect& r );
+ virtual void update();
+ virtual void draw();
+ virtual long heapSize();
+
+private:
+
+ long oldMem, newMem;
+ char heapStr[16];
+
+};
+
+
+class TClockView : public TView
+{
+
+public:
+
+ TClockView( TRect& r );
+ virtual void draw();
+ virtual void update();
+
+private:
+
+ char lastTime[9];
+ char curTime[9];
+
+};
+
+#endif // __GADGETS_H
diff --git a/freebsdtvision/demo/mousedlg.cc b/freebsdtvision/demo/mousedlg.cc
new file mode 100644
index 0000000..4fcb169
--- /dev/null
+++ b/freebsdtvision/demo/mousedlg.cc
@@ -0,0 +1,147 @@
+/*---------------------------------------------------------*/
+/* */
+/* Mousedlg.cpp : Member functions of following classes: */
+/* TClickTester */
+/* TMouseDialog */
+/* */
+/*---------------------------------------------------------*/
+/*
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
+ */
+
+#define Uses_TRect
+#define Uses_TStaticText
+#define Uses_TEvent
+#define Uses_TDrawBuffer
+#define Uses_TDialog
+#define Uses_TLabel
+#define Uses_TScrollBar
+#define Uses_TCheckBoxes
+#define Uses_TButton
+#define Uses_TSItem
+#define Uses_TEventQueue
+#include <tvision/tv.h>
+
+#include "mousedlg.h"
+
+#include <string.h>
+#include <stdlib.h>
+#include <ctype.h>
+
+#define cpMousePalette "\x07\x08"
+
+
+//
+// TClickTester functions
+//
+
+TClickTester::TClickTester(TRect& r, char *aText) :
+ TStaticText(r, aText)
+{
+ clicked = 0;
+}
+
+
+TPalette& TClickTester::getPalette() const
+{
+ static TPalette palette( cpMousePalette, sizeof(cpMousePalette)-1 );
+ return palette;
+}
+
+
+void TClickTester::handleEvent(TEvent& event)
+{
+ TStaticText::handleEvent(event);
+
+ if (event.what == evMouseDown)
+ {
+ if (event.mouse.eventFlags & meDoubleClick)
+ {
+ clicked = (short)((clicked) ? 0 : 1);
+ drawView();
+ }
+ clearEvent(event);
+ }
+}
+
+
+void TClickTester::draw()
+{
+ TDrawBuffer buf;
+ char c;
+
+ if (clicked)
+ c = getColor(2);
+ else
+ c = getColor(1);
+
+ buf.moveChar(0, ' ', c, (short)size.x);
+ buf.moveStr(0, text.c_str(), c);
+ writeLine(0, 0, (short)size.x, 1, buf);
+}
+
+
+//
+// TMouseDialog functions
+//
+
+TMouseDialog::TMouseDialog() :
+ TDialog( TRect(0, 0, 34, 12), "Mouse options" ),
+ TWindowInit( &TMouseDialog::initFrame )
+{
+ TRect r(3, 4, 30, 5);
+
+ options |= ofCentered;
+
+ mouseScrollBar = new TScrollBar(r);
+ mouseScrollBar->setParams(1, 1, 20, 20, 1);
+ mouseScrollBar->options |= ofSelectable;
+ mouseScrollBar->setValue(TEventQueue::doubleDelay);
+ insert(mouseScrollBar);
+
+ r = TRect(2, 2, 21, 3);
+ insert(new TLabel(r, "~M~ouse double click", mouseScrollBar));
+
+ r = TRect(3, 3, 30, 4);
+ insert(new TClickTester(r, "Fast Medium Slow"));
+
+ r = TRect(3, 6, 30, 7);
+ insert(new TCheckBoxes(r, new TSItem("~R~everse mouse buttons", NULL)));
+ oldDelay = TEventQueue::doubleDelay;
+
+ r = TRect(9, 9, 19, 11);
+ insert(new TButton(r, "O~K~", cmOK, bfDefault));
+
+ r = TRect(21, 9, 31, 11);
+ insert(new TButton(r, "Cancel", cmCancel, bfNormal));
+
+ selectNext( (Boolean) 0);
+}
+
+
+void TMouseDialog::handleEvent(TEvent& event)
+{
+ TDialog::handleEvent(event);
+ switch(event.what)
+ {
+ case evCommand:
+ if(event.message.command == cmCancel)
+ TEventQueue::doubleDelay = oldDelay;
+ break;
+
+ case evBroadcast:
+ if(event.message.command == cmScrollBarChanged)
+ {
+ TEventQueue::doubleDelay = (short)mouseScrollBar->value;
+ clearEvent(event);
+ }
+ break;
+ }
+}
+
diff --git a/tvision/examples/demo/mousedlg.h b/freebsdtvision/demo/mousedlg.h
index 80139a4..80139a4 100644
--- a/tvision/examples/demo/mousedlg.h
+++ b/freebsdtvision/demo/mousedlg.h
diff --git a/freebsdtvision/demo/puzzle.cc b/freebsdtvision/demo/puzzle.cc
new file mode 100644
index 0000000..c163a5c
--- /dev/null
+++ b/freebsdtvision/demo/puzzle.cc
@@ -0,0 +1,354 @@
+/*---------------------------------------------------------*/
+/* */
+/* Turbo Vision Puzzle Demo */
+/* */
+/*---------------------------------------------------------*/
+/*
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
+ */
+
+#define Uses_TRect
+#define Uses_TEvent
+#define Uses_TKeys
+#define Uses_TDrawBuffer
+#define Uses_TStreamableClass
+#define Uses_TStreamable
+#define Uses_TView
+#define Uses_TWindow
+#include <tvision/tv.h>
+__link( RView )
+__link( RWindow )
+
+#include "puzzle.h"
+
+#include <string.h>
+#include <stdio.h> /* SS: for sprintf(...) */
+#include <stdlib.h>
+#include <ctype.h>
+#include <time.h>
+#include <unistd.h>
+
+#define cpPuzzlePalette "\x06\x07"
+
+//
+// TPuzzleView functions & static variables
+//
+
+const char * const TPuzzleView::name = "TPuzzleView";
+
+
+void TPuzzleView::write( opstream& os )
+{
+ TView::write( os );
+ os.writeBytes(board, sizeof(board));
+ os << moves << solved;
+}
+
+
+void *TPuzzleView::read( ipstream& is )
+{
+ TView::read( is );
+ is.readBytes(board, sizeof(board));
+ is >> moves >> solved;
+ return this;
+}
+
+
+TStreamable *TPuzzleView::build()
+{
+ return new TPuzzleView( streamableInit );
+}
+
+
+TStreamableClass RPuzzleView( TPuzzleView::name,
+ TPuzzleView::build,
+ __DELTA(TPuzzleView)
+ );
+
+
+static char boardStart[16] =
+ { 'A', 'B', 'C', 'D',
+ 'E', 'F', 'G', 'H',
+ 'I', 'J', 'K', 'L',
+ 'M', 'N', 'O', ' '
+ };
+
+static char map[15] =
+ { 0, 1, 0, 1,
+ 1, 0, 1, 0,
+ 0, 1, 0, 1,
+ 1, 0, 1
+ };
+
+
+TPuzzleView::TPuzzleView(TRect& r) : TView(r)
+{
+ srand(time(NULL));
+ options |= ofSelectable;
+ memset( board, ' ', sizeof(board) );
+
+ for(int i = 0; i <= 3; i++)
+ for(int j = 0; j <= 3; j++)
+ board[i][j] = boardStart[i*4+j];
+
+ scramble();
+}
+
+
+void TPuzzleView::draw()
+{
+ char tmp[8];
+ char color[2], colorBack;
+ TDrawBuffer buf;
+
+ color[0] = color[1] = colorBack = getColor(1);
+ if (!solved)
+ color[1] = getColor(2);
+
+ /* SS: little change */
+ short i;
+ for(i = 0; i <= 3; i++)
+ //for(short i = 0; i <= 3; i++)
+ {
+ buf.moveChar(0, ' ', colorBack, 18);
+ if(i == 1)
+ buf.moveStr(13, "Move", colorBack);
+ if(i == 2)
+ {
+ sprintf(tmp, "%d", moves);
+ buf.moveStr(14, tmp, colorBack);
+ }
+ for(short j = 0; j <= 3; j++)
+ {
+ strcpy(tmp, " ");
+ tmp[1] = board[i][j];
+ if(board[i][j] == ' ')
+ buf.moveStr( (short)(j*3), tmp, color[0]);
+ else
+ buf.moveStr( (short)(j*3), tmp, color[map[board[i][j]-'A']]);
+ }
+ writeLine(0, i, 18, 1, buf);
+ }
+}
+
+
+TPalette& TPuzzleView::getPalette() const
+{
+ static TPalette palette( cpPuzzlePalette, sizeof(cpPuzzlePalette)-1 );
+ return palette;
+}
+
+
+void TPuzzleView::handleEvent(TEvent& event)
+{
+ TView::handleEvent(event);
+
+ if (solved && (event.what & (evKeyboard | evMouse) ) )
+ {
+ scramble();
+ clearEvent(event);
+ }
+
+ if(event.what == evMouseDown)
+ {
+ moveTile(event.mouse.where);
+ clearEvent(event);
+ winCheck();
+ }
+ else if(event.what == evKeyDown)
+ {
+ moveKey(event.keyDown.keyCode);
+ clearEvent(event);
+ winCheck();
+ }
+}
+
+void TPuzzleView::moveKey(int key)
+{
+ /* SS: little change */
+ int i;
+ for(i = 0; i <= 15; i++)
+// for(int i = 0; i <= 15; i++)
+ if(board[i/4][i%4] == ' ')
+ break;
+
+ int x = i % 4;
+ int y = i / 4;
+
+ switch(key)
+ {
+ case kbDown:
+ if (y > 0)
+ {
+ board[y][x] = board[y-1][x];
+ board[y-1][x] = ' ';
+ if(moves < 1000)
+ moves++;
+ }
+ break;
+
+ case kbUp:
+ if (y < 3)
+ {
+ board[y][x] = board[y+1][x];
+ board[y+1][x] = ' ';
+ if(moves < 1000)
+ moves++;
+ }
+ break;
+
+ case kbRight:
+ if (x > 0)
+ {
+ board[y][x] = board[y][x-1];
+ board[y][x-1] = ' ';
+ if(moves < 1000)
+ moves++;
+ }
+ break;
+
+ case kbLeft:
+ if (x < 3)
+ {
+ board[y][x] = board[y][x+1];
+ board[y][x+1] = ' ';
+ if(moves < 1000)
+ moves++;
+ }
+ break;
+ }
+ drawView();
+}
+
+void TPuzzleView::moveTile(TPoint p)
+{
+ p = makeLocal(p);
+
+ /* SS: little change */
+ int i;
+ for(i = 0; i <= 15; i++)
+// for(int i = 0; i <= 15; i++)
+ if(board[i/4][i%4] == ' ')
+ break;
+ int x = p.x / 3;
+ int y = p.y;
+
+ switch( (y*4 + x - i) )
+ {
+ case -4: // Piece moves down
+ moveKey(kbDown);
+ break;
+
+ case -1: // Piece moves right
+ moveKey(kbRight);
+ break;
+
+ case 1: // Piece moves left
+ moveKey(kbLeft);
+ break;
+
+ case 4: // Piece moves up
+ moveKey(kbUp);
+ break;
+
+ }
+ drawView();
+}
+
+void TPuzzleView::scramble()
+{
+ moves = 0;
+ solved = 0;
+ do
+ {
+ switch( (rand() >> 4) % 4)
+ {
+ case 0:
+ moveKey(kbUp);
+ break;
+
+ case 1:
+ moveKey(kbDown);
+ break;
+
+ case 2:
+ moveKey(kbRight);
+ break;
+
+ case 3:
+ moveKey(kbLeft);
+ break;
+ }
+ } while (moves++ <= 500);
+
+ moves = 0;
+ drawView();
+}
+
+
+static char *solution = "ABCDEFGHIJKLMNO ";
+
+void TPuzzleView::winCheck()
+{
+ /* SS: little change */
+ int i;
+ for(i = 0; i <= 15; i++)
+// for(int i = 0; i <= 15; i++)
+ if(board[i/4][i%4] != solution[i])
+ break;
+
+ if(i == 16)
+ solved = 1;
+ drawView();
+}
+
+
+//
+// TPuzzleWindow functions
+//
+
+const char * const TPuzzleWindow::name = "TPuzzleWindow";
+
+
+void TPuzzleWindow::write( opstream& os )
+{
+ TWindow::write( os );
+}
+
+
+void *TPuzzleWindow::read( ipstream& is )
+{
+ TWindow::read( is );
+ return this;
+}
+
+
+TStreamable *TPuzzleWindow::build()
+{
+ return new TPuzzleWindow( streamableInit );
+}
+
+
+TStreamableClass RPuzzleWindow( TPuzzleWindow::name,
+ TPuzzleWindow::build,
+ __DELTA(TPuzzleWindow)
+ );
+
+
+TPuzzleWindow::TPuzzleWindow() :
+ TWindow( TRect(1, 1, 21, 7), "Puzzle", wnNoNumber),
+ TWindowInit( &TPuzzleWindow::initFrame )
+{
+ flags &= ~(wfZoom | wfGrow);
+ growMode = 0;
+
+ TRect r = getExtent();
+ r.grow(-1, -1);
+ insert( new TPuzzleView(r) );
+}
diff --git a/freebsdtvision/demo/puzzle.h b/freebsdtvision/demo/puzzle.h
new file mode 100644
index 0000000..b3ea2e6
--- /dev/null
+++ b/freebsdtvision/demo/puzzle.h
@@ -0,0 +1,101 @@
+/*---------------------------------------------------------*/
+/* */
+/* Puzzle.h : Header file for puzzle.cpp */
+/* */
+/*---------------------------------------------------------*/
+/*
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ */
+
+#if !defined( __PUZZLE_H )
+#define __PUZZLE_H
+
+class TPuzzleView : public TView
+{
+
+public:
+
+ TPuzzleView(TRect& r);
+ TPuzzleView( StreamableInit ) : TView(streamableInit) { };
+ virtual TPalette& getPalette() const;
+ virtual void handleEvent(TEvent& event);
+ virtual void draw();
+ void moveKey(int key);
+ void moveTile(TPoint point);
+ void scramble();
+ void winCheck();
+
+private:
+
+ char board[6][6];
+ int moves;
+ char solved;
+
+ virtual const char *streamableName() const
+ { return name; }
+
+protected:
+
+ virtual void write( opstream& );
+ virtual void *read( ipstream& );
+
+public:
+
+ static const char * const name;
+ static TStreamable *build();
+
+};
+
+inline ipstream& operator >> ( ipstream& is, TPuzzleView& cl )
+ { return is >> (TStreamable&) cl; }
+inline ipstream& operator >> ( ipstream& is, TPuzzleView*& cl )
+ { return is >> (void *&) cl; }
+
+inline opstream& operator << ( opstream& os, TPuzzleView& cl )
+ { return os << (TStreamable&) cl; }
+inline opstream& operator << ( opstream& os, TPuzzleView* cl )
+ { return os << (TStreamable *) cl; }
+
+
+class TPuzzleWindow : public TWindow
+{
+
+public:
+
+ TPuzzleWindow();
+ TPuzzleWindow( StreamableInit ) :
+ TWindow(streamableInit), TWindowInit(&TPuzzleWindow::initFrame) { };
+
+private:
+
+ virtual const char *streamableName() const
+ { return name; }
+
+protected:
+
+ virtual void write( opstream& );
+ virtual void *read( ipstream& );
+
+public:
+
+ static const char * const name;
+ static TStreamable *build();
+
+};
+
+inline ipstream& operator >> ( ipstream& is, TPuzzleWindow& cl )
+ { return is >> (TStreamable&) cl; }
+inline ipstream& operator >> ( ipstream& is, TPuzzleWindow*& cl )
+ { return is >> (void *&) cl; }
+
+inline opstream& operator << ( opstream& os, TPuzzleWindow& cl )
+ { return os << (TStreamable&) cl; }
+inline opstream& operator << ( opstream& os, TPuzzleWindow* cl )
+ { return os << (TStreamable *) cl; }
+
+
+#endif // __PUZZLE_H
diff --git a/freebsdtvision/demo/tvcmds.h b/freebsdtvision/demo/tvcmds.h
new file mode 100644
index 0000000..744e2b2
--- /dev/null
+++ b/freebsdtvision/demo/tvcmds.h
@@ -0,0 +1,25 @@
+/*-----------------------------------------------------*/
+/* */
+/* Tvcmds.h : Constants for TVDemo events */
+/* */
+/*-----------------------------------------------------*/
+/*
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ */
+
+const int cmAboutCmd = 100;
+const int cmPuzzleCmd = 101;
+const int cmCalendarCmd = 102;
+const int cmAsciiCmd = 103;
+const int cmCalcCmd = 104;
+const int cmOpenCmd = 105;
+const int cmChDirCmd = 106;
+const int cmDOS_Cmd = 107;
+const int cmMouseCmd = 108;
+const int cmColorCmd = 109;
+const int cmSaveCmd = 110;
+const int cmRestoreCmd = 111;
diff --git a/freebsdtvision/demo/tvdemo.h b/freebsdtvision/demo/tvdemo.h
new file mode 100644
index 0000000..8fe61f6
--- /dev/null
+++ b/freebsdtvision/demo/tvdemo.h
@@ -0,0 +1,58 @@
+/*---------------------------------------------------------*/
+/* */
+/* TVDemo.h : Header file for TVDemo.cpp */
+/* */
+/*---------------------------------------------------------*/
+/*
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ */
+
+class TStatusLine;
+class TMenuBar;
+class TEvent;
+class TPalette;
+class THeapView;
+class TClockView;
+class fpstream;
+
+class TVDemo : public TApplication
+{
+
+public:
+
+ TVDemo( int argc, char **argv );
+ static TStatusLine *initStatusLine( TRect r );
+ static TMenuBar *initMenuBar( TRect r );
+ virtual void handleEvent(TEvent& Event);
+ virtual void getEvent(TEvent& event);
+// virtual TPalette& getPalette() const;
+ virtual void idle(); // Updates heap and clock views
+
+private:
+
+ THeapView *heap; // Heap view
+ TClockView *clock; // Clock view
+
+ void aboutDlgBox(); // "About" box
+ void puzzle(); // Puzzle
+ void calendar(); // Calendar
+ void asciiTable(); // Ascii table
+ void calculator(); // Calculator
+ void openFile( char *fileSpec ); // File Viewer
+ void changeDir(); // Change directory
+ void shell(); // DOS shell
+ void tile(); // Tile windows
+ void cascade(); // Cascade windows
+ void mouse(); // Mouse control dialog box
+ void colors(); // Color control dialog box
+ void outOfMemory(); // For validView() function
+ void loadDesktop(fpstream& s); // Load and restore the
+ void retrieveDesktop(); // previously saved desktop
+ void storeDesktop(fpstream& s); // Store the current desktop
+ void saveDesktop(); // in a resource file
+
+};
diff --git a/freebsdtvision/demo/tvdemo1.cc b/freebsdtvision/demo/tvdemo1.cc
new file mode 100644
index 0000000..c957ae9
--- /dev/null
+++ b/freebsdtvision/demo/tvdemo1.cc
@@ -0,0 +1,286 @@
+/*----------------------------------------------------------*/
+/* */
+/* Turbo Vision TVDEMO source file */
+/* */
+/*----------------------------------------------------------*/
+/*
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
+ */
+
+#define Uses_TView
+#define Uses_TRect
+#define Uses_TStatusLine
+#define Uses_TStatusDef
+#define Uses_TStatusItem
+#define Uses_TKeys
+#define Uses_MsgBox
+#define Uses_fpstream
+#define Uses_TEvent
+#define Uses_TDeskTop
+#define Uses_TApplication
+#define Uses_TWindow
+#define Uses_TDeskTop
+
+#include <tvision/tv.h>
+
+#include "tvdemo.h"
+#include "gadgets.h"
+#include "fileview.h"
+#include "puzzle.h"
+#include "demohelp.h"
+#include <tvision/help.h>
+
+#include <stdio.h>
+#include <string.h>
+
+using std::ios;
+
+/* SS: changed */
+
+//#ifdef __DPMI32__
+#define HELP_FILENAME "DEMOHELP.H32"
+//#else
+//#define HELP_FILENAME "DEMOHELP.H16"
+//#endif
+
+//
+// main: create an application object. Constructor takes care of all
+// initialization. Calling run() from TProgram makes it tick and
+// the destructor will destroy the world.
+//
+// File names can be specified on the command line for automatic
+// opening.
+//
+
+int main(int argc, char **argv)
+{
+ TVDemo *demoProgram = new TVDemo(argc, argv);
+
+ demoProgram->run();
+
+ TObject::destroy( demoProgram );
+ return 0;
+}
+
+
+//
+// Constructor for the application. Command line parameters are interpreted
+// as file names and opened. Wildcards are accepted and put up a dialog
+// box with the appropriate search path.
+//
+
+TVDemo::TVDemo( int argc, char **argv ) :
+ TProgInit( &TVDemo::initStatusLine,
+ &TVDemo::initMenuBar,
+ &TVDemo::initDeskTop )
+{
+ TView *w;
+ char fileSpec[128];
+ int len;
+
+ TRect r = getExtent(); // Create the clock view.
+ r.a.x = r.b.x - 9; r.b.y = r.a.y + 1;
+ clock = new TClockView( r );
+ insert(clock);
+
+ r = getExtent(); // Create the heap view.
+ r.a.x = r.b.x - 13; r.a.y = r.b.y - 1;
+ heap = new THeapView( r );
+ insert(heap);
+
+ while (--argc > 0) // Display files specified
+ { // on command line.
+ strcpy( fileSpec, *++argv );
+ len = strlen( fileSpec );
+
+ /* SS: changed */
+
+ if( fileSpec[len-1] == '/' )
+ strcat( fileSpec, "*" );
+
+ if( strchr( fileSpec, '*' ) || strchr( fileSpec, '?' ) )
+ openFile( fileSpec );
+ else
+ {
+ w = validView( new TFileWindow( fileSpec ) );
+ if( w != 0 )
+ deskTop->insert(w);
+ }
+ }
+
+}
+
+
+//
+// DemoApp::getEvent()
+// Event loop to check for context help request
+//
+
+void TVDemo::getEvent(TEvent &event)
+{
+ TWindow *w;
+ THelpFile *hFile;
+ fpstream *helpStrm;
+ static Boolean helpInUse = False;
+
+ TApplication::getEvent(event);
+ switch (event.what)
+ {
+ case evCommand:
+ if ((event.message.command == cmHelp) && ( helpInUse == False))
+ {
+ helpInUse = True;
+ helpStrm = new fpstream(HELP_FILENAME, ios::in|ios::binary);
+ hFile = new THelpFile(*helpStrm);
+ if (!helpStrm)
+ {
+ messageBox("Could not open help file", mfError | mfOKButton);
+ delete hFile;
+ }
+ else
+ {
+ w = new THelpWindow(hFile, getHelpCtx());
+ if (validView(w) != 0)
+ {
+ execView(w);
+ destroy( w );
+ }
+ clearEvent(event);
+ }
+ helpInUse = False;
+ }
+ break;
+ case evMouseDown:
+ if (event.mouse.buttons != 1)
+ event.what = evNothing;
+ break;
+ }
+
+}
+
+//
+// Create statusline.
+//
+
+TStatusLine *TVDemo::initStatusLine( TRect r )
+{
+ r.a.y = r.b.y - 1;
+
+ return (new TStatusLine( r,
+ *new TStatusDef( 0, 50 ) +
+ *new TStatusItem( "~F1~ Help", kbF1, cmHelp ) +
+ *new TStatusItem( "~Alt-X~ Exit", kbAltX, cmQuit ) +
+ *new TStatusItem( 0, kbAltF3, cmClose ) +
+ *new TStatusItem( 0, kbF10, cmMenu ) +
+ *new TStatusItem( 0, kbF5, cmZoom ) +
+ *new TStatusItem( 0, kbCtrlF5, cmResize ) +
+ *new TStatusDef( 50, 0xffff ) +
+ *new TStatusItem( "Howdy", kbF1, cmHelp )
+ )
+ );
+}
+
+
+//
+// Puzzle function
+//
+
+void TVDemo::puzzle()
+{
+ TPuzzleWindow *puzz = (TPuzzleWindow *) validView(new TPuzzleWindow);
+
+ if(puzz != 0)
+ {
+ puzz->helpCtx = hcPuzzle;
+ deskTop->insert(puzz);
+ }
+}
+
+
+//
+// retrieveDesktop() function ( restores the previously stored Desktop )
+//
+
+void TVDemo::retrieveDesktop()
+{
+ /* SS: changed */
+
+// struct ffblk ffblk;
+
+// if (findfirst("TVDEMO.DST", &ffblk, 0))
+ FILE *fp;
+ if ((fp = fopen("TVDEMO.DST", "r")) == NULL)
+ messageBox("Could not find desktop file", mfOKButton | mfError);
+ else
+ {
+ fclose(fp);
+ fpstream *f = new fpstream("TVDEMO.DST", ios::in|ios::binary);
+ if( !f )
+ messageBox("Could not open desktop file", mfOKButton | mfError);
+ else
+ {
+ TVDemo::loadDesktop(*f);
+ if( !f )
+ messageBox("Error reading desktop file", mfOKButton | mfError);
+ }
+ delete f;
+ }
+}
+
+//
+// saveDesktop() function ( saves the DeskTop by calling storeDesktop function )
+//
+
+void TVDemo::saveDesktop()
+{
+ fpstream *f = new fpstream("TVDEMO.DST", ios::out|ios::binary);
+
+ if( f )
+ {
+ TVDemo::storeDesktop(*f);
+ if( !f )
+ {
+ messageBox("Could not create TVDEMO.DST.", mfOKButton | mfError);
+ delete f;
+ ::remove("TVDEMO.DST");
+ return;
+ }
+ }
+ delete f;
+}
+
+//
+// writeView() function ( writes a view object to a resource file )
+//
+
+static void writeView(TView *p, void *strm)
+{
+ fpstream *s = (fpstream *) strm;
+ if (p != TProgram::deskTop->last)
+ *s << p;
+}
+
+//
+// storeDesktop() function ( stores the Desktop in a resource file )
+//
+
+void TVDemo::storeDesktop(fpstream& s)
+{
+ deskTop->forEach(::writeView, &s);
+ s << 0;
+}
+
+//
+// Tile function
+//
+
+void TVDemo::tile()
+{
+ deskTop->tile( deskTop->getExtent() );
+}
diff --git a/freebsdtvision/demo/tvdemo2.cc b/freebsdtvision/demo/tvdemo2.cc
new file mode 100644
index 0000000..6ff1039
--- /dev/null
+++ b/freebsdtvision/demo/tvdemo2.cc
@@ -0,0 +1,354 @@
+/*----------------------------------------------------------*/
+/* */
+/* Turbo Vision TVDEMO source file */
+/* */
+/*----------------------------------------------------------*/
+/*
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ */
+/*
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#define Uses_TDialog
+#define Uses_TRect
+#define Uses_TStaticText
+#define Uses_TButton
+#define Uses_TEvent
+#define Uses_TWindow
+#define Uses_TColorGroup
+#define Uses_TColorItem
+#define Uses_TColorDialog
+#define Uses_TPalette
+#define Uses_TDeskTop
+#define Uses_TApplication
+#define Uses_TChDirDialog
+#define Uses_TScreen
+
+#include <tvision/tv.h>
+
+#include "tvdemo.h"
+#include "tvcmds.h"
+#include "demohelp.h"
+#include "ascii.h"
+#include "calendar.h"
+#include "calc.h"
+
+#include <signal.h>
+#include <stdlib.h>
+
+//
+// DOS Shell Command.
+//
+
+void TVDemo::shell()
+{
+ /* SS: this simulates a Ctrl-Z */
+ raise(SIGTSTP); /* stop the process */
+}
+
+
+//
+// DemoApp::handleEvent()
+// Event loop to distribute the work.
+//
+
+void TVDemo::handleEvent(TEvent &event)
+{
+ TApplication::handleEvent(event);
+
+ if (event.what == evCommand)
+ {
+ switch (event.message.command)
+ {
+ case cmAboutCmd: // About Dialog Box
+ aboutDlgBox();
+ break;
+
+ case cmCalendarCmd: // Calendar Window
+ calendar();
+ break;
+
+ case cmAsciiCmd: // Ascii Table
+ asciiTable();
+ break;
+
+ case cmCalcCmd: // Calculator
+ calculator();
+ break;
+
+ case cmPuzzleCmd: // Puzzle
+ puzzle();
+ break;
+
+ case cmOpenCmd: // View a file
+ openFile("*");
+ break;
+
+ case cmChDirCmd: // Change directory
+ changeDir();
+ break;
+
+ case cmDOS_Cmd: // DOS shell
+ shell();
+ break;
+
+ case cmTile: // Tile current file windows
+ tile();
+ break;
+
+ case cmCascade: // Cascade current file windows
+ cascade();
+ break;
+
+ case cmMouseCmd: // Mouse control dialog box
+ mouse();
+ break;
+
+ case cmColorCmd: // Color control dialog box
+ colors();
+ break;
+
+ case cmSaveCmd: // Save current desktop
+ saveDesktop();
+ break;
+
+ case cmRestoreCmd: // Restore saved desktop
+ retrieveDesktop();
+ break;
+
+ default: // Unknown command
+ return;
+
+ }
+ clearEvent (event);
+ }
+}
+
+
+
+//
+// About Box function()
+//
+
+void TVDemo::aboutDlgBox()
+{
+ TDialog *aboutBox = new TDialog(TRect(0, 0, 39, 13), "About");
+
+ aboutBox->insert(
+ new TStaticText(TRect(9, 2, 30, 9),
+ "\003Turbo Vision Demo\n\n" // These strings will be
+ "\003C++ Version\n\n" // concatenated by the compiler.
+ "\003Copyright (c) 1994\n\n" // The \003 centers the line.
+ "\003Borland International"
+ )
+ );
+
+ aboutBox->insert(
+ new TButton(TRect(14, 10, 26, 12), " OK", cmOK, bfDefault)
+ );
+
+ aboutBox->options |= ofCentered;
+
+ executeDialog(aboutBox);
+
+}
+
+
+//
+// Ascii Chart function
+//
+
+void TVDemo::asciiTable()
+{
+ TAsciiChart *chart = (TAsciiChart *) validView(new TAsciiChart);
+
+ if(chart != 0)
+ {
+ chart->helpCtx = hcAsciiTable;
+ deskTop->insert(chart);
+ }
+}
+
+
+//
+// Calendar function()
+//
+
+void TVDemo::calendar()
+{
+ TCalendarWindow *cal = (TCalendarWindow *) validView(new TCalendarWindow);
+
+ if(cal != 0)
+ {
+ cal->helpCtx = hcCalendar;
+ deskTop->insert( cal );
+ }
+}
+
+
+//
+// Calculator function
+//
+
+void TVDemo::calculator()
+{
+ TCalculator *calc = (TCalculator *) validView(new TCalculator);
+
+ if(calc != 0)
+ {
+ calc->helpCtx = hcCalculator;
+ deskTop->insert(calc);
+ }
+}
+
+//
+// Cascade function
+//
+
+void TVDemo::cascade()
+{
+ deskTop->cascade( deskTop->getExtent() );
+}
+
+
+//
+// Change Directory function
+//
+
+void TVDemo::changeDir()
+{
+ TView *d = validView( new TChDirDialog( 0, cmChangeDir ) );
+
+ if( d != 0 )
+ {
+ d->helpCtx = hcFCChDirDBox;
+ deskTop->execView( d );
+ destroy( d );
+ }
+}
+
+
+//
+// Color Control Dialog Box function
+//
+
+void TVDemo::colors()
+{
+ TColorGroup &group1 =
+ *new TColorGroup("Desktop") +
+ *new TColorItem("Color", 1)+
+
+ *new TColorGroup("Menus") +
+ *new TColorItem("Normal", 2)+
+ *new TColorItem("Disabled", 3)+
+ *new TColorItem("Shortcut", 4)+
+ *new TColorItem("Selected", 5)+
+ *new TColorItem("Selected disabled", 6)+
+ *new TColorItem("Shortcut selected", 7
+ );
+
+ TColorGroup &group2 =
+ *new TColorGroup("Dialogs/Calc") +
+ *new TColorItem("Frame/background", 33)+
+ *new TColorItem("Frame icons", 34)+
+ *new TColorItem("Scroll bar page", 35)+
+ *new TColorItem("Scroll bar icons", 36)+
+ *new TColorItem("Static text", 37)+
+
+ *new TColorItem("Label normal", 38)+
+ *new TColorItem("Label selected", 39)+
+ *new TColorItem("Label shortcut", 40
+ );
+
+ TColorItem &item_coll1 =
+ *new TColorItem("Button normal", 41)+
+ *new TColorItem("Button default", 42)+
+ *new TColorItem("Button selected", 43)+
+ *new TColorItem("Button disabled", 44)+
+ *new TColorItem("Button shortcut", 45)+
+ *new TColorItem("Button shadow", 46)+
+ *new TColorItem("Cluster normal", 47)+
+ *new TColorItem("Cluster selected", 48)+
+ *new TColorItem("Cluster shortcut", 49
+ );
+
+ TColorItem &item_coll2 =
+ *new TColorItem("Input normal", 50)+
+ *new TColorItem("Input selected", 51)+
+ *new TColorItem("Input arrow", 52)+
+
+ *new TColorItem("History button", 53)+
+ *new TColorItem("History sides", 54)+
+ *new TColorItem("History bar page", 55)+
+ *new TColorItem("History bar icons", 56)+
+
+ *new TColorItem("List normal", 57)+
+ *new TColorItem("List focused", 58)+
+ *new TColorItem("List selected", 59)+
+ *new TColorItem("List divider", 60)+
+
+ *new TColorItem("Information pane", 61
+ );
+
+ group2 = group2 + item_coll1 + item_coll2;
+
+ TColorGroup &group3 =
+ *new TColorGroup("Viewer") +
+ *new TColorItem("Frame passive", 8)+
+ *new TColorItem("Frame active", 9)+
+ *new TColorItem("Frame icons", 10)+
+ *new TColorItem("Scroll bar page", 11)+
+ *new TColorItem("Scroll bar icons", 12)+
+ *new TColorItem("Text", 13)+
+ *new TColorGroup("Puzzle")+
+ *new TColorItem("Frame passive", 8)+
+ *new TColorItem("Frame active", 9)+
+ *new TColorItem("Frame icons", 10)+
+ *new TColorItem("Scroll bar page", 11)+
+ *new TColorItem("Scroll bar icons", 12)+
+ *new TColorItem("Normal text", 13)+
+ *new TColorItem("Highlighted text", 14
+ );
+
+
+ TColorGroup &group4 =
+ *new TColorGroup("Calendar") +
+ *new TColorItem("Frame passive", 16)+
+ *new TColorItem("Frame active", 17)+
+ *new TColorItem("Frame icons", 18)+
+ *new TColorItem("Scroll bar page", 19)+
+ *new TColorItem("Scroll bar icons", 20)+
+ *new TColorItem("Normal text", 21)+
+ *new TColorItem("Current day", 22)+
+
+ *new TColorGroup("Ascii table") +
+ *new TColorItem("Frame passive", 24)+
+ *new TColorItem("Frame active", 25)+
+ *new TColorItem("Frame icons", 26)+
+ *new TColorItem("Scroll bar page", 27)+
+ *new TColorItem("Scroll bar icons", 28)+
+ *new TColorItem("Text", 29
+ );
+
+
+ TColorGroup &group5 = group1 + group2 + group3 + group4;
+
+ TColorDialog *c = new TColorDialog((TPalette*)0, &group5 );
+
+ if( validView( c ) != 0 )
+ {
+ c->helpCtx = hcOCColorsDBox; // set context help constant
+ c->setData(&getPalette());
+ if( deskTop->execView( c ) != cmCancel )
+ {
+ getPalette() = *(c->pal);
+ setScreenMode(TScreen::screenMode);
+ }
+ destroy( c );
+ }
+}
diff --git a/freebsdtvision/demo/tvdemo3.cc b/freebsdtvision/demo/tvdemo3.cc
new file mode 100644
index 0000000..f325bd3
--- /dev/null
+++ b/freebsdtvision/demo/tvdemo3.cc
@@ -0,0 +1,218 @@
+/*----------------------------------------------------------*/
+/* */
+/* Turbo Vision TVDEMO source file */
+/* */
+/*----------------------------------------------------------*/
+/*
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ */
+/*
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#define Uses_TRect
+#define Uses_TMenuBar
+#define Uses_TSubMenu
+#define Uses_TMenuItem
+#define Uses_TKeys
+#define Uses_fpstream
+#define Uses_TView
+#define Uses_TPalette
+#define Uses_MsgBox
+#define Uses_TFileDialog
+#define Uses_TApplication
+#define Uses_TDeskTop
+#define Uses_TStaticText
+#define Uses_TDialog
+#define Uses_TEventQueue
+
+#include <tvision/tv.h>
+
+#include "tvdemo.h"
+#include "tvcmds.h"
+#include "gadgets.h"
+#include "mousedlg.h"
+#include "demohelp.h"
+#include "fileview.h"
+
+#include <tvision/help.h>
+
+//
+// Mouse Control Dialog Box function
+//
+
+void TVDemo::mouse()
+{
+ TMouseDialog *mouseCage = (TMouseDialog *) validView( new TMouseDialog() );
+
+ if (mouseCage != 0)
+ {
+ mouseCage->helpCtx = hcOMMouseDBox;
+ mouseCage->setData(&(TEventQueue::mouseReverse));
+ if (deskTop->execView(mouseCage) != cmCancel)
+ mouseCage->getData(&(TEventQueue::mouseReverse));
+ }
+ destroy( mouseCage );
+
+}
+
+
+//
+// File Viewer function
+//
+
+void TVDemo::openFile( char *fileSpec )
+{
+ TFileDialog *d= (TFileDialog *)validView(
+ new TFileDialog(fileSpec, "Open a File", "~N~ame", fdOpenButton, 100 ));
+
+ if( d != 0 && deskTop->execView( d ) != cmCancel )
+ {
+ char fileName[PATH_MAX];
+ d->getFileName( fileName );
+ d->helpCtx = hcFOFileOpenDBox;
+ TView *w= validView( new TFileWindow( fileName ) );
+ if( w != 0 )
+ deskTop->insert(w);
+ }
+ destroy( d );
+}
+
+
+//
+// "Out of Memory" function ( called by validView() )
+//
+
+void TVDemo::outOfMemory()
+{
+ messageBox( "Not enough memory available to complete operation.",
+ mfError | mfOKButton );
+}
+
+//
+// getPalette() function ( returns application's palette )
+//
+/*
+TPalette& TVDemo::getPalette() const
+{
+ static TPalette newcolor ( cpAppColor cHelpColor, sizeof( cpAppColor cHelpColor )-1 );
+ static TPalette newblackwhite( cpAppBlackWhite cHelpBlackWhite, sizeof( cpAppBlackWhite cHelpBlackWhite)-1 );
+ static TPalette newmonochrome( cpAppMonochrome cHelpMonochrome, sizeof( cpAppMonochrome cHelpMonochrome)-1 );
+ static TPalette *palettes[] =
+ {
+ &newcolor,
+ &newblackwhite,
+ &newmonochrome
+ };
+ return *(palettes[appPalette]);
+
+}
+*/
+
+//
+// isTileable() function ( checks a view on desktop is tileable or not )
+//
+
+static Boolean isTileable(TView *p, void * )
+{
+ if( (p->options & ofTileable) != 0)
+ return True;
+ else
+ return False;
+}
+
+//
+// idle() function ( updates heap and clock views for this program. )
+//
+
+void TVDemo::idle()
+{
+ TProgram::idle();
+ clock->update();
+ heap->update();
+ if (deskTop->firstThat(isTileable, 0) != 0 )
+ {
+ enableCommand(cmTile);
+ enableCommand(cmCascade);
+ }
+ else
+ {
+ disableCommand(cmTile);
+ disableCommand(cmCascade);
+ }
+}
+
+//
+// closeView() function
+//
+
+static void closeView(TView *p, void *p1)
+{
+ message(p, evCommand, cmClose, p1);
+}
+
+//
+// loadDesktop() function
+//
+
+void TVDemo::loadDesktop(fpstream &s)
+{
+ TView *p;
+
+ if (deskTop->valid(cmClose))
+ {
+ deskTop->forEach(::closeView, 0); // Clear the desktop
+ do {
+ s >> p;
+ deskTop->insertBefore(validView(p), deskTop->last);
+ }
+ while (p != 0);
+ }
+}
+
+//
+// Menubar initialization.
+//
+
+TMenuBar *TVDemo::initMenuBar(TRect r)
+{
+ TSubMenu& sub1 =
+ *new TSubMenu( "~\360~", 0, hcSystem ) +
+ *new TMenuItem( "~A~bout...", cmAboutCmd, kbNoKey, hcSAbout ) +
+ newLine() +
+ *new TMenuItem( "~P~uzzle", cmPuzzleCmd, kbNoKey, hcSPuzzle ) +
+ *new TMenuItem( "Ca~l~endar", cmCalendarCmd, kbNoKey, hcSCalendar ) +
+ *new TMenuItem( "Ascii ~T~able", cmAsciiCmd, kbNoKey, hcSAsciiTable ) +
+ *new TMenuItem( "~C~alculator", cmCalcCmd, kbNoKey, hcCalculator );
+
+ TSubMenu& sub2 =
+ *new TSubMenu( "~F~ile", 0, hcFile ) +
+ *new TMenuItem( "~O~pen...", cmOpenCmd, kbF3, hcFOpen, "F3" ) +
+ *new TMenuItem( "~C~hange Dir...", cmChDirCmd, kbNoKey, hcFChangeDir ) +
+ newLine() +
+ *new TMenuItem( "~D~OS Shell", cmDOS_Cmd, kbNoKey, hcFDosShell ) +
+ *new TMenuItem( "E~x~it", cmQuit, kbAltX, hcFExit, "Alt-X" );
+
+ TSubMenu& sub3 =
+ *new TSubMenu( "~W~indows", 0, hcWindows ) +
+ *new TMenuItem( "~R~esize/move", cmResize, kbCtrlF5, hcWSizeMove, "Ctrl-F5" ) +
+ *new TMenuItem( "~Z~oom", cmZoom, kbF5, hcWZoom, "F5" ) +
+ *new TMenuItem( "~N~ext", cmNext, kbF6, hcWNext, "F6" ) +
+ *new TMenuItem( "~C~lose", cmClose, kbAltF3, hcWClose, "Alt-F3" ) +
+ *new TMenuItem( "~T~ile", cmTile, kbNoKey, hcWTile ) +
+ *new TMenuItem( "C~a~scade", cmCascade, kbNoKey, hcWCascade );
+
+ TSubMenu& sub4 =
+ *new TSubMenu( "~O~ptions", 0, hcOptions ) +
+ *new TMenuItem( "~M~ouse...", cmMouseCmd, kbNoKey, hcOMouse ) +
+ *new TMenuItem( "~C~olors...", cmColorCmd, kbNoKey, hcOColors ) +
+ *new TMenuItem( "~S~ave desktop", cmSaveCmd, kbNoKey, hcOSaveDesktop ) +
+ *new TMenuItem( "~R~etrieve desktop", cmRestoreCmd, kbNoKey, hcORestoreDesktop );
+
+ r.b.y = r.a.y + 1;
+ return (new TMenuBar( r, sub1 + sub2 + sub3 + sub4 ) );
+}
diff --git a/freebsdtvision/doc/Doxyfile b/freebsdtvision/doc/Doxyfile
new file mode 100644
index 0000000..460cfb6
--- /dev/null
+++ b/freebsdtvision/doc/Doxyfile
@@ -0,0 +1,993 @@
+# Doxyfile 1.2.18
+
+# This file describes the settings to be used by the documentation system
+# doxygen (www.doxygen.org) for a project
+#
+# All text after a hash (#) is considered a comment and will be ignored
+# The format is:
+# TAG = value [value, ...]
+# For lists items can also be appended using:
+# TAG += value [value, ...]
+# Values that contain spaces should be placed between quotes (" ")
+
+#---------------------------------------------------------------------------
+# General configuration options
+#---------------------------------------------------------------------------
+
+# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
+# by quotes) that should identify the project.
+
+PROJECT_NAME = TVision
+
+# The PROJECT_NUMBER tag can be used to enter a project or revision number.
+# This could be handy for archiving the generated documentation or
+# if some version control system is used.
+
+PROJECT_NUMBER = 0.8
+
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
+# base path where the generated documentation will be put.
+# If a relative path is entered, it will be relative to the location
+# where doxygen was started. If left blank the current directory will be used.
+
+OUTPUT_DIRECTORY =
+
+# The OUTPUT_LANGUAGE tag is used to specify the language in which all
+# documentation generated by doxygen is written. Doxygen will use this
+# information to generate all constant output in the proper language.
+# The default language is English, other supported languages are:
+# Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch,
+# Finnish, French, German, Greek, Hungarian, Italian, Japanese, Japanese-en
+# (Japanese with english messages), Korean, Norwegian, Polish, Portuguese,
+# Romanian, Russian, Serbian, Slovak, Slovene, Spanish, Swedish and Ukrainian.
+
+OUTPUT_LANGUAGE = English
+
+# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
+# documentation are documented, even if no documentation was available.
+# Private class members and static file members will be hidden unless
+# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
+
+EXTRACT_ALL = NO
+
+# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
+# will be included in the documentation.
+
+EXTRACT_PRIVATE = NO
+
+# If the EXTRACT_STATIC tag is set to YES all static members of a file
+# will be included in the documentation.
+
+EXTRACT_STATIC = YES
+
+# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
+# defined locally in source files will be included in the documentation.
+# If set to NO only classes defined in header files are included.
+
+EXTRACT_LOCAL_CLASSES = YES
+
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
+# undocumented members of documented classes, files or namespaces.
+# If set to NO (the default) these members will be included in the
+# various overviews, but no documentation section is generated.
+# This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_MEMBERS = NO
+
+# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
+# undocumented classes that are normally visible in the class hierarchy.
+# If set to NO (the default) these class will be included in the various
+# overviews. This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_CLASSES = NO
+
+# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
+# friend (class|struct|union) declarations.
+# If set to NO (the default) these declarations will be included in the
+# documentation.
+
+HIDE_FRIEND_COMPOUNDS = NO
+
+# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
+# include brief member descriptions after the members that are listed in
+# the file and class documentation (similar to JavaDoc).
+# Set to NO to disable this.
+
+BRIEF_MEMBER_DESC = YES
+
+# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
+# the brief description of a member or function before the detailed description.
+# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
+# brief descriptions will be completely suppressed.
+
+REPEAT_BRIEF = NO
+
+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
+# Doxygen will generate a detailed section even if there is only a brief
+# description.
+
+ALWAYS_DETAILED_SEC = NO
+
+# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all inherited
+# members of a class in the documentation of that class as if those members were
+# ordinary class members. Constructors, destructors and assignment operators of
+# the base classes will not be shown.
+
+INLINE_INHERITED_MEMB = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
+# path before files name in the file list and in the header files. If set
+# to NO the shortest path that makes the file name unique will be used.
+
+FULL_PATH_NAMES = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
+# can be used to strip a user defined part of the path. Stripping is
+# only done if one of the specified strings matches the left-hand part of
+# the path. It is allowed to use relative paths in the argument list.
+
+STRIP_FROM_PATH =
+
+# The INTERNAL_DOCS tag determines if documentation
+# that is typed after a \internal command is included. If the tag is set
+# to NO (the default) then the documentation will be excluded.
+# Set it to YES to include the internal documentation.
+
+INTERNAL_DOCS = NO
+
+# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
+# doxygen to hide any special comment blocks from generated source code
+# fragments. Normal C and C++ comments will always remain visible.
+
+STRIP_CODE_COMMENTS = YES
+
+# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
+# file names in lower case letters. If set to YES upper case letters are also
+# allowed. This is useful if you have classes or files whose names only differ
+# in case and if your file system supports case sensitive file names. Windows
+# users are adviced to set this option to NO.
+
+CASE_SENSE_NAMES = YES
+
+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
+# (but less readable) file names. This can be useful is your file systems
+# doesn't support long names like on DOS, Mac, or CD-ROM.
+
+SHORT_NAMES = NO
+
+# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
+# will show members with their full class and namespace scopes in the
+# documentation. If set to YES the scope will be hidden.
+
+HIDE_SCOPE_NAMES = NO
+
+# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
+# will generate a verbatim copy of the header file for each class for
+# which an include is specified. Set to NO to disable this.
+
+VERBATIM_HEADERS = YES
+
+# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
+# will put list of the files that are included by a file in the documentation
+# of that file.
+
+SHOW_INCLUDE_FILES = YES
+
+# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
+# will interpret the first line (until the first dot) of a JavaDoc-style
+# comment as the brief description. If set to NO, the JavaDoc
+# comments will behave just like the Qt-style comments (thus requiring an
+# explict @brief command for a brief description.
+
+JAVADOC_AUTOBRIEF = NO
+
+# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
+# treat a multi-line C++ special comment block (i.e. a block of //! or ///
+# comments) as a brief description. This used to be the default behaviour.
+# The new default is to treat a multi-line C++ comment block as a detailed
+# description. Set this tag to YES if you prefer the old behaviour instead.
+
+MULTILINE_CPP_IS_BRIEF = NO
+
+# If the DETAILS_AT_TOP tag is set to YES then Doxygen
+# will output the detailed description near the top, like JavaDoc.
+# If set to NO, the detailed description appears after the member
+# documentation.
+
+DETAILS_AT_TOP = NO
+
+# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
+# member inherits the documentation from any documented member that it
+# reimplements.
+
+INHERIT_DOCS = YES
+
+# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
+# is inserted in the documentation for inline members.
+
+INLINE_INFO = YES
+
+# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
+# will sort the (detailed) documentation of file and class members
+# alphabetically by member name. If set to NO the members will appear in
+# declaration order.
+
+SORT_MEMBER_DOCS = YES
+
+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
+# tag is set to YES, then doxygen will reuse the documentation of the first
+# member in the group (if any) for the other members of the group. By default
+# all members of a group must be documented explicitly.
+
+DISTRIBUTE_GROUP_DOC = NO
+
+# The TAB_SIZE tag can be used to set the number of spaces in a tab.
+# Doxygen uses this value to replace tabs by spaces in code fragments.
+
+TAB_SIZE = 8
+
+# The GENERATE_TODOLIST tag can be used to enable (YES) or
+# disable (NO) the todo list. This list is created by putting \todo
+# commands in the documentation.
+
+GENERATE_TODOLIST = YES
+
+# The GENERATE_TESTLIST tag can be used to enable (YES) or
+# disable (NO) the test list. This list is created by putting \test
+# commands in the documentation.
+
+GENERATE_TESTLIST = YES
+
+# The GENERATE_BUGLIST tag can be used to enable (YES) or
+# disable (NO) the bug list. This list is created by putting \bug
+# commands in the documentation.
+
+GENERATE_BUGLIST = YES
+
+# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
+# disable (NO) the deprecated list. This list is created by putting \deprecated commands in the documentation.
+
+GENERATE_DEPRECATEDLIST= YES
+
+# This tag can be used to specify a number of aliases that acts
+# as commands in the documentation. An alias has the form "name=value".
+# For example adding "sideeffect=\par Side Effects:\n" will allow you to
+# put the command \sideeffect (or @sideeffect) in the documentation, which
+# will result in a user defined paragraph with heading "Side Effects:".
+# You can put \n's in the value part of an alias to insert newlines.
+
+ALIASES =
+
+# The ENABLED_SECTIONS tag can be used to enable conditional
+# documentation sections, marked by \if sectionname ... \endif.
+
+ENABLED_SECTIONS =
+
+# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
+# the initial value of a variable or define consist of for it to appear in
+# the documentation. If the initializer consists of more lines than specified
+# here it will be hidden. Use a value of 0 to hide initializers completely.
+# The appearance of the initializer of individual variables and defines in the
+# documentation can be controlled using \showinitializer or \hideinitializer
+# command in the documentation regardless of this setting.
+
+MAX_INITIALIZER_LINES = 30
+
+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
+# only. Doxygen will then generate output that is more tailored for C.
+# For instance some of the names that are used will be different. The list
+# of all members will be omitted, etc.
+
+OPTIMIZE_OUTPUT_FOR_C = NO
+
+# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources
+# only. Doxygen will then generate output that is more tailored for Java.
+# For instance namespaces will be presented as packages, qualified scopes
+# will look different, etc.
+
+OPTIMIZE_OUTPUT_JAVA = NO
+
+# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
+# at the bottom of the documentation of classes and structs. If set to YES the
+# list will mention the files that were used to generate the documentation.
+
+SHOW_USED_FILES = YES
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+# The QUIET tag can be used to turn on/off the messages that are generated
+# by doxygen. Possible values are YES and NO. If left blank NO is used.
+
+QUIET = YES
+
+# The WARNINGS tag can be used to turn on/off the warning messages that are
+# generated by doxygen. Possible values are YES and NO. If left blank
+# NO is used.
+
+WARNINGS = YES
+
+# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
+# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
+# automatically be disabled.
+
+WARN_IF_UNDOCUMENTED = YES
+
+# The WARN_FORMAT tag determines the format of the warning messages that
+# doxygen can produce. The string should contain the $file, $line, and $text
+# tags, which will be replaced by the file and line number from which the
+# warning originated and the warning text.
+
+WARN_FORMAT =
+
+# The WARN_LOGFILE tag can be used to specify a file to which warning
+# and error messages should be written. If left blank the output is written
+# to stderr.
+
+WARN_LOGFILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+# The INPUT tag can be used to specify the files and/or directories that contain
+# documented source files. You may enter file names like "myfile.cpp" or
+# directories like "/usr/src/myproject". Separate the files or directories
+# with spaces.
+
+INPUT = ../lib
+
+# If the value of the INPUT tag contains directories, you can use the
+# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+# and *.h) to filter out the source-files in the directories. If left
+# blank the following patterns are tested:
+# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp
+# *.h++ *.idl *.odl
+
+FILE_PATTERNS = *.cc *.h
+
+# The RECURSIVE tag can be used to turn specify whether or not subdirectories
+# should be searched for input files as well. Possible values are YES and NO.
+# If left blank NO is used.
+
+RECURSIVE = NO
+
+# The EXCLUDE tag can be used to specify files and/or directories that should
+# excluded from the INPUT source files. This way you can easily exclude a
+# subdirectory from a directory tree whose root is specified with the INPUT tag.
+
+EXCLUDE =
+
+# The EXCLUDE_SYMLINKS tag can be used select whether or not files or directories
+# that are symbolic links (a Unix filesystem feature) are excluded from the input.
+
+EXCLUDE_SYMLINKS = NO
+
+# If the value of the INPUT tag contains directories, you can use the
+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
+# certain files from those directories.
+
+EXCLUDE_PATTERNS =
+
+# The EXAMPLE_PATH tag can be used to specify one or more files or
+# directories that contain example code fragments that are included (see
+# the \include command).
+
+EXAMPLE_PATH =
+
+# If the value of the EXAMPLE_PATH tag contains directories, you can use the
+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+# and *.h) to filter out the source-files in the directories. If left
+# blank all files are included.
+
+EXAMPLE_PATTERNS =
+
+# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
+# searched for input files to be used with the \include or \dontinclude
+# commands irrespective of the value of the RECURSIVE tag.
+# Possible values are YES and NO. If left blank NO is used.
+
+EXAMPLE_RECURSIVE = NO
+
+# The IMAGE_PATH tag can be used to specify one or more files or
+# directories that contain image that are included in the documentation (see
+# the \image command).
+
+IMAGE_PATH =
+
+# The INPUT_FILTER tag can be used to specify a program that doxygen should
+# invoke to filter for each input file. Doxygen will invoke the filter program
+# by executing (via popen()) the command <filter> <input-file>, where <filter>
+# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
+# input file. Doxygen will then use the output that the filter program writes
+# to standard output.
+
+INPUT_FILTER =
+
+# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
+# INPUT_FILTER) will be used to filter the input files when producing source
+# files to browse (i.e. when SOURCE_BROWSER is set to YES).
+
+FILTER_SOURCE_FILES = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will
+# be generated. Documented entities will be cross-referenced with these sources.
+
+SOURCE_BROWSER = YES
+
+# Setting the INLINE_SOURCES tag to YES will include the body
+# of functions and classes directly in the documentation.
+
+INLINE_SOURCES = NO
+
+# If the REFERENCED_BY_RELATION tag is set to YES (the default)
+# then for each documented function all documented
+# functions referencing it will be listed.
+
+REFERENCED_BY_RELATION = YES
+
+# If the REFERENCES_RELATION tag is set to YES (the default)
+# then for each documented function all documented entities
+# called/used by that function will be listed.
+
+REFERENCES_RELATION = YES
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
+# of all compounds will be generated. Enable this if the project
+# contains a lot of classes, structs, unions or interfaces.
+
+ALPHABETICAL_INDEX = YES
+
+# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
+# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
+# in which this list will be split (can be a number in the range [1..20])
+
+COLS_IN_ALPHA_INDEX = 4
+
+# In case all classes in a project start with a common prefix, all
+# classes will be put under the same header in the alphabetical index.
+# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
+# should be ignored while generating the index headers.
+
+IGNORE_PREFIX = T
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
+# generate HTML output.
+
+GENERATE_HTML = YES
+
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `html' will be used as the default path.
+
+HTML_OUTPUT = html
+
+# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
+# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
+# doxygen will generate files with .html extension.
+
+HTML_FILE_EXTENSION = .html
+
+# The HTML_HEADER tag can be used to specify a personal HTML header for
+# each generated HTML page. If it is left blank doxygen will generate a
+# standard header.
+
+HTML_HEADER =
+
+# The HTML_FOOTER tag can be used to specify a personal HTML footer for
+# each generated HTML page. If it is left blank doxygen will generate a
+# standard footer.
+
+HTML_FOOTER =
+
+# The HTML_STYLESHEET tag can be used to specify a user defined cascading
+# style sheet that is used by each HTML page. It can be used to
+# fine-tune the look of the HTML output. If the tag is left blank doxygen
+# will generate a default style sheet
+
+HTML_STYLESHEET =
+
+# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
+# files or namespaces will be aligned in HTML using tables. If set to
+# NO a bullet list will be used.
+
+HTML_ALIGN_MEMBERS = YES
+
+# If the GENERATE_HTMLHELP tag is set to YES, additional index files
+# will be generated that can be used as input for tools like the
+# Microsoft HTML help workshop to generate a compressed HTML help file (.chm)
+# of the generated HTML documentation.
+
+GENERATE_HTMLHELP = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
+# be used to specify the file name of the resulting .chm file. You
+# can add a path in front of the file if the result should not be
+# written to the html output dir.
+
+CHM_FILE =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
+# be used to specify the location (absolute path including file name) of
+# the HTML help compiler (hhc.exe). If non empty doxygen will try to run
+# the html help compiler on the generated index.hhp.
+
+HHC_LOCATION =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
+# controls if a separate .chi index file is generated (YES) or that
+# it should be included in the master .chm file (NO).
+
+GENERATE_CHI = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
+# controls whether a binary table of contents is generated (YES) or a
+# normal table of contents (NO) in the .chm file.
+
+BINARY_TOC = NO
+
+# The TOC_EXPAND flag can be set to YES to add extra items for group members
+# to the contents of the Html help documentation and to the tree view.
+
+TOC_EXPAND = NO
+
+# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
+# top of each HTML page. The value NO (the default) enables the index and
+# the value YES disables it.
+
+DISABLE_INDEX = NO
+
+# This tag can be used to set the number of enum values (range [1..20])
+# that doxygen will group on one line in the generated HTML documentation.
+
+ENUM_VALUES_PER_LINE = 4
+
+# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be
+# generated containing a tree-like index structure (just like the one that
+# is generated for HTML Help). For this to work a browser that supports
+# JavaScript and frames is required (for instance Mozilla, Netscape 4.0+,
+# or Internet explorer 4.0+). Note that for large projects the tree generation
+# can take a very long time. In such cases it is better to disable this feature.
+# Windows users are probably better off using the HTML help feature.
+
+GENERATE_TREEVIEW = NO
+
+# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
+# used to set the initial width (in pixels) of the frame in which the tree
+# is shown.
+
+TREEVIEW_WIDTH = 250
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
+# generate Latex output.
+
+GENERATE_LATEX = NO
+
+# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `latex' will be used as the default path.
+
+LATEX_OUTPUT =
+
+# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be invoked. If left blank `latex' will be used as the default command name.
+
+LATEX_CMD_NAME = latex
+
+# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
+# generate index for LaTeX. If left blank `makeindex' will be used as the
+# default command name.
+
+MAKEINDEX_CMD_NAME = makeindex
+
+# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
+# LaTeX documents. This may be useful for small projects and may help to
+# save some trees in general.
+
+COMPACT_LATEX = NO
+
+# The PAPER_TYPE tag can be used to set the paper type that is used
+# by the printer. Possible values are: a4, a4wide, letter, legal and
+# executive. If left blank a4wide will be used.
+
+PAPER_TYPE = a4wide
+
+# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
+# packages that should be included in the LaTeX output.
+
+EXTRA_PACKAGES =
+
+# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
+# the generated latex document. The header should contain everything until
+# the first chapter. If it is left blank doxygen will generate a
+# standard header. Notice: only use this tag if you know what you are doing!
+
+LATEX_HEADER =
+
+# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
+# is prepared for conversion to pdf (using ps2pdf). The pdf file will
+# contain links (just like the HTML output) instead of page references
+# This makes the output suitable for online browsing using a pdf viewer.
+
+PDF_HYPERLINKS = NO
+
+# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
+# plain latex in the generated Makefile. Set this option to YES to get a
+# higher quality PDF documentation.
+
+USE_PDFLATEX = NO
+
+# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
+# command to the generated LaTeX files. This will instruct LaTeX to keep
+# running if errors occur, instead of asking the user for help.
+# This option is also used when generating formulas in HTML.
+
+LATEX_BATCHMODE = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
+# The RTF output is optimised for Word 97 and may not look very pretty with
+# other RTF readers or editors.
+
+GENERATE_RTF = NO
+
+# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `rtf' will be used as the default path.
+
+RTF_OUTPUT =
+
+# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
+# RTF documents. This may be useful for small projects and may help to
+# save some trees in general.
+
+COMPACT_RTF = NO
+
+# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
+# will contain hyperlink fields. The RTF file will
+# contain links (just like the HTML output) instead of page references.
+# This makes the output suitable for online browsing using WORD or other
+# programs which support those fields.
+# Note: wordpad (write) and others do not support links.
+
+RTF_HYPERLINKS = NO
+
+# Load stylesheet definitions from file. Syntax is similar to doxygen's
+# config file, i.e. a series of assigments. You only have to provide
+# replacements, missing definitions are set to their default value.
+
+RTF_STYLESHEET_FILE =
+
+# Set optional variables used in the generation of an rtf document.
+# Syntax is similar to doxygen's config file.
+
+RTF_EXTENSIONS_FILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
+# generate man pages
+
+GENERATE_MAN = NO
+
+# The MAN_OUTPUT tag is used to specify where the man pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `man' will be used as the default path.
+
+MAN_OUTPUT =
+
+# The MAN_EXTENSION tag determines the extension that is added to
+# the generated man pages (default is the subroutine's section .3)
+
+MAN_EXTENSION =
+
+# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
+# then it will generate one additional man file for each entity
+# documented in the real man page(s). These additional files
+# only source the real man page, but without them the man command
+# would be unable to find the correct page. The default is NO.
+
+MAN_LINKS = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_XML tag is set to YES Doxygen will
+# generate an XML file that captures the structure of
+# the code including all documentation. Note that this
+# feature is still experimental and incomplete at the
+# moment.
+
+GENERATE_XML = NO
+
+# The XML_SCHEMA tag can be used to specify an XML schema,
+# which can be used by a validating XML parser to check the
+# syntax of the XML files.
+
+XML_SCHEMA =
+
+# The XML_DTD tag can be used to specify an XML DTD,
+# which can be used by a validating XML parser to check the
+# syntax of the XML files.
+
+XML_DTD =
+
+#---------------------------------------------------------------------------
+# configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
+# generate an AutoGen Definitions (see autogen.sf.net) file
+# that captures the structure of the code including all
+# documentation. Note that this feature is still experimental
+# and incomplete at the moment.
+
+GENERATE_AUTOGEN_DEF = NO
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
+# evaluate all C-preprocessor directives found in the sources and include
+# files.
+
+ENABLE_PREPROCESSING = NO
+
+# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
+# names in the source code. If set to NO (the default) only conditional
+# compilation will be performed. Macro expansion can be done in a controlled
+# way by setting EXPAND_ONLY_PREDEF to YES.
+
+MACRO_EXPANSION = NO
+
+# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
+# then the macro expansion is limited to the macros specified with the
+# PREDEFINED and EXPAND_AS_PREDEFINED tags.
+
+EXPAND_ONLY_PREDEF = NO
+
+# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
+# in the INCLUDE_PATH (see below) will be search if a #include is found.
+
+SEARCH_INCLUDES = YES
+
+# The INCLUDE_PATH tag can be used to specify one or more directories that
+# contain include files that are not input files but should be processed by
+# the preprocessor.
+
+INCLUDE_PATH =
+
+# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
+# patterns (like *.h and *.hpp) to filter out the header-files in the
+# directories. If left blank, the patterns specified with FILE_PATTERNS will
+# be used.
+
+INCLUDE_FILE_PATTERNS =
+
+# The PREDEFINED tag can be used to specify one or more macro names that
+# are defined before the preprocessor is started (similar to the -D option of
+# gcc). The argument of the tag is a list of macros of the form: name
+# or name=definition (no spaces). If the definition and the = are
+# omitted =1 is assumed.
+
+PREDEFINED =
+
+# If the MACRO_EXPANSION and EXPAND_PREDEF_ONLY tags are set to YES then
+# this tag can be used to specify a list of macro names that should be expanded.
+# The macro definition that is found in the sources will be used.
+# Use the PREDEFINED tag if you want to use a different macro definition.
+
+EXPAND_AS_DEFINED =
+
+# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
+# doxygen's preprocessor will remove all function-like macros that are alone
+# on a line, have an all uppercase name, and do not end with a semicolon. Such
+# function macros are typically used for boiler-plate code, and will confuse the
+# parser if not removed.
+
+SKIP_FUNCTION_MACROS = YES
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to external references
+#---------------------------------------------------------------------------
+
+# The TAGFILES tag can be used to specify one or more tagfiles.
+
+TAGFILES =
+
+# When a file name is specified after GENERATE_TAGFILE, doxygen will create
+# a tag file that is based on the input files it reads.
+
+GENERATE_TAGFILE =
+
+# If the ALLEXTERNALS tag is set to YES all external classes will be listed
+# in the class index. If set to NO only the inherited external classes
+# will be listed.
+
+ALLEXTERNALS = NO
+
+# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
+# in the modules index. If set to NO, only the current project's groups will
+# be listed.
+
+EXTERNAL_GROUPS = YES
+
+# The PERL_PATH should be the absolute path and name of the perl script
+# interpreter (i.e. the result of `which perl').
+
+PERL_PATH =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
+# generate a inheritance diagram (in Html, RTF and LaTeX) for classes with base or
+# super classes. Setting the tag to NO turns the diagrams off. Note that this
+# option is superceded by the HAVE_DOT option below. This is only a fallback. It is
+# recommended to install and use dot, since it yield more powerful graphs.
+
+CLASS_DIAGRAMS = YES
+
+# If set to YES, the inheritance and collaboration graphs will hide
+# inheritance and usage relations if the target is undocumented
+# or is not a class.
+
+HIDE_UNDOC_RELATIONS = YES
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz, a graph visualization
+# toolkit from AT&T and Lucent Bell Labs. The other options in this section
+# have no effect if this option is set to NO (the default)
+
+HAVE_DOT = TRUE
+
+# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for each documented class showing the direct and
+# indirect inheritance relations. Setting this tag to YES will force the
+# the CLASS_DIAGRAMS tag to NO.
+
+CLASS_GRAPH = YES
+
+# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for each documented class showing the direct and
+# indirect implementation dependencies (inheritance, containment, and
+# class references variables) of the class with other documented classes.
+
+COLLABORATION_GRAPH = YES
+
+# If set to YES, the inheritance and collaboration graphs will show the
+# relations between templates and their instances.
+
+TEMPLATE_RELATIONS = YES
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
+# tags are set to YES then doxygen will generate a graph for each documented
+# file showing the direct and indirect include dependencies of the file with
+# other documented files.
+
+INCLUDE_GRAPH = YES
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
+# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
+# documented header file showing the documented files that directly or
+# indirectly include this file.
+
+INCLUDED_BY_GRAPH = YES
+
+# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
+# will graphical hierarchy of all classes instead of a textual one.
+
+GRAPHICAL_HIERARCHY = YES
+
+# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
+# generated by dot. Possible values are png, jpg, or gif
+# If left blank png will be used.
+
+DOT_IMAGE_FORMAT = png
+
+# The tag DOT_PATH can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found on the path.
+
+DOT_PATH =
+
+# The DOTFILE_DIRS tag can be used to specify one or more directories that
+# contain dot files that are included in the documentation (see the
+# \dotfile command).
+
+DOTFILE_DIRS =
+
+# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width
+# (in pixels) of the graphs generated by dot. If a graph becomes larger than
+# this value, doxygen will try to truncate the graph, so that it fits within
+# the specified constraint. Beware that most browsers cannot cope with very
+# large images.
+
+MAX_DOT_GRAPH_WIDTH = 1024
+
+# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height
+# (in pixels) of the graphs generated by dot. If a graph becomes larger than
+# this value, doxygen will try to truncate the graph, so that it fits within
+# the specified constraint. Beware that most browsers cannot cope with very
+# large images.
+
+MAX_DOT_GRAPH_HEIGHT = 1024
+
+# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
+# generate a legend page explaining the meaning of the various boxes and
+# arrows in the dot generated graphs.
+
+GENERATE_LEGEND = YES
+
+# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
+# remove the intermedate dot files that are used to generate
+# the various graphs.
+
+DOT_CLEANUP = YES
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to the search engine
+#---------------------------------------------------------------------------
+
+# The SEARCHENGINE tag specifies whether or not a search engine should be
+# used. If set to NO the values of all tags below this one will be ignored.
+
+SEARCHENGINE = NO
+
+# The CGI_NAME tag should be the name of the CGI script that
+# starts the search engine (doxysearch) with the correct parameters.
+# A script with this name will be generated by doxygen.
+
+CGI_NAME =
+
+# The CGI_URL tag should be the absolute URL to the directory where the
+# cgi binaries are located. See the documentation of your http daemon for
+# details.
+
+CGI_URL =
+
+# The DOC_URL tag should be the absolute URL to the directory where the
+# documentation is located. If left blank the absolute path to the
+# documentation, with file:// prepended to it, will be used.
+
+DOC_URL =
+
+# The DOC_ABSPATH tag should be the absolute path to the directory where the
+# documentation is located. If left blank the directory on the local machine
+# will be used.
+
+DOC_ABSPATH =
+
+# The BIN_ABSPATH tag must point to the directory where the doxysearch binary
+# is installed.
+
+BIN_ABSPATH =
+
+# The EXT_DOC_PATHS tag can be used to specify one or more paths to
+# documentation generated for other projects. This allows doxysearch to search
+# the documentation for these projects as well.
+
+EXT_DOC_PATHS =
diff --git a/freebsdtvision/doc/Makefile.am b/freebsdtvision/doc/Makefile.am
new file mode 100644
index 0000000..56dc39e
--- /dev/null
+++ b/freebsdtvision/doc/Makefile.am
@@ -0,0 +1,56 @@
+AUTOMAKE_OPTIONS = foreign
+
+#info_TEXINFOS = tvision.info
+
+CLEANFILES = *~
+
+EXTRA_DIST = Doxyfile texinfo.tex tvision.texi \
+ example.gif.in index.html.in tvision.info html/*
+
+SRCS = app.h buffers.h colorsel.h dialogs.h drawbuf.h editors.h \
+ help.h helpbase.h menus.h msgbox.h objects.h outline.h resource.h \
+ stddlg.h system.h textview.h tkeys.h tobjstrm.h ttypes.h tv.h \
+ tvconfig.h tvobjs.h util.h validate.h views.h
+
+myclean:
+ rm tvision.info
+ rm -fr html
+
+mydoc: tvision.info buildhtml
+
+tvision.info:
+ makeinfo tvision.texi
+
+buildhtml:
+ @if test -d html; then \
+ echo "Removing old html directory"; \
+ rm -fr html; \
+ fi; \
+ mkdir html
+
+ @echo "Generating installation handbook..."; \
+ texi2html tvision.texi; \
+ mv tvision.html html
+
+ @echo "Generating documentation for class hierarchy"; \
+ IFS="${IFS= }"; save_IFS="$IFS"; IFS=":"; \
+ for dir in $$PATH; do \
+ echo "Searching in $$dir"; \
+ for prog in doxygen; do \
+ if test -x "$$dir/$$prog"; then \
+ doxy="$$dir/$$prog"; \
+ break 2; \
+ fi \
+ done \
+ done; \
+ IFS="$$save_IFS"; \
+ if test -n "$$doxy"; then \
+ echo "Found $$doxy, please wait..."; \
+ $$doxy; \
+ else \
+ echo "Didn't find doxygen in your path, can't build documentation"; \
+ fi
+
+ @echo "Creating file index.html..."; \
+ cp index.html.in html/index.html; \
+ cp example.gif.in html/example.gif
diff --git a/freebsdtvision/doc/Makefile.in b/freebsdtvision/doc/Makefile.in
new file mode 100644
index 0000000..febf648
--- /dev/null
+++ b/freebsdtvision/doc/Makefile.in
@@ -0,0 +1,334 @@
+# Makefile.in generated by automake 1.7.3 from Makefile.am.
+# @configure_input@
+
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+# Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ..
+
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_triplet = @host@
+ACLOCAL = @ACLOCAL@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+AUTOMAKE_OPTIONS = foreign
+
+
+#info_TEXINFOS = tvision.info
+CLEANFILES = *~
+
+EXTRA_DIST = Doxyfile texinfo.tex tvision.texi \
+ example.gif.in index.html.in tvision.info html/*
+
+
+SRCS = app.h buffers.h colorsel.h dialogs.h drawbuf.h editors.h \
+ help.h helpbase.h menus.h msgbox.h objects.h outline.h resource.h \
+ stddlg.h system.h textview.h tkeys.h tobjstrm.h ttypes.h tv.h \
+ tvconfig.h tvobjs.h util.h validate.h views.h
+
+subdir = doc
+mkinstalldirs = $(SHELL) $(top_srcdir)/util/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+DIST_SOURCES =
+DIST_COMMON = Makefile.am Makefile.in texinfo.tex
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign doc/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+distclean-libtool:
+ -rm -f libtool
+uninstall-info-am:
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+
+top_distdir = ..
+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
+
+distdir: $(DISTFILES)
+ $(mkinstalldirs) $(distdir)/html
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkinstalldirs) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile
+
+installdirs:
+
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+
+distclean-am: clean-am distclean-generic distclean-libtool
+
+dvi: dvi-am
+
+dvi-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+ distclean distclean-generic distclean-libtool distdir dvi \
+ dvi-am info info-am install install-am install-data \
+ install-data-am install-exec install-exec-am install-info \
+ install-info-am install-man install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
+ uninstall-info-am
+
+
+myclean:
+ rm tvision.info
+ rm -fr html
+
+mydoc: tvision.info buildhtml
+
+tvision.info:
+ makeinfo tvision.texi
+
+buildhtml:
+ @if test -d html; then \
+ echo "Removing old html directory"; \
+ rm -fr html; \
+ fi; \
+ mkdir html
+
+ @echo "Generating installation handbook..."; \
+ texi2html tvision.texi; \
+ mv tvision.html html
+
+ @echo "Generating documentation for class hierarchy"; \
+ IFS="${IFS= }"; save_IFS="$IFS"; IFS=":"; \
+ for dir in $$PATH; do \
+ echo "Searching in $$dir"; \
+ for prog in doxygen; do \
+ if test -x "$$dir/$$prog"; then \
+ doxy="$$dir/$$prog"; \
+ break 2; \
+ fi \
+ done \
+ done; \
+ IFS="$$save_IFS"; \
+ if test -n "$$doxy"; then \
+ echo "Found $$doxy, please wait..."; \
+ $$doxy; \
+ else \
+ echo "Didn't find doxygen in your path, can't build documentation"; \
+ fi
+
+ @echo "Creating file index.html..."; \
+ cp index.html.in html/index.html; \
+ cp example.gif.in html/example.gif
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/freebsdtvision/doc/example.gif.in b/freebsdtvision/doc/example.gif.in
new file mode 100644
index 0000000..8666e27
--- /dev/null
+++ b/freebsdtvision/doc/example.gif.in
Binary files differ
diff --git a/freebsdtvision/doc/html/annotated.html b/freebsdtvision/doc/html/annotated.html
new file mode 100644
index 0000000..eb7a161
--- /dev/null
+++ b/freebsdtvision/doc/html/annotated.html
@@ -0,0 +1,149 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Annotated Index</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TVision Compound List</h1>Here are the classes, structs, unions and interfaces with brief descriptions:<table>
+ <tr><td class="indexkey"><a class="el" href="classTApplication.html">TApplication</a></td><td class="indexvalue">The mother of all applications</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTBackground.html">TBackground</a></td><td class="indexvalue">The default desktop background</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTBufListEntry.html">TBufListEntry</a></td><td class="indexvalue">Part of the memory manager</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTButton.html">TButton</a></td><td class="indexvalue">The button view</td></tr>
+ <tr><td class="indexkey"><a class="el" href="structCharScanType.html">CharScanType</a></td><td class="indexvalue">Information about a key</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTChDirDialog.html">TChDirDialog</a></td><td class="indexvalue">Dialog box used to change the current working directory</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTCheckBoxes.html">TCheckBoxes</a></td><td class="indexvalue">Cluster of check boxes</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTCluster.html">TCluster</a></td><td class="indexvalue">The base class of <a class="el" href="classTCheckBoxes.html">TCheckBoxes</a> and <a class="el" href="classTRadioButtons.html">TRadioButtons</a></td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTCollection.html">TCollection</a></td><td class="indexvalue">Streamable collection of items</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTColorDialog.html">TColorDialog</a></td><td class="indexvalue">Viewer used to examine and change the standard palette</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTColorDisplay.html">TColorDisplay</a></td><td class="indexvalue">Viewer used to display and select colors</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTColorGroup.html">TColorGroup</a></td><td class="indexvalue">Stores a set of color items</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTColorGroupList.html">TColorGroupList</a></td><td class="indexvalue">Implements a scrollable list of named color groups</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTColorIndex.html">TColorIndex</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTColorItem.html">TColorItem</a></td><td class="indexvalue">Information about a color item</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTColorItemList.html">TColorItemList</a></td><td class="indexvalue">Used to view and select single color items</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTColorSelector.html">TColorSelector</a></td><td class="indexvalue">Color viewer used to display available color selections</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTCommandSet.html">TCommandSet</a></td><td class="indexvalue">Implements a non-view class for handling command sets</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTCrossRef.html">TCrossRef</a></td><td class="indexvalue">Part of the help system</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTDeskInit.html">TDeskInit</a></td><td class="indexvalue">Virtual base class for <a class="el" href="classTDeskTop.html">TDeskTop</a></td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTDeskTop.html">TDeskTop</a></td><td class="indexvalue">The desktop of the application</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTDialog.html">TDialog</a></td><td class="indexvalue">A non-growable child of <a class="el" href="classTWindow.html">TWindow</a>, usually used as a modal view</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTDirCollection.html">TDirCollection</a></td><td class="indexvalue">Simple <a class="el" href="classTCollection.html">TCollection</a> derivative used for storing <a class="el" href="classTDirEntry.html">TDirEntry</a> objects</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTDirEntry.html">TDirEntry</a></td><td class="indexvalue">Simple class providing directory paths and descriptions</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTDirListBox.html">TDirListBox</a></td><td class="indexvalue">Specialized derivative of <a class="el" href="classTListBox.html">TListBox</a> for displaying and selecting directories stored in a <a class="el" href="classTDirCollection.html">TDirCollection</a> object</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTDisplay.html">TDisplay</a></td><td class="indexvalue">Display information</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTDrawBuffer.html">TDrawBuffer</a></td><td class="indexvalue">Implements a video buffer</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTEditor.html">TEditor</a></td><td class="indexvalue">Implements a text editor</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTEditWindow.html">TEditWindow</a></td><td class="indexvalue">Designed to hold a <a class="el" href="classTFileEditor.html">TFileEditor</a> or the clipboard</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTerminalBuf.html">TerminalBuf</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="structTEvent.html">TEvent</a></td><td class="indexvalue">Information about events</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTEventQueue.html">TEventQueue</a></td><td class="indexvalue">Information about mouse</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTFileCollection.html">TFileCollection</a></td><td class="indexvalue">Implements a sorted collection of file names</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTFileDialog.html">TFileDialog</a></td><td class="indexvalue">Implements a file dialog box, history pick list, and input line from which file names (including wildcards) can be input, edited, selected, and opened for editing</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTFileEditor.html">TFileEditor</a></td><td class="indexvalue">Specialized derivative of <a class="el" href="classTEditor.html">TEditor</a> for editing the contents of a file</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTFileInfoPane.html">TFileInfoPane</a></td><td class="indexvalue">Implements a simple, streamable view for displaying file information in the owning file dialog box</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTFileInputLine.html">TFileInputLine</a></td><td class="indexvalue">Allows the input and editing of file names, including optional paths and wild cards</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTFileList.html">TFileList</a></td><td class="indexvalue">Implements a sorted two-column list box of file names; you can select a file name by mouse or keyboard cursor actions</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTFilterValidator.html">TFilterValidator</a></td><td class="indexvalue">Check an input field as the user types into it</td></tr>
+ <tr><td class="indexkey"><a class="el" href="structTFindDialogRec.html">TFindDialogRec</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="structfLink.html">fLink</a></td><td class="indexvalue">Internal structure</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classfpbase.html">fpbase</a></td><td class="indexvalue">Base class for handling streamable objects on file streams</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classfpstream.html">fpstream</a></td><td class="indexvalue">Provides the base class for simultaneous writing and reading streamable objects to bidirectional file streams</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTFrame.html">TFrame</a></td><td class="indexvalue">The frame around the windows</td></tr>
+ <tr><td class="indexkey"><a class="el" href="structftime.html">ftime</a></td><td class="indexvalue">Stores date and time information about a specified file</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTGroup.html">TGroup</a></td><td class="indexvalue">TGroup objects and their derivatives provide the central driving power to TVision</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTHelpFile.html">THelpFile</a></td><td class="indexvalue">Part of the help system</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTHelpIndex.html">THelpIndex</a></td><td class="indexvalue">Part of the help system</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTHelpTopic.html">THelpTopic</a></td><td class="indexvalue">Part of the help system</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTHelpViewer.html">THelpViewer</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTHelpWindow.html">THelpWindow</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTHistInit.html">THistInit</a></td><td class="indexvalue">Virtual base class for <a class="el" href="classTHistoryWindow.html">THistoryWindow</a></td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTHistory.html">THistory</a></td><td class="indexvalue">Implements a pick list of previous entries, actions, or choices from which the user can select a "rerun"</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTHistoryViewer.html">THistoryViewer</a></td><td class="indexvalue">Part of the history list system</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTHistoryWindow.html">THistoryWindow</a></td><td class="indexvalue">Holds a history list viewer</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classifpstream.html">ifpstream</a></td><td class="indexvalue">Provides the base class for reading (extracting) streamable objects from file streams</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTIndicator.html">TIndicator</a></td><td class="indexvalue">The line and column counter in the lower left corner of the edit window</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTInputLine.html">TInputLine</a></td><td class="indexvalue">Provides a basic input line string editor</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classiopstream.html">iopstream</a></td><td class="indexvalue">The base class for simultaneous writing and reading streamable objects to and from streams</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classipstream.html">ipstream</a></td><td class="indexvalue">The base class for reading (extracting) streamable objects from streams</td></tr>
+ <tr><td class="indexkey"><a class="el" href="structKeyDownEvent.html">KeyDownEvent</a></td><td class="indexvalue">Information about key presses</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTLabel.html">TLabel</a></td><td class="indexvalue">Used to attach a label to a view</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTListBox.html">TListBox</a></td><td class="indexvalue">Displays a list of items, in one or more columns, with an optional vertical scroll bar</td></tr>
+ <tr><td class="indexkey"><a class="el" href="structTListBoxRec.html">TListBoxRec</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTListViewer.html">TListViewer</a></td><td class="indexvalue">An abstract class from which you can derive list viewers of various kinds, such as <a class="el" href="classTListBox.html">TListBox</a></td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTLookupValidator.html">TLookupValidator</a></td><td class="indexvalue">Compares the string typed by a user with a list of acceptable values</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTMemo.html">TMemo</a></td><td class="indexvalue">Derived from <a class="el" href="classTEditor.html">TEditor</a> and designed for insertion into a dialog or form</td></tr>
+ <tr><td class="indexkey"><a class="el" href="structTMemoData.html">TMemoData</a></td><td class="indexvalue">Data structure used by <a class="el" href="classTMemo.html">TMemo</a></td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTMenu.html">TMenu</a></td><td class="indexvalue">A "wrapper" for the various other menu classes, such as <a class="el" href="classTMenuItem.html">TMenuItem</a>, <a class="el" href="classTSubMenu.html">TSubMenu</a> and <a class="el" href="classTMenuView.html">TMenuView</a></td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTMenuBar.html">TMenuBar</a></td><td class="indexvalue">The horizontal menu bar from which you make menu selections</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTMenuBox.html">TMenuBox</a></td><td class="indexvalue">These objects represent vertical menu boxes</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTMenuItem.html">TMenuItem</a></td><td class="indexvalue">Instances of TMenuItem serve as elements of a menu</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTMenuPopup.html">TMenuPopup</a></td><td class="indexvalue">Part of the menu system</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTMenuView.html">TMenuView</a></td><td class="indexvalue">An abstract base from which menu bar and menu box classes (either pull down or pop up) are derived</td></tr>
+ <tr><td class="indexkey"><a class="el" href="structMessageEvent.html">MessageEvent</a></td><td class="indexvalue">Information about message events</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTMonoSelector.html">TMonoSelector</a></td><td class="indexvalue">Monochrome color selector</td></tr>
+ <tr><td class="indexkey"><a class="el" href="structMouseEventType.html">MouseEventType</a></td><td class="indexvalue">Information about mouse events</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classMsgBoxText.html">MsgBoxText</a></td><td class="indexvalue">Contains a set of standard message strings</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTMultiCheckBoxes.html">TMultiCheckBoxes</a></td><td class="indexvalue">Implements a cluster of multistate check boxes</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTNode.html">TNode</a></td><td class="indexvalue">Implements a node of the outline</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td class="indexvalue">Handles a non-streamable collection of objects</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTNSSortedCollection.html">TNSSortedCollection</a></td><td class="indexvalue">Handles a non-streamable collection sorted by a key (with or without duplicates)</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTObject.html">TObject</a></td><td class="indexvalue">The fundamental class</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classofpstream.html">ofpstream</a></td><td class="indexvalue">Provides the base class for writing (inserting) streamable objects to file streams</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classopstream.html">opstream</a></td><td class="indexvalue">The base class for writing (inserting) streamable objects into streams</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classotstream.html">otstream</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTOutline.html">TOutline</a></td><td class="indexvalue">Implements a simple outline viewer</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTOutlineViewer.html">TOutlineViewer</a></td><td class="indexvalue">Implements an outline viewer</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTPalette.html">TPalette</a></td><td class="indexvalue">Simple class used to create and manipulate palette arrays</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTParagraph.html">TParagraph</a></td><td class="indexvalue">Part of the help system</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTParamText.html">TParamText</a></td><td class="indexvalue">Shows dynamic, parameterized text in a window</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTPoint.html">TPoint</a></td><td class="indexvalue">Two-point screen coordinate</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTPReadObjects.html">TPReadObjects</a></td><td class="indexvalue">Maintains a database of all objects that have been read from the current object stream</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTProgInit.html">TProgInit</a></td><td class="indexvalue">Virtual base class for <a class="el" href="classTProgram.html">TProgram</a></td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTProgram.html">TProgram</a></td><td class="indexvalue">The mother of <a class="el" href="classTApplication.html">TApplication</a></td></tr>
+ <tr><td class="indexkey"><a class="el" href="classpstream.html">pstream</a></td><td class="indexvalue">The base class for handling streamable objects</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTPWObj.html">TPWObj</a></td><td class="indexvalue">Used internally by <a class="el" href="classTPWrittenObjects.html">TPWrittenObjects</a></td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTPWrittenObjects.html">TPWrittenObjects</a></td><td class="indexvalue">Maintains a database of all objects that have been written to the current object stream</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTPXPictureValidator.html">TPXPictureValidator</a></td><td class="indexvalue">Compare user input with a picture of a data format to determine the validity of entered data</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTRadioButtons.html">TRadioButtons</a></td><td class="indexvalue">Cluster of radio buttons</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTRangeValidator.html">TRangeValidator</a></td><td class="indexvalue">Determines whether the data typed by a user falls within a designated range of integers</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTRect.html">TRect</a></td><td class="indexvalue">Screen rectangular area</td></tr>
+ <tr><td class="indexkey"><a class="el" href="structTReplaceDialogRec.html">TReplaceDialogRec</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTResourceCollection.html">TResourceCollection</a></td><td class="indexvalue">Implements a sorted, streamable collection of resources</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTResourceFile.html">TResourceFile</a></td><td class="indexvalue">Implements a stream that can be indexed by string keys</td></tr>
+ <tr><td class="indexkey"><a class="el" href="structTResourceItem.html">TResourceItem</a></td><td class="indexvalue">Internal structure use by <a class="el" href="classTResourceCollection.html">TResourceCollection</a> and <a class="el" href="classTResourceFile.html">TResourceFile</a></td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTScreen.html">TScreen</a></td><td class="indexvalue">The interface to the system</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTScrollBar.html">TScrollBar</a></td><td class="indexvalue">Implements a scroll bar</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTScroller.html">TScroller</a></td><td class="indexvalue">Provides a scrolling virtual window onto a larger view</td></tr>
+ <tr><td class="indexkey"><a class="el" href="structTSearchRec.html">TSearchRec</a></td><td class="indexvalue">Internal structure used by <a class="el" href="classTFileCollection.html">TFileCollection</a></td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTSItem.html">TSItem</a></td><td class="indexvalue">Non-view class providing a singly-linked list of character strings</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTSortedCollection.html">TSortedCollection</a></td><td class="indexvalue">Sorted, streamable collection of objects</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTSortedListBox.html">TSortedListBox</a></td><td class="indexvalue">A base for other list box classes</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTStaticText.html">TStaticText</a></td><td class="indexvalue">Used to show fixed text in a window</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTStatusDef.html">TStatusDef</a></td><td class="indexvalue">Represents a status line definition used by a <a class="el" href="classTStatusLine.html">TStatusLine</a> view to display context-sensitive status lines</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTStatusItem.html">TStatusItem</a></td><td class="indexvalue">Represents a component of a linked list associated with a <a class="el" href="classTStatusLine.html">TStatusLine</a> view</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTStatusLine.html">TStatusLine</a></td><td class="indexvalue">A specialized view, usually displayed at the bottom of the screen</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTStreamable.html">TStreamable</a></td><td class="indexvalue">Gives the streamable property to a class</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTStreamableClass.html">TStreamableClass</a></td><td class="indexvalue">TStreamableClass is used by <a class="el" href="classTStreamableTypes.html">TStreamableTypes</a> and pstream in the registration of streamable classes</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTStreamableTypes.html">TStreamableTypes</a></td><td class="indexvalue">Maintains a database of all registered streamable types used in an application</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTStrIndexRec.html">TStrIndexRec</a></td><td class="indexvalue">Internal class used by <a class="el" href="classTStringList.html">TStringList</a> and <a class="el" href="classTStrListMaker.html">TStrListMaker</a></td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTStringCollection.html">TStringCollection</a></td><td class="indexvalue">Implements a sorted list of ASCII strings</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTStringList.html">TStringList</a></td><td class="indexvalue">A mechanism for accessing strings stored on a stream</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTStringLookupValidator.html">TStringLookupValidator</a></td><td class="indexvalue">Verifies the data in its associated input line by searching through a collection of valid strings</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTStrListMaker.html">TStrListMaker</a></td><td class="indexvalue">Used to create string lists for use with <a class="el" href="classTStringList.html">TStringList</a></td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTSubMenu.html">TSubMenu</a></td><td class="indexvalue">Used to differentiate between different types of <a class="el" href="classTMenuItem.html">TMenuItem</a>: individual menu items and submenus</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTTerminal.html">TTerminal</a></td><td class="indexvalue">Implements a "dumb" terminal with buffered string reads and writes</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTTextDevice.html">TTextDevice</a></td><td class="indexvalue">Scrollable TTY-type text viewer/device driver</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTValidator.html">TValidator</a></td><td class="indexvalue">Implements an abstract data validation object</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTView.html">TView</a></td><td class="indexvalue">The base of all visible objects</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTVMemMgr.html">TVMemMgr</a></td><td class="indexvalue">Part of the memory manager</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTWindow.html">TWindow</a></td><td class="indexvalue">Implements a window</td></tr>
+ <tr><td class="indexkey"><a class="el" href="classTWindowInit.html">TWindowInit</a></td><td class="indexvalue">Virtual base class for <a class="el" href="classTWindow.html">TWindow</a></td></tr>
+</table>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:11 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/app_8h-source.html b/freebsdtvision/doc/html/app_8h-source.html
new file mode 100644
index 0000000..7a6263c
--- /dev/null
+++ b/freebsdtvision/doc/html/app_8h-source.html
@@ -0,0 +1,315 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>app.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>app.h</h1><a href="app_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="comment">/*</span>
+00002 <span class="comment"> * app.h</span>
+00003 <span class="comment"> *</span>
+00004 <span class="comment"> * Turbo Vision - Version 2.0</span>
+00005 <span class="comment"> *</span>
+00006 <span class="comment"> * Copyright (c) 1994 by Borland International</span>
+00007 <span class="comment"> * All Rights Reserved.</span>
+00008 <span class="comment"> *</span>
+00009 <span class="comment"> * Modified by Sergio Sigala &lt;sergio@sigala.it&gt;</span>
+00010 <span class="comment"> */</span>
+00011
+00012 <span class="preprocessor">#if defined( Uses_TBackground ) &amp;&amp; !defined( __TBackground )</span>
+00013 <span class="preprocessor"></span><span class="preprocessor">#define __TBackground</span>
+00014 <span class="preprocessor"></span>
+00019 <span class="keyword">class </span><a class="code" href="classTRect.html">TRect</a>;
+00020
+<a name="l00029"></a><a class="code" href="classTBackground.html">00029</a> <span class="keyword">class </span><a class="code" href="classTBackground.html">TBackground</a> : <span class="keyword">public</span> <a class="code" href="classTView.html">TView</a>
+00030 {
+00031 <span class="keyword">public</span>:
+00040 <a class="code" href="classTBackground.html#a0">TBackground</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; bounds, <span class="keywordtype">char</span> aPattern );
+00045 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTBackground.html#a1">draw</a>();
+00049 <span class="keyword">virtual</span> <a class="code" href="classTPalette.html">TPalette</a>&amp; <a class="code" href="classTBackground.html#a2">getPalette</a>() <span class="keyword">const</span>;
+00050 <span class="keyword">protected</span>:
+<a name="l00054"></a><a class="code" href="classTBackground.html#n0">00054</a> <span class="keywordtype">char</span> <a class="code" href="classTBackground.html#n0">pattern</a>;
+00055 <span class="keyword">private</span>:
+00056 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *streamableName()<span class="keyword"> const</span>
+00057 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classTBackground.html#p0">name</a>; }
+00058 <span class="keyword">protected</span>:
+00069 <a class="code" href="classTBackground.html#a0">TBackground</a>( <a class="code" href="ttypes_8h.html#a14">StreamableInit</a> );
+00075 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTBackground.html#b1">write</a>( <a class="code" href="classopstream.html">opstream</a>&amp; os );
+00081 <span class="keyword">virtual</span> <span class="keywordtype">void</span> *<a class="code" href="classTBackground.html#b2">read</a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is );
+00082 <span class="keyword">public</span>:
+<a name="l00086"></a><a class="code" href="classTBackground.html#p0">00086</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classTBackground.html#p0">name</a>;
+00094 <span class="keyword">static</span> <a class="code" href="classTStreamable.html">TStreamable</a> *<a class="code" href="classTBackground.html#d0">build</a>();
+00095 };
+00096
+<a name="l00100"></a><a class="code" href="app_8h.html#a24">00100</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTBackground.html">TBackground</a>&amp; cl )
+00101 { <span class="keywordflow">return</span> is &gt;&gt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l00105"></a><a class="code" href="app_8h.html#a25">00105</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTBackground.html">TBackground</a>*&amp; cl )
+00106 { <span class="keywordflow">return</span> is &gt;&gt; (<span class="keywordtype">void</span> *&amp;)cl; }
+00107
+<a name="l00111"></a><a class="code" href="app_8h.html#a26">00111</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTBackground.html">TBackground</a>&amp; cl )
+00112 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l00116"></a><a class="code" href="app_8h.html#a27">00116</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTBackground.html">TBackground</a>* cl )
+00117 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a> *)cl; }
+00118
+00119 <span class="preprocessor">#endif // Uses_TBackground</span>
+00120 <span class="preprocessor"></span>
+00121
+00122 <span class="preprocessor">#if defined( Uses_TDeskTop ) &amp;&amp; !defined( __TDeskTop )</span>
+00123 <span class="preprocessor"></span><span class="preprocessor">#define __TDeskTop</span>
+00124 <span class="preprocessor"></span>
+00125 <span class="keyword">class </span><a class="code" href="classTBackground.html">TBackground</a>;
+00126 <span class="keyword">class </span><a class="code" href="classTRect.html">TRect</a>;
+00127 <span class="keyword">class </span><a class="code" href="structTEvent.html">TEvent</a>;
+00128
+<a name="l00136"></a><a class="code" href="classTDeskInit.html">00136</a> <span class="keyword">class </span><a class="code" href="classTDeskInit.html">TDeskInit</a>
+00137 {
+00138 <span class="keyword">public</span>:
+00150 <a class="code" href="classTDeskInit.html#a0">TDeskInit</a>( <a class="code" href="classTBackground.html">TBackground</a> *(*cBackground)( <a class="code" href="classTRect.html">TRect</a> bounds ) );
+00151 <span class="keyword">protected</span>:
+00157 <a class="code" href="classTBackground.html">TBackground</a> *(*createBackground)( <a class="code" href="classTRect.html">TRect</a> bounds );
+00158 };
+00159
+<a name="l00179"></a><a class="code" href="classTDeskTop.html">00179</a> <span class="keyword">class </span><a class="code" href="classTDeskTop.html">TDeskTop</a> : <span class="keyword">public</span> <a class="code" href="classTGroup.html">TGroup</a>, <span class="keyword">public</span> <span class="keyword">virtual</span> <a class="code" href="classTDeskInit.html">TDeskInit</a>
+00180 {
+00181 <span class="keyword">public</span>:
+00194 <a class="code" href="classTDeskTop.html#a0">TDeskTop</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; bounds );
+00204 <span class="keywordtype">void</span> <a class="code" href="classTDeskTop.html#a1">cascade</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; );
+00212 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTDeskTop.html#a2">handleEvent</a>( <a class="code" href="structTEvent.html">TEvent</a>&amp; );
+00226 <span class="keyword">static</span> <a class="code" href="classTBackground.html">TBackground</a> *<a class="code" href="classTDeskTop.html#d0">initBackground</a>( <a class="code" href="classTRect.html">TRect</a> );
+00230 <span class="keywordtype">void</span> <a class="code" href="classTDeskTop.html#a3">tile</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; );
+00238 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTDeskTop.html#a4">tileError</a>();
+00251 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTDeskTop.html#a5">shutDown</a>();
+<a name="l00255"></a><a class="code" href="classTDeskTop.html#p0">00255</a> <span class="keyword">static</span> <span class="keywordtype">char</span> <a class="code" href="classTDeskTop.html#p0">defaultBkgrnd</a>;
+00256 <span class="keyword">protected</span>:
+<a name="l00261"></a><a class="code" href="classTDeskTop.html#n0">00261</a> <a class="code" href="classTBackground.html">TBackground</a> *<a class="code" href="classTDeskTop.html#n0">background</a>;
+<a name="l00267"></a><a class="code" href="classTDeskTop.html#n1">00267</a> <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTDeskTop.html#n1">tileColumnsFirst</a>;
+00268 <span class="keyword">private</span>:
+00269 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *streamableName()<span class="keyword"> const</span>
+00270 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classTDeskTop.html#p1">name</a>; }
+00271 <span class="keyword">protected</span>:
+00280 <a class="code" href="classTDeskTop.html#a0">TDeskTop</a>( <a class="code" href="ttypes_8h.html#a14">StreamableInit</a> );
+00281 <span class="keyword">public</span>:
+<a name="l00285"></a><a class="code" href="classTDeskTop.html#p1">00285</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classTDeskTop.html#p1">name</a>;
+00292 <span class="keyword">static</span> <a class="code" href="classTStreamable.html">TStreamable</a> *<a class="code" href="classTDeskTop.html#d1">build</a>();
+00293 };
+00294
+<a name="l00298"></a><a class="code" href="app_8h.html#a28">00298</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTDeskTop.html">TDeskTop</a>&amp; cl )
+00299 { <span class="keywordflow">return</span> is &gt;&gt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)(<a class="code" href="classTGroup.html">TGroup</a>&amp;)cl; }
+<a name="l00303"></a><a class="code" href="app_8h.html#a29">00303</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTDeskTop.html">TDeskTop</a>*&amp; cl )
+00304 { <span class="keywordflow">return</span> is &gt;&gt; (<span class="keywordtype">void</span> *&amp;)cl; }
+00305
+<a name="l00309"></a><a class="code" href="app_8h.html#a30">00309</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTDeskTop.html">TDeskTop</a>&amp; cl )
+00310 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)(<a class="code" href="classTGroup.html">TGroup</a>&amp;)cl; }
+<a name="l00314"></a><a class="code" href="app_8h.html#a31">00314</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTDeskTop.html">TDeskTop</a>* cl )
+00315 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a> *)(<a class="code" href="classTGroup.html">TGroup</a> *)cl; }
+00316
+00317 <span class="preprocessor">#endif</span>
+00318 <span class="preprocessor"></span>
+00319 <span class="comment">// Turbo Vision 2.0 Color Palettes</span>
+00320
+00321 <span class="preprocessor">#ifndef __UNPATCHED</span>
+00322 <span class="preprocessor"></span><span class="preprocessor">#define cpAppColor \</span>
+00323 <span class="preprocessor"> "\x71\x70\x78\x74\x20\x28\x24\x17\x1F\x1A\x31\x31\x1E\x71\x1F" \</span>
+00324 <span class="preprocessor"> "\x37\x3F\x3A\x13\x13\x3E\x21\x3F\x70\x7F\x7A\x13\x13\x70\x7F\x7E" \</span>
+00325 <span class="preprocessor"> "\x70\x7F\x7A\x13\x13\x70\x70\x7F\x7E\x20\x2B\x2F\x78\x2E\x70\x30" \</span>
+00326 <span class="preprocessor"> "\x3F\x3E\x1F\x2F\x1A\x20\x72\x31\x31\x30\x2F\x3E\x31\x13\x38\x00" \</span>
+00327 <span class="preprocessor"> "\x17\x1F\x1A\x71\x71\x1E\x17\x1F\x1E\x20\x2B\x2F\x78\x2E\x10\x30" \</span>
+00328 <span class="preprocessor"> "\x3F\x3E\x70\x2F\x7A\x20\x12\x31\x31\x30\x2F\x3E\x31\x13\x38\x00" \</span>
+00329 <span class="preprocessor"> "\x37\x3F\x3A\x13\x13\x3E\x30\x3F\x3E\x20\x2B\x2F\x78\x2E\x30\x70" \</span>
+00330 <span class="preprocessor"> "\x7F\x7E\x1F\x2F\x1A\x20\x32\x31\x71\x70\x2F\x7E\x71\x13\x78\x00" \</span>
+00331 <span class="preprocessor"> "\x37\x3F\x3A\x13\x13\x30\x3E\x1E" // help colors</span>
+00332 <span class="preprocessor"></span><span class="preprocessor">#else</span>
+00333 <span class="preprocessor"></span><span class="preprocessor">#define cpAppColor \</span>
+00334 <span class="preprocessor"> "\x71\x70\x78\x74\x20\x28\x24\x17\x1F\x1A\x31\x31\x1E\x71\x1F" \</span>
+00335 <span class="preprocessor"> "\x37\x3F\x3A\x13\x13\x3E\x21\x3F\x70\x7F\x7A\x13\x13\x70\x7F\x7E" \</span>
+00336 <span class="preprocessor"> "\x70\x7F\x7A\x13\x13\x70\x70\x7F\x7E\x20\x2B\x2F\x78\x2E\x70\x30" \</span>
+00337 <span class="preprocessor"> "\x3F\x3E\x1F\x2F\x1A\x20\x72\x31\x31\x30\x2F\x3E\x31\x13\x38\x00" \</span>
+00338 <span class="preprocessor"> "\x17\x1F\x1A\x71\x71\x1E\x17\x1F\x1E\x20\x2B\x2F\x78\x2E\x10\x30" \</span>
+00339 <span class="preprocessor"> "\x3F\x3E\x70\x2F\x7A\x20\x12\x31\x31\x30\x2F\x3E\x31\x13\x38\x00" \</span>
+00340 <span class="preprocessor"> "\x37\x3F\x3A\x13\x13\x3E\x30\x3F\x3E\x20\x2B\x2F\x78\x2E\x30\x70" \</span>
+00341 <span class="preprocessor"> "\x7F\x7E\x1F\x2F\x1A\x20\x32\x31\x71\x70\x2F\x7E\x71\x13\x38\x00" \</span>
+00342 <span class="preprocessor"> "\x37\x3F\x3A\x13\x13\x30\x3E\x1E" // help colors</span>
+00343 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00344 <span class="preprocessor"></span>
+00345 <span class="preprocessor">#ifndef __UNPATCHED</span>
+00346 <span class="preprocessor"></span><span class="preprocessor">#define cpAppBlackWhite \</span>
+00347 <span class="preprocessor"> "\x70\x70\x78\x7F\x07\x07\x0F\x07\x0F\x07\x70\x70\x07\x70\x0F" \</span>
+00348 <span class="preprocessor"> "\x07\x0F\x07\x70\x70\x07\x70\x0F\x70\x7F\x7F\x70\x07\x70\x07\x0F" \</span>
+00349 <span class="preprocessor"> "\x70\x7F\x7F\x70\x07\x70\x70\x7F\x7F\x07\x0F\x0F\x78\x0F\x78\x07" \</span>
+00350 <span class="preprocessor"> "\x0F\x0F\x0F\x70\x0F\x07\x70\x70\x70\x07\x70\x0F\x07\x07\x08\x00" \</span>
+00351 <span class="preprocessor"> "\x07\x0F\x0F\x07\x70\x07\x07\x0F\x0F\x70\x78\x7F\x08\x7F\x08\x70" \</span>
+00352 <span class="preprocessor"> "\x7F\x7F\x7F\x0F\x70\x70\x07\x70\x70\x70\x07\x7F\x70\x07\x78\x00" \</span>
+00353 <span class="preprocessor"> "\x70\x7F\x7F\x70\x07\x70\x70\x7F\x7F\x07\x0F\x0F\x78\x0F\x78\x07" \</span>
+00354 <span class="preprocessor"> "\x0F\x0F\x0F\x70\x0F\x07\x70\x70\x70\x07\x70\x0F\x07\x07\x08\x00" \</span>
+00355 <span class="preprocessor"> "\x07\x0F\x07\x70\x70\x07\x0F\x70" // help colors</span>
+00356 <span class="preprocessor"></span><span class="preprocessor">#else</span>
+00357 <span class="preprocessor"></span><span class="preprocessor">#define cpAppBlackWhite \</span>
+00358 <span class="preprocessor"> "\x70\x70\x78\x7F\x07\x07\x0F\x07\x0F\x07\x70\x70\x07\x70\x0F" \</span>
+00359 <span class="preprocessor"> "\x07\x0F\x07\x70\x70\x07\x70\x0F\x70\x7F\x7F\x70\x07\x70\x07\x0F" \</span>
+00360 <span class="preprocessor"> "\x70\x7F\x7F\x70\x07\x70\x70\x7F\x7F\x07\x0F\x0F\x78\x0F\x78\x07" \</span>
+00361 <span class="preprocessor"> "\x0F\x0F\x0F\x70\x0F\x07\x70\x70\x70\x07\x70\x0F\x07\x07\x78\x00" \</span>
+00362 <span class="preprocessor"> "\x07\x0F\x0F\x07\x70\x07\x07\x0F\x0F\x70\x78\x7F\x08\x7F\x08\x70" \</span>
+00363 <span class="preprocessor"> "\x7F\x7F\x7F\x0F\x70\x70\x07\x70\x70\x70\x07\x7F\x70\x07\x78\x00" \</span>
+00364 <span class="preprocessor"> "\x70\x7F\x7F\x70\x07\x70\x70\x7F\x7F\x07\x0F\x0F\x78\x0F\x78\x07" \</span>
+00365 <span class="preprocessor"> "\x0F\x0F\x0F\x70\x0F\x07\x70\x70\x70\x07\x70\x0F\x07\x07\x78\x00" \</span>
+00366 <span class="preprocessor"> "\x07\x0F\x07\x70\x70\x07\x0F\x70" // help colors</span>
+00367 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00368 <span class="preprocessor"></span>
+00369 <span class="preprocessor">#ifndef __UNPATCHED</span>
+00370 <span class="preprocessor"></span><span class="preprocessor">#define cpAppMonochrome \</span>
+00371 <span class="preprocessor"> "\x70\x07\x07\x0F\x70\x70\x70\x07\x0F\x07\x70\x70\x07\x70\x00" \</span>
+00372 <span class="preprocessor"> "\x07\x0F\x07\x70\x70\x07\x70\x00\x70\x70\x70\x07\x07\x70\x07\x00" \</span>
+00373 <span class="preprocessor"> "\x70\x70\x70\x07\x07\x70\x70\x70\x0F\x07\x07\x0F\x70\x0F\x70\x07" \</span>
+00374 <span class="preprocessor"> "\x0F\x0F\x07\x70\x07\x07\x70\x07\x07\x07\x70\x0F\x07\x07\x70\x00" \</span>
+00375 <span class="preprocessor"> "\x70\x70\x70\x07\x07\x70\x70\x70\x0F\x07\x07\x0F\x70\x0F\x70\x07" \</span>
+00376 <span class="preprocessor"> "\x0F\x0F\x07\x70\x07\x07\x70\x07\x07\x07\x70\x0F\x07\x07\x01\x00" \</span>
+00377 <span class="preprocessor"> "\x70\x70\x70\x07\x07\x70\x70\x70\x0F\x07\x07\x0F\x70\x0F\x70\x07" \</span>
+00378 <span class="preprocessor"> "\x0F\x0F\x07\x70\x07\x07\x70\x07\x07\x07\x70\x0F\x07\x07\x01\x00" \</span>
+00379 <span class="preprocessor"> "\x07\x0F\x07\x70\x70\x07\x0F\x70" // help colors</span>
+00380 <span class="preprocessor"></span><span class="preprocessor">#else</span>
+00381 <span class="preprocessor"></span><span class="preprocessor">#define cpAppMonochrome \</span>
+00382 <span class="preprocessor"> "\x70\x07\x07\x0F\x70\x70\x70\x07\x0F\x07\x70\x70\x07\x70\x00" \</span>
+00383 <span class="preprocessor"> "\x07\x0F\x07\x70\x70\x07\x70\x00\x70\x70\x70\x07\x07\x70\x07\x00" \</span>
+00384 <span class="preprocessor"> "\x70\x70\x70\x07\x07\x70\x70\x70\x0F\x07\x07\x0F\x70\x0F\x70\x07" \</span>
+00385 <span class="preprocessor"> "\x0F\x0F\x07\x70\x07\x07\x70\x07\x07\x07\x70\x0F\x07\x07\x70\x00" \</span>
+00386 <span class="preprocessor"> "\x70\x70\x70\x07\x07\x70\x70\x70\x0F\x07\x07\x0F\x70\x0F\x70\x07" \</span>
+00387 <span class="preprocessor"> "\x0F\x0F\x07\x70\x07\x07\x70\x07\x07\x07\x70\x0F\x07\x07\x70\x00" \</span>
+00388 <span class="preprocessor"> "\x70\x70\x70\x07\x07\x70\x70\x70\x0F\x07\x07\x0F\x70\x0F\x70\x07" \</span>
+00389 <span class="preprocessor"> "\x0F\x0F\x07\x70\x07\x07\x70\x07\x07\x07\x70\x0F\x07\x07\x70\x00" \</span>
+00390 <span class="preprocessor"> "\x07\x0F\x07\x70\x70\x07\x0F\x70" // help colors</span>
+00391 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00392 <span class="preprocessor"></span>
+00393 <span class="preprocessor">#if defined( Uses_TProgram ) &amp;&amp; !defined( __TProgram )</span>
+00394 <span class="preprocessor"></span><span class="preprocessor">#define __TProgram</span>
+00395 <span class="preprocessor"></span>
+00396 <span class="comment">// Standard application help contexts</span>
+00397
+00398 <span class="comment">// Note: range $FF00 - $FFFF of help contexts are reserved by Borland</span>
+00399
+00400 <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> hcNew = 0xFF01;
+00401 <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> hcOpen = 0xFF02;
+00402 <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> hcSave = 0xFF03;
+00403 <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> hcSaveAs = 0xFF04;
+00404 <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> hcSaveAll = 0xFF05;
+00405 <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> hcChangeDir = 0xFF06;
+00406 <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> hcDosShell = 0xFF07;
+00407 <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> hcExit = 0xFF08;
+00408
+00409 <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> hcUndo = 0xFF10;
+00410 <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> hcCut = 0xFF11;
+00411 <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> hcCopy = 0xFF12;
+00412 <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> hcPaste = 0xFF13;
+00413 <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> hcClear = 0xFF14;
+00414
+00415 <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> hcTile = 0xFF20;
+00416 <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> hcCascade = 0xFF21;
+00417 <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> hcCloseAll = 0xFF22;
+00418 <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> hcResize = 0xFF23;
+00419 <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> hcZoom = 0xFF24;
+00420 <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> hcNext = 0xFF25;
+00421 <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> hcPrev = 0xFF26;
+00422 <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> hcClose = 0xFF27;
+00423
+00424
+00425 <span class="keyword">class </span><a class="code" href="classTStatusLine.html">TStatusLine</a>;
+00426 <span class="keyword">class </span><a class="code" href="classTMenuBar.html">TMenuBar</a>;
+00427 <span class="keyword">class </span><a class="code" href="classTDeskTop.html">TDeskTop</a>;
+00428 <span class="keyword">class </span><a class="code" href="structTEvent.html">TEvent</a>;
+00429 <span class="keyword">class </span><a class="code" href="classTView.html">TView</a>;
+00430
+<a name="l00439"></a><a class="code" href="classTProgInit.html">00439</a> <span class="keyword">class </span><a class="code" href="classTProgInit.html">TProgInit</a>
+00440 {
+00441 <span class="keyword">public</span>:
+00459 <a class="code" href="classTProgInit.html#a0">TProgInit</a>( <a class="code" href="classTStatusLine.html">TStatusLine</a> *(*cStatusLine)( <a class="code" href="classTRect.html">TRect</a> ),
+00460 <a class="code" href="classTMenuBar.html">TMenuBar</a> *(*cMenuBar)( <a class="code" href="classTRect.html">TRect</a> ),
+00461 <a class="code" href="classTDeskTop.html">TDeskTop</a> *(*cDeskTop )( <a class="code" href="classTRect.html">TRect</a> )
+00462 );
+00463 <span class="keyword">protected</span>:
+00467 <a class="code" href="classTStatusLine.html">TStatusLine</a> *(*createStatusLine)( TRect );
+00471 <a class="code" href="classTMenuBar.html">TMenuBar</a> *(*createMenuBar)( TRect );
+00475 <a class="code" href="classTDeskTop.html">TDeskTop</a> *(*createDeskTop)( TRect );
+00476 };
+00477
+00478 <span class="comment">/* ---------------------------------------------------------------------- */</span>
+00479 <span class="comment">/* class TProgram */</span>
+00480 <span class="comment">/* */</span>
+00481 <span class="comment">/* Palette layout */</span>
+00482 <span class="comment">/* 1 = TBackground */</span>
+00483 <span class="comment">/* 2- 7 = TMenuView and TStatusLine */</span>
+00484 <span class="comment">/* 8-15 = TWindow(Blue) */</span>
+00485 <span class="comment">/* 16-23 = TWindow(Cyan) */</span>
+00486 <span class="comment">/* 24-31 = TWindow(Gray) */</span>
+00487 <span class="comment">/* 32-63 = TDialog */</span>
+00488 <span class="comment">/* ---------------------------------------------------------------------- */</span>
+00489
+00490 <span class="comment">// TApplication palette entries</span>
+00491
+00496 <span class="keyword">const</span> <span class="keywordtype">int</span>
+<a name="l00497"></a><a class="code" href="app_8h.html#a22">00497</a> <a class="code" href="app_8h.html#a21">apColor</a> = 0,
+00498
+<a name="l00503"></a><a class="code" href="app_8h.html#a23">00503</a> <a class="code" href="app_8h.html#a22">apBlackWhite</a> = 1,
+00504
+00509 <a class="code" href="app_8h.html#a23">apMonochrome</a> = 2;
+00510
+00511 <span class="keyword">class </span><a class="code" href="classTDialog.html">TDialog</a>;
+00512 <span class="keyword">class </span><a class="code" href="classTWindow.html">TWindow</a>;
+00513
+<a name="l00524"></a><a class="code" href="classTProgram.html">00524</a> <span class="keyword">class </span><a class="code" href="classTProgram.html">TProgram</a> : <span class="keyword">public</span> <a class="code" href="classTGroup.html">TGroup</a>, <span class="keyword">public</span> <span class="keyword">virtual</span> <a class="code" href="classTProgInit.html">TProgInit</a>
+00525 {
+00526 <span class="keyword">public</span>:
+00547 <a class="code" href="classTProgram.html#a0">TProgram</a>();
+00554 <span class="keyword">virtual</span> <a class="code" href="classTProgram.html#a1">~TProgram</a>();
+00562 <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTProgram.html#a2">canMoveFocus</a>();
+00582 <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="classTProgram.html#a3">executeDialog</a>(<a class="code" href="classTDialog.html">TDialog</a>* pD, <span class="keywordtype">void</span>*data = 0);
+00602 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTProgram.html#a4">getEvent</a>(<a class="code" href="structTEvent.html">TEvent</a>&amp; event);
+00610 <span class="keyword">virtual</span> <a class="code" href="classTPalette.html">TPalette</a>&amp; <a class="code" href="classTProgram.html#a5">getPalette</a>() <span class="keyword">const</span>;
+00630 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTProgram.html#a6">handleEvent</a>(<a class="code" href="structTEvent.html">TEvent</a>&amp; event);
+00653 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTProgram.html#a7">idle</a>();
+00667 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTProgram.html#a8">initScreen</a>();
+00679 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTProgram.html#a9">outOfMemory</a>();
+00690 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTProgram.html#a10">putEvent</a>( <a class="code" href="structTEvent.html">TEvent</a>&amp; event );
+00697 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTProgram.html#a11">run</a>();
+00701 <span class="keyword">virtual</span> <a class="code" href="classTWindow.html">TWindow</a>* <a class="code" href="classTProgram.html#a12">insertWindow</a>(<a class="code" href="classTWindow.html">TWindow</a>*);
+00720 <span class="keywordtype">void</span> <a class="code" href="classTProgram.html#a13">setScreenMode</a>( <a class="code" href="ttypes_8h.html#a0">ushort</a> mode );
+00739 <a class="code" href="classTView.html">TView</a> *<a class="code" href="classTProgram.html#a14">validView</a>( <a class="code" href="classTView.html">TView</a> *p );
+00751 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTProgram.html#a15">shutDown</a>();
+<a name="l00759"></a><a class="code" href="classTProgram.html#a16">00759</a> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTProgram.html#a16">suspend</a>() {}
+<a name="l00767"></a><a class="code" href="classTProgram.html#a17">00767</a> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTProgram.html#a17">resume</a>() {}
+00783 <span class="keyword">static</span> <a class="code" href="classTStatusLine.html">TStatusLine</a> *<a class="code" href="classTProgram.html#d0">initStatusLine</a>( <a class="code" href="classTRect.html">TRect</a> );
+00799 <span class="keyword">static</span> <a class="code" href="classTMenuBar.html">TMenuBar</a> *<a class="code" href="classTProgram.html#d1">initMenuBar</a>( <a class="code" href="classTRect.html">TRect</a> );
+00815 <span class="keyword">static</span> <a class="code" href="classTDeskTop.html">TDeskTop</a> *<a class="code" href="classTProgram.html#d2">initDeskTop</a>( <a class="code" href="classTRect.html">TRect</a> );
+<a name="l00825"></a><a class="code" href="classTProgram.html#p0">00825</a> <span class="keyword">static</span> <a class="code" href="classTProgram.html">TProgram</a> * <a class="code" href="classTProgram.html#p0">application</a>;
+<a name="l00833"></a><a class="code" href="classTProgram.html#p1">00833</a> <span class="keyword">static</span> <a class="code" href="classTStatusLine.html">TStatusLine</a> * <a class="code" href="classTProgram.html#p1">statusLine</a>;
+<a name="l00841"></a><a class="code" href="classTProgram.html#p2">00841</a> <span class="keyword">static</span> <a class="code" href="classTMenuBar.html">TMenuBar</a> * <a class="code" href="classTProgram.html#p2">menuBar</a>;
+<a name="l00849"></a><a class="code" href="classTProgram.html#p3">00849</a> <span class="keyword">static</span> <a class="code" href="classTDeskTop.html">TDeskTop</a> * <a class="code" href="classTProgram.html#p3">deskTop</a>;
+<a name="l00866"></a><a class="code" href="classTProgram.html#p4">00866</a> <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="classTProgram.html#p4">appPalette</a>;
+00867 <span class="keyword">protected</span>:
+<a name="l00874"></a><a class="code" href="classTProgram.html#q0">00874</a> <span class="keyword">static</span> <a class="code" href="structTEvent.html">TEvent</a> <a class="code" href="classTProgram.html#q0">pending</a>;
+00875 <span class="keyword">private</span>:
+00876 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * exitText;
+00877 };
+00878
+00879 <span class="preprocessor">#endif</span>
+00880 <span class="preprocessor"></span>
+00881 <span class="preprocessor">#if defined( Uses_TApplication ) &amp;&amp; !defined( __TApplication )</span>
+00882 <span class="preprocessor"></span><span class="preprocessor">#define __TApplication</span>
+00883 <span class="preprocessor"></span>
+<a name="l00907"></a><a class="code" href="classTApplication.html">00907</a> <span class="keyword">class </span><a class="code" href="classTApplication.html">TApplication</a> : <span class="keyword">public</span> <a class="code" href="classTScreen.html">TScreen</a>, <span class="keyword">public</span> <a class="code" href="classTProgram.html">TProgram</a>
+00908 {
+00909 <span class="keyword">protected</span>:
+00936 <a class="code" href="classTApplication.html#b0">TApplication</a>();
+00943 <span class="keyword">virtual</span> <a class="code" href="classTApplication.html#b1">~TApplication</a>();
+00944 <span class="keyword">public</span>:
+00953 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTApplication.html#a0">suspend</a>();
+00962 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTApplication.html#a1">resume</a>();
+<a name="l00968"></a><a class="code" href="classTApplication.html#a2">00968</a> <span class="keywordtype">void</span> <a class="code" href="classTApplication.html#a2">getEvent</a>(<a class="code" href="structTEvent.html">TEvent</a>&amp; event) { <a class="code" href="classTProgram.html#a4">TProgram::getEvent</a>(event); };
+00969 };
+00970
+00971 <span class="preprocessor">#endif</span>
+</pre></div><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:08 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/app_8h.html b/freebsdtvision/doc/html/app_8h.html
new file mode 100644
index 0000000..2920b22
--- /dev/null
+++ b/freebsdtvision/doc/html/app_8h.html
@@ -0,0 +1,445 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>app.h File Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>app.h File Reference</h1>
+<p>
+<a href="app_8h-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Compounds</h2></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTApplication.html">TApplication</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>The mother of all applications.</em> <a href="classTApplication.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTBackground.html">TBackground</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>The default desktop background.</em> <a href="classTBackground.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTDeskInit.html">TDeskInit</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Virtual base class for <a class="el" href="classTDeskTop.html">TDeskTop</a>.</em> <a href="classTDeskInit.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTDeskTop.html">TDeskTop</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>The desktop of the application.</em> <a href="classTDeskTop.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTProgInit.html">TProgInit</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Virtual base class for <a class="el" href="classTProgram.html">TProgram</a>.</em> <a href="classTProgInit.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTProgram.html">TProgram</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>The mother of <a class="el" href="classTApplication.html">TApplication</a>.</em> <a href="classTProgram.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td colspan=2><br><h2>Functions</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="app_8h.html#a24">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTBackground.html">TBackground</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="app_8h.html#a25">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTBackground.html">TBackground</a> *&amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="app_8h.html#a26">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTBackground.html">TBackground</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="app_8h.html#a27">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTBackground.html">TBackground</a> *cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="app_8h.html#a28">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTDeskTop.html">TDeskTop</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="app_8h.html#a29">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTDeskTop.html">TDeskTop</a> *&amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="app_8h.html#a30">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTDeskTop.html">TDeskTop</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="app_8h.html#a31">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTDeskTop.html">TDeskTop</a> *cl)</td></tr>
+<tr><td colspan=2><br><h2>Variables</h2></td></tr>
+<tr><td nowrap align=right valign=top>const int&nbsp;</td><td valign=bottom><a class="el" href="app_8h.html#a21">apColor</a> = 0</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="app_8h.html#a22">apBlackWhite</a> = 1</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="app_8h.html#a23">apMonochrome</a> = 2</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+ <a class="el" href="app_8h.html">app.h</a>
+<p>
+
+<p>
+Definition in file <a class="el" href="app_8h-source.html">app.h</a>.<hr><h2>Function Documentation</h2>
+<a name="a31" doxytag="app.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTDeskTop.html">TDeskTop</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="app_8h-source.html#l00314">314</a> of file <a class="el" href="app_8h-source.html">app.h</a>. </td>
+ </tr>
+</table>
+<a name="a30" doxytag="app.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTDeskTop.html">TDeskTop</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="app_8h-source.html#l00309">309</a> of file <a class="el" href="app_8h-source.html">app.h</a>. </td>
+ </tr>
+</table>
+<a name="a27" doxytag="app.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTBackground.html">TBackground</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="app_8h-source.html#l00116">116</a> of file <a class="el" href="app_8h-source.html">app.h</a>. </td>
+ </tr>
+</table>
+<a name="a26" doxytag="app.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTBackground.html">TBackground</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="app_8h-source.html#l00111">111</a> of file <a class="el" href="app_8h-source.html">app.h</a>. </td>
+ </tr>
+</table>
+<a name="a29" doxytag="app.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTDeskTop.html">TDeskTop</a> *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="app_8h-source.html#l00303">303</a> of file <a class="el" href="app_8h-source.html">app.h</a>. </td>
+ </tr>
+</table>
+<a name="a28" doxytag="app.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTDeskTop.html">TDeskTop</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="app_8h-source.html#l00298">298</a> of file <a class="el" href="app_8h-source.html">app.h</a>. </td>
+ </tr>
+</table>
+<a name="a25" doxytag="app.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTBackground.html">TBackground</a> *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="app_8h-source.html#l00105">105</a> of file <a class="el" href="app_8h-source.html">app.h</a>. </td>
+ </tr>
+</table>
+<a name="a24" doxytag="app.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTBackground.html">TBackground</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="app_8h-source.html#l00100">100</a> of file <a class="el" href="app_8h-source.html">app.h</a>. </td>
+ </tr>
+</table>
+<hr><h2>Variable Documentation</h2>
+<a name="a22" doxytag="app.h::apBlackWhite"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> apBlackWhite = 1
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Use palette for LCD screen. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTProgram.html#p4">TProgram::appPalette</a> </dl>
+<p>
+Definition at line <a class="el" href="app_8h-source.html#l00497">497</a> of file <a class="el" href="app_8h-source.html">app.h</a>. </td>
+ </tr>
+</table>
+<a name="a21" doxytag="app.h::apColor"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> apColor = 0
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Use palette for color screen. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTProgram.html#p4">TProgram::appPalette</a> </dl> </td>
+ </tr>
+</table>
+<a name="a23" doxytag="app.h::apMonochrome"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> apMonochrome = 2
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Use palette for monochrome screen. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTProgram.html#p4">TProgram::appPalette</a> </dl>
+<p>
+Definition at line <a class="el" href="app_8h-source.html#l00503">503</a> of file <a class="el" href="app_8h-source.html">app.h</a>. </td>
+ </tr>
+</table>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:10 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/buffers_8h-source.html b/freebsdtvision/doc/html/buffers_8h-source.html
new file mode 100644
index 0000000..9fe132e
--- /dev/null
+++ b/freebsdtvision/doc/html/buffers_8h-source.html
@@ -0,0 +1,73 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>buffers.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>buffers.h</h1><a href="buffers_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="comment">/*</span>
+00002 <span class="comment"> * buffers.h</span>
+00003 <span class="comment"> *</span>
+00004 <span class="comment"> * Turbo Vision - Version 2.0</span>
+00005 <span class="comment"> *</span>
+00006 <span class="comment"> * Copyright (c) 1994 by Borland International</span>
+00007 <span class="comment"> * All Rights Reserved.</span>
+00008 <span class="comment"> *</span>
+00009 <span class="comment"> * Modified by Sergio Sigala &lt;sergio@sigala.it&gt;</span>
+00010 <span class="comment"> */</span>
+00011
+00012 <span class="preprocessor">#if defined( Uses_TVMemMgr ) &amp;&amp; !defined( __TVMemMgr )</span>
+00013 <span class="preprocessor"></span><span class="preprocessor">#define __TVMemMgr</span>
+00014 <span class="preprocessor"></span>
+<a name="l00026"></a><a class="code" href="buffers_8h.html#a0">00026</a> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="buffers_8h.html#a0">DEFAULT_SAFETY_POOL_SIZE</a> = 4096;
+00027
+<a name="l00036"></a><a class="code" href="classTBufListEntry.html">00036</a> <span class="keyword">class </span><a class="code" href="classTBufListEntry.html">TBufListEntry</a>
+00037 {
+00038 <span class="keyword">private</span>:
+00039 <a class="code" href="classTBufListEntry.html">TBufListEntry</a>( <span class="keywordtype">void</span>*&amp; );
+00040 ~<a class="code" href="classTBufListEntry.html">TBufListEntry</a>();
+00041 <span class="keywordtype">void</span> *operator new( size_t, size_t );
+00059 <span class="keywordtype">void</span> *operator new( size_t sz );
+00068 <span class="keywordtype">void</span> operator delete( <span class="keywordtype">void</span> * );
+00069 <a class="code" href="classTBufListEntry.html">TBufListEntry</a> *next;
+00070 <a class="code" href="classTBufListEntry.html">TBufListEntry</a> *prev;
+00071 <span class="keywordtype">void</span>*&amp; owner;
+00072 <span class="keyword">static</span> <a class="code" href="classTBufListEntry.html">TBufListEntry</a> *bufList;
+00073 <span class="keyword">static</span> <a class="code" href="ttypes_8h.html#a13">Boolean</a> freeHead();
+00074 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classTVMemMgr.html">TVMemMgr</a>;
+00075 <span class="keyword">friend</span> <span class="keywordtype">void</span> *operator new( size_t );
+00076 <span class="keyword">friend</span> <span class="keywordtype">void</span> * allocBlock( size_t );
+00077 };
+00078
+<a name="l00088"></a><a class="code" href="classTVMemMgr.html">00088</a> <span class="keyword">class </span><a class="code" href="classTVMemMgr.html">TVMemMgr</a>
+00089 {
+00090 <span class="keyword">public</span>:
+00104 <a class="code" href="classTVMemMgr.html#a0">TVMemMgr</a>();
+00116 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTVMemMgr.html#d0">resizeSafetyPool</a>( size_t sz = <a class="code" href="buffers_8h.html#a0">DEFAULT_SAFETY_POOL_SIZE</a> );
+00121 <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="classTVMemMgr.html#d1">safetyPoolExhausted</a>();
+00122 <span class="preprocessor">#ifndef __UNPATCHED</span>
+00123 <span class="preprocessor"></span>
+00126 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTVMemMgr.html#d2">clearSafetyPool</a>();
+00127 <span class="preprocessor">#endif</span>
+00128 <span class="preprocessor"></span>
+00137 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTVMemMgr.html#d3">allocateDiscardable</a>( <span class="keywordtype">void</span> *&amp;adr, size_t sz );
+00145 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTVMemMgr.html#d4">freeDiscardable</a>( <span class="keywordtype">void</span> * );
+00146 <span class="preprocessor">#ifndef __UNPATCHED</span>
+00147 <span class="preprocessor"></span>
+00150 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTVMemMgr.html#d5">suspend</a>(<span class="keywordtype">void</span>);
+00151 <span class="preprocessor">#endif</span>
+00152 <span class="preprocessor"></span><span class="keyword">private</span>:
+00159 <span class="keyword">static</span> <span class="keywordtype">void</span> * safetyPool;
+00168 <span class="keyword">static</span> size_t safetyPoolSize;
+00173 <span class="keyword">static</span> <span class="keywordtype">int</span> inited;
+00174 <span class="keyword">static</span> <span class="keywordtype">int</span> initMemMgr();
+00175 };
+00176
+00177 <span class="preprocessor">#endif // Uses_TVMemMgr</span>
+</pre></div><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:08 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/buffers_8h.html b/freebsdtvision/doc/html/buffers_8h.html
new file mode 100644
index 0000000..0c7a5e3
--- /dev/null
+++ b/freebsdtvision/doc/html/buffers_8h.html
@@ -0,0 +1,57 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>buffers.h File Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>buffers.h File Reference</h1>
+<p>
+<a href="buffers_8h-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Compounds</h2></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTBufListEntry.html">TBufListEntry</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Part of the memory manager.</em> <a href="classTBufListEntry.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTVMemMgr.html">TVMemMgr</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Part of the memory manager.</em> <a href="classTVMemMgr.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td colspan=2><br><h2>Variables</h2></td></tr>
+<tr><td nowrap align=right valign=top>const int&nbsp;</td><td valign=bottom><a class="el" href="buffers_8h.html#a0">DEFAULT_SAFETY_POOL_SIZE</a> = 4096</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Initial safety pool size.</em> <a href="#a0"></a><em></em></font><br><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+ <a class="el" href="buffers_8h.html">buffers.h</a>
+<p>
+
+<p>
+Definition in file <a class="el" href="buffers_8h-source.html">buffers.h</a>.<hr><h2>Variable Documentation</h2>
+<a name="a0" doxytag="buffers.h::DEFAULT_SAFETY_POOL_SIZE"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const int DEFAULT_SAFETY_POOL_SIZE = 4096
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Gives the initial default safety pool size in bytes. You can change this value by editing the declaration. If you call <a class="el" href="classTVMemMgr.html#d0">TVMemMgr::resizeSafetyPool()</a> with no size argument, this default value is assumed.
+<p>
+Definition at line <a class="el" href="buffers_8h-source.html#l00026">26</a> of file <a class="el" href="buffers_8h-source.html">buffers.h</a>. </td>
+ </tr>
+</table>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:10 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classMsgBoxText-members.html b/freebsdtvision/doc/html/classMsgBoxText-members.html
new file mode 100644
index 0000000..37fa739
--- /dev/null
+++ b/freebsdtvision/doc/html/classMsgBoxText-members.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>MsgBoxText Member List</h1>This is the complete list of members for <a class="el" href="classMsgBoxText.html">MsgBoxText</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classMsgBoxText.html#p3">cancelText</a></td><td><a class="el" href="classMsgBoxText.html">MsgBoxText</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classMsgBoxText.html#p7">confirmText</a></td><td><a class="el" href="classMsgBoxText.html">MsgBoxText</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classMsgBoxText.html#p5">errorText</a></td><td><a class="el" href="classMsgBoxText.html">MsgBoxText</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classMsgBoxText.html#p6">informationText</a></td><td><a class="el" href="classMsgBoxText.html">MsgBoxText</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classMsgBoxText.html#p1">noText</a></td><td><a class="el" href="classMsgBoxText.html">MsgBoxText</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classMsgBoxText.html#p2">okText</a></td><td><a class="el" href="classMsgBoxText.html">MsgBoxText</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classMsgBoxText.html#p4">warningText</a></td><td><a class="el" href="classMsgBoxText.html">MsgBoxText</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classMsgBoxText.html#p0">yesText</a></td><td><a class="el" href="classMsgBoxText.html">MsgBoxText</a></td><td><code> [static]</code></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:15 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classMsgBoxText.html b/freebsdtvision/doc/html/classMsgBoxText.html
new file mode 100644
index 0000000..e8c3224
--- /dev/null
+++ b/freebsdtvision/doc/html/classMsgBoxText.html
@@ -0,0 +1,234 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>MsgBoxText class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>MsgBoxText Class Reference</h1>Contains a set of standard message strings.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="msgbox_8h-source.html">msgbox.h</a>&gt;</code>
+<p>
+<a href="classMsgBoxText-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>const char *&nbsp;</td><td valign=bottom><a class="el" href="classMsgBoxText.html#p0">yesText</a></td></tr>
+<tr><td nowrap align=right valign=top>const char *&nbsp;</td><td valign=bottom><a class="el" href="classMsgBoxText.html#p1">noText</a></td></tr>
+<tr><td nowrap align=right valign=top>const char *&nbsp;</td><td valign=bottom><a class="el" href="classMsgBoxText.html#p2">okText</a></td></tr>
+<tr><td nowrap align=right valign=top>const char *&nbsp;</td><td valign=bottom><a class="el" href="classMsgBoxText.html#p3">cancelText</a></td></tr>
+<tr><td nowrap align=right valign=top>const char *&nbsp;</td><td valign=bottom><a class="el" href="classMsgBoxText.html#p4">warningText</a></td></tr>
+<tr><td nowrap align=right valign=top>const char *&nbsp;</td><td valign=bottom><a class="el" href="classMsgBoxText.html#p5">errorText</a></td></tr>
+<tr><td nowrap align=right valign=top>const char *&nbsp;</td><td valign=bottom><a class="el" href="classMsgBoxText.html#p6">informationText</a></td></tr>
+<tr><td nowrap align=right valign=top>const char *&nbsp;</td><td valign=bottom><a class="el" href="classMsgBoxText.html#p7">confirmText</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+This class stores a set of standard strings used in message boxes.
+<p>
+If you need to change them, see file `tvtext.cc'. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="msgbox_8h.html#a11">messageBox</a> </dl>
+<p>
+
+<p>
+Definition at line <a class="el" href="msgbox_8h-source.html#l00118">118</a> of file <a class="el" href="msgbox_8h-source.html">msgbox.h</a>.<hr><h2>Member Data Documentation</h2>
+<a name="p3" doxytag="MsgBoxText::cancelText"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* MsgBoxText::cancelText<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Standard value is "Cancel".
+<p>
+Definition at line <a class="el" href="msgbox_8h-source.html#l00136">136</a> of file <a class="el" href="msgbox_8h-source.html">msgbox.h</a>. </td>
+ </tr>
+</table>
+<a name="p7" doxytag="MsgBoxText::confirmText"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* MsgBoxText::confirmText<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Standard value is "Confirm".
+<p>
+Definition at line <a class="el" href="msgbox_8h-source.html#l00152">152</a> of file <a class="el" href="msgbox_8h-source.html">msgbox.h</a>. </td>
+ </tr>
+</table>
+<a name="p5" doxytag="MsgBoxText::errorText"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* MsgBoxText::errorText<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Standard value is "Error".
+<p>
+Definition at line <a class="el" href="msgbox_8h-source.html#l00144">144</a> of file <a class="el" href="msgbox_8h-source.html">msgbox.h</a>. </td>
+ </tr>
+</table>
+<a name="p6" doxytag="MsgBoxText::informationText"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* MsgBoxText::informationText<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Standard value is "Information".
+<p>
+Definition at line <a class="el" href="msgbox_8h-source.html#l00148">148</a> of file <a class="el" href="msgbox_8h-source.html">msgbox.h</a>. </td>
+ </tr>
+</table>
+<a name="p1" doxytag="MsgBoxText::noText"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* MsgBoxText::noText<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Standard value is "~N~o".
+<p>
+Definition at line <a class="el" href="msgbox_8h-source.html#l00128">128</a> of file <a class="el" href="msgbox_8h-source.html">msgbox.h</a>. </td>
+ </tr>
+</table>
+<a name="p2" doxytag="MsgBoxText::okText"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* MsgBoxText::okText<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Standard value is "O~K~".
+<p>
+Definition at line <a class="el" href="msgbox_8h-source.html#l00132">132</a> of file <a class="el" href="msgbox_8h-source.html">msgbox.h</a>. </td>
+ </tr>
+</table>
+<a name="p4" doxytag="MsgBoxText::warningText"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* MsgBoxText::warningText<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Standard value is "Warning".
+<p>
+Definition at line <a class="el" href="msgbox_8h-source.html#l00140">140</a> of file <a class="el" href="msgbox_8h-source.html">msgbox.h</a>. </td>
+ </tr>
+</table>
+<a name="p0" doxytag="MsgBoxText::yesText"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* MsgBoxText::yesText<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Standard value is "~Y~es".
+<p>
+Definition at line <a class="el" href="msgbox_8h-source.html#l00124">124</a> of file <a class="el" href="msgbox_8h-source.html">msgbox.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="msgbox_8h-source.html">msgbox.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:15 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTApplication-members.html b/freebsdtvision/doc/html/classTApplication-members.html
new file mode 100644
index 0000000..af572e4
--- /dev/null
+++ b/freebsdtvision/doc/html/classTApplication-members.html
@@ -0,0 +1,206 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TApplication Member List</h1>This is the complete list of members for <a class="el" href="classTApplication.html">TApplication</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgram.html#p0">application</a></td><td><a class="el" href="classTProgram.html">TProgram</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgram.html#p4">appPalette</a></td><td><a class="el" href="classTProgram.html">TProgram</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a17">at</a>(short index)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a5">awaken</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a32">blockCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m4">buffer</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#d0">build</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a10">calcBounds</a>(TRect &amp;bounds, TPoint delta)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgram.html#a2">canMoveFocus</a>()</td><td><a class="el" href="classTProgram.html">TProgram</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a25">changeBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a38">clearEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m2">clip</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d0">commandEnabled</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p0">commandSetChanged</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a7">containsMouse</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgInit.html#n2">createDeskTop</a></td><td><a class="el" href="classTProgInit.html">TProgInit</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgInit.html#n1">createMenuBar</a></td><td><a class="el" href="classTProgInit.html">TProgInit</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgInit.html#n0">createStatusLine</a></td><td><a class="el" href="classTProgInit.html">TProgInit</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p1">curCommandSet</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m0">current</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m6">cursor</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a26">dataSize</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgram.html#p3">deskTop</a></td><td><a class="el" href="classTProgram.html">TProgram</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d3">disableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d1">disableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m8">dragMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a9">dragView</a>(TEvent &amp;event, uchar mode, TRect &amp;limits, TPoint minSize, TPoint maxSize)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a29">draw</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScreen.html#d5">TScreen::drawCursor</a>(int show)</td><td><a class="el" href="classTScreen.html">TScreen</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a37">TProgram::drawCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a24">drawHide</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScreen.html#d6">drawMouse</a>(int show)</td><td><a class="el" href="classTScreen.html">TScreen</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a25">drawShow</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a24">drawSubViews</a>(TView *p, TView *bottom)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a26">drawUnderRect</a>(TRect &amp;r, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a27">drawUnderView</a>(Boolean doShadow, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a20">drawView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d4">enableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d2">enableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a34">endModal</a>(ushort command)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m6">endState</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>enterSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p3">errorAttr</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a39">eventAvail</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a35">eventError</a>(TEvent &amp;event)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m3">eventMask</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a4">execute</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgram.html#a3">executeDialog</a>(TDialog *pD, void *data=0)</td><td><a class="el" href="classTProgram.html">TProgram</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a3">execView</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a21">exposed</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScreen.html#p9">fdActualExcept</a></td><td><a class="el" href="classTScreen.html">TScreen</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScreen.html#p7">fdActualRead</a></td><td><a class="el" href="classTScreen.html">TScreen</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScreen.html#p8">fdActualWrite</a></td><td><a class="el" href="classTScreen.html">TScreen</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScreen.html#p6">fdSetExcept</a></td><td><a class="el" href="classTScreen.html">TScreen</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScreen.html#p4">fdSetRead</a></td><td><a class="el" href="classTScreen.html">TScreen</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScreen.html#p5">fdSetWrite</a></td><td><a class="el" href="classTScreen.html">TScreen</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a21">first</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a18">firstMatch</a>(ushort aState, ushort aOptions)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a12">firstThat</a>(Boolean(*func)(TView *, void *), void *args)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a22">focus</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a13">focusNext</a>(Boolean forwards)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a14">forEach</a>(void(*func)(TView *, void *), void *args)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a38">freeBuffer</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a3">getBounds</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a39">getBuffer</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a5">getClipRect</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a45">getColor</a>(ushort color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d5">getCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a27">getData</a>(void *rec)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTApplication.html#a2">getEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTApplication.html">TApplication</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a4">getExtent</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a36">getHelpCtx</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgram.html#a5">getPalette</a>() const</td><td><a class="el" href="classTProgram.html">TProgram</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a48">getState</a>(ushort aState)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m7">growMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a12">growTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgram.html#a6">handleEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTProgram.html">TProgram</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m9">helpCtx</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a17">hide</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a23">hideCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgram.html#a7">idle</a>()</td><td><a class="el" href="classTProgram.html">TProgram</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a19">indexOf</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgram.html#d2">initDeskTop</a>(TRect)</td><td><a class="el" href="classTProgram.html">TProgram</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgram.html#d1">initMenuBar</a>(TRect)</td><td><a class="el" href="classTProgram.html">TProgram</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgram.html#a8">initScreen</a>()</td><td><a class="el" href="classTProgram.html">TProgram</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgram.html#d0">initStatusLine</a>(TRect)</td><td><a class="el" href="classTProgram.html">TProgram</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a15">insert</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a16">insertBefore</a>(TView *p, TView *Target)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a6">insertView</a>(TView *p, TView *Target)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgram.html#a12">insertWindow</a>(TWindow *)</td><td><a class="el" href="classTProgram.html">TProgram</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a51">keyEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m1">last</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>leaveSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a8">locate</a>(TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a31">lock</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m5">lockFlag</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScreen.html#d1">makeBeep</a>()</td><td><a class="el" href="classTScreen.html">TScreen</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a58">makeFirst</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a53">makeGlobal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a54">makeLocal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a47">mapColor</a>(uchar)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a20">matches</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgram.html#p2">menuBar</a></td><td><a class="el" href="classTProgram.html">TProgram</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a52">mouseEvent</a>(TEvent &amp;event, ushort mask)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a6">mouseInView</a>(TPoint mouse)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScreen.html#d7">moveCursor</a>(int x, int y)</td><td><a class="el" href="classTScreen.html">TScreen</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a13">moveTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#p0">name</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m0">next</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a55">nextView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a33">normalCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>normalSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m2">options</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m5">origin</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgram.html#a9">outOfMemory</a>()</td><td><a class="el" href="classTProgram.html">TProgram</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m10">owner</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgram.html#q0">pending</a></td><td><a class="el" href="classTProgram.html">TProgram</a></td><td><code> [protected, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m3">phase</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s6">phaseType</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phFocused</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPostProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPreProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a57">prev</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a56">prevView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScreen.html#d2">TScreen::putEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTScreen.html">TScreen</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgram.html#a10">TProgram::putEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTProgram.html">TProgram</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a59">putInFrontOf</a>(TView *Target)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#b2">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a30">redraw</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a7">remove</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a8">removeView</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a9">resetCurrent</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a33">resetCursor</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTApplication.html#a1">resume</a>()</td><td><a class="el" href="classTApplication.html">TApplication</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgram.html#a11">run</a>()</td><td><a class="el" href="classTProgram.html">TProgram</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScreen.html#p3">screenBuffer</a></td><td><a class="el" href="classTScreen.html">TScreen</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScreen.html#p2">screenHeight</a></td><td><a class="el" href="classTScreen.html">TScreen</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScreen.html#p0">screenMode</a></td><td><a class="el" href="classTScreen.html">TScreen</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScreen.html#p1">screenWidth</a></td><td><a class="el" href="classTScreen.html">TScreen</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a49">select</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s7">selectMode</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a11">selectNext</a>(Boolean forwards)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a14">setBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d7">setCmdState</a>(TCommandSet &amp;commands, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d6">setCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a10">setCurrent</a>(TView *p, selectMode mode)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a35">setCursor</a>(int x, int y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a28">setData</a>(void *rec)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgram.html#a13">setScreenMode</a>(ushort mode)</td><td><a class="el" href="classTProgram.html">TProgram</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a22">setState</a>(ushort aState, Boolean enable)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a18">show</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a36">showCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p2">showMarkers</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgram.html#a15">shutDown</a>()</td><td><a class="el" href="classTProgram.html">TProgram</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m1">size</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a2">sizeLimits</a>(TPoint &amp;min, TPoint &amp;max)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>smBW80</b> enum value (defined in <a class="el" href="classTDisplay.html">TDisplay</a>)</td><td><a class="el" href="classTDisplay.html">TDisplay</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>smCO80</b> enum value (defined in <a class="el" href="classTDisplay.html">TDisplay</a>)</td><td><a class="el" href="classTDisplay.html">TDisplay</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>smFont8x8</b> enum value (defined in <a class="el" href="classTDisplay.html">TDisplay</a>)</td><td><a class="el" href="classTDisplay.html">TDisplay</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>smMono</b> enum value (defined in <a class="el" href="classTDisplay.html">TDisplay</a>)</td><td><a class="el" href="classTDisplay.html">TDisplay</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m4">state</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgram.html#p1">statusLine</a></td><td><a class="el" href="classTProgram.html">TProgram</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTApplication.html#a0">suspend</a>()</td><td><a class="el" href="classTApplication.html">TApplication</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTApplication.html#b0">TApplication</a>()</td><td><a class="el" href="classTApplication.html">TApplication</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a0">TGroup</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#b0">TGroup</a>(StreamableInit)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a60">TopView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgInit.html#a0">TProgInit</a>(TStatusLine *(*cStatusLine)(TRect), TMenuBar *(*cMenuBar)(TRect), TDeskTop *(*cDeskTop)(TRect))</td><td><a class="el" href="classTProgInit.html">TProgInit</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgram.html#a0">TProgram</a>()</td><td><a class="el" href="classTProgram.html">TProgram</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScreen.html#a0">TScreen</a>()</td><td><a class="el" href="classTScreen.html">TScreen</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a0">TView</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#b0">TView</a>(StreamableInit)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a32">unlock</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a37">valid</a>(ushort command)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgram.html#a14">validView</a>(TView *p)</td><td><a class="el" href="classTProgram.html">TProgram</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDisplay.html#s4">videoModes</a> enum name</td><td><a class="el" href="classTDisplay.html">TDisplay</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#b1">write</a>(opstream &amp;os)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a61">writeBuf</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a62">writeBuf</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a63">writeChar</a>(short x, short y, char c, uchar color, short count)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a64">writeLine</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a65">writeLine</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScreen.html#d8">writeRow</a>(int dst, ushort *src, int len)</td><td><a class="el" href="classTScreen.html">TScreen</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a66">writeStr</a>(short x, short y, const char *str, uchar color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTApplication.html#b1">~TApplication</a>()</td><td><a class="el" href="classTApplication.html">TApplication</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a1">~TGroup</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgram.html#a1">~TProgram</a>()</td><td><a class="el" href="classTProgram.html">TProgram</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScreen.html#a1">~TScreen</a>()</td><td><a class="el" href="classTScreen.html">TScreen</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a1">~TView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:11 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTApplication.html b/freebsdtvision/doc/html/classTApplication.html
new file mode 100644
index 0000000..a2767c8
--- /dev/null
+++ b/freebsdtvision/doc/html/classTApplication.html
@@ -0,0 +1,233 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TApplication class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TApplication Class Reference</h1>The mother of all applications.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="app_8h-source.html">app.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TApplication:
+<p><center><img src="classTApplication.png" usemap="#TApplication_map" border="0" alt=""></center>
+<map name="TApplication_map">
+<area href="classTScreen.html" alt="TScreen" shape="rect" coords="0,168,82,192">
+<area href="classTProgram.html" alt="TProgram" shape="rect" coords="138,168,220,192">
+<area href="classTDisplay.html" alt="TDisplay" shape="rect" coords="0,112,82,136">
+<area href="classTGroup.html" alt="TGroup" shape="rect" coords="92,112,174,136">
+<area href="classTProgInit.html" alt="TProgInit" shape="rect" coords="184,112,266,136">
+<area href="classTView.html" alt="TView" shape="rect" coords="92,56,174,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="46,0,128,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="138,0,220,24">
+</map>
+<a href="classTApplication-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTApplication.html#a0">suspend</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTApplication.html#a1">resume</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTApplication.html#a2">getEvent</a> (<a class="el" href="structTEvent.html">TEvent</a> &amp;event)</td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTApplication.html#b0">TApplication</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual&nbsp;</td><td valign=bottom><a class="el" href="classTApplication.html#b1">~TApplication</a> ()</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+The mother of all applications.
+<p>
+TApplication is a shell around <a class="el" href="classTProgram.html">TProgram</a> and differs from it mainly in constructor and destructor. TApplication provides the application with a standard menu bar, a standard desktop and a standard status line.
+<p>
+In any real application, you usually need to inherit TApplication and redefine some of its methods. For example to add custom menus you must redefine <a class="el" href="classTProgram.html#d1">TProgram::initMenuBar()</a>. To add a custom status line, you need to redefine <a class="el" href="classTProgram.html#d0">TProgram::initStatusLine()</a>. In the same way, to add a custom desktop you need to redefine <a class="el" href="classTProgram.html#d2">TProgram::initDeskTop()</a>.
+<p>
+TVision's subsystems (the memory, video, event, system error, and history list managers) are all static objects, so they are constructed before entering into main, and are all destroyed on exit from main.
+<p>
+Should you require a different sequence of subsystem initialization and shut down, however, you can derive your application from <a class="el" href="classTProgram.html">TProgram</a>, and manually initialize and shut down the TVision subsystems along with your own.
+<p>
+
+<p>
+Definition at line <a class="el" href="app_8h-source.html#l00907">907</a> of file <a class="el" href="app_8h-source.html">app.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="b0" doxytag="TApplication::TApplication"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TApplication::TApplication </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructor.
+<p>
+Initializes the basics of the library.
+<p>
+This creates a default TApplication object by passing the three init function pointers to the <a class="el" href="classTProgInit.html">TProgInit</a> constructor.
+<p>
+TApplication objects get a full-screen view, <a class="el" href="classTProgram.html#a8">TProgram::initScreen()</a> is called to set up various screen-mode-dependent variables, and a screen buffer is allocated.
+<p>
+<a class="el" href="classTProgram.html#d2">initDeskTop()</a>, <a class="el" href="classTProgram.html#d0">initStatusLine()</a>, and <a class="el" href="classTProgram.html#d1">initMenuBar()</a> are then called to create the three basic TVision views for your application. Then the desk top, status line, and menu bar objects are inserted in the application group.
+<p>
+The state data member is set to (<a class="el" href="views_8h.html#a26">sfVisible</a> | <a class="el" href="views_8h.html#a31">sfSelected</a> | <a class="el" href="views_8h.html#a32">sfFocused</a> | <a class="el" href="views_8h.html#a35">sfModal</a> | <a class="el" href="views_8h.html#a37">sfExposed</a>).
+<p>
+The options data member is set to zero.
+<p>
+Finally, the application pointer is set (to this object) and initHistory() is called to initialize an associated <a class="el" href="classTHistory.html">THistory</a> object. </td>
+ </tr>
+</table>
+<a name="b1" doxytag="TApplication::~TApplication"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual TApplication::~TApplication </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Destructor.
+<p>
+Destroys the application object and, via the base destructors, destroys all its associated objects and frees all memory allocations. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="a2" doxytag="TApplication::getEvent"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TApplication::getEvent </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="structTEvent.html">TEvent</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>event</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Gets the next event from the event queue.
+<p>
+Simply calls <a class="el" href="classTProgram.html#a4">TProgram::getEvent()</a>.
+<p>
+Reimplemented from <a class="el" href="classTProgram.html#a4">TProgram</a>.
+<p>
+Definition at line <a class="el" href="app_8h-source.html#l00968">968</a> of file <a class="el" href="app_8h-source.html">app.h</a>.
+<p>
+References <a class="el" href="classTProgram.html#a4">TProgram::getEvent()</a>. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TApplication::resume"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TApplication::resume </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Restores the execution of the application.
+<p>
+Resumes the normal program execution. In my port, by default, it is called after the user recovers the execution of the program with `fg'. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTScreen.html#d3">TScreen::resume</a> </dl>
+<p>
+Reimplemented from <a class="el" href="classTProgram.html#a17">TProgram</a>. </td>
+ </tr>
+</table>
+<a name="a0" doxytag="TApplication::suspend"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TApplication::suspend </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Stops the execution of the application.
+<p>
+Suspends the program, used usually before temporary exit. In my port, by default, this function is called just after the user presses Ctrl-Z to suspend the program. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTScreen.html#d4">TScreen::suspend</a> </dl>
+<p>
+Reimplemented from <a class="el" href="classTProgram.html#a16">TProgram</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="app_8h-source.html">app.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:11 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTApplication.png b/freebsdtvision/doc/html/classTApplication.png
new file mode 100644
index 0000000..93b15ba
--- /dev/null
+++ b/freebsdtvision/doc/html/classTApplication.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTBackground-members.html b/freebsdtvision/doc/html/classTBackground-members.html
new file mode 100644
index 0000000..1fb82c1
--- /dev/null
+++ b/freebsdtvision/doc/html/classTBackground-members.html
@@ -0,0 +1,124 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TBackground Member List</h1>This is the complete list of members for <a class="el" href="classTBackground.html">TBackground</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a31">awaken</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a32">blockCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTBackground.html#d0">build</a>()</td><td><a class="el" href="classTBackground.html">TBackground</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a10">calcBounds</a>(TRect &amp;bounds, TPoint delta)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a11">changeBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a38">clearEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d0">commandEnabled</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p0">commandSetChanged</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a7">containsMouse</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p1">curCommandSet</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m6">cursor</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a28">dataSize</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d3">disableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d1">disableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m8">dragMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a9">dragView</a>(TEvent &amp;event, uchar mode, TRect &amp;limits, TPoint minSize, TPoint maxSize)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTBackground.html#a1">draw</a>()</td><td><a class="el" href="classTBackground.html">TBackground</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a37">drawCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a24">drawHide</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a25">drawShow</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a26">drawUnderRect</a>(TRect &amp;r, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a27">drawUnderView</a>(Boolean doShadow, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a20">drawView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d4">enableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d2">enableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a43">endModal</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>enterSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p3">errorAttr</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a39">eventAvail</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m3">eventMask</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a44">execute</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a21">exposed</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a22">focus</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a3">getBounds</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a5">getClipRect</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a45">getColor</a>(ushort color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d5">getCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a29">getData</a>(void *rec)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a40">getEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a4">getExtent</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a15">getHelpCtx</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTBackground.html#a2">getPalette</a>() const</td><td><a class="el" href="classTBackground.html">TBackground</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a48">getState</a>(ushort aState)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m7">growMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a12">growTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a41">handleEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m9">helpCtx</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a17">hide</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a23">hideCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a51">keyEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>leaveSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a8">locate</a>(TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a58">makeFirst</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a53">makeGlobal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a54">makeLocal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a47">mapColor</a>(uchar)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a52">mouseEvent</a>(TEvent &amp;event, ushort mask)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a6">mouseInView</a>(TPoint mouse)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a13">moveTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTBackground.html#p0">name</a></td><td><a class="el" href="classTBackground.html">TBackground</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m0">next</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a55">nextView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a33">normalCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>normalSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m2">options</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m5">origin</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m10">owner</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTBackground.html#n0">pattern</a></td><td><a class="el" href="classTBackground.html">TBackground</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s6">phaseType</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phFocused</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPostProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPreProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a57">prev</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a56">prevView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a42">putEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a59">putInFrontOf</a>(TView *Target)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTBackground.html#b2">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTBackground.html">TBackground</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a34">resetCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a49">select</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s7">selectMode</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a14">setBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d7">setCmdState</a>(TCommandSet &amp;commands, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d6">setCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a35">setCursor</a>(int x, int y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a30">setData</a>(void *rec)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a50">setState</a>(ushort aState, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a18">show</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a36">showCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p2">showMarkers</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a67">shutDown</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m1">size</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a2">sizeLimits</a>(TPoint &amp;min, TPoint &amp;max)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m4">state</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTBackground.html#a0">TBackground</a>(const TRect &amp;bounds, char aPattern)</td><td><a class="el" href="classTBackground.html">TBackground</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTBackground.html#b0">TBackground</a>(StreamableInit)</td><td><a class="el" href="classTBackground.html">TBackground</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a60">TopView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a0">TView</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#b0">TView</a>(StreamableInit)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a16">valid</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTBackground.html#b1">write</a>(opstream &amp;os)</td><td><a class="el" href="classTBackground.html">TBackground</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a61">writeBuf</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a62">writeBuf</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a63">writeChar</a>(short x, short y, char c, uchar color, short count)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a64">writeLine</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a65">writeLine</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a66">writeStr</a>(short x, short y, const char *str, uchar color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a1">~TView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:11 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTBackground.html b/freebsdtvision/doc/html/classTBackground.html
new file mode 100644
index 0000000..e4fa1a8
--- /dev/null
+++ b/freebsdtvision/doc/html/classTBackground.html
@@ -0,0 +1,341 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TBackground class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TBackground Class Reference</h1>The default desktop background.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="app_8h-source.html">app.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TBackground:
+<p><center><img src="classTBackground.png" usemap="#TBackground_map" border="0" alt=""></center>
+<map name="TBackground_map">
+<area href="classTView.html" alt="TView" shape="rect" coords="48,56,135,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,87,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="97,0,184,24">
+</map>
+<a href="classTBackground-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTBackground.html#a0">TBackground</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;bounds, char aPattern)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTBackground.html#a1">draw</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="classTPalette.html">TPalette</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="classTBackground.html#a2">getPalette</a> () const</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStreamable.html">TStreamable</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTBackground.html#d0">build</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>const char *const&nbsp;</td><td valign=bottom><a class="el" href="classTBackground.html#p0">name</a></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTBackground.html#b0">TBackground</a> (<a class="el" href="ttypes_8h.html#a14">StreamableInit</a>)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTBackground.html#b1">write</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void *&nbsp;</td><td valign=bottom><a class="el" href="classTBackground.html#b2">read</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is)</td></tr>
+<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>char&nbsp;</td><td valign=bottom><a class="el" href="classTBackground.html#n0">pattern</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+The default desktop background.
+<p>
+TBackground is a very simple view which by default is the background of the desktop. It is a rectangle painted with an uniform pattern. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTDeskTop.html">TDeskTop</a> </dl>
+<p>
+
+<p>
+Definition at line <a class="el" href="app_8h-source.html#l00029">29</a> of file <a class="el" href="app_8h-source.html">app.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TBackground::TBackground"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TBackground::TBackground </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>bounds</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>char&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aPattern</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructor.
+<p>
+`bounds' is the bounding rectangle of the background.
+<p>
+<a class="el" href="classTView.html#m7">growMode</a> is set to <a class="el" href="views_8h.html#a52">gfGrowHiX</a> | <a class="el" href="views_8h.html#a53">gfGrowHiY</a>, and the pattern data member is set to `aPattern'. </td>
+ </tr>
+</table>
+<a name="b0" doxytag="TBackground::TBackground"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TBackground::TBackground </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a14">StreamableInit</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructor.
+<p>
+Used to recover the view from a stream.
+<p>
+Each streamable class needs a "builder" to allocate the correct memory for its objects together with the initialized virtual table pointers. This is achieved by calling this constructor with an argument of type <a class="el" href="ttypes_8h.html#a14">StreamableInit</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="d0" doxytag="TBackground::build"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStreamable.html">TStreamable</a>* TBackground::build </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a new TBackground.
+<p>
+Used to recover the view from a stream.
+<p>
+Called to create an object in certain stream-reading situations.
+<p>
+Reimplemented from <a class="el" href="classTView.html#d8">TView</a>. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TBackground::draw"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TBackground::draw </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Fills the background view rectangle with the current pattern in the default color.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a19">TView</a>. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="TBackground::getPalette"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="classTPalette.html">TPalette</a>&amp; TBackground::getPalette </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns a reference to the standard TBackground palette.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a46">TView</a>. </td>
+ </tr>
+</table>
+<a name="b2" doxytag="TBackground::read"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void* TBackground::read </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>is</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Used to recover the view from a stream.
+<p>
+Reads from the input stream `is'.
+<p>
+Reimplemented from <a class="el" href="classTView.html#b2">TView</a>. </td>
+ </tr>
+</table>
+<a name="b1" doxytag="TBackground::write"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TBackground::write </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>os</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Used to store the view in a stream.
+<p>
+Writes to the output stream `os'.
+<p>
+Reimplemented from <a class="el" href="classTView.html#b1">TView</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="p0" doxytag="TBackground::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* const TBackground::name<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTView.html#p4">TView</a>.
+<p>
+Definition at line <a class="el" href="app_8h-source.html#l00086">86</a> of file <a class="el" href="app_8h-source.html">app.h</a>. </td>
+ </tr>
+</table>
+<a name="n0" doxytag="TBackground::pattern"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> char TBackground::pattern<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Is the pattern used to fill the view.
+<p>
+Definition at line <a class="el" href="app_8h-source.html#l00054">54</a> of file <a class="el" href="app_8h-source.html">app.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="app_8h-source.html">app.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:11 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTBackground.png b/freebsdtvision/doc/html/classTBackground.png
new file mode 100644
index 0000000..3dd5603
--- /dev/null
+++ b/freebsdtvision/doc/html/classTBackground.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTBufListEntry-members.html b/freebsdtvision/doc/html/classTBufListEntry-members.html
new file mode 100644
index 0000000..5c8215f
--- /dev/null
+++ b/freebsdtvision/doc/html/classTBufListEntry-members.html
@@ -0,0 +1,18 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TBufListEntry Member List</h1>This is the complete list of members for <a class="el" href="classTBufListEntry.html">TBufListEntry</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><b>allocBlock</b> (defined in <a class="el" href="classTBufListEntry.html">TBufListEntry</a>)</td><td><a class="el" href="classTBufListEntry.html">TBufListEntry</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>operator new</b> (defined in <a class="el" href="classTBufListEntry.html">TBufListEntry</a>)</td><td><a class="el" href="classTBufListEntry.html">TBufListEntry</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>TVMemMgr</b> (defined in <a class="el" href="classTBufListEntry.html">TBufListEntry</a>)</td><td><a class="el" href="classTBufListEntry.html">TBufListEntry</a></td><td><code> [friend]</code></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:11 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTBufListEntry.html b/freebsdtvision/doc/html/classTBufListEntry.html
new file mode 100644
index 0000000..28ea524
--- /dev/null
+++ b/freebsdtvision/doc/html/classTBufListEntry.html
@@ -0,0 +1,29 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TBufListEntry class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TBufListEntry Class Reference</h1>Part of the memory manager.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="buffers_8h-source.html">buffers.h</a>&gt;</code>
+<p>
+<a href="classTBufListEntry-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+TBufListEntry, in conjunction with <a class="el" href="classTVMemMgr.html">TVMemMgr</a>, is used internally by TVision to create and manage the video cache buffers for group drawing operations. All its members are private and will seldom if ever be referenced explicitly in normal applications. <a class="el" href="classTVMemMgr.html">TVMemMgr</a> is a friend class and the global operator new is a friend function.
+<p>
+
+<p>
+Definition at line <a class="el" href="buffers_8h-source.html#l00036">36</a> of file <a class="el" href="buffers_8h-source.html">buffers.h</a>.<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="buffers_8h-source.html">buffers.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:11 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTButton-members.html b/freebsdtvision/doc/html/classTButton-members.html
new file mode 100644
index 0000000..55cee42
--- /dev/null
+++ b/freebsdtvision/doc/html/classTButton-members.html
@@ -0,0 +1,132 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TButton Member List</h1>This is the complete list of members for <a class="el" href="classTButton.html">TButton</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTButton.html#n2">amDefault</a></td><td><a class="el" href="classTButton.html">TButton</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a31">awaken</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a32">blockCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTButton.html#d0">build</a>()</td><td><a class="el" href="classTButton.html">TButton</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a10">calcBounds</a>(TRect &amp;bounds, TPoint delta)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a11">changeBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a38">clearEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTButton.html#n0">command</a></td><td><a class="el" href="classTButton.html">TButton</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d0">commandEnabled</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p0">commandSetChanged</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a7">containsMouse</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p1">curCommandSet</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m6">cursor</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a28">dataSize</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d3">disableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d1">disableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m8">dragMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a9">dragView</a>(TEvent &amp;event, uchar mode, TRect &amp;limits, TPoint minSize, TPoint maxSize)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTButton.html#a2">draw</a>()</td><td><a class="el" href="classTButton.html">TButton</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a37">drawCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a24">drawHide</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a25">drawShow</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTButton.html#a3">drawState</a>(Boolean down)</td><td><a class="el" href="classTButton.html">TButton</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a26">drawUnderRect</a>(TRect &amp;r, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a27">drawUnderView</a>(Boolean doShadow, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a20">drawView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d4">enableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d2">enableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a43">endModal</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>enterSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p3">errorAttr</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a39">eventAvail</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m3">eventMask</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a44">execute</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a21">exposed</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTButton.html#n1">flags</a></td><td><a class="el" href="classTButton.html">TButton</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a22">focus</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a3">getBounds</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a5">getClipRect</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a45">getColor</a>(ushort color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d5">getCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a29">getData</a>(void *rec)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a40">getEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a4">getExtent</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a15">getHelpCtx</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTButton.html#a4">getPalette</a>() const</td><td><a class="el" href="classTButton.html">TButton</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a48">getState</a>(ushort aState)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m7">growMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a12">growTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTButton.html#a5">handleEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTButton.html">TButton</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m9">helpCtx</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a17">hide</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a23">hideCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a51">keyEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>leaveSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a8">locate</a>(TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTButton.html#a6">makeDefault</a>(Boolean enable)</td><td><a class="el" href="classTButton.html">TButton</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a58">makeFirst</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a53">makeGlobal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a54">makeLocal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a47">mapColor</a>(uchar)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a52">mouseEvent</a>(TEvent &amp;event, ushort mask)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a6">mouseInView</a>(TPoint mouse)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a13">moveTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTButton.html#p1">name</a></td><td><a class="el" href="classTButton.html">TButton</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m0">next</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a55">nextView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a33">normalCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>normalSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m2">options</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m5">origin</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m10">owner</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s6">phaseType</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phFocused</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPostProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPreProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTButton.html#a7">press</a>()</td><td><a class="el" href="classTButton.html">TButton</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a57">prev</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a56">prevView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a42">putEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a59">putInFrontOf</a>(TView *Target)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTButton.html#b2">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTButton.html">TButton</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a34">resetCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a49">select</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s7">selectMode</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a14">setBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d7">setCmdState</a>(TCommandSet &amp;commands, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d6">setCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a35">setCursor</a>(int x, int y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a30">setData</a>(void *rec)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTButton.html#a8">setState</a>(ushort aState, Boolean enable)</td><td><a class="el" href="classTButton.html">TButton</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTButton.html#p0">shadows</a></td><td><a class="el" href="classTButton.html">TButton</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a18">show</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a36">showCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p2">showMarkers</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a67">shutDown</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m1">size</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a2">sizeLimits</a>(TPoint &amp;min, TPoint &amp;max)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m4">state</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTButton.html#a0">TButton</a>(const TRect &amp;bounds, const char *aTitle, ushort aCommand, ushort aFlags)</td><td><a class="el" href="classTButton.html">TButton</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTButton.html#b0">TButton</a>(StreamableInit)</td><td><a class="el" href="classTButton.html">TButton</a></td><td><code> [inline, protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTButton.html#m0">title</a></td><td><a class="el" href="classTButton.html">TButton</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a60">TopView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a0">TView</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#b0">TView</a>(StreamableInit)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a16">valid</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTButton.html#b1">write</a>(opstream &amp;os)</td><td><a class="el" href="classTButton.html">TButton</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a61">writeBuf</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a62">writeBuf</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a63">writeChar</a>(short x, short y, char c, uchar color, short count)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a64">writeLine</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a65">writeLine</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a66">writeStr</a>(short x, short y, const char *str, uchar color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTButton.html#a1">~TButton</a>()</td><td><a class="el" href="classTButton.html">TButton</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a1">~TView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:12 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTButton.html b/freebsdtvision/doc/html/classTButton.html
new file mode 100644
index 0000000..9b55673
--- /dev/null
+++ b/freebsdtvision/doc/html/classTButton.html
@@ -0,0 +1,705 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TButton class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TButton Class Reference</h1>The button view.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="dialogs_8h-source.html">dialogs.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TButton:
+<p><center><img src="classTButton.png" usemap="#TButton_map" border="0" alt=""></center>
+<map name="TButton_map">
+<area href="classTView.html" alt="TView" shape="rect" coords="46,56,128,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,82,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="92,0,174,24">
+</map>
+<a href="classTButton-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTButton.html#a0">TButton</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;bounds, const char *aTitle, <a class="el" href="ttypes_8h.html#a0">ushort</a> aCommand, <a class="el" href="ttypes_8h.html#a0">ushort</a> aFlags)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTButton.html#a1">~TButton</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTButton.html#a2">draw</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTButton.html#a3">drawState</a> (<a class="el" href="ttypes_8h.html#a13">Boolean</a> down)</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="classTPalette.html">TPalette</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="classTButton.html#a4">getPalette</a> () const</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTButton.html#a5">handleEvent</a> (<a class="el" href="structTEvent.html">TEvent</a> &amp;event)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTButton.html#a6">makeDefault</a> (<a class="el" href="ttypes_8h.html#a13">Boolean</a> enable)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTButton.html#a7">press</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTButton.html#a8">setState</a> (<a class="el" href="ttypes_8h.html#a0">ushort</a> aState, <a class="el" href="ttypes_8h.html#a13">Boolean</a> enable)</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStreamable.html">TStreamable</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTButton.html#d0">build</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>const char *&nbsp;</td><td valign=bottom><a class="el" href="classTButton.html#m0">title</a></td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>const char *&nbsp;</td><td valign=bottom><a class="el" href="classTButton.html#p0">shadows</a></td></tr>
+<tr><td nowrap align=right valign=top>const char *const&nbsp;</td><td valign=bottom><a class="el" href="classTButton.html#p1">name</a></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTButton.html#b0">TButton</a> (<a class="el" href="ttypes_8h.html#a14">StreamableInit</a>)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTButton.html#b1">write</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void *&nbsp;</td><td valign=bottom><a class="el" href="classTButton.html#b2">read</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is)</td></tr>
+<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="classTButton.html#n0">command</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a1">uchar</a>&nbsp;</td><td valign=bottom><a class="el" href="classTButton.html#n1">flags</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTButton.html#n2">amDefault</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+One of the most used and easy to use views. A TButton object is a box with a title and a shadow that generates a command when pressed. A button can be selected by:
+<p>
+<ol>
+<li>typing the highlighted letter<li>tabbing to the button and pressing Spacebar<li>pressing Enter when the button is the default<li>clicking on the button with a mouse</ol>
+With color and black-and-white palettes, a button has a three-dimensional look that moves when selected. On monochrome systems, a button is bordered by brackets, and other ASCII characters are used to indicate whether the button is default, selected, and so on.
+<p>
+There can only be one default button in a window or dialog at any given time. Buttons that are peers in a group grab and release the default state via <a class="el" href="system_8h.html#a6">evBroadcast</a> messages.
+<p>
+
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l00536">536</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TButton::TButton"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TButton::TButton </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>bounds</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>const char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aTitle</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aCommand</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aFlags</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructor.
+<p>
+Creates a TButton class with the given size by calling the <a class="el" href="classTView.html">TView</a> constructor.
+<p>
+<ol>
+<li>`bounds' is the bounding rectangle of the button<li>`aTitle' is a pointer to a string which will be the title of the button<li>`aCommand' is the command generated when the user presses the button. If the given `aCommand' is not enabled, <a class="el" href="views_8h.html#a34">sfDisabled</a> is set in the state data member.<li>`aFlags' is a combination of the following values:</ol>
+<pre>
+ Constant Value Meaning
+
+ <a class="el" href="dialogs_8h.html#a0">bfNormal</a> 0x00 Button is a normal, non-default button
+
+ <a class="el" href="dialogs_8h.html#a1">bfDefault</a> 0x01 Button is the default button: if this bit is set this
+ button will be highlighted as the default button
+
+ <a class="el" href="dialogs_8h.html#a2">bfLeftJust</a> 0x02 Button label is left-justified; if this bit is clear
+ the title will be centered
+
+ <a class="el" href="dialogs_8h.html#a3">bfBroadcast</a> 0x04 Sends a broadcast message when pressed
+
+ <a class="el" href="dialogs_8h.html#a4">bfGrabFocus</a> 0x08 The button grabs the focus when pressed
+ </pre>
+<p>
+It is the responsibility of the programmer to ensure that there is only one default button in a <a class="el" href="classTGroup.html">TGroup</a>. However the default property can be passed to normal buttons by calling <a class="el" href="classTButton.html#a6">makeDefault()</a>. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTButton.html#n2">TButton::amDefault</a></dl>The <a class="el" href="dialogs_8h.html#a2">bfLeftJust</a> value can be added to <a class="el" href="dialogs_8h.html#a0">bfNormal</a> or <a class="el" href="dialogs_8h.html#a1">bfDefault</a> and affects the position of the text displayed within the button: if clear, the label is centered; if set, the label is left-justified.
+<p>
+The options data member is set to (<a class="el" href="views_8h.html#a38">ofSelectable</a> | <a class="el" href="views_8h.html#a40">ofFirstClick</a> | <a class="el" href="views_8h.html#a42">ofPreProcess</a> | <a class="el" href="views_8h.html#a43">ofPostProcess</a>) so that by default TButton responds to these events.
+<p>
+<a class="el" href="classTView.html#m3">eventMask</a> is set to <a class="el" href="system_8h.html#a6">evBroadcast</a>. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TButton::~TButton"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TButton::~TButton </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Destructor.
+<p>
+Frees the memory assigned to the button's title, then destroys the view with <a class="el" href="classTView.html#a1">TView::~TView</a>. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#a1">TView::~TView</a> </dl> </td>
+ </tr>
+</table>
+<a name="b0" doxytag="TButton::TButton"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TButton::TButton </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a14">StreamableInit</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructor.
+<p>
+Used to recover the view from a stream.
+<p>
+Each streamable class needs a "builder" to allocate the correct memory for its objects together with the initialized virtual table pointers. This is achieved by calling this constructor with an argument of type <a class="el" href="ttypes_8h.html#a14">StreamableInit</a>.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l00731">731</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>.
+<p>
+References <a class="el" href="ttypes_8h-source.html#l00062">StreamableInit</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="d0" doxytag="TButton::build"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStreamable.html">TStreamable</a>* TButton::build </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a new TButton.
+<p>
+Used to recover the view from a stream. Called to create an object in certain stream-reading situations.
+<p>
+Reimplemented from <a class="el" href="classTView.html#d8">TView</a>. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="TButton::draw"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TButton::draw </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Draws the button by calling TButton::drawState(False). <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTButton.html#a3">TButton::drawState</a> </dl>
+<p>
+Reimplemented from <a class="el" href="classTView.html#a19">TView</a>. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="TButton::drawState"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TButton::drawState </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>down</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called by <a class="el" href="classTButton.html#a2">draw()</a>.
+<p>
+Draws the button in the "down" state (no shadow) if down is True; otherwise, it draws the button in the "up" state if down is False.
+<p>
+The appropriate palettes are used to reflect the current state (normal, default, disabled). The button label is positioned according to the <a class="el" href="dialogs_8h.html#a2">bfLeftJust</a> bit in the flags data member. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="TButton::getPalette"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="classTPalette.html">TPalette</a>&amp; TButton::getPalette </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns a reference to the standard TButton palette string.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a46">TView</a>. </td>
+ </tr>
+</table>
+<a name="a5" doxytag="TButton::handleEvent"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TButton::handleEvent </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="structTEvent.html">TEvent</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>event</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Handles TButton events.
+<p>
+Responds to being pressed in any of three ways: mouse clicks on the button, its hot key being pressed, or being the default button when a cmDefault broadcast arrives.
+<p>
+When the button is pressed, a command event is generated with <a class="el" href="classTView.html#a42">putEvent()</a>, with the command data member assigned to command and infoPtr set to this.
+<p>
+Buttons also recognize the broadcast commands cmGrabDefault and cmReleaseDefault, to become or "unbecome" the default button, as appropriate, and cmCommandSetChanged, which causes them to check whether their commands have been enabled or disabled.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a41">TView</a>. </td>
+ </tr>
+</table>
+<a name="a6" doxytag="TButton::makeDefault"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TButton::makeDefault </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>enable</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Changes the default property of this button. Used to make this button the default with `enable' set to True, or to release the default with `enable' set to False. Three notes:
+<p>
+<ol>
+<li>If `enable' is True, the button grabs the default property from the default button (if exists) with a cmGrabDefault broadcast command, so the default button losts the default property.<li>If `enable' is False, the button releases the default property to the default button (if exists) with a cmReleaseDefault broadcast command, so the default button gains the default property. These changes are usually the result of tabbing within a dialog box. The status is changed without actually operating the button. The default button can be subsequently "pressed" by using the Enter key. This mechanism allows a normal button (without the <a class="el" href="dialogs_8h.html#a1">bfDefault</a> bit set) to behave like a default button. The button is redrawn if necessary to show the new status.<li>This method does nothing if the button is a default button (i.e. it has the <a class="el" href="dialogs_8h.html#a1">bfDefault</a> bit set).</ol>
+<dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTButton.html#n1">TButton::flags</a> </dl> </td>
+ </tr>
+</table>
+<a name="a7" doxytag="TButton::press"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TButton::press </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This method is called whenever the button is pressed.
+<p>
+Its task is to send a message. The message is a broadcast message to the owner of the view if the button has the <a class="el" href="dialogs_8h.html#a3">bfBroadcast</a> bit set, otherwise the message is a command message. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTButton.html#n1">TButton::flags</a></dl>Used internally by <a class="el" href="classTButton.html#a5">handleEvent()</a> when a mouse click "press" is detected or when the default button is "pressed" with the Enter key. </td>
+ </tr>
+</table>
+<a name="b2" doxytag="TButton::read"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void* TButton::read </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>is</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Used to recover the view from a stream.
+<p>
+Reads from the input stream `is'.
+<p>
+Reimplemented from <a class="el" href="classTView.html#b2">TView</a>. </td>
+ </tr>
+</table>
+<a name="a8" doxytag="TButton::setState"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TButton::setState </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aState</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>enable</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Changes the state of the button.
+<p>
+Calls <a class="el" href="classTButton.html#a8">setState()</a>, then calls <a class="el" href="classTView.html#a20">drawView()</a> to redraw the button if it has been made <a class="el" href="views_8h.html#a31">sfSelected</a> or <a class="el" href="views_8h.html#a30">sfActive</a>. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#m4">TView::state</a></dl>If focus is received (that is, if `aState' is <a class="el" href="views_8h.html#a32">sfFocused</a>), the button grabs or releases default from the default button by calling <a class="el" href="classTButton.html#a6">makeDefault()</a>.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a50">TView</a>. </td>
+ </tr>
+</table>
+<a name="b1" doxytag="TButton::write"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TButton::write </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>os</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Used to store the view in a stream.
+<p>
+Writes to the output stream `os'.
+<p>
+Reimplemented from <a class="el" href="classTView.html#b1">TView</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="n2" doxytag="TButton::amDefault"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a13">Boolean</a> TButton::amDefault<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+If True the button has the default property.
+<p>
+The default button is automatically selected when the user presses the Enter key. If this variable is False, the button is a normal button.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l00712">712</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="n0" doxytag="TButton::command"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a0">ushort</a> TButton::command<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This is the command word of the event generated when this button is pressed.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l00697">697</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="n1" doxytag="TButton::flags"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a1">uchar</a> TButton::flags<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This variabile is a bitmapped data member used to indicate whether button text is left-justified or centered.
+<p>
+The individual flags are the various bfXXXX constants. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTButton.html#a0">TButton::TButton</a> </dl>
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l00705">705</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="p1" doxytag="TButton::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* const TButton::name<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTView.html#p4">TView</a>.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l00748">748</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="p0" doxytag="TButton::shadows"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* TButton::shadows<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+A pointer to the shadow characters.
+<p>
+These characters are used to draw the button shadow.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l00691">691</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="m0" doxytag="TButton::title"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* TButton::title
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This is a pointer to the label text of the button.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l00685">685</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="dialogs_8h-source.html">dialogs.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:12 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTButton.png b/freebsdtvision/doc/html/classTButton.png
new file mode 100644
index 0000000..b5b579a
--- /dev/null
+++ b/freebsdtvision/doc/html/classTButton.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTChDirDialog-members.html b/freebsdtvision/doc/html/classTChDirDialog-members.html
new file mode 100644
index 0000000..b893853
--- /dev/null
+++ b/freebsdtvision/doc/html/classTChDirDialog-members.html
@@ -0,0 +1,176 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TChDirDialog Member List</h1>This is the complete list of members for <a class="el" href="classTChDirDialog.html">TChDirDialog</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a17">at</a>(short index)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a5">awaken</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a32">blockCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m4">buffer</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTChDirDialog.html#d0">build</a>()</td><td><a class="el" href="classTChDirDialog.html">TChDirDialog</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a10">calcBounds</a>(TRect &amp;bounds, TPoint delta)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a25">changeBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a38">clearEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m2">clip</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a2">close</a>()</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d0">commandEnabled</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p0">commandSetChanged</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a7">containsMouse</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindowInit.html#n0">createFrame</a></td><td><a class="el" href="classTWindowInit.html">TWindowInit</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p1">curCommandSet</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m0">current</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m6">cursor</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTChDirDialog.html#a1">dataSize</a>()</td><td><a class="el" href="classTChDirDialog.html">TChDirDialog</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d3">disableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d1">disableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m8">dragMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a9">dragView</a>(TEvent &amp;event, uchar mode, TRect &amp;limits, TPoint minSize, TPoint maxSize)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a29">draw</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a37">drawCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a24">drawHide</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a25">drawShow</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a24">drawSubViews</a>(TView *p, TView *bottom)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a26">drawUnderRect</a>(TRect &amp;r, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a27">drawUnderView</a>(Boolean doShadow, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a20">drawView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d4">enableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d2">enableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a34">endModal</a>(ushort command)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m6">endState</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>enterSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p3">errorAttr</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a39">eventAvail</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a35">eventError</a>(TEvent &amp;event)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m3">eventMask</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a4">execute</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a3">execView</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a21">exposed</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a21">first</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a18">firstMatch</a>(ushort aState, ushort aOptions)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a12">firstThat</a>(Boolean(*func)(TView *, void *), void *args)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#m0">flags</a></td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a22">focus</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a13">focusNext</a>(Boolean forwards)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a14">forEach</a>(void(*func)(TView *, void *), void *args)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#m4">frame</a></td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a38">freeBuffer</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a3">getBounds</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a39">getBuffer</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a5">getClipRect</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a45">getColor</a>(ushort color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d5">getCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTChDirDialog.html#a2">getData</a>(void *rec)</td><td><a class="el" href="classTChDirDialog.html">TChDirDialog</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a40">getEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a4">getExtent</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a36">getHelpCtx</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDialog.html#a1">getPalette</a>() const</td><td><a class="el" href="classTDialog.html">TDialog</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a48">getState</a>(ushort aState)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a4">getTitle</a>(short maxSize)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m7">growMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a12">growTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTChDirDialog.html#a3">handleEvent</a>(TEvent &amp;)</td><td><a class="el" href="classTChDirDialog.html">TChDirDialog</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m9">helpCtx</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a17">hide</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a23">hideCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a19">indexOf</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#d0">initFrame</a>(TRect)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a15">insert</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a16">insertBefore</a>(TView *p, TView *Target)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a6">insertView</a>(TView *p, TView *Target)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a51">keyEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m1">last</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>leaveSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a8">locate</a>(TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a31">lock</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m5">lockFlag</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a58">makeFirst</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a53">makeGlobal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a54">makeLocal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a47">mapColor</a>(uchar)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a20">matches</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a52">mouseEvent</a>(TEvent &amp;event, ushort mask)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a6">mouseInView</a>(TPoint mouse)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a13">moveTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTChDirDialog.html#p0">name</a></td><td><a class="el" href="classTChDirDialog.html">TChDirDialog</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m0">next</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a55">nextView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a33">normalCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>normalSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#m2">number</a></td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m2">options</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m5">origin</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m10">owner</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#m3">palette</a></td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m3">phase</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s6">phaseType</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phFocused</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPostProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPreProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a57">prev</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a56">prevView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a42">putEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a59">putInFrontOf</a>(TView *Target)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTChDirDialog.html#b2">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTChDirDialog.html">TChDirDialog</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a30">redraw</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a7">remove</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a8">removeView</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a9">resetCurrent</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a33">resetCursor</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a49">select</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s7">selectMode</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a11">selectNext</a>(Boolean forwards)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a14">setBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d7">setCmdState</a>(TCommandSet &amp;commands, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d6">setCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a10">setCurrent</a>(TView *p, selectMode mode)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a35">setCursor</a>(int x, int y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTChDirDialog.html#a4">setData</a>(void *rec)</td><td><a class="el" href="classTChDirDialog.html">TChDirDialog</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a6">setState</a>(ushort aState, Boolean enable)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a18">show</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a36">showCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p2">showMarkers</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTChDirDialog.html#a6">shutDown</a>()</td><td><a class="el" href="classTChDirDialog.html">TChDirDialog</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m1">size</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a7">sizeLimits</a>(TPoint &amp;min, TPoint &amp;max)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a8">standardScrollBar</a>(ushort aOptions)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m4">state</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTChDirDialog.html#a0">TChDirDialog</a>(ushort aOptions, ushort histId)</td><td><a class="el" href="classTChDirDialog.html">TChDirDialog</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTChDirDialog.html#b0">TChDirDialog</a>(StreamableInit)</td><td><a class="el" href="classTChDirDialog.html">TChDirDialog</a></td><td><code> [inline, protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDialog.html#a0">TDialog</a>(const TRect &amp;bounds, const char *aTitle)</td><td><a class="el" href="classTDialog.html">TDialog</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDialog.html#b0">TDialog</a>(StreamableInit)</td><td><a class="el" href="classTDialog.html">TDialog</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>TDirListBox</b> (defined in <a class="el" href="classTChDirDialog.html">TChDirDialog</a>)</td><td><a class="el" href="classTChDirDialog.html">TChDirDialog</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a0">TGroup</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#b0">TGroup</a>(StreamableInit)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#m5">title</a></td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a60">TopView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a0">TView</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#b0">TView</a>(StreamableInit)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a0">TWindow</a>(const TRect &amp;bounds, const char *aTitle, short aNumber)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#b0">TWindow</a>(StreamableInit)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindowInit.html#a0">TWindowInit</a>(TFrame *(*cFrame)(TRect bounds))</td><td><a class="el" href="classTWindowInit.html">TWindowInit</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a32">unlock</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTChDirDialog.html#a5">valid</a>(ushort command)</td><td><a class="el" href="classTChDirDialog.html">TChDirDialog</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTChDirDialog.html#b1">write</a>(opstream &amp;os)</td><td><a class="el" href="classTChDirDialog.html">TChDirDialog</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a61">writeBuf</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a62">writeBuf</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a63">writeChar</a>(short x, short y, char c, uchar color, short count)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a64">writeLine</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a65">writeLine</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a66">writeStr</a>(short x, short y, const char *str, uchar color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a9">zoom</a>()</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#m1">zoomRect</a></td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a1">~TGroup</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a1">~TView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a1">~TWindow</a>()</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:12 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTChDirDialog.html b/freebsdtvision/doc/html/classTChDirDialog.html
new file mode 100644
index 0000000..52b31ec
--- /dev/null
+++ b/freebsdtvision/doc/html/classTChDirDialog.html
@@ -0,0 +1,484 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TChDirDialog class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TChDirDialog Class Reference</h1>Dialog box used to change the current working directory.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="stddlg_8h-source.html">stddlg.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TChDirDialog:
+<p><center><img src="classTChDirDialog.png" usemap="#TChDirDialog_map" border="0" alt=""></center>
+<map name="TChDirDialog_map">
+<area href="classTDialog.html" alt="TDialog" shape="rect" coords="98,224,186,248">
+<area href="classTWindow.html" alt="TWindow" shape="rect" coords="98,168,186,192">
+<area href="classTGroup.html" alt="TGroup" shape="rect" coords="49,112,137,136">
+<area href="classTWindowInit.html" alt="TWindowInit" shape="rect" coords="147,112,235,136">
+<area href="classTView.html" alt="TView" shape="rect" coords="49,56,137,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,88,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="98,0,186,24">
+</map>
+<a href="classTChDirDialog-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTChDirDialog.html#a0">TChDirDialog</a> (<a class="el" href="ttypes_8h.html#a0">ushort</a> aOptions, <a class="el" href="ttypes_8h.html#a0">ushort</a> histId)</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="classTChDirDialog.html#a1">dataSize</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTChDirDialog.html#a2">getData</a> (void *rec)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTChDirDialog.html#a3">handleEvent</a> (<a class="el" href="structTEvent.html">TEvent</a> &amp;)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTChDirDialog.html#a4">setData</a> (void *rec)</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTChDirDialog.html#a5">valid</a> (<a class="el" href="ttypes_8h.html#a0">ushort</a> command)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTChDirDialog.html#a6">shutDown</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStreamable.html">TStreamable</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTChDirDialog.html#d0">build</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>const char *const&nbsp;</td><td valign=bottom><a class="el" href="classTChDirDialog.html#p0">name</a></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTChDirDialog.html#b0">TChDirDialog</a> (<a class="el" href="ttypes_8h.html#a14">StreamableInit</a>)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTChDirDialog.html#b1">write</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void *&nbsp;</td><td valign=bottom><a class="el" href="classTChDirDialog.html#b2">read</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+TChDirDialog implements a dialog box labeled "Change Directory", used to change the current working directory. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTDialog.html">TDialog</a></dl>An input line is provided to accept a directory name from the user. A history window and directory list box with vertical scroll bar are available to show recent directory selections and a tree of all available directories. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTDirListBox.html">TDirListBox</a> , <a class="el" href="classTHistoryWindow.html">THistoryWindow</a> , <a class="el" href="classTInputLine.html">TInputLine</a></dl>Mouse and keyboard selections can be made in the usual way by highlighting and clicking. The displayed options are:
+<p>
+<ol>
+<li>Directory name<li>Directory tree<li>OK (the default)<li>Chdir<li>Revert<li>Help</ol>
+Method <a class="el" href="classTChDirDialog.html#a3">TChDirDialog::handleEvent()</a> generates the appropriate commands for these selections.
+<p>
+Note: <a class="el" href="classTDirListBox.html">TDirListBox</a> is a friend of TChDirDialog, so that the member functions of <a class="el" href="classTDirListBox.html">TDirListBox</a> can access the private members of TChDirDialog.
+<p>
+
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l01326">1326</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TChDirDialog::TChDirDialog"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TChDirDialog::TChDirDialog </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aOptions</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>histId</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructor.
+<p>
+Creates a change directory dialog object with the given history identifier `histId'. The `aOptions' argument is a bitmap of the following flags:
+<p>
+<pre>
+ Constant Value Meaning
+
+ cdNormal 0x00 Option to use the dialog immediately.
+
+ cdNoLoadDir 0x01 Option to initialize the dialog without loading the
+ current directory into the dialog. Used if you
+ intend using <a class="el" href="classTChDirDialog.html#a4">setData()</a> to reset the directory
+ or prior to storage on a stream.
+
+ cdHelpButton 0x02 Option to put a help button in the dialog.
+ </pre>
+<p>
+The constructor creates and inserts:
+<p>
+<ol>
+<li>a <a class="el" href="classTInputLine.html">TInputLine</a> object (labeled "Directory ~n~ame")<li>a <a class="el" href="classTHistory.html">THistory</a> object<li>a vertical scroll bar, see <a class="el" href="classTScrollBar.html">TScrollBar</a><li>a <a class="el" href="classTDirListBox.html">TDirListBox</a> object (labeled "Directory ~t~ree")<li>three buttons "O~K~", "~C~hdir" and "~R~evert", see <a class="el" href="classTButton.html">TButton</a></ol>
+If `aOptions' has the cdHelpButton flag set, a fourth help button is created. Unless the cdNoLoadDir option is set, the dialog box is loaded with the current directory.
+<p>
+Unsigned short `histId' is an arbitrary positive integer used to identify which history set to use. The library can use multiple history sets and all views with the same history identifier will share the same history set. </td>
+ </tr>
+</table>
+<a name="b0" doxytag="TChDirDialog::TChDirDialog"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TChDirDialog::TChDirDialog </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a14">StreamableInit</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructor.
+<p>
+Used to recover the view from a stream.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l01451">1451</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>.
+<p>
+References <a class="el" href="classTWindow.html#d0">TWindow::initFrame()</a>, and <a class="el" href="ttypes_8h-source.html#l00062">StreamableInit</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="d0" doxytag="TChDirDialog::build"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStreamable.html">TStreamable</a>* TChDirDialog::build </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a new TChDirDialog.
+<p>
+Called to create an object in certain stream-reading situations.
+<p>
+Reimplemented from <a class="el" href="classTDialog.html#d0">TDialog</a>. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TChDirDialog::dataSize"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a0">ushort</a> TChDirDialog::dataSize </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the size of the data record of this dialog.
+<p>
+By default, <a class="el" href="classTChDirDialog.html#a1">dataSize()</a> returns 0. Override to return the size (in bytes) of the data used by <a class="el" href="classTChDirDialog.html#a2">getData()</a> and <a class="el" href="classTChDirDialog.html#a4">setData()</a> to store and retrieve dialog box input data. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTGroup.html#a26">TGroup::dataSize</a> </dl>
+<p>
+Reimplemented from <a class="el" href="classTGroup.html#a26">TGroup</a>. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="TChDirDialog::getData"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TChDirDialog::getData </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>rec</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Reads the data record of this dialog.
+<p>
+By default, <a class="el" href="classTChDirDialog.html#a2">getData()</a> does nothing. Override to copy <a class="el" href="classTChDirDialog.html#a1">dataSize()</a> bytes from the view to `rec'. Used in combination with <a class="el" href="classTChDirDialog.html#a1">dataSize()</a> and <a class="el" href="classTChDirDialog.html#a4">setData()</a> to store and retrieve dialog box input data. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTGroup.html#a27">TGroup::getData</a> </dl>
+<p>
+Reimplemented from <a class="el" href="classTGroup.html#a27">TGroup</a>. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="TChDirDialog::handleEvent"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TChDirDialog::handleEvent </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="structTEvent.html">TEvent</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Standard TChDirDialog event handler.
+<p>
+Calls <a class="el" href="classTDialog.html#a2">TDialog::handleEvent()</a> then processes cmRevert (restore previously current directory) and cmChangeDir (switch to selected directory) events. The dialog is redrawn if necessary.
+<p>
+Reimplemented from <a class="el" href="classTDialog.html#a2">TDialog</a>. </td>
+ </tr>
+</table>
+<a name="b2" doxytag="TChDirDialog::read"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void* TChDirDialog::read </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>is</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Used to recover the view from a stream. Reads from the input stream `is'.
+<p>
+Reimplemented from <a class="el" href="classTWindow.html#b2">TWindow</a>. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="TChDirDialog::setData"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TChDirDialog::setData </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>rec</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Writes the data record of this dialog.
+<p>
+By default, <a class="el" href="classTChDirDialog.html#a4">setData()</a> does nothing. Override to copy <a class="el" href="classTChDirDialog.html#a1">dataSize()</a> bytes from `rec' to the view. Used in combination with <a class="el" href="classTChDirDialog.html#a1">dataSize()</a> and <a class="el" href="classTChDirDialog.html#a2">getData()</a> to store and retrieve dialog box input data. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTGroup.html#a28">TGroup::setData</a> </dl>
+<p>
+Reimplemented from <a class="el" href="classTGroup.html#a28">TGroup</a>. </td>
+ </tr>
+</table>
+<a name="a6" doxytag="TChDirDialog::shutDown"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TChDirDialog::shutDown </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Releases TChDirDialog resources.
+<p>
+Used internally by <a class="el" href="classTObject.html#d0">TObject::destroy()</a> to ensure correct destruction of derived and related objects. <a class="el" href="classTChDirDialog.html#a6">shutDown()</a> is overridden in many classes to ensure the proper setting of related data members when <a class="el" href="classTObject.html#d0">destroy()</a> is called. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTObject.html#a1">TObject::shutDown</a></dl>This method releases all the resources allocated by the TChDirDialog dialog. It sets private pointers TChDirDialog::dirList, TChDirDialog::dirInput, TChDirDialog::okButton, and TChDirDialog::chDirButton to 0 and then calls <a class="el" href="classTWindow.html#a10">TDialog::shutDown()</a>.
+<p>
+Reimplemented from <a class="el" href="classTWindow.html#a10">TWindow</a>. </td>
+ </tr>
+</table>
+<a name="a5" doxytag="TChDirDialog::valid"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a> TChDirDialog::valid </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>command</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Checks if the command `command' is valid.
+<p>
+The return value is True if `command' is not cmOK. Otherwise (the OK button was pressed) the return value depends on path existence. The function returns True if the path exists. An invalid directory invokes the "Invalid directory" message box and returns False. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTDialog.html#a3">TDialog::valid</a> </dl>
+<p>
+Reimplemented from <a class="el" href="classTDialog.html#a3">TDialog</a>. </td>
+ </tr>
+</table>
+<a name="b1" doxytag="TChDirDialog::write"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TChDirDialog::write </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>os</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Used to store the view in a stream. Writes to the output stream `os'.
+<p>
+Reimplemented from <a class="el" href="classTWindow.html#b1">TWindow</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="p0" doxytag="TChDirDialog::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* const TChDirDialog::name<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTDialog.html#p0">TDialog</a>.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l01467">1467</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="stddlg_8h-source.html">stddlg.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:12 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTChDirDialog.png b/freebsdtvision/doc/html/classTChDirDialog.png
new file mode 100644
index 0000000..2537b48
--- /dev/null
+++ b/freebsdtvision/doc/html/classTChDirDialog.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTCheckBoxes-members.html b/freebsdtvision/doc/html/classTCheckBoxes-members.html
new file mode 100644
index 0000000..3ad20ea
--- /dev/null
+++ b/freebsdtvision/doc/html/classTCheckBoxes-members.html
@@ -0,0 +1,138 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TCheckBoxes Member List</h1>This is the complete list of members for <a class="el" href="classTCheckBoxes.html">TCheckBoxes</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a31">awaken</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a32">blockCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCheckBoxes.html#d0">build</a>()</td><td><a class="el" href="classTCheckBoxes.html">TCheckBoxes</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a16">buttonState</a>(int item)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a10">calcBounds</a>(TRect &amp;bounds, TPoint delta)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a11">changeBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a38">clearEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d0">commandEnabled</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p0">commandSetChanged</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a7">containsMouse</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p1">curCommandSet</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m6">cursor</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a2">dataSize</a>()</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d3">disableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d1">disableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m8">dragMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a9">dragView</a>(TEvent &amp;event, uchar mode, TRect &amp;limits, TPoint minSize, TPoint maxSize)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCheckBoxes.html#a1">draw</a>()</td><td><a class="el" href="classTCheckBoxes.html">TCheckBoxes</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a3">drawBox</a>(const char *icon, char marker)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a37">drawCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a24">drawHide</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a4">drawMultiBox</a>(const char *icon, const char *marker)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a25">drawShow</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a26">drawUnderRect</a>(TRect &amp;r, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a27">drawUnderView</a>(Boolean doShadow, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a20">drawView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d4">enableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d2">enableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#n1">enableMask</a></td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a43">endModal</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>enterSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p3">errorAttr</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a39">eventAvail</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m3">eventMask</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a44">execute</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a21">exposed</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a22">focus</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a3">getBounds</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a5">getClipRect</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a45">getColor</a>(ushort color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d5">getCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a5">getData</a>(void *rec)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a40">getEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a4">getExtent</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a6">getHelpCtx</a>()</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a7">getPalette</a>() const</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a48">getState</a>(ushort aState)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m7">growMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a12">growTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a8">handleEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m9">helpCtx</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a17">hide</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a23">hideCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a51">keyEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>leaveSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a8">locate</a>(TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a58">makeFirst</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a53">makeGlobal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a54">makeLocal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a47">mapColor</a>(uchar)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCheckBoxes.html#a2">mark</a>(int item)</td><td><a class="el" href="classTCheckBoxes.html">TCheckBoxes</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a52">mouseEvent</a>(TEvent &amp;event, ushort mask)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a6">mouseInView</a>(TPoint mouse)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a12">movedTo</a>(int item)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a13">moveTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a10">multiMark</a>(int item)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCheckBoxes.html#p0">name</a></td><td><a class="el" href="classTCheckBoxes.html">TCheckBoxes</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m0">next</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a55">nextView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a33">normalCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>normalSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m2">options</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m5">origin</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m10">owner</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s6">phaseType</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phFocused</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPostProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPreProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCheckBoxes.html#a3">press</a>(int item)</td><td><a class="el" href="classTCheckBoxes.html">TCheckBoxes</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a57">prev</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a56">prevView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a42">putEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a59">putInFrontOf</a>(TView *Target)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#b2">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a34">resetCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#n2">sel</a></td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a49">select</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s7">selectMode</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a14">setBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a15">setButtonState</a>(unsigned long aMask, Boolean enable)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d7">setCmdState</a>(TCommandSet &amp;commands, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d6">setCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a35">setCursor</a>(int x, int y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a13">setData</a>(void *rec)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a14">setState</a>(ushort aState, Boolean enable)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a18">show</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a36">showCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p2">showMarkers</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a67">shutDown</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m1">size</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a2">sizeLimits</a>(TPoint &amp;min, TPoint &amp;max)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m4">state</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#n3">strings</a></td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCheckBoxes.html#a0">TCheckBoxes</a>(const TRect &amp;bounds, TSItem *aStrings)</td><td><a class="el" href="classTCheckBoxes.html">TCheckBoxes</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCheckBoxes.html#b0">TCheckBoxes</a>(StreamableInit)</td><td><a class="el" href="classTCheckBoxes.html">TCheckBoxes</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a0">TCluster</a>(const TRect &amp;bounds, TSItem *aStrings)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#b0">TCluster</a>(StreamableInit)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a60">TopView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a0">TView</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#b0">TView</a>(StreamableInit)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a16">valid</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#n0">value</a></td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#b1">write</a>(opstream &amp;os)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a61">writeBuf</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a62">writeBuf</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a63">writeChar</a>(short x, short y, char c, uchar color, short count)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a64">writeLine</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a65">writeLine</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a66">writeStr</a>(short x, short y, const char *str, uchar color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a1">~TCluster</a>()</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a1">~TView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:12 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTCheckBoxes.html b/freebsdtvision/doc/html/classTCheckBoxes.html
new file mode 100644
index 0000000..70eba31
--- /dev/null
+++ b/freebsdtvision/doc/html/classTCheckBoxes.html
@@ -0,0 +1,295 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TCheckBoxes class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TCheckBoxes Class Reference</h1>Cluster of check boxes.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="dialogs_8h-source.html">dialogs.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TCheckBoxes:
+<p><center><img src="classTCheckBoxes.png" usemap="#TCheckBoxes_map" border="0" alt=""></center>
+<map name="TCheckBoxes_map">
+<area href="classTCluster.html" alt="TCluster" shape="rect" coords="49,112,138,136">
+<area href="classTView.html" alt="TView" shape="rect" coords="49,56,138,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,89,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="99,0,188,24">
+</map>
+<a href="classTCheckBoxes-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTCheckBoxes.html#a0">TCheckBoxes</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;bounds, <a class="el" href="classTSItem.html">TSItem</a> *aStrings)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTCheckBoxes.html#a1">draw</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTCheckBoxes.html#a2">mark</a> (int item)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTCheckBoxes.html#a3">press</a> (int item)</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStreamable.html">TStreamable</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTCheckBoxes.html#d0">build</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>const char *const&nbsp;</td><td valign=bottom><a class="el" href="classTCheckBoxes.html#p0">name</a></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTCheckBoxes.html#b0">TCheckBoxes</a> (<a class="el" href="ttypes_8h.html#a14">StreamableInit</a>)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+This view implements a cluster of check boxes.
+<p>
+TCheckBoxes is a specialized cluster of one to 32 controls. Unlike radio buttons, any number of check boxes can be marked independently, so the cluster may have one or more boxes checked by default.
+<p>
+The user can mark check boxes with mouse clicks, cursor movements, and Alt-letter shortcuts. Each check box can be highlighted and toggled on/off (with the Spacebar). An "X" appears in the box when it is selected.
+<p>
+Other parts of your application typically examine the state of the check boxes to determine which options have been chosen by the user.
+<p>
+Check box clusters often have associated <a class="el" href="classTLabel.html">TLabel</a> objects to give the user an overview of the clustered options. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTRadioButtons.html">TRadioButtons</a> </dl>
+<p>
+
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l01335">1335</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TCheckBoxes::TCheckBoxes"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TCheckBoxes::TCheckBoxes </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>bounds</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTSItem.html">TSItem</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aStrings</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructor.
+<p>
+`bounds' is the bounding rectangle of the view. `aStrings' points to a linked list of <a class="el" href="classTSItem.html">TSItem</a> objects, one for each check box, and is assigned to strings data member.
+<p>
+Every <a class="el" href="classTSItem.html">TSItem</a> object stores the caption of the related check box. TCheckBoxes handles a maximum of 32 check boxes.
+<p>
+The sel and value data members are set to zero; options is set to (<a class="el" href="views_8h.html#a38">ofSelectable</a> | <a class="el" href="views_8h.html#a40">ofFirstClick</a> | <a class="el" href="views_8h.html#a42">ofPreProcess</a> | <a class="el" href="views_8h.html#a43">ofPostProcess</a>).
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l01433">1433</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="b0" doxytag="TCheckBoxes::TCheckBoxes"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TCheckBoxes::TCheckBoxes </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a14">StreamableInit</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructor.
+<p>
+Used to recover the view from a stream. Each streamable class needs a "builder" to allocate the correct memory for its objects together with the initialized virtual table pointers. This is achieved by calling this constructor with an argument of type <a class="el" href="ttypes_8h.html#a14">StreamableInit</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="d0" doxytag="TCheckBoxes::build"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStreamable.html">TStreamable</a>* TCheckBoxes::build </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a new TCheckBoxes view.
+<p>
+Called to create an object in certain stream-reading situations.
+<p>
+Reimplemented from <a class="el" href="classTCluster.html#d0">TCluster</a>. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TCheckBoxes::draw"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TCheckBoxes::draw </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Draws the TCheckBoxes object by calling the inherited <a class="el" href="classTCluster.html#a3">TCluster::drawBox()</a> member function.
+<p>
+The default check box is " [ ] " when unselected and " [X] " when selected. Note that if the boundaries of the view are sufficiently wide, check boxes can be displayed in multiple columns.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a19">TView</a>. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="TCheckBoxes::mark"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a> TCheckBoxes::mark </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>item</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns True if the item'th bit of the value data member is set; that is, if the item'th check box is marked.
+<p>
+These bits have no instrinsic meaning. You are free to override <a class="el" href="classTCheckBoxes.html#a2">mark()</a>, <a class="el" href="classTCheckBoxes.html#a3">press()</a>, and other check box member functions to give the value data member your own interpretation.
+<p>
+By default, the items are numbered 0 through 31 and each bit of value data member represents the state (on or off) of a check box.
+<p>
+Reimplemented from <a class="el" href="classTCluster.html#a9">TCluster</a>. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="TCheckBoxes::press"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TCheckBoxes::press </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>item</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called to toggle the state of a check box: toggles the item'th bit of value data member.
+<p>
+These bits have no instrinsic meaning. You are free to override <a class="el" href="classTCheckBoxes.html#a2">mark()</a>, <a class="el" href="classTCheckBoxes.html#a3">press()</a>, and other check box member functions to give the value data member your own interpretation.
+<p>
+Reimplemented from <a class="el" href="classTCluster.html#a11">TCluster</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="p0" doxytag="TCheckBoxes::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* const TCheckBoxes::name<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTCluster.html#p0">TCluster</a>.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l01402">1402</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="dialogs_8h-source.html">dialogs.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:12 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTCheckBoxes.png b/freebsdtvision/doc/html/classTCheckBoxes.png
new file mode 100644
index 0000000..8a5402d
--- /dev/null
+++ b/freebsdtvision/doc/html/classTCheckBoxes.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTCluster-members.html b/freebsdtvision/doc/html/classTCluster-members.html
new file mode 100644
index 0000000..61bfce5
--- /dev/null
+++ b/freebsdtvision/doc/html/classTCluster-members.html
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TCluster Member List</h1>This is the complete list of members for <a class="el" href="classTCluster.html">TCluster</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a31">awaken</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a32">blockCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#d0">build</a>()</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a16">buttonState</a>(int item)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a10">calcBounds</a>(TRect &amp;bounds, TPoint delta)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a11">changeBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a38">clearEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d0">commandEnabled</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p0">commandSetChanged</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a7">containsMouse</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p1">curCommandSet</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m6">cursor</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a2">dataSize</a>()</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d3">disableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d1">disableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m8">dragMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a9">dragView</a>(TEvent &amp;event, uchar mode, TRect &amp;limits, TPoint minSize, TPoint maxSize)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a19">draw</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a3">drawBox</a>(const char *icon, char marker)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a37">drawCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a24">drawHide</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a4">drawMultiBox</a>(const char *icon, const char *marker)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a25">drawShow</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a26">drawUnderRect</a>(TRect &amp;r, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a27">drawUnderView</a>(Boolean doShadow, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a20">drawView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d4">enableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d2">enableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#n1">enableMask</a></td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a43">endModal</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>enterSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p3">errorAttr</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a39">eventAvail</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m3">eventMask</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a44">execute</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a21">exposed</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a22">focus</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a3">getBounds</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a5">getClipRect</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a45">getColor</a>(ushort color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d5">getCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a5">getData</a>(void *rec)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a40">getEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a4">getExtent</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a6">getHelpCtx</a>()</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a7">getPalette</a>() const</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a48">getState</a>(ushort aState)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m7">growMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a12">growTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a8">handleEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m9">helpCtx</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a17">hide</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a23">hideCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a51">keyEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>leaveSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a8">locate</a>(TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a58">makeFirst</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a53">makeGlobal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a54">makeLocal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a47">mapColor</a>(uchar)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a9">mark</a>(int item)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a52">mouseEvent</a>(TEvent &amp;event, ushort mask)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a6">mouseInView</a>(TPoint mouse)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a12">movedTo</a>(int item)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a13">moveTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a10">multiMark</a>(int item)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#p0">name</a></td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m0">next</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a55">nextView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a33">normalCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>normalSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m2">options</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m5">origin</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m10">owner</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s6">phaseType</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phFocused</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPostProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPreProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a11">press</a>(int item)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a57">prev</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a56">prevView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a42">putEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a59">putInFrontOf</a>(TView *Target)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#b2">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a34">resetCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#n2">sel</a></td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a49">select</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s7">selectMode</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a14">setBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a15">setButtonState</a>(unsigned long aMask, Boolean enable)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d7">setCmdState</a>(TCommandSet &amp;commands, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d6">setCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a35">setCursor</a>(int x, int y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a13">setData</a>(void *rec)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a14">setState</a>(ushort aState, Boolean enable)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a18">show</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a36">showCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p2">showMarkers</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a67">shutDown</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m1">size</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a2">sizeLimits</a>(TPoint &amp;min, TPoint &amp;max)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m4">state</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#n3">strings</a></td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a0">TCluster</a>(const TRect &amp;bounds, TSItem *aStrings)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#b0">TCluster</a>(StreamableInit)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a60">TopView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a0">TView</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#b0">TView</a>(StreamableInit)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a16">valid</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#n0">value</a></td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#b1">write</a>(opstream &amp;os)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a61">writeBuf</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a62">writeBuf</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a63">writeChar</a>(short x, short y, char c, uchar color, short count)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a64">writeLine</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a65">writeLine</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a66">writeStr</a>(short x, short y, const char *str, uchar color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a1">~TCluster</a>()</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a1">~TView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:12 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTCluster.html b/freebsdtvision/doc/html/classTCluster.html
new file mode 100644
index 0000000..5c2d270
--- /dev/null
+++ b/freebsdtvision/doc/html/classTCluster.html
@@ -0,0 +1,955 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TCluster class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TCluster Class Reference</h1>The base class of <a class="el" href="classTCheckBoxes.html">TCheckBoxes</a> and <a class="el" href="classTRadioButtons.html">TRadioButtons</a>.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="dialogs_8h-source.html">dialogs.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TCluster:
+<p><center><img src="classTCluster.png" usemap="#TCluster_map" border="0" alt=""></center>
+<map name="TCluster_map">
+<area href="classTView.html" alt="TView" shape="rect" coords="189,56,305,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="126,0,242,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="252,0,368,24">
+<area href="classTCheckBoxes.html" alt="TCheckBoxes" shape="rect" coords="0,168,116,192">
+<area href="classTMonoSelector.html" alt="TMonoSelector" shape="rect" coords="126,168,242,192">
+<area href="classTMultiCheckBoxes.html" alt="TMultiCheckBoxes" shape="rect" coords="252,168,368,192">
+<area href="classTRadioButtons.html" alt="TRadioButtons" shape="rect" coords="378,168,494,192">
+</map>
+<a href="classTCluster-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTCluster.html#a0">TCluster</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;bounds, <a class="el" href="classTSItem.html">TSItem</a> *aStrings)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTCluster.html#a1">~TCluster</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="classTCluster.html#a2">dataSize</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTCluster.html#a3">drawBox</a> (const char *icon, char marker)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTCluster.html#a4">drawMultiBox</a> (const char *icon, const char *marker)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTCluster.html#a5">getData</a> (void *rec)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="classTCluster.html#a6">getHelpCtx</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="classTPalette.html">TPalette</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="classTCluster.html#a7">getPalette</a> () const</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTCluster.html#a8">handleEvent</a> (<a class="el" href="structTEvent.html">TEvent</a> &amp;event)</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTCluster.html#a9">mark</a> (int item)</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a1">uchar</a>&nbsp;</td><td valign=bottom><a class="el" href="classTCluster.html#a10">multiMark</a> (int item)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTCluster.html#a11">press</a> (int item)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTCluster.html#a12">movedTo</a> (int item)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTCluster.html#a13">setData</a> (void *rec)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTCluster.html#a14">setState</a> (<a class="el" href="ttypes_8h.html#a0">ushort</a> aState, <a class="el" href="ttypes_8h.html#a13">Boolean</a> enable)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTCluster.html#a15">setButtonState</a> (unsigned long aMask, <a class="el" href="ttypes_8h.html#a13">Boolean</a> enable)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTCluster.html#a16">buttonState</a> (int item)</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStreamable.html">TStreamable</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTCluster.html#d0">build</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>const char *const&nbsp;</td><td valign=bottom><a class="el" href="classTCluster.html#p0">name</a></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTCluster.html#b0">TCluster</a> (<a class="el" href="ttypes_8h.html#a14">StreamableInit</a>)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTCluster.html#b1">write</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void *&nbsp;</td><td valign=bottom><a class="el" href="classTCluster.html#b2">read</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is)</td></tr>
+<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>unsigned long&nbsp;</td><td valign=bottom><a class="el" href="classTCluster.html#n0">value</a></td></tr>
+<tr><td nowrap align=right valign=top>unsigned long&nbsp;</td><td valign=bottom><a class="el" href="classTCluster.html#n1">enableMask</a></td></tr>
+<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classTCluster.html#n2">sel</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStringCollection.html">TStringCollection</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTCluster.html#n3">strings</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+The base class used both by <a class="el" href="classTCheckBoxes.html">TCheckBoxes</a> and <a class="el" href="classTRadioButtons.html">TRadioButtons</a>.
+<p>
+A cluster is a group of controls that all respond in the same way. TCluster is an abstract class from which the useful group controls such as <a class="el" href="classTRadioButtons.html">TRadioButtons</a>, <a class="el" href="classTCheckBoxes.html">TCheckBoxes</a>, and <a class="el" href="classTMonoSelector.html">TMonoSelector</a> are derived.
+<p>
+Cluster controls are often associated with <a class="el" href="classTLabel.html">TLabel</a> objects, letting you select the control by selecting on the adjacent explanatory label. Clusters are used to toggle bit values in the value data member, which is of type unsigned long.
+<p>
+The two standard descendants of TCluster use different algorithms when changing value: <a class="el" href="classTCheckBoxes.html">TCheckBoxes</a> simply toggles a bit, while <a class="el" href="classTRadioButtons.html">TRadioButtons</a> toggles the enabled one and clears the previously selected bit. Both inherit most of their behavior from TCluster.
+<p>
+
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l00856">856</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TCluster::TCluster"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TCluster::TCluster </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>bounds</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTSItem.html">TSItem</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aStrings</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructor.
+<p>
+Calls TView::TView(bounds) to create a TCluster object with the given `bounds', where `bounds' is the desired bounding rectangle of the view. The strings data member is set to `aStrings', a pointer to a linked list of <a class="el" href="classTSItem.html">TSItem</a> objects, one for each cluster item. Every <a class="el" href="classTSItem.html">TSItem</a> object stores the caption of the related item. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#a0">TView::TView</a></dl>TCluster handles a maximum of 32 items. The constructor clears the value and sel data members. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TCluster::~TCluster"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TCluster::~TCluster </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Deletes the cluster's string collection, then destroys the view with <a class="el" href="classTView.html#a1">TView::~TView()</a>. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#a1">TView::~TView</a> </dl> </td>
+ </tr>
+</table>
+<a name="b0" doxytag="TCluster::TCluster"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TCluster::TCluster </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a14">StreamableInit</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructor.
+<p>
+Used to recover the view from a stream. Each streamable class needs a "builder" to allocate the correct memory for its objects together with the initialized virtual table pointers. This is achieved by calling this constructor with an argument of type <a class="el" href="ttypes_8h.html#a14">StreamableInit</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="d0" doxytag="TCluster::build"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStreamable.html">TStreamable</a>* TCluster::build </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a new TCluster view.
+<p>
+Called to create an object in certain stream-reading situations.
+<p>
+Reimplemented from <a class="el" href="classTView.html#d8">TView</a>.
+<p>
+Reimplemented in <a class="el" href="classTMonoSelector.html#d0">TMonoSelector</a>, <a class="el" href="classTRadioButtons.html#d0">TRadioButtons</a>, <a class="el" href="classTCheckBoxes.html#d0">TCheckBoxes</a>, and <a class="el" href="classTMultiCheckBoxes.html#d0">TMultiCheckBoxes</a>. </td>
+ </tr>
+</table>
+<a name="a16" doxytag="TCluster::buttonState"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a13">Boolean</a> TCluster::buttonState </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>item</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns True if the specified item is enabled.
+<p>
+Parameter `item' specifies which item to check. 0 is the first item, 1 is the second item, etc. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTCluster.html#n1">TCluster::enableMask</a> </dl> </td>
+ </tr>
+</table>
+<a name="a2" doxytag="TCluster::dataSize"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a0">ushort</a> TCluster::dataSize </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the size of the data record of this view (composed by the value data member). Must be overridden in derived classes that change value or add other data members, in order to work with <a class="el" href="classTCluster.html#a5">getData()</a> and <a class="el" href="classTCluster.html#a13">setData()</a>.
+<p>
+It returns `sizeof(short)' for compatibility with earlier TV, even if value data member is now an unsigned long; <a class="el" href="classTMultiCheckBoxes.html">TMultiCheckBoxes</a> returns sizeof(long).
+<p>
+Reimplemented from <a class="el" href="classTView.html#a28">TView</a>.
+<p>
+Reimplemented in <a class="el" href="classTMultiCheckBoxes.html#a2">TMultiCheckBoxes</a>. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="TCluster::drawBox"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TCluster::drawBox </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>icon</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>char&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>marker</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Redraws the view.
+<p>
+Called within the <a class="el" href="classTView.html#a19">draw()</a> method of derived classes to draw the box in front of the string for each item in the cluster. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTCheckBoxes.html#a1">TCheckBoxes::draw</a> , <a class="el" href="classTRadioButtons.html#a1">TRadioButtons::draw</a> , <a class="el" href="classTView.html#a19">TView::draw</a></dl>Parameter `icon' is a five-character string that points to a string which will be written at the left side of every item (" [ ] " for check boxes, " () " for radio buttons).
+<p>
+Parameter `marker' is the character to use to indicate the box has been marked ("X" for check boxes, "." for radio buttons). A space character will be used if the box is unmarked. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTCluster.html#a4">TCluster::drawMultiBox</a> </dl> </td>
+ </tr>
+</table>
+<a name="a4" doxytag="TCluster::drawMultiBox"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TCluster::drawMultiBox </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>icon</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>const char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>marker</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Redraws the view.
+<p>
+Called within the <a class="el" href="classTView.html#a19">draw()</a> method of derived classes. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTCheckBoxes.html#a1">TCheckBoxes::draw</a> , <a class="el" href="classTRadioButtons.html#a1">TRadioButtons::draw</a> , <a class="el" href="classTView.html#a19">TView::draw</a></dl>Parameter `icon' points to a string which will be written at the left side of every item. For example <a class="el" href="classTCheckBoxes.html#a1">TCheckBoxes::draw()</a> calls this method with string " [ ] " as `icon' parameter. TRadioButton::draw() calls this method with string " ( ) " as parameter `icon'.
+<p>
+Parameter `marker' is a pointer to an array of 2 characters. If the item is not checked the first character will be written. Otherwise the second character will be used. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTCluster.html#a3">TCluster::drawBox</a> </dl> </td>
+ </tr>
+</table>
+<a name="a5" doxytag="TCluster::getData"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TCluster::getData </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>rec</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Reads the data record of this view.
+<p>
+Writes the value data member to the given `rec' address and calls <a class="el" href="classTView.html#a20">drawView()</a>.
+<p>
+Must be overridden in derived classes that change the value data member in order to work with <a class="el" href="classTCluster.html#a2">dataSize()</a> and <a class="el" href="classTCluster.html#a13">setData()</a>.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a29">TView</a>.
+<p>
+Reimplemented in <a class="el" href="classTMultiCheckBoxes.html#a4">TMultiCheckBoxes</a>. </td>
+ </tr>
+</table>
+<a name="a6" doxytag="TCluster::getHelpCtx"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a0">ushort</a> TCluster::getHelpCtx </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the help context of the selected item.
+<p>
+The help context is calculated by summing view variable <a class="el" href="classTView.html#m9">helpCtx</a> and the number of the currently selected item (0 for the first item, 1 for the second item, etc). Redefines <a class="el" href="classTView.html#a15">TView::getHelpCtx()</a>.
+<p>
+Enables you to have separate help contexts for each item in the cluster. Use it to reserve a range of help contexts equal to <a class="el" href="classTView.html#m9">helpCtx</a> plus the number of cluster items minus one.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a15">TView</a>. </td>
+ </tr>
+</table>
+<a name="a7" doxytag="TCluster::getPalette"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="classTPalette.html">TPalette</a>&amp; TCluster::getPalette </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns a reference to the standard TCluster palette.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a46">TView</a>. </td>
+ </tr>
+</table>
+<a name="a8" doxytag="TCluster::handleEvent"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TCluster::handleEvent </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="structTEvent.html">TEvent</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>event</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Calls <a class="el" href="classTView.html#a41">TView::handleEvent()</a>, then handles all mouse and keyboard events appropriate to this cluster.
+<p>
+Controls are selected by mouse click or cursor movement keys (including Spacebar). The cluster is redrawn to show the selected controls.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a41">TView</a>.
+<p>
+Reimplemented in <a class="el" href="classTMonoSelector.html#a2">TMonoSelector</a>. </td>
+ </tr>
+</table>
+<a name="a9" doxytag="TCluster::mark"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a> TCluster::mark </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>item</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called by the <a class="el" href="classTView.html#a19">draw()</a> method redefined both in <a class="el" href="classTCheckBoxes.html">TCheckBoxes</a> and <a class="el" href="classTRadioButtons.html">TRadioButtons</a> classes to determine which items are marked. <a class="el" href="classTCluster.html#a9">mark()</a> should be overridden to return True if the item'th control in the cluster is marked; otherwise, it should return False. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTCheckBoxes.html#a1">TCheckBoxes::draw</a> , TRadioButton::draw</dl>The default <a class="el" href="classTCluster.html#a9">mark()</a> returns False. Redefined in <a class="el" href="classTCheckBoxes.html">TCheckBoxes</a> and in <a class="el" href="classTRadioButtons.html">TRadioButtons</a>. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTCheckBoxes.html#a2">TCheckBoxes::mark</a> , <a class="el" href="classTRadioButtons.html#a2">TRadioButtons::mark</a> </dl>
+<p>
+Reimplemented in <a class="el" href="classTMonoSelector.html#a3">TMonoSelector</a>, <a class="el" href="classTRadioButtons.html#a2">TRadioButtons</a>, and <a class="el" href="classTCheckBoxes.html#a2">TCheckBoxes</a>. </td>
+ </tr>
+</table>
+<a name="a12" doxytag="TCluster::movedTo"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TCluster::movedTo </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>item</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called by <a class="el" href="classTCluster.html#a8">handleEvent()</a> to move the selection bar to the item'th control of the cluster.
+<p>
+This member function does nothing and must be overridden. Redefined in <a class="el" href="classTRadioButtons.html">TRadioButtons</a>. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTRadioButtons.html#a3">TRadioButtons::movedTo</a> </dl>
+<p>
+Reimplemented in <a class="el" href="classTMonoSelector.html#a6">TMonoSelector</a>, and <a class="el" href="classTRadioButtons.html#a3">TRadioButtons</a>. </td>
+ </tr>
+</table>
+<a name="a10" doxytag="TCluster::multiMark"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a1">uchar</a> TCluster::multiMark </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>item</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+It just returns `(uchar)(mark(item) == True)'.
+<p>
+Reimplemented in <a class="el" href="classTMultiCheckBoxes.html#a5">TMultiCheckBoxes</a>. </td>
+ </tr>
+</table>
+<a name="a11" doxytag="TCluster::press"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TCluster::press </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>item</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called by <a class="el" href="classTCluster.html#a8">handleEvent()</a> when the item'th control in the cluster is pressed either by mouse click or keyboard event.
+<p>
+This member function does nothing and must be overridden. Redefined in <a class="el" href="classTCheckBoxes.html">TCheckBoxes</a> and in <a class="el" href="classTRadioButtons.html">TRadioButtons</a>. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTCheckBoxes.html#a3">TCheckBoxes::press</a> , <a class="el" href="classTRadioButtons.html#a4">TRadioButtons::press</a> </dl>
+<p>
+Reimplemented in <a class="el" href="classTMonoSelector.html#a5">TMonoSelector</a>, <a class="el" href="classTRadioButtons.html#a4">TRadioButtons</a>, <a class="el" href="classTCheckBoxes.html#a3">TCheckBoxes</a>, and <a class="el" href="classTMultiCheckBoxes.html#a6">TMultiCheckBoxes</a>. </td>
+ </tr>
+</table>
+<a name="b2" doxytag="TCluster::read"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void* TCluster::read </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>is</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Used to recover the view from a stream. Reads from the input stream `is'.
+<p>
+Reimplemented from <a class="el" href="classTView.html#b2">TView</a>.
+<p>
+Reimplemented in <a class="el" href="classTMultiCheckBoxes.html#b2">TMultiCheckBoxes</a>. </td>
+ </tr>
+</table>
+<a name="a15" doxytag="TCluster::setButtonState"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TCluster::setButtonState </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">unsigned long&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aMask</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>enable</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Sets the state of one or more items.
+<p>
+`aMask` is a bitmap which specifies what items to enable or disable. `enable' is the action to perform: False to disable, True to enable. </td>
+ </tr>
+</table>
+<a name="a13" doxytag="TCluster::setData"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TCluster::setData </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>rec</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Writes the data record of this view. Reads the value data member from the given `rec' address and calls <a class="el" href="classTView.html#a20">drawView()</a>.
+<p>
+Must be overridden in derived cluster types that require other data members to work with <a class="el" href="classTCluster.html#a2">dataSize()</a> and <a class="el" href="classTCluster.html#a5">getData()</a>.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a30">TView</a>.
+<p>
+Reimplemented in <a class="el" href="classTRadioButtons.html#a5">TRadioButtons</a>, and <a class="el" href="classTMultiCheckBoxes.html#a7">TMultiCheckBoxes</a>. </td>
+ </tr>
+</table>
+<a name="a14" doxytag="TCluster::setState"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TCluster::setState </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aState</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>enable</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Changes the state of the view. Calls TView::setState(aState), then calls <a class="el" href="classTView.html#a20">drawView()</a> if `aState' is <a class="el" href="views_8h.html#a31">sfSelected</a>. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#a50">TView::setState</a> , <a class="el" href="classTView.html#m4">TView::state</a> </dl>
+<p>
+Reimplemented from <a class="el" href="classTView.html#a50">TView</a>. </td>
+ </tr>
+</table>
+<a name="b1" doxytag="TCluster::write"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TCluster::write </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>os</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Used to store the view in a stream. Writes to the output stream `os'.
+<p>
+Reimplemented from <a class="el" href="classTView.html#b1">TView</a>.
+<p>
+Reimplemented in <a class="el" href="classTMultiCheckBoxes.html#b1">TMultiCheckBoxes</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="n1" doxytag="TCluster::enableMask"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> unsigned long TCluster::enableMask<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This variable stores a bitmap which selectively enables cluster items.
+<p>
+If bit 0 is set the first item is enabled, if bit 1 is set the second item is enabled, etc. If a bit is cleared the related item is disabled. Its initial value is 0xffffffff.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l01054">1054</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="p0" doxytag="TCluster::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* const TCluster::name<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTView.html#p4">TView</a>.
+<p>
+Reimplemented in <a class="el" href="classTMonoSelector.html#p0">TMonoSelector</a>, <a class="el" href="classTRadioButtons.html#p0">TRadioButtons</a>, <a class="el" href="classTCheckBoxes.html#p0">TCheckBoxes</a>, and <a class="el" href="classTMultiCheckBoxes.html#p0">TMultiCheckBoxes</a>.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l01106">1106</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="n2" doxytag="TCluster::sel"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> int TCluster::sel<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This integer contains the current selected item.
+<p>
+If its value is 0 the first item is selected, if its value is 1 the second item is selected, etc. Its initial value is 0.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l01061">1061</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="n3" doxytag="TCluster::strings"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStringCollection.html">TStringCollection</a>* TCluster::strings<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This object contains all the item captions.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l01065">1065</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="n0" doxytag="TCluster::value"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> unsigned long TCluster::value<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This variable stores the item status bitmap (current value of the control). Its initial value is 0.
+<p>
+The actual meaning of this data member is determined by the member functions developed in the classes derived from TCluster.
+<p>
+For example, <a class="el" href="classTCheckBoxes.html">TCheckBoxes</a> interprets each of the 32 bits of value as the state (on or off) of 32 distinct check boxes. If bit 0 is set the first box is checked, if bit 1 is set the second box is checked, etc. If a bit is cleared the related box is unchecked.
+<p>
+In <a class="el" href="classTRadioButtons.html">TRadioButtons</a>, value can represent the state of a cluster of up to 2^32 buttons, since only one radio button can be "on" at any one time.
+<p>
+Note: unsigned long is currently a 32-bit unsigned integer giving a range of 0 to 2^32-1.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l01046">1046</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="dialogs_8h-source.html">dialogs.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:12 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTCluster.png b/freebsdtvision/doc/html/classTCluster.png
new file mode 100644
index 0000000..be86beb
--- /dev/null
+++ b/freebsdtvision/doc/html/classTCluster.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTCollection-members.html b/freebsdtvision/doc/html/classTCollection-members.html
new file mode 100644
index 0000000..189c9b6
--- /dev/null
+++ b/freebsdtvision/doc/html/classTCollection-members.html
@@ -0,0 +1,50 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TCollection Member List</h1>This is the complete list of members for <a class="el" href="classTCollection.html">TCollection</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a3">at</a>(ccIndex index)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a5">atFree</a>(ccIndex index)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a11">atInsert</a>(ccIndex index, void *item)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a12">atPut</a>(ccIndex index, void *item)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a6">atRemove</a>(ccIndex index)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#n1">count</a></td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#n3">delta</a></td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a14">error</a>(ccIndex code, ccIndex info)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#d0">error</a>(ccIndex code, ccIndex info)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a15">firstThat</a>(ccTestFunc Test, void *arg)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a17">forEach</a>(ccAppFunc action, void *arg)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a9">free</a>(void *item)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a10">freeAll</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a20">getCount</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a4">indexOf</a>(void *item)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a13">insert</a>(void *item)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#n0">items</a></td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a16">lastThat</a>(ccTestFunc Test, void *arg)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#n2">limit</a></td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCollection.html#p0">name</a></td><td><a class="el" href="classTCollection.html">TCollection</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a18">pack</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCollection.html#b1">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTCollection.html">TCollection</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a7">remove</a>(void *item)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a8">removeAll</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a19">setLimit</a>(ccIndex aLimit)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#n4">shouldDelete</a></td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a2">shutDown</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCollection.html#a0">TCollection</a>(ccIndex aLimit, ccIndex aDelta)</td><td><a class="el" href="classTCollection.html">TCollection</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCollection.html#b0">TCollection</a>(StreamableInit)</td><td><a class="el" href="classTCollection.html">TCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a0">TNSCollection</a>(ccIndex aLimit, ccIndex aDelta)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#b0">TNSCollection</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCollection.html#b2">write</a>(opstream &amp;os)</td><td><a class="el" href="classTCollection.html">TCollection</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a1">~TNSCollection</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:12 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTCollection.html b/freebsdtvision/doc/html/classTCollection.html
new file mode 100644
index 0000000..2fe1424
--- /dev/null
+++ b/freebsdtvision/doc/html/classTCollection.html
@@ -0,0 +1,235 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TCollection class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TCollection Class Reference</h1>Streamable collection of items.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="objects_8h-source.html">objects.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TCollection:
+<p><center><img src="classTCollection.png" usemap="#TCollection_map" border="0" alt=""></center>
+<map name="TCollection_map">
+<area href="classTNSCollection.html" alt="TNSCollection" shape="rect" coords="0,56,129,80">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="139,56,268,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,129,24">
+<area href="classTDirCollection.html" alt="TDirCollection" shape="rect" coords="0,168,129,192">
+<area href="classTSortedCollection.html" alt="TSortedCollection" shape="rect" coords="139,168,268,192">
+<area href="classTFileCollection.html" alt="TFileCollection" shape="rect" coords="69,224,198,248">
+<area href="classTStringCollection.html" alt="TStringCollection" shape="rect" coords="208,224,337,248">
+<area href="classTResourceCollection.html" alt="TResourceCollection" shape="rect" coords="208,280,337,304">
+</map>
+<a href="classTCollection-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTCollection.html#a0">TCollection</a> (<a class="el" href="ttypes_8h.html#a5">ccIndex</a> aLimit, <a class="el" href="ttypes_8h.html#a5">ccIndex</a> aDelta)</td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>const char *const&nbsp;</td><td valign=bottom><a class="el" href="classTCollection.html#p0">name</a></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTCollection.html#b0">TCollection</a> (<a class="el" href="ttypes_8h.html#a14">StreamableInit</a>)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void *&nbsp;</td><td valign=bottom><a class="el" href="classTCollection.html#b1">read</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTCollection.html#b2">write</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+TCollection implements a streamable collection of arbitrary items, including other objects.
+<p>
+Its main purpose is to provide a base class for more useful streamable collection classes. <a class="el" href="classTNSCollection.html">TNSCollection</a> (the nonstreamable collection class) is a virtual base class for TCollection, providing the functions for adding, accessing, and removing items from a collection. <a class="el" href="classTStreamable.html">TStreamable</a> provides TCollection with the ability to create and name streams.
+<p>
+Several friend functions and the overloaded operators, &gt;&gt; and &lt;&lt;, provide the ability to write and read collections to and from streams.
+<p>
+A collection is a more general concept than the traditional array, set, or list.
+<p>
+TCollection objects size themselves dynamically at run time and offer a base for more specialized derived classes such as <a class="el" href="classTSortedCollection.html">TSortedCollection</a>, <a class="el" href="classTStringCollection.html">TStringCollection</a>, and <a class="el" href="classTResourceCollection.html">TResourceCollection</a>.
+<p>
+TCollection inherits from <a class="el" href="classTNSCollection.html">TNSCollection</a> the member functions for adding and deleting items, as well as several iterator routines that call a function for each item in the collection.
+<p>
+Note: type ccIndex is defined in file `<a class="el" href="ttypes_8h.html">ttypes.h</a>' as int.
+<p>
+
+<p>
+Definition at line <a class="el" href="objects_8h-source.html#l00349">349</a> of file <a class="el" href="objects_8h-source.html">objects.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TCollection::TCollection"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TCollection::TCollection </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a5">ccIndex</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aLimit</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a5">ccIndex</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aDelta</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructor.
+<p>
+Creates a collection with limit set to `aLimit' and delta set to `aDelta'. The initial number of items will be limited to `aLimit', but the collection is allowed to grow in increments of `aDelta' until memory runs out or the number of items reaches <a class="el" href="tvconfig_8h.html#a1">maxCollectionSize</a>, an integer constant defined in `<a class="el" href="tvconfig_8h.html">tvconfig.h</a>' as follows:
+<p>
+<pre>
+ const int <a class="el" href="tvconfig_8h.html#a1">maxCollectionSize</a> = INT_MAX / sizeof(void *);
+ </pre>
+<p>
+Definition at line <a class="el" href="objects_8h-source.html#l00365">365</a> of file <a class="el" href="objects_8h-source.html">objects.h</a>.
+<p>
+References <a class="el" href="ttypes_8h-source.html#l00072">ccIndex</a>, <a class="el" href="tvobjs_8h-source.html#l00385">TNSCollection::delta</a>, and <a class="el" href="classTNSCollection.html#a19">TNSCollection::setLimit()</a>. </td>
+ </tr>
+</table>
+<a name="b0" doxytag="TCollection::TCollection"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TCollection::TCollection </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a14">StreamableInit</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructor.
+<p>
+Each streamable class needs a "builder" to allocate the correct memory for its objects together with the initialized vtable pointers. This is achieved by calling this constructor with an argument of type <a class="el" href="ttypes_8h.html#a14">StreamableInit</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="b1" doxytag="TCollection::read"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void* TCollection::read </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>is</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Reads a collection from the input stream `is' to the associated TCollection object.
+<p>
+Implements <a class="el" href="classTStreamable.html#b0">TStreamable</a>.
+<p>
+Reimplemented in <a class="el" href="classTSortedCollection.html#b1">TSortedCollection</a>. </td>
+ </tr>
+</table>
+<a name="b2" doxytag="TCollection::write"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TCollection::write </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>os</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Writes the associated collection to the output stream `os'.
+<p>
+Implements <a class="el" href="classTStreamable.html#b1">TStreamable</a>.
+<p>
+Reimplemented in <a class="el" href="classTSortedCollection.html#b2">TSortedCollection</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="p0" doxytag="TCollection::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* const TCollection::name<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The name of the collection class, "TCollection". Used internally by the stream manager.
+<p>
+Reimplemented in <a class="el" href="classTSortedCollection.html#p0">TSortedCollection</a>, <a class="el" href="classTStringCollection.html#p0">TStringCollection</a>, <a class="el" href="classTResourceCollection.html#p0">TResourceCollection</a>, <a class="el" href="classTFileCollection.html#p0">TFileCollection</a>, and <a class="el" href="classTDirCollection.html#p0">TDirCollection</a>.
+<p>
+Definition at line <a class="el" href="objects_8h-source.html#l00410">410</a> of file <a class="el" href="objects_8h-source.html">objects.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="objects_8h-source.html">objects.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:12 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTCollection.png b/freebsdtvision/doc/html/classTCollection.png
new file mode 100644
index 0000000..ce905a5
--- /dev/null
+++ b/freebsdtvision/doc/html/classTCollection.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTColorDialog-members.html b/freebsdtvision/doc/html/classTColorDialog-members.html
new file mode 100644
index 0000000..f4e923b
--- /dev/null
+++ b/freebsdtvision/doc/html/classTColorDialog-members.html
@@ -0,0 +1,188 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TColorDialog Member List</h1>This is the complete list of members for <a class="el" href="classTColorDialog.html">TColorDialog</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a17">at</a>(short index)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a5">awaken</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorDialog.html#n4">bakLabel</a></td><td><a class="el" href="classTColorDialog.html">TColorDialog</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorDialog.html#n5">bakSel</a></td><td><a class="el" href="classTColorDialog.html">TColorDialog</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a32">blockCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m4">buffer</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorDialog.html#d0">build</a>()</td><td><a class="el" href="classTColorDialog.html">TColorDialog</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a10">calcBounds</a>(TRect &amp;bounds, TPoint delta)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a25">changeBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a38">clearEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m2">clip</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a2">close</a>()</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d0">commandEnabled</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p0">commandSetChanged</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a7">containsMouse</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindowInit.html#n0">createFrame</a></td><td><a class="el" href="classTWindowInit.html">TWindowInit</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p1">curCommandSet</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m0">current</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m6">cursor</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorDialog.html#a2">dataSize</a>()</td><td><a class="el" href="classTColorDialog.html">TColorDialog</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d3">disableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d1">disableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorDialog.html#n0">display</a></td><td><a class="el" href="classTColorDialog.html">TColorDialog</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m8">dragMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a9">dragView</a>(TEvent &amp;event, uchar mode, TRect &amp;limits, TPoint minSize, TPoint maxSize)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a29">draw</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a37">drawCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a24">drawHide</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a25">drawShow</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a24">drawSubViews</a>(TView *p, TView *bottom)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a26">drawUnderRect</a>(TRect &amp;r, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a27">drawUnderView</a>(Boolean doShadow, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a20">drawView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d4">enableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d2">enableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a34">endModal</a>(ushort command)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m6">endState</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>enterSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p3">errorAttr</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a39">eventAvail</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a35">eventError</a>(TEvent &amp;event)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m3">eventMask</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a4">execute</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a3">execView</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a21">exposed</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a21">first</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a18">firstMatch</a>(ushort aState, ushort aOptions)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a12">firstThat</a>(Boolean(*func)(TView *, void *), void *args)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#m0">flags</a></td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a22">focus</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a13">focusNext</a>(Boolean forwards)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a14">forEach</a>(void(*func)(TView *, void *), void *args)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorDialog.html#n2">forLabel</a></td><td><a class="el" href="classTColorDialog.html">TColorDialog</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorDialog.html#n3">forSel</a></td><td><a class="el" href="classTColorDialog.html">TColorDialog</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#m4">frame</a></td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a38">freeBuffer</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a3">getBounds</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a39">getBuffer</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a5">getClipRect</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a45">getColor</a>(ushort color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d5">getCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorDialog.html#a3">getData</a>(void *rec)</td><td><a class="el" href="classTColorDialog.html">TColorDialog</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a40">getEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a4">getExtent</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a36">getHelpCtx</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorDialog.html#a6">getIndexes</a>(TColorIndex *&amp;)</td><td><a class="el" href="classTColorDialog.html">TColorDialog</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDialog.html#a1">getPalette</a>() const</td><td><a class="el" href="classTDialog.html">TDialog</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a48">getState</a>(ushort aState)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a4">getTitle</a>(short maxSize)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorDialog.html#n8">groupIndex</a></td><td><a class="el" href="classTColorDialog.html">TColorDialog</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorDialog.html#n1">groups</a></td><td><a class="el" href="classTColorDialog.html">TColorDialog</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m7">growMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a12">growTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorDialog.html#a4">handleEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTColorDialog.html">TColorDialog</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m9">helpCtx</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a17">hide</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a23">hideCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a19">indexOf</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#d0">initFrame</a>(TRect)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a15">insert</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a16">insertBefore</a>(TView *p, TView *Target)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a6">insertView</a>(TView *p, TView *Target)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a51">keyEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m1">last</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>leaveSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a8">locate</a>(TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a31">lock</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m5">lockFlag</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a58">makeFirst</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a53">makeGlobal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a54">makeLocal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a47">mapColor</a>(uchar)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a20">matches</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorDialog.html#n6">monoLabel</a></td><td><a class="el" href="classTColorDialog.html">TColorDialog</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorDialog.html#n7">monoSel</a></td><td><a class="el" href="classTColorDialog.html">TColorDialog</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a52">mouseEvent</a>(TEvent &amp;event, ushort mask)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a6">mouseInView</a>(TPoint mouse)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a13">moveTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorDialog.html#p0">name</a></td><td><a class="el" href="classTColorDialog.html">TColorDialog</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m0">next</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a55">nextView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a33">normalCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>normalSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#m2">number</a></td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m2">options</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m5">origin</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m10">owner</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorDialog.html#m0">pal</a></td><td><a class="el" href="classTColorDialog.html">TColorDialog</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#m3">palette</a></td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m3">phase</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s6">phaseType</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phFocused</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPostProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPreProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a57">prev</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a56">prevView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a42">putEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a59">putInFrontOf</a>(TView *Target)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorDialog.html#b2">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTColorDialog.html">TColorDialog</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a30">redraw</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a7">remove</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a8">removeView</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a9">resetCurrent</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a33">resetCursor</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a49">select</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s7">selectMode</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a11">selectNext</a>(Boolean forwards)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a14">setBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d7">setCmdState</a>(TCommandSet &amp;commands, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d6">setCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a10">setCurrent</a>(TView *p, selectMode mode)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a35">setCursor</a>(int x, int y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorDialog.html#a5">setData</a>(void *rec)</td><td><a class="el" href="classTColorDialog.html">TColorDialog</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorDialog.html#a7">setIndexes</a>(TColorIndex *&amp;)</td><td><a class="el" href="classTColorDialog.html">TColorDialog</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a6">setState</a>(ushort aState, Boolean enable)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a18">show</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a36">showCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p2">showMarkers</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a10">shutDown</a>()</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m1">size</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a7">sizeLimits</a>(TPoint &amp;min, TPoint &amp;max)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a8">standardScrollBar</a>(ushort aOptions)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m4">state</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorDialog.html#a0">TColorDialog</a>(TPalette *aPalette, TColorGroup *aGroups)</td><td><a class="el" href="classTColorDialog.html">TColorDialog</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorDialog.html#b0">TColorDialog</a>(StreamableInit)</td><td><a class="el" href="classTColorDialog.html">TColorDialog</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDialog.html#a0">TDialog</a>(const TRect &amp;bounds, const char *aTitle)</td><td><a class="el" href="classTDialog.html">TDialog</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDialog.html#b0">TDialog</a>(StreamableInit)</td><td><a class="el" href="classTDialog.html">TDialog</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a0">TGroup</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#b0">TGroup</a>(StreamableInit)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#m5">title</a></td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a60">TopView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a0">TView</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#b0">TView</a>(StreamableInit)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a0">TWindow</a>(const TRect &amp;bounds, const char *aTitle, short aNumber)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#b0">TWindow</a>(StreamableInit)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindowInit.html#a0">TWindowInit</a>(TFrame *(*cFrame)(TRect bounds))</td><td><a class="el" href="classTWindowInit.html">TWindowInit</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a32">unlock</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDialog.html#a3">valid</a>(ushort command)</td><td><a class="el" href="classTDialog.html">TDialog</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorDialog.html#b1">write</a>(opstream &amp;os)</td><td><a class="el" href="classTColorDialog.html">TColorDialog</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a61">writeBuf</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a62">writeBuf</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a63">writeChar</a>(short x, short y, char c, uchar color, short count)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a64">writeLine</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a65">writeLine</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a66">writeStr</a>(short x, short y, const char *str, uchar color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a9">zoom</a>()</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#m1">zoomRect</a></td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorDialog.html#a1">~TColorDialog</a>()</td><td><a class="el" href="classTColorDialog.html">TColorDialog</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a1">~TGroup</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a1">~TView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a1">~TWindow</a>()</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:12 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTColorDialog.html b/freebsdtvision/doc/html/classTColorDialog.html
new file mode 100644
index 0000000..b145785
--- /dev/null
+++ b/freebsdtvision/doc/html/classTColorDialog.html
@@ -0,0 +1,727 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TColorDialog class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TColorDialog Class Reference</h1>Viewer used to examine and change the standard palette.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="colorsel_8h-source.html">colorsel.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TColorDialog:
+<p><center><img src="classTColorDialog.png" usemap="#TColorDialog_map" border="0" alt=""></center>
+<map name="TColorDialog_map">
+<area href="classTDialog.html" alt="TDialog" shape="rect" coords="96,224,182,248">
+<area href="classTWindow.html" alt="TWindow" shape="rect" coords="96,168,182,192">
+<area href="classTGroup.html" alt="TGroup" shape="rect" coords="48,112,134,136">
+<area href="classTWindowInit.html" alt="TWindowInit" shape="rect" coords="144,112,230,136">
+<area href="classTView.html" alt="TView" shape="rect" coords="48,56,134,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,86,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="96,0,182,24">
+</map>
+<a href="classTColorDialog-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTColorDialog.html#a0">TColorDialog</a> (<a class="el" href="classTPalette.html">TPalette</a> *aPalette, <a class="el" href="classTColorGroup.html">TColorGroup</a> *aGroups)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTColorDialog.html#a1">~TColorDialog</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="classTColorDialog.html#a2">dataSize</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTColorDialog.html#a3">getData</a> (void *rec)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTColorDialog.html#a4">handleEvent</a> (<a class="el" href="structTEvent.html">TEvent</a> &amp;event)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTColorDialog.html#a5">setData</a> (void *rec)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTColorDialog.html#a6">getIndexes</a> (<a class="el" href="classTColorIndex.html">TColorIndex</a> *&amp;)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTColorDialog.html#a7">setIndexes</a> (<a class="el" href="classTColorIndex.html">TColorIndex</a> *&amp;)</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStreamable.html">TStreamable</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTColorDialog.html#d0">build</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTPalette.html">TPalette</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTColorDialog.html#m0">pal</a></td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>const char *const&nbsp;</td><td valign=bottom><a class="el" href="classTColorDialog.html#p0">name</a></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTColorDialog.html#b0">TColorDialog</a> (<a class="el" href="ttypes_8h.html#a14">StreamableInit</a>)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTColorDialog.html#b1">write</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void *&nbsp;</td><td valign=bottom><a class="el" href="classTColorDialog.html#b2">read</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is)</td></tr>
+<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTColorDisplay.html">TColorDisplay</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTColorDialog.html#n0">display</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTColorGroupList.html">TColorGroupList</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTColorDialog.html#n1">groups</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTLabel.html">TLabel</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTColorDialog.html#n2">forLabel</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTColorSelector.html">TColorSelector</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTColorDialog.html#n3">forSel</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTLabel.html">TLabel</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTColorDialog.html#n4">bakLabel</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTColorSelector.html">TColorSelector</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTColorDialog.html#n5">bakSel</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTLabel.html">TLabel</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTColorDialog.html#n6">monoLabel</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTMonoSelector.html">TMonoSelector</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTColorDialog.html#n7">monoSel</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a1">uchar</a>&nbsp;</td><td valign=bottom><a class="el" href="classTColorDialog.html#n8">groupIndex</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+These interrelated classes provide viewers and dialog boxes from which the user can select and change the color assignments from available palettes with immediate effect on the screen:
+<p>
+<a class="el" href="classTColorDisplay.html">TColorDisplay</a>, <a class="el" href="classTColorGroup.html">TColorGroup</a>, <a class="el" href="classTColorGroupList.html">TColorGroupList</a>, <a class="el" href="classTColorItem.html">TColorItem</a>, <a class="el" href="classTColorItemList.html">TColorItemList</a>, <a class="el" href="classTColorSelector.html">TColorSelector</a>, <a class="el" href="classTMonoSelector.html">TMonoSelector</a> and TColorDialog.
+<p>
+TColorDialog is a specialized scrollable dialog box called "Colors" from which the user can examine various palette selections before making a selection.
+<p>
+
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00825">825</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TColorDialog::TColorDialog"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TColorDialog::TColorDialog </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTPalette.html">TPalette</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aPalette</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTColorGroup.html">TColorGroup</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aGroups</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructor.
+<p>
+Calls the <a class="el" href="classTDialog.html">TDialog</a> and <a class="el" href="classTScrollBar.html">TScrollBar</a> constructors to create a fixed size, framed window titled "Colors" with two scroll bars. The pal data member is set to `aPalette'. The given `aGroups' argument creates and inserts a <a class="el" href="classTColorGroup.html">TColorGroup</a> object with an associated label: "~G~roup". The items in `aGroups' initialize a <a class="el" href="classTColorItemList.html">TColorItemList</a> object, which is also inserted in the dialog, labeled as "~I~tem".
+<p>
+`aPalette' is a pointer to the initial palette to be modified. This class creates a local copy of the initial palette, so the initial palette is never modified. You may safely leave this field to 0 and set the palette with a subsequent call to <a class="el" href="classTColorDialog.html#a5">setData()</a>. `aGroups' is a pointer to a cluster of objects which specifies all the items in the palette.
+<p>
+See file `demo/tvdemo2.cc' for an example. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TColorDialog::~TColorDialog"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TColorDialog::~TColorDialog </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Destructor.
+<p>
+Deletes the local copy of the palette. </td>
+ </tr>
+</table>
+<a name="b0" doxytag="TColorDialog::TColorDialog"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TColorDialog::TColorDialog </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a14">StreamableInit</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructor.
+<p>
+Used to recover the dialog from a stream. Foreground and background color selectors are created and inserted, labeled as "~F~oreground" and "~B~ackground". The string "Text " is displayed in the current text color.
+<p>
+A <a class="el" href="classTMonoSelector.html">TMonoSelector</a> object is created, inserted, and labeled "~C~olor". All the items are displayed in their correct colors and attributes. Finally, "O~K~" and "Cancel" buttons are inserted. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="d0" doxytag="TColorDialog::build"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStreamable.html">TStreamable</a>* TColorDialog::build </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called to create an object in certain stream-reading situations.
+<p>
+Reimplemented from <a class="el" href="classTDialog.html#d0">TDialog</a>. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="TColorDialog::dataSize"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a0">ushort</a> TColorDialog::dataSize </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+By default, <a class="el" href="classTColorDialog.html#a2">dataSize()</a> returns the size of the current palette, expressed in bytes.
+<p>
+Reimplemented from <a class="el" href="classTGroup.html#a26">TGroup</a>. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="TColorDialog::getData"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TColorDialog::getData </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>rec</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Reads the data record of this dialog.
+<p>
+Copies <a class="el" href="classTColorDialog.html#a2">dataSize()</a> bytes from pal to `rec'. `rec' should point to a <a class="el" href="classTPalette.html">TPalette</a> object. Its contents will be overwritten by the contents of this object. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTColorDialog.html#a5">setData</a> </dl>
+<p>
+Reimplemented from <a class="el" href="classTGroup.html#a27">TGroup</a>. </td>
+ </tr>
+</table>
+<a name="a6" doxytag="TColorDialog::getIndexes"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TColorDialog::getIndexes </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTColorIndex.html">TColorIndex</a> *&amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="TColorDialog::handleEvent"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TColorDialog::handleEvent </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="structTEvent.html">TEvent</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>event</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Calls <a class="el" href="classTDialog.html#a2">TDialog::handleEvent()</a> and redisplays if the broadcast event generated is cmNewColorIndex.
+<p>
+Reimplemented from <a class="el" href="classTDialog.html#a2">TDialog</a>. </td>
+ </tr>
+</table>
+<a name="b2" doxytag="TColorDialog::read"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void* TColorDialog::read </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>is</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Used to recover the dialog from a stream. Reads from the input stream `is'.
+<p>
+Reimplemented from <a class="el" href="classTWindow.html#b2">TWindow</a>. </td>
+ </tr>
+</table>
+<a name="a5" doxytag="TColorDialog::setData"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TColorDialog::setData </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>rec</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Writes the data record of this view.
+<p>
+The reverse of <a class="el" href="classTColorDialog.html#a3">getData()</a>: copies from `rec' to pal, restoring the saved color selections. `rec' should point to a <a class="el" href="classTPalette.html">TPalette</a> object.
+<p>
+Reimplemented from <a class="el" href="classTGroup.html#a28">TGroup</a>. </td>
+ </tr>
+</table>
+<a name="a7" doxytag="TColorDialog::setIndexes"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TColorDialog::setIndexes </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTColorIndex.html">TColorIndex</a> *&amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="b1" doxytag="TColorDialog::write"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TColorDialog::write </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>os</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Used to store the dialog in a stream. Writes to the output stream `os'.
+<p>
+Reimplemented from <a class="el" href="classTWindow.html#b1">TWindow</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="n4" doxytag="TColorDialog::bakLabel"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTLabel.html">TLabel</a>* TColorDialog::bakLabel<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The background color label.
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00906">906</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>. </td>
+ </tr>
+</table>
+<a name="n5" doxytag="TColorDialog::bakSel"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTColorSelector.html">TColorSelector</a>* TColorDialog::bakSel<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The background color selector.
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00910">910</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>. </td>
+ </tr>
+</table>
+<a name="n0" doxytag="TColorDialog::display"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTColorDisplay.html">TColorDisplay</a>* TColorDialog::display<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The color display object for this dialog box.
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00890">890</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>. </td>
+ </tr>
+</table>
+<a name="n2" doxytag="TColorDialog::forLabel"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTLabel.html">TLabel</a>* TColorDialog::forLabel<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The foreground color label.
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00898">898</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>. </td>
+ </tr>
+</table>
+<a name="n3" doxytag="TColorDialog::forSel"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTColorSelector.html">TColorSelector</a>* TColorDialog::forSel<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The foreground color selector.
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00902">902</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>. </td>
+ </tr>
+</table>
+<a name="n8" doxytag="TColorDialog::groupIndex"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a1">uchar</a> TColorDialog::groupIndex<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00922">922</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>. </td>
+ </tr>
+</table>
+<a name="n1" doxytag="TColorDialog::groups"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTColorGroupList.html">TColorGroupList</a>* TColorDialog::groups<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The color group for this dialog box.
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00894">894</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>. </td>
+ </tr>
+</table>
+<a name="n6" doxytag="TColorDialog::monoLabel"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTLabel.html">TLabel</a>* TColorDialog::monoLabel<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The monochrome label.
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00914">914</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>. </td>
+ </tr>
+</table>
+<a name="n7" doxytag="TColorDialog::monoSel"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTMonoSelector.html">TMonoSelector</a>* TColorDialog::monoSel<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The selector for monochrome attributes.
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00918">918</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>. </td>
+ </tr>
+</table>
+<a name="p0" doxytag="TColorDialog::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* const TColorDialog::name<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTDialog.html#p0">TDialog</a>.
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00970">970</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>. </td>
+ </tr>
+</table>
+<a name="m0" doxytag="TColorDialog::pal"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTPalette.html">TPalette</a>* TColorDialog::pal
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Is a pointer to the current palette selection.
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00885">885</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="colorsel_8h-source.html">colorsel.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:12 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTColorDialog.png b/freebsdtvision/doc/html/classTColorDialog.png
new file mode 100644
index 0000000..3116900
--- /dev/null
+++ b/freebsdtvision/doc/html/classTColorDialog.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTColorDisplay-members.html b/freebsdtvision/doc/html/classTColorDisplay-members.html
new file mode 100644
index 0000000..b1f0bfa
--- /dev/null
+++ b/freebsdtvision/doc/html/classTColorDisplay-members.html
@@ -0,0 +1,127 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TColorDisplay Member List</h1>This is the complete list of members for <a class="el" href="classTColorDisplay.html">TColorDisplay</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a31">awaken</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a32">blockCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorDisplay.html#d0">build</a>()</td><td><a class="el" href="classTColorDisplay.html">TColorDisplay</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a10">calcBounds</a>(TRect &amp;bounds, TPoint delta)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a11">changeBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a38">clearEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorDisplay.html#n0">color</a></td><td><a class="el" href="classTColorDisplay.html">TColorDisplay</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d0">commandEnabled</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p0">commandSetChanged</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a7">containsMouse</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p1">curCommandSet</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m6">cursor</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a28">dataSize</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d3">disableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d1">disableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m8">dragMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a9">dragView</a>(TEvent &amp;event, uchar mode, TRect &amp;limits, TPoint minSize, TPoint maxSize)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorDisplay.html#a2">draw</a>()</td><td><a class="el" href="classTColorDisplay.html">TColorDisplay</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a37">drawCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a24">drawHide</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a25">drawShow</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a26">drawUnderRect</a>(TRect &amp;r, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a27">drawUnderView</a>(Boolean doShadow, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a20">drawView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d4">enableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d2">enableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a43">endModal</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>enterSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p3">errorAttr</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a39">eventAvail</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m3">eventMask</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a44">execute</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a21">exposed</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a22">focus</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a3">getBounds</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a5">getClipRect</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a45">getColor</a>(ushort color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d5">getCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a29">getData</a>(void *rec)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a40">getEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a4">getExtent</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a15">getHelpCtx</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a46">getPalette</a>() const</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a48">getState</a>(ushort aState)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m7">growMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a12">growTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorDisplay.html#a3">handleEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTColorDisplay.html">TColorDisplay</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m9">helpCtx</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a17">hide</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a23">hideCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a51">keyEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>leaveSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a8">locate</a>(TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a58">makeFirst</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a53">makeGlobal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a54">makeLocal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a47">mapColor</a>(uchar)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a52">mouseEvent</a>(TEvent &amp;event, ushort mask)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a6">mouseInView</a>(TPoint mouse)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a13">moveTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorDisplay.html#p0">name</a></td><td><a class="el" href="classTColorDisplay.html">TColorDisplay</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m0">next</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a55">nextView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a33">normalCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>normalSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m2">options</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m5">origin</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m10">owner</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s6">phaseType</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phFocused</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPostProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPreProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a57">prev</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a56">prevView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a42">putEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a59">putInFrontOf</a>(TView *Target)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorDisplay.html#b2">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTColorDisplay.html">TColorDisplay</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a34">resetCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a49">select</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s7">selectMode</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a14">setBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d7">setCmdState</a>(TCommandSet &amp;commands, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorDisplay.html#a4">setColor</a>(uchar *aColor)</td><td><a class="el" href="classTColorDisplay.html">TColorDisplay</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d6">setCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a35">setCursor</a>(int x, int y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a30">setData</a>(void *rec)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a50">setState</a>(ushort aState, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a18">show</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a36">showCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p2">showMarkers</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a67">shutDown</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m1">size</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a2">sizeLimits</a>(TPoint &amp;min, TPoint &amp;max)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m4">state</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorDisplay.html#a0">TColorDisplay</a>(const TRect &amp;bounds, const char *aText)</td><td><a class="el" href="classTColorDisplay.html">TColorDisplay</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorDisplay.html#b0">TColorDisplay</a>(StreamableInit)</td><td><a class="el" href="classTColorDisplay.html">TColorDisplay</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorDisplay.html#n1">text</a></td><td><a class="el" href="classTColorDisplay.html">TColorDisplay</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a60">TopView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a0">TView</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#b0">TView</a>(StreamableInit)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a16">valid</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorDisplay.html#b1">write</a>(opstream &amp;os)</td><td><a class="el" href="classTColorDisplay.html">TColorDisplay</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a61">writeBuf</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a62">writeBuf</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a63">writeChar</a>(short x, short y, char c, uchar color, short count)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a64">writeLine</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a65">writeLine</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a66">writeStr</a>(short x, short y, const char *str, uchar color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorDisplay.html#a1">~TColorDisplay</a>()</td><td><a class="el" href="classTColorDisplay.html">TColorDisplay</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a1">~TView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:12 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTColorDisplay.html b/freebsdtvision/doc/html/classTColorDisplay.html
new file mode 100644
index 0000000..f6a7bec
--- /dev/null
+++ b/freebsdtvision/doc/html/classTColorDisplay.html
@@ -0,0 +1,421 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TColorDisplay class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TColorDisplay Class Reference</h1>Viewer used to display and select colors.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="colorsel_8h-source.html">colorsel.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TColorDisplay:
+<p><center><img src="classTColorDisplay.png" usemap="#TColorDisplay_map" border="0" alt=""></center>
+<map name="TColorDisplay_map">
+<area href="classTView.html" alt="TView" shape="rect" coords="51,56,143,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,92,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="102,0,194,24">
+</map>
+<a href="classTColorDisplay-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTColorDisplay.html#a0">TColorDisplay</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;bounds, const char *aText)</td></tr>
+<tr><td nowrap align=right valign=top>virtual&nbsp;</td><td valign=bottom><a class="el" href="classTColorDisplay.html#a1">~TColorDisplay</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTColorDisplay.html#a2">draw</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTColorDisplay.html#a3">handleEvent</a> (<a class="el" href="structTEvent.html">TEvent</a> &amp;event)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTColorDisplay.html#a4">setColor</a> (<a class="el" href="ttypes_8h.html#a1">uchar</a> *aColor)</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStreamable.html">TStreamable</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTColorDisplay.html#d0">build</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>const char *const&nbsp;</td><td valign=bottom><a class="el" href="classTColorDisplay.html#p0">name</a></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTColorDisplay.html#b0">TColorDisplay</a> (<a class="el" href="ttypes_8h.html#a14">StreamableInit</a>)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTColorDisplay.html#b1">write</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void *&nbsp;</td><td valign=bottom><a class="el" href="classTColorDisplay.html#b2">read</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is)</td></tr>
+<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a1">uchar</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTColorDisplay.html#n0">color</a></td></tr>
+<tr><td nowrap align=right valign=top>const char *&nbsp;</td><td valign=bottom><a class="el" href="classTColorDisplay.html#n1">text</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+TColorDisplay and these interrelated classes provide viewers and dialog boxes from which the user can select and change the screen attributes and color assignments from available palettes with immediate effect on the screen:
+<p>
+<a class="el" href="classTColorItem.html">TColorItem</a>, <a class="el" href="classTColorGroup.html">TColorGroup</a>, <a class="el" href="classTColorSelector.html">TColorSelector</a>, <a class="el" href="classTMonoSelector.html">TMonoSelector</a>, <a class="el" href="classTColorGroupList.html">TColorGroupList</a>, <a class="el" href="classTColorItemList.html">TColorItemList</a> and <a class="el" href="classTColorDialog.html">TColorDialog</a>.
+<p>
+TColorDisplay is a view for displaying text so that the user can select a suitable palette.
+<p>
+
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00454">454</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TColorDisplay::TColorDisplay"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TColorDisplay::TColorDisplay </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>bounds</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>const char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aText</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructor.
+<p>
+Creates a view of the given size with <a class="el" href="classTView.html">TView</a> constructors TView(bounds), then sets text to the `aText' argument.
+<p>
+`bounds' is the bounding rectangle of the view. `aText' is the string printed in the view. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TColorDisplay::~TColorDisplay"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual TColorDisplay::~TColorDisplay </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Destructor.
+<p>
+Destroys both the view and the text string. </td>
+ </tr>
+</table>
+<a name="b0" doxytag="TColorDisplay::TColorDisplay"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TColorDisplay::TColorDisplay </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a14">StreamableInit</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructor.
+<p>
+Used to recover the view from a stream. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="d0" doxytag="TColorDisplay::build"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStreamable.html">TStreamable</a>* TColorDisplay::build </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a new TColorDisplay.
+<p>
+Used to recover the view from a stream. Called to create an object in certain stream-reading situations.
+<p>
+Reimplemented from <a class="el" href="classTView.html#d8">TView</a>. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="TColorDisplay::draw"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TColorDisplay::draw </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Draws the view with given text and current color.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a19">TView</a>. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="TColorDisplay::handleEvent"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TColorDisplay::handleEvent </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="structTEvent.html">TEvent</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>event</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Calls <a class="el" href="classTView.html#a41">TView::handleEvent()</a> and redraws the view as appropriate in response to the cmColorBackgroundChanged and cmColorForegroundChanged broadcast events.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a41">TView</a>. </td>
+ </tr>
+</table>
+<a name="b2" doxytag="TColorDisplay::read"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void* TColorDisplay::read </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>is</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Used to recover the view from a stream. Reads from the input stream `is'.
+<p>
+Reimplemented from <a class="el" href="classTView.html#b2">TView</a>. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="TColorDisplay::setColor"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TColorDisplay::setColor </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a1">uchar</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>aColor</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Change the currently displayed color. Sets color to `aColor', broadcasts the change to the owning group, then calls <a class="el" href="classTView.html#a20">drawView()</a>. </td>
+ </tr>
+</table>
+<a name="b1" doxytag="TColorDisplay::write"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TColorDisplay::write </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>os</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Used to store the view in a stream. Writes to the output stream `os'.
+<p>
+Reimplemented from <a class="el" href="classTView.html#b1">TView</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="n0" doxytag="TColorDisplay::color"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a1">uchar</a>* TColorDisplay::color<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Stores the current color for this display.
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00493">493</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>. </td>
+ </tr>
+</table>
+<a name="p0" doxytag="TColorDisplay::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* const TColorDisplay::name<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTView.html#p4">TView</a>.
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00521">521</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>. </td>
+ </tr>
+</table>
+<a name="n1" doxytag="TColorDisplay::text"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* TColorDisplay::text<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Stores a pointer to the text string to be displayed.
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00497">497</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="colorsel_8h-source.html">colorsel.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:12 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTColorDisplay.png b/freebsdtvision/doc/html/classTColorDisplay.png
new file mode 100644
index 0000000..ebc74e7
--- /dev/null
+++ b/freebsdtvision/doc/html/classTColorDisplay.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTColorGroup-members.html b/freebsdtvision/doc/html/classTColorGroup-members.html
new file mode 100644
index 0000000..70eaa19
--- /dev/null
+++ b/freebsdtvision/doc/html/classTColorGroup-members.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TColorGroup Member List</h1>This is the complete list of members for <a class="el" href="classTColorGroup.html">TColorGroup</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorGroup.html#m1">index</a></td><td><a class="el" href="classTColorGroup.html">TColorGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorGroup.html#m2">items</a></td><td><a class="el" href="classTColorGroup.html">TColorGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorGroup.html#m0">name</a></td><td><a class="el" href="classTColorGroup.html">TColorGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorGroup.html#m3">next</a></td><td><a class="el" href="classTColorGroup.html">TColorGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorGroup.html#l0">operator+</a>(TColorGroup &amp;g, TColorItem &amp;i)</td><td><a class="el" href="classTColorGroup.html">TColorGroup</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorGroup.html#l1">operator+</a>(TColorGroup &amp;g1, TColorGroup &amp;g2)</td><td><a class="el" href="classTColorGroup.html">TColorGroup</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorGroup.html#a0">TColorGroup</a>(const char *nm, TColorItem *itm=0, TColorGroup *nxt=0)</td><td><a class="el" href="classTColorGroup.html">TColorGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorGroup.html#a1">~TColorGroup</a>()</td><td><a class="el" href="classTColorGroup.html">TColorGroup</a></td><td><code> [virtual]</code></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:12 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTColorGroup.html b/freebsdtvision/doc/html/classTColorGroup.html
new file mode 100644
index 0000000..caa14fb
--- /dev/null
+++ b/freebsdtvision/doc/html/classTColorGroup.html
@@ -0,0 +1,297 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TColorGroup class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TColorGroup Class Reference</h1>Stores a set of color items.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="colorsel_8h-source.html">colorsel.h</a>&gt;</code>
+<p>
+<a href="classTColorGroup-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTColorGroup.html#a0">TColorGroup</a> (const char *nm, <a class="el" href="classTColorItem.html">TColorItem</a> *itm=0, TColorGroup *nxt=0)</td></tr>
+<tr><td nowrap align=right valign=top>virtual&nbsp;</td><td valign=bottom><a class="el" href="classTColorGroup.html#a1">~TColorGroup</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>const char *&nbsp;</td><td valign=bottom><a class="el" href="classTColorGroup.html#m0">name</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a1">uchar</a>&nbsp;</td><td valign=bottom><a class="el" href="classTColorGroup.html#m1">index</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTColorItem.html">TColorItem</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTColorGroup.html#m2">items</a></td></tr>
+<tr><td nowrap align=right valign=top>TColorGroup *&nbsp;</td><td valign=bottom><a class="el" href="classTColorGroup.html#m3">next</a></td></tr>
+<tr><td colspan=2><br><h2>Friends</h2></td></tr>
+<tr><td nowrap align=right valign=top>TColorGroup &amp;&nbsp;</td><td valign=bottom><a class="el" href="classTColorGroup.html#l0">operator+</a> (TColorGroup &amp;g, <a class="el" href="classTColorItem.html">TColorItem</a> &amp;i)</td></tr>
+<tr><td nowrap align=right valign=top>TColorGroup &amp;&nbsp;</td><td valign=bottom><a class="el" href="classTColorGroup.html#l1">operator+</a> (TColorGroup &amp;g1, TColorGroup &amp;g2)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+The interrelated classes <a class="el" href="classTColorItem.html">TColorItem</a>, TColorGroup, <a class="el" href="classTColorSelector.html">TColorSelector</a>, <a class="el" href="classTMonoSelector.html">TMonoSelector</a>, <a class="el" href="classTColorDisplay.html">TColorDisplay</a>, <a class="el" href="classTColorGroupList.html">TColorGroupList</a>, <a class="el" href="classTColorItemList.html">TColorItemList</a> and <a class="el" href="classTColorDialog.html">TColorDialog</a> provide viewers and dialog boxes from which the user can select and change the color assignments from available palettes with immediate effect on the screen.
+<p>
+The TColorGroup class defines a group of linked lists of <a class="el" href="classTColorItem.html">TColorItem</a> objects. Each member of a color group consists of a set of color names and their associated color codes.
+<p>
+
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00115">115</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TColorGroup::TColorGroup"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TColorGroup::TColorGroup </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>nm</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTColorItem.html">TColorItem</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>itm</em> = 0, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>TColorGroup *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>nxt</em> = 0</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructor.
+<p>
+Creates a color group with the given argument values.
+<p>
+`nm' is a pointer to the name of the color group. A local copy of the string is created. `itm' is a pointer to the first color item of the color group (its default value is 0). `nxt' is a pointer to the next color group (its default value is 0).
+<p>
+See file `demo/tvdemo2.cc' for an example. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TColorGroup::~TColorGroup"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual TColorGroup::~TColorGroup </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Destructor. </td>
+ </tr>
+</table>
+<hr><h2>Friends And Related Function Documentation</h2>
+<a name="l1" doxytag="TColorGroup::operator+"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TColorGroup&amp; operator+ </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">TColorGroup &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>g1</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>TColorGroup &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>g2</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [friend]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Inserts another color group after this one by changing the <a class="el" href="classTColorGroup.html#m3">TColorGroup::next</a> pointer. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTColorItem.html">TColorItem</a> </dl> </td>
+ </tr>
+</table>
+<a name="l0" doxytag="TColorGroup::operator+"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TColorGroup&amp; operator+ </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">TColorGroup &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>g</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTColorItem.html">TColorItem</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>i</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [friend]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Inserts color item `i' in color group `g'. <dl compact><dt><b>See also: </b></dt><dd>
+TColorGroup </dl> </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="m1" doxytag="TColorGroup::index"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a1">uchar</a> TColorGroup::index
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The start index of the color group.
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00142">142</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>. </td>
+ </tr>
+</table>
+<a name="m2" doxytag="TColorGroup::items"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTColorItem.html">TColorItem</a>* TColorGroup::items
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Pointer to the associated list of color items associated with this color group.
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00147">147</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>. </td>
+ </tr>
+</table>
+<a name="m0" doxytag="TColorGroup::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* TColorGroup::name
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The name of the color group.
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00138">138</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>. </td>
+ </tr>
+</table>
+<a name="m3" doxytag="TColorGroup::next"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TColorGroup* TColorGroup::next
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Pointer to next color group, or 0 if no next.
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00151">151</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="colorsel_8h-source.html">colorsel.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:12 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTColorGroupList-members.html b/freebsdtvision/doc/html/classTColorGroupList-members.html
new file mode 100644
index 0000000..0358e46
--- /dev/null
+++ b/freebsdtvision/doc/html/classTColorGroupList-members.html
@@ -0,0 +1,144 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TColorGroupList Member List</h1>This is the complete list of members for <a class="el" href="classTColorGroupList.html">TColorGroupList</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a31">awaken</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a32">blockCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorGroupList.html#d0">build</a>()</td><td><a class="el" href="classTColorGroupList.html">TColorGroupList</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a10">calcBounds</a>(TRect &amp;bounds, TPoint delta)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a1">changeBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a38">clearEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d0">commandEnabled</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p0">commandSetChanged</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a7">containsMouse</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p1">curCommandSet</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m6">cursor</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a28">dataSize</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d3">disableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d1">disableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m8">dragMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a9">dragView</a>(TEvent &amp;event, uchar mode, TRect &amp;limits, TPoint minSize, TPoint maxSize)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a2">draw</a>()</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a37">drawCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a24">drawHide</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a25">drawShow</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a26">drawUnderRect</a>(TRect &amp;r, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a27">drawUnderView</a>(Boolean doShadow, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a20">drawView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d4">enableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d2">enableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a43">endModal</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>enterSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p3">errorAttr</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a39">eventAvail</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m3">eventMask</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a44">execute</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a21">exposed</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a22">focus</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#m4">focused</a></td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorGroupList.html#a2">focusItem</a>(short item)</td><td><a class="el" href="classTColorGroupList.html">TColorGroupList</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a11">focusItemNum</a>(short item)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a3">getBounds</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a5">getClipRect</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a45">getColor</a>(ushort color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d5">getCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a29">getData</a>(void *rec)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a40">getEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a4">getExtent</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorGroupList.html#a6">getGroup</a>(uchar groupNum)</td><td><a class="el" href="classTColorGroupList.html">TColorGroupList</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorGroupList.html#a7">getGroupIndex</a>(uchar groupNum)</td><td><a class="el" href="classTColorGroupList.html">TColorGroupList</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a15">getHelpCtx</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorGroupList.html#a8">getNumGroups</a>()</td><td><a class="el" href="classTColorGroupList.html">TColorGroupList</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a4">getPalette</a>() const</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a48">getState</a>(ushort aState)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorGroupList.html#a3">getText</a>(char *dest, short item, short maxLen)</td><td><a class="el" href="classTColorGroupList.html">TColorGroupList</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorGroupList.html#n0">groups</a></td><td><a class="el" href="classTColorGroupList.html">TColorGroupList</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m7">growMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a12">growTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorGroupList.html#a4">handleEvent</a>(TEvent &amp;)</td><td><a class="el" href="classTColorGroupList.html">TColorGroupList</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m9">helpCtx</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a17">hide</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a23">hideCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#m0">hScrollBar</a></td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a6">isSelected</a>(short item)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a51">keyEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>leaveSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a8">locate</a>(TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a58">makeFirst</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a53">makeGlobal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a54">makeLocal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a47">mapColor</a>(uchar)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a52">mouseEvent</a>(TEvent &amp;event, ushort mask)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a6">mouseInView</a>(TPoint mouse)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a13">moveTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorGroupList.html#p0">name</a></td><td><a class="el" href="classTColorGroupList.html">TColorGroupList</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m0">next</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a55">nextView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a33">normalCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>normalSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#m2">numCols</a></td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m2">options</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m5">origin</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m10">owner</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s6">phaseType</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phFocused</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPostProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPreProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a57">prev</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a56">prevView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a42">putEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a59">putInFrontOf</a>(TView *Target)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#m5">range</a></td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorGroupList.html#b2">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTColorGroupList.html">TColorGroupList</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a34">resetCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a49">select</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a8">selectItem</a>(short item)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s7">selectMode</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#p0">separatorChar</a></td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a14">setBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d7">setCmdState</a>(TCommandSet &amp;commands, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d6">setCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a35">setCursor</a>(int x, int y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a30">setData</a>(void *rec)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorGroupList.html#a5">setGroupIndex</a>(uchar groupNum, uchar itemNum)</td><td><a class="el" href="classTColorGroupList.html">TColorGroupList</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a9">setRange</a>(short aRange)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a10">setState</a>(ushort aState, Boolean enable)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a18">show</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a36">showCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p2">showMarkers</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a12">shutDown</a>()</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m1">size</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a2">sizeLimits</a>(TPoint &amp;min, TPoint &amp;max)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m4">state</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorGroupList.html#a0">TColorGroupList</a>(const TRect &amp;bounds, TScrollBar *aScrollBar, TColorGroup *aGroups)</td><td><a class="el" href="classTColorGroupList.html">TColorGroupList</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorGroupList.html#b0">TColorGroupList</a>(StreamableInit)</td><td><a class="el" href="classTColorGroupList.html">TColorGroupList</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a0">TListViewer</a>(const TRect &amp;bounds, ushort aNumCols, TScrollBar *aHScrollBar, TScrollBar *aVScrollBar)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#b0">TListViewer</a>(StreamableInit)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#m3">topItem</a></td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a60">TopView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a0">TView</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#b0">TView</a>(StreamableInit)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a16">valid</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#m1">vScrollBar</a></td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorGroupList.html#b1">write</a>(opstream &amp;os)</td><td><a class="el" href="classTColorGroupList.html">TColorGroupList</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a61">writeBuf</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a62">writeBuf</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a63">writeChar</a>(short x, short y, char c, uchar color, short count)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a64">writeLine</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a65">writeLine</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a66">writeStr</a>(short x, short y, const char *str, uchar color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorGroupList.html#a1">~TColorGroupList</a>()</td><td><a class="el" href="classTColorGroupList.html">TColorGroupList</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a1">~TView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:12 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTColorGroupList.html b/freebsdtvision/doc/html/classTColorGroupList.html
new file mode 100644
index 0000000..ed7a170
--- /dev/null
+++ b/freebsdtvision/doc/html/classTColorGroupList.html
@@ -0,0 +1,543 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TColorGroupList class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TColorGroupList Class Reference</h1>Implements a scrollable list of named color groups.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="colorsel_8h-source.html">colorsel.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TColorGroupList:
+<p><center><img src="classTColorGroupList.png" usemap="#TColorGroupList_map" border="0" alt=""></center>
+<map name="TColorGroupList_map">
+<area href="classTListViewer.html" alt="TListViewer" shape="rect" coords="57,112,161,136">
+<area href="classTView.html" alt="TView" shape="rect" coords="57,56,161,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,104,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="114,0,218,24">
+</map>
+<a href="classTColorGroupList-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTColorGroupList.html#a0">TColorGroupList</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;bounds, <a class="el" href="classTScrollBar.html">TScrollBar</a> *aScrollBar, <a class="el" href="classTColorGroup.html">TColorGroup</a> *aGroups)</td></tr>
+<tr><td nowrap align=right valign=top>virtual&nbsp;</td><td valign=bottom><a class="el" href="classTColorGroupList.html#a1">~TColorGroupList</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTColorGroupList.html#a2">focusItem</a> (short item)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTColorGroupList.html#a3">getText</a> (char *dest, short item, short maxLen)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTColorGroupList.html#a4">handleEvent</a> (<a class="el" href="structTEvent.html">TEvent</a> &amp;)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTColorGroupList.html#a5">setGroupIndex</a> (<a class="el" href="ttypes_8h.html#a1">uchar</a> groupNum, <a class="el" href="ttypes_8h.html#a1">uchar</a> itemNum)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTColorGroup.html">TColorGroup</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTColorGroupList.html#a6">getGroup</a> (<a class="el" href="ttypes_8h.html#a1">uchar</a> groupNum)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a1">uchar</a>&nbsp;</td><td valign=bottom><a class="el" href="classTColorGroupList.html#a7">getGroupIndex</a> (<a class="el" href="ttypes_8h.html#a1">uchar</a> groupNum)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a1">uchar</a>&nbsp;</td><td valign=bottom><a class="el" href="classTColorGroupList.html#a8">getNumGroups</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStreamable.html">TStreamable</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTColorGroupList.html#d0">build</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>const char *const&nbsp;</td><td valign=bottom><a class="el" href="classTColorGroupList.html#p0">name</a></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTColorGroupList.html#b0">TColorGroupList</a> (<a class="el" href="ttypes_8h.html#a14">StreamableInit</a>)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTColorGroupList.html#b1">write</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void *&nbsp;</td><td valign=bottom><a class="el" href="classTColorGroupList.html#b2">read</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is)</td></tr>
+<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTColorGroup.html">TColorGroup</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTColorGroupList.html#n0">groups</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+The interrelated classes <a class="el" href="classTColorItem.html">TColorItem</a>, <a class="el" href="classTColorGroup.html">TColorGroup</a>, <a class="el" href="classTColorSelector.html">TColorSelector</a>, <a class="el" href="classTMonoSelector.html">TMonoSelector</a>, <a class="el" href="classTColorDisplay.html">TColorDisplay</a>, TColorGroupList, <a class="el" href="classTColorItemList.html">TColorItemList</a> and <a class="el" href="classTColorDialog.html">TColorDialog</a> provide viewers and dialog boxes from which the user can select and change the color assignments from available palettes with immediate effect on the screen.
+<p>
+TColorGroupList is a specialized derivative of <a class="el" href="classTListViewer.html">TListViewer</a> providing a scrollable list of named color groups. Groups can be selected in any of the usual ways (by mouse or keyboard).
+<p>
+TColorGroupList uses the <a class="el" href="classTListViewer.html">TListViewer</a> event handler without modification.
+<p>
+
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00580">580</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TColorGroupList::TColorGroupList"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TColorGroupList::TColorGroupList </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>bounds</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTScrollBar.html">TScrollBar</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aScrollBar</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTColorGroup.html">TColorGroup</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aGroups</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructor.
+<p>
+Calls TListViewer(bounds, 1, 0, aScrollBar) to create a single-column list viewer a single vertical scroll bar. Then, sets groups data member to `aGroups'. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTListViewer.html#a0">TListViewer::TListViewer</a> </dl> </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TColorGroupList::~TColorGroupList"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual TColorGroupList::~TColorGroupList </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Destroys the list viewer and all associated groups and their items. </td>
+ </tr>
+</table>
+<a name="b0" doxytag="TColorGroupList::TColorGroupList"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TColorGroupList::TColorGroupList </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a14">StreamableInit</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="d0" doxytag="TColorGroupList::build"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStreamable.html">TStreamable</a>* TColorGroupList::build </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called to create an object in certain stream-reading situations.
+<p>
+Reimplemented from <a class="el" href="classTListViewer.html#d0">TListViewer</a>. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="TColorGroupList::focusItem"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TColorGroupList::focusItem </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">short&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>item</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Selects the given item by calling TListViewer::focusItem(item) and then broadcasts a cmNewColorItem event. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTListViewer.html#a3">TListViewer::focusItem</a> </dl>
+<p>
+Reimplemented from <a class="el" href="classTListViewer.html#a3">TListViewer</a>. </td>
+ </tr>
+</table>
+<a name="a6" doxytag="TColorGroupList::getGroup"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTColorGroup.html">TColorGroup</a>* TColorGroupList::getGroup </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a1">uchar</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>groupNum</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="a7" doxytag="TColorGroupList::getGroupIndex"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a1">uchar</a> TColorGroupList::getGroupIndex </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a1">uchar</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>groupNum</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="a8" doxytag="TColorGroupList::getNumGroups"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a1">uchar</a> TColorGroupList::getNumGroups </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="TColorGroupList::getText"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TColorGroupList::getText </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>dest</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>short&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>item</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>short&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>maxLen</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Copies the group name corresponding to `item' to the `dest' string.
+<p>
+Reimplemented from <a class="el" href="classTListViewer.html#a5">TListViewer</a>. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="TColorGroupList::handleEvent"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TColorGroupList::handleEvent </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="structTEvent.html">TEvent</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTListViewer.html#a7">TListViewer</a>. </td>
+ </tr>
+</table>
+<a name="b2" doxytag="TColorGroupList::read"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void* TColorGroupList::read </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>is</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Reads from the input stream `is'.
+<p>
+Reimplemented from <a class="el" href="classTListViewer.html#b2">TListViewer</a>. </td>
+ </tr>
+</table>
+<a name="a5" doxytag="TColorGroupList::setGroupIndex"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TColorGroupList::setGroupIndex </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a1">uchar</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>groupNum</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a1">uchar</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>itemNum</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="b1" doxytag="TColorGroupList::write"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TColorGroupList::write </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>os</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Writes to the output stream `os'.
+<p>
+Reimplemented from <a class="el" href="classTListViewer.html#b1">TListViewer</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="n0" doxytag="TColorGroupList::groups"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTColorGroup.html">TColorGroup</a>* TColorGroupList::groups<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The color group for this list viewer.
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00617">617</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>. </td>
+ </tr>
+</table>
+<a name="p0" doxytag="TColorGroupList::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* const TColorGroupList::name<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTListViewer.html#p1">TListViewer</a>.
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00658">658</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="colorsel_8h-source.html">colorsel.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:12 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTColorGroupList.png b/freebsdtvision/doc/html/classTColorGroupList.png
new file mode 100644
index 0000000..ff99dd1
--- /dev/null
+++ b/freebsdtvision/doc/html/classTColorGroupList.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTColorIndex-members.html b/freebsdtvision/doc/html/classTColorIndex-members.html
new file mode 100644
index 0000000..ddd3434
--- /dev/null
+++ b/freebsdtvision/doc/html/classTColorIndex-members.html
@@ -0,0 +1,18 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TColorIndex Member List</h1>This is the complete list of members for <a class="el" href="classTColorIndex.html">TColorIndex</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorIndex.html#m2">colorIndex</a></td><td><a class="el" href="classTColorIndex.html">TColorIndex</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorIndex.html#m1">colorSize</a></td><td><a class="el" href="classTColorIndex.html">TColorIndex</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorIndex.html#m0">groupIndex</a></td><td><a class="el" href="classTColorIndex.html">TColorIndex</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:12 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTColorIndex.html b/freebsdtvision/doc/html/classTColorIndex.html
new file mode 100644
index 0000000..d65ed0e
--- /dev/null
+++ b/freebsdtvision/doc/html/classTColorIndex.html
@@ -0,0 +1,103 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TColorIndex class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TColorIndex Class Reference</h1><code>#include &lt;<a class="el" href="colorsel_8h-source.html">colorsel.h</a>&gt;</code>
+<p>
+<a href="classTColorIndex-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a1">uchar</a>&nbsp;</td><td valign=bottom><a class="el" href="classTColorIndex.html#m0">groupIndex</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a1">uchar</a>&nbsp;</td><td valign=bottom><a class="el" href="classTColorIndex.html#m1">colorSize</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a1">uchar</a>&nbsp;</td><td valign=bottom><a class="el" href="classTColorIndex.html#m2">colorIndex</a> [256]</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Data structure used by <a class="el" href="classTColorDialog.html#a6">TColorDialog::getIndexes()</a> and <a class="el" href="classTColorDialog.html#a7">TColorDialog::setIndexes()</a>.
+<p>
+
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00169">169</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>.<hr><h2>Member Data Documentation</h2>
+<a name="m2" doxytag="TColorIndex::colorIndex"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a1">uchar</a> TColorIndex::colorIndex[256]
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00183">183</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>. </td>
+ </tr>
+</table>
+<a name="m1" doxytag="TColorIndex::colorSize"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a1">uchar</a> TColorIndex::colorSize
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00179">179</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>. </td>
+ </tr>
+</table>
+<a name="m0" doxytag="TColorIndex::groupIndex"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a1">uchar</a> TColorIndex::groupIndex
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00175">175</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="colorsel_8h-source.html">colorsel.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:12 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTColorItem-members.html b/freebsdtvision/doc/html/classTColorItem-members.html
new file mode 100644
index 0000000..6369046
--- /dev/null
+++ b/freebsdtvision/doc/html/classTColorItem-members.html
@@ -0,0 +1,22 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TColorItem Member List</h1>This is the complete list of members for <a class="el" href="classTColorItem.html">TColorItem</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorItem.html#m1">index</a></td><td><a class="el" href="classTColorItem.html">TColorItem</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorItem.html#m0">name</a></td><td><a class="el" href="classTColorItem.html">TColorItem</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorItem.html#m2">next</a></td><td><a class="el" href="classTColorItem.html">TColorItem</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorItem.html#l0">operator+</a>(TColorGroup &amp;g, TColorItem &amp;i)</td><td><a class="el" href="classTColorItem.html">TColorItem</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorItem.html#l1">operator+</a>(TColorItem &amp;i1, TColorItem &amp;i2)</td><td><a class="el" href="classTColorItem.html">TColorItem</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorItem.html#a0">TColorItem</a>(const char *nm, uchar idx, TColorItem *nxt=0)</td><td><a class="el" href="classTColorItem.html">TColorItem</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorItem.html#a1">~TColorItem</a>()</td><td><a class="el" href="classTColorItem.html">TColorItem</a></td><td><code> [virtual]</code></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:12 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTColorItem.html b/freebsdtvision/doc/html/classTColorItem.html
new file mode 100644
index 0000000..9ad0aa7
--- /dev/null
+++ b/freebsdtvision/doc/html/classTColorItem.html
@@ -0,0 +1,271 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TColorItem class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TColorItem Class Reference</h1>Information about a color item.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="colorsel_8h-source.html">colorsel.h</a>&gt;</code>
+<p>
+<a href="classTColorItem-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTColorItem.html#a0">TColorItem</a> (const char *nm, <a class="el" href="ttypes_8h.html#a1">uchar</a> idx, TColorItem *nxt=0)</td></tr>
+<tr><td nowrap align=right valign=top>virtual&nbsp;</td><td valign=bottom><a class="el" href="classTColorItem.html#a1">~TColorItem</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>const char *&nbsp;</td><td valign=bottom><a class="el" href="classTColorItem.html#m0">name</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a1">uchar</a>&nbsp;</td><td valign=bottom><a class="el" href="classTColorItem.html#m1">index</a></td></tr>
+<tr><td nowrap align=right valign=top>TColorItem *&nbsp;</td><td valign=bottom><a class="el" href="classTColorItem.html#m2">next</a></td></tr>
+<tr><td colspan=2><br><h2>Friends</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTColorGroup.html">TColorGroup</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="classTColorItem.html#l0">operator+</a> (<a class="el" href="classTColorGroup.html">TColorGroup</a> &amp;g, TColorItem &amp;i)</td></tr>
+<tr><td nowrap align=right valign=top>TColorItem &amp;&nbsp;</td><td valign=bottom><a class="el" href="classTColorItem.html#l1">operator+</a> (TColorItem &amp;i1, TColorItem &amp;i2)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Stores information about a color item. TColorItem defines a linked list of color names and indexes.
+<p>
+The interrelated classes TColorItem, <a class="el" href="classTColorGroup.html">TColorGroup</a>, <a class="el" href="classTColorSelector.html">TColorSelector</a>, <a class="el" href="classTMonoSelector.html">TMonoSelector</a>, <a class="el" href="classTColorDisplay.html">TColorDisplay</a>, <a class="el" href="classTColorGroupList.html">TColorGroupList</a>, <a class="el" href="classTColorItemList.html">TColorItemList</a> and <a class="el" href="classTColorDialog.html">TColorDialog</a> provide viewers and dialog boxes from which the user can select and change the color assignments from available palettes with immediate effect on the screen.
+<p>
+
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00052">52</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TColorItem::TColorItem"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TColorItem::TColorItem </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>nm</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a1">uchar</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>idx</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>TColorItem *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>nxt</em> = 0</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructor.
+<p>
+Creates a color item object with name set to `nm', index set to `idx' and, by default, next set to 0.
+<p>
+`nm' is a pointer to the name of the color item. A local copy of the string is created. `idx' is the color index. `nxt' is a pointer to the next color item (its default value is 0).
+<p>
+See file `demo/tvdemo2.cc' for an example. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TColorItem::~TColorItem"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual TColorItem::~TColorItem </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Destructor. </td>
+ </tr>
+</table>
+<hr><h2>Friends And Related Function Documentation</h2>
+<a name="l1" doxytag="TColorItem::operator+"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TColorItem&amp; operator+ </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">TColorItem &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>i1</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>TColorItem &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>i2</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [friend]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Inserts another color item after this one by changing the <a class="el" href="classTColorItem.html#m2">TColorItem::next</a> pointer. </td>
+ </tr>
+</table>
+<a name="l0" doxytag="TColorItem::operator+"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTColorGroup.html">TColorGroup</a>&amp; operator+ </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTColorGroup.html">TColorGroup</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>g</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>TColorItem &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>i</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [friend]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Inserts color item `i' in color group `g'. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTColorGroup.html">TColorGroup</a> </dl> </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="m1" doxytag="TColorItem::index"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a1">uchar</a> TColorItem::index
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The color index of the item.
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00079">79</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>. </td>
+ </tr>
+</table>
+<a name="m0" doxytag="TColorItem::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* TColorItem::name
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The name of the color item.
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00075">75</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>. </td>
+ </tr>
+</table>
+<a name="m2" doxytag="TColorItem::next"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TColorItem* TColorItem::next
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Link to the next color item, or 0 if there is no next item.
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00083">83</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="colorsel_8h-source.html">colorsel.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:12 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTColorItemList-members.html b/freebsdtvision/doc/html/classTColorItemList-members.html
new file mode 100644
index 0000000..ff83725
--- /dev/null
+++ b/freebsdtvision/doc/html/classTColorItemList-members.html
@@ -0,0 +1,139 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TColorItemList Member List</h1>This is the complete list of members for <a class="el" href="classTColorItemList.html">TColorItemList</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a31">awaken</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a32">blockCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorItemList.html#d0">build</a>()</td><td><a class="el" href="classTColorItemList.html">TColorItemList</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a10">calcBounds</a>(TRect &amp;bounds, TPoint delta)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a1">changeBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a38">clearEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d0">commandEnabled</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p0">commandSetChanged</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a7">containsMouse</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p1">curCommandSet</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m6">cursor</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a28">dataSize</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d3">disableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d1">disableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m8">dragMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a9">dragView</a>(TEvent &amp;event, uchar mode, TRect &amp;limits, TPoint minSize, TPoint maxSize)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a2">draw</a>()</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a37">drawCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a24">drawHide</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a25">drawShow</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a26">drawUnderRect</a>(TRect &amp;r, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a27">drawUnderView</a>(Boolean doShadow, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a20">drawView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d4">enableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d2">enableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a43">endModal</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>enterSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p3">errorAttr</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a39">eventAvail</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m3">eventMask</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a44">execute</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a21">exposed</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a22">focus</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#m4">focused</a></td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorItemList.html#a1">focusItem</a>(short item)</td><td><a class="el" href="classTColorItemList.html">TColorItemList</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a11">focusItemNum</a>(short item)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a3">getBounds</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a5">getClipRect</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a45">getColor</a>(ushort color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d5">getCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a29">getData</a>(void *rec)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a40">getEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a4">getExtent</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a15">getHelpCtx</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a4">getPalette</a>() const</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a48">getState</a>(ushort aState)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorItemList.html#a2">getText</a>(char *dest, short item, short maxLen)</td><td><a class="el" href="classTColorItemList.html">TColorItemList</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m7">growMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a12">growTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorItemList.html#a3">handleEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTColorItemList.html">TColorItemList</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m9">helpCtx</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a17">hide</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a23">hideCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#m0">hScrollBar</a></td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a6">isSelected</a>(short item)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorItemList.html#n0">items</a></td><td><a class="el" href="classTColorItemList.html">TColorItemList</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a51">keyEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>leaveSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a8">locate</a>(TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a58">makeFirst</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a53">makeGlobal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a54">makeLocal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a47">mapColor</a>(uchar)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a52">mouseEvent</a>(TEvent &amp;event, ushort mask)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a6">mouseInView</a>(TPoint mouse)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a13">moveTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorItemList.html#p0">name</a></td><td><a class="el" href="classTColorItemList.html">TColorItemList</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m0">next</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a55">nextView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a33">normalCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>normalSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#m2">numCols</a></td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m2">options</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m5">origin</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m10">owner</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s6">phaseType</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phFocused</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPostProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPreProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a57">prev</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a56">prevView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a42">putEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a59">putInFrontOf</a>(TView *Target)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#m5">range</a></td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#b2">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a34">resetCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a49">select</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a8">selectItem</a>(short item)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s7">selectMode</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#p0">separatorChar</a></td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a14">setBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d7">setCmdState</a>(TCommandSet &amp;commands, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d6">setCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a35">setCursor</a>(int x, int y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a30">setData</a>(void *rec)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a9">setRange</a>(short aRange)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a10">setState</a>(ushort aState, Boolean enable)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a18">show</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a36">showCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p2">showMarkers</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a12">shutDown</a>()</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m1">size</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a2">sizeLimits</a>(TPoint &amp;min, TPoint &amp;max)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m4">state</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorItemList.html#a0">TColorItemList</a>(const TRect &amp;bounds, TScrollBar *aScrollBar, TColorItem *aItems)</td><td><a class="el" href="classTColorItemList.html">TColorItemList</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorItemList.html#b0">TColorItemList</a>(StreamableInit)</td><td><a class="el" href="classTColorItemList.html">TColorItemList</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a0">TListViewer</a>(const TRect &amp;bounds, ushort aNumCols, TScrollBar *aHScrollBar, TScrollBar *aVScrollBar)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#b0">TListViewer</a>(StreamableInit)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#m3">topItem</a></td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a60">TopView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a0">TView</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#b0">TView</a>(StreamableInit)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a16">valid</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#m1">vScrollBar</a></td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#b1">write</a>(opstream &amp;os)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a61">writeBuf</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a62">writeBuf</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a63">writeChar</a>(short x, short y, char c, uchar color, short count)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a64">writeLine</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a65">writeLine</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a66">writeStr</a>(short x, short y, const char *str, uchar color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a1">~TView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:12 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTColorItemList.html b/freebsdtvision/doc/html/classTColorItemList.html
new file mode 100644
index 0000000..3ba54b2
--- /dev/null
+++ b/freebsdtvision/doc/html/classTColorItemList.html
@@ -0,0 +1,323 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TColorItemList class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TColorItemList Class Reference</h1>Used to view and select single color items.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="colorsel_8h-source.html">colorsel.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TColorItemList:
+<p><center><img src="classTColorItemList.png" usemap="#TColorItemList_map" border="0" alt=""></center>
+<map name="TColorItemList_map">
+<area href="classTListViewer.html" alt="TListViewer" shape="rect" coords="50,112,141,136">
+<area href="classTView.html" alt="TView" shape="rect" coords="50,56,141,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,91,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="101,0,192,24">
+</map>
+<a href="classTColorItemList-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTColorItemList.html#a0">TColorItemList</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;bounds, <a class="el" href="classTScrollBar.html">TScrollBar</a> *aScrollBar, <a class="el" href="classTColorItem.html">TColorItem</a> *aItems)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTColorItemList.html#a1">focusItem</a> (short item)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTColorItemList.html#a2">getText</a> (char *dest, short item, short maxLen)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTColorItemList.html#a3">handleEvent</a> (<a class="el" href="structTEvent.html">TEvent</a> &amp;event)</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStreamable.html">TStreamable</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTColorItemList.html#d0">build</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>const char *const&nbsp;</td><td valign=bottom><a class="el" href="classTColorItemList.html#p0">name</a></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTColorItemList.html#b0">TColorItemList</a> (<a class="el" href="ttypes_8h.html#a14">StreamableInit</a>)</td></tr>
+<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTColorItem.html">TColorItem</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTColorItemList.html#n0">items</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+The interrelated classes <a class="el" href="classTColorItem.html">TColorItem</a>, <a class="el" href="classTColorGroup.html">TColorGroup</a>, <a class="el" href="classTColorSelector.html">TColorSelector</a>, <a class="el" href="classTMonoSelector.html">TMonoSelector</a>, <a class="el" href="classTColorDisplay.html">TColorDisplay</a>, <a class="el" href="classTColorGroupList.html">TColorGroupList</a>, TColorItemList, and <a class="el" href="classTColorDialog.html">TColorDialog</a> provide viewers and dialog boxes from which the user can select and change the color assignments from available palettes with immediate effect on the screen.
+<p>
+TColorItemList is a simpler variant of <a class="el" href="classTColorGroupList.html">TColorGroupList</a> for viewing and selecting single color items rather than groups of colors.
+<p>
+Like <a class="el" href="classTColorGroupList.html">TColorGroupList</a>, TColorItemList is specialized derivative of <a class="el" href="classTListViewer.html">TListViewer</a>. Color items can be selected in any of the usual ways (by mouse or keyboard).
+<p>
+Unlike <a class="el" href="classTColorGroupList.html">TColorGroupList</a>, TColorItemList overrides the <a class="el" href="classTListViewer.html">TListViewer</a> event handler.
+<p>
+
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00717">717</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TColorItemList::TColorItemList"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TColorItemList::TColorItemList </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>bounds</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTScrollBar.html">TScrollBar</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aScrollBar</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTColorItem.html">TColorItem</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aItems</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Calls <a class="el" href="classTListViewer.html">TListViewer</a> constructor TListViewer(bounds, 1, 0, aScrollBar) to create a single-column list viewer with a single vertical scroll bar.
+<p>
+Then, the constructor sets items data member to `aItems' and range to the number of items. </td>
+ </tr>
+</table>
+<a name="b0" doxytag="TColorItemList::TColorItemList"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TColorItemList::TColorItemList </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a14">StreamableInit</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Each streamable class needs a "builder" to allocate the correct memory for its objects together with the initialized virtual table pointers. This is achieved by calling this constructor with an argument of type <a class="el" href="ttypes_8h.html#a14">StreamableInit</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="d0" doxytag="TColorItemList::build"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStreamable.html">TStreamable</a>* TColorItemList::build </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called to create an object in certain stream-reading situations.
+<p>
+Reimplemented from <a class="el" href="classTListViewer.html#d0">TListViewer</a>. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TColorItemList::focusItem"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TColorItemList::focusItem </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">short&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>item</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Selects the given item by calling TListViewer::focusItem(item), then broadcasts a cmNewColorIndex event. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTListViewer.html#a3">TListViewer::focusItem</a> </dl>
+<p>
+Reimplemented from <a class="el" href="classTListViewer.html#a3">TListViewer</a>. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="TColorItemList::getText"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TColorItemList::getText </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>dest</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>short&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>item</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>short&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>maxLen</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Copies the item name corresponding to `item' to the `dest' string.
+<p>
+Reimplemented from <a class="el" href="classTListViewer.html#a5">TListViewer</a>. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="TColorItemList::handleEvent"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TColorItemList::handleEvent </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="structTEvent.html">TEvent</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>event</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Calls <a class="el" href="classTListViewer.html#a7">TListViewer::handleEvent()</a>. Then, if the event is cmNewColorItem, the appropriate item is focused and the viewer is redrawn.
+<p>
+Reimplemented from <a class="el" href="classTListViewer.html#a7">TListViewer</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="n0" doxytag="TColorItemList::items"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTColorItem.html">TColorItem</a>* TColorItemList::items<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The color item list for this viewer.
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00751">751</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>. </td>
+ </tr>
+</table>
+<a name="p0" doxytag="TColorItemList::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* const TColorItemList::name<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTListViewer.html#p1">TListViewer</a>.
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00767">767</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="colorsel_8h-source.html">colorsel.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:12 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTColorItemList.png b/freebsdtvision/doc/html/classTColorItemList.png
new file mode 100644
index 0000000..6d13dd4
--- /dev/null
+++ b/freebsdtvision/doc/html/classTColorItemList.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTColorSelector-members.html b/freebsdtvision/doc/html/classTColorSelector-members.html
new file mode 100644
index 0000000..f218e9e
--- /dev/null
+++ b/freebsdtvision/doc/html/classTColorSelector-members.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TColorSelector Member List</h1>This is the complete list of members for <a class="el" href="classTColorSelector.html">TColorSelector</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a31">awaken</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a32">blockCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorSelector.html#d0">build</a>()</td><td><a class="el" href="classTColorSelector.html">TColorSelector</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a10">calcBounds</a>(TRect &amp;bounds, TPoint delta)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a11">changeBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a38">clearEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorSelector.html#n0">color</a></td><td><a class="el" href="classTColorSelector.html">TColorSelector</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorSelector.html#s2">ColorSel</a> enum name</td><td><a class="el" href="classTColorSelector.html">TColorSelector</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d0">commandEnabled</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p0">commandSetChanged</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a7">containsMouse</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>csBackground</b> enum value (defined in <a class="el" href="classTColorSelector.html">TColorSelector</a>)</td><td><a class="el" href="classTColorSelector.html">TColorSelector</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>csForeground</b> enum value (defined in <a class="el" href="classTColorSelector.html">TColorSelector</a>)</td><td><a class="el" href="classTColorSelector.html">TColorSelector</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p1">curCommandSet</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m6">cursor</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a28">dataSize</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d3">disableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d1">disableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m8">dragMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a9">dragView</a>(TEvent &amp;event, uchar mode, TRect &amp;limits, TPoint minSize, TPoint maxSize)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorSelector.html#a1">draw</a>()</td><td><a class="el" href="classTColorSelector.html">TColorSelector</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a37">drawCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a24">drawHide</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a25">drawShow</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a26">drawUnderRect</a>(TRect &amp;r, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a27">drawUnderView</a>(Boolean doShadow, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a20">drawView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d4">enableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d2">enableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a43">endModal</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>enterSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p3">errorAttr</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a39">eventAvail</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m3">eventMask</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a44">execute</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a21">exposed</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a22">focus</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a3">getBounds</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a5">getClipRect</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a45">getColor</a>(ushort color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d5">getCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a29">getData</a>(void *rec)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a40">getEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a4">getExtent</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a15">getHelpCtx</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a46">getPalette</a>() const</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a48">getState</a>(ushort aState)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m7">growMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a12">growTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorSelector.html#a2">handleEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTColorSelector.html">TColorSelector</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m9">helpCtx</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a17">hide</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a23">hideCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorSelector.html#p0">icon</a></td><td><a class="el" href="classTColorSelector.html">TColorSelector</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a51">keyEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>leaveSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a8">locate</a>(TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a58">makeFirst</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a53">makeGlobal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a54">makeLocal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a47">mapColor</a>(uchar)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a52">mouseEvent</a>(TEvent &amp;event, ushort mask)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a6">mouseInView</a>(TPoint mouse)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a13">moveTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorSelector.html#p1">name</a></td><td><a class="el" href="classTColorSelector.html">TColorSelector</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m0">next</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a55">nextView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a33">normalCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>normalSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m2">options</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m5">origin</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m10">owner</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s6">phaseType</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phFocused</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPostProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPreProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a57">prev</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a56">prevView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a42">putEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a59">putInFrontOf</a>(TView *Target)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorSelector.html#b2">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTColorSelector.html">TColorSelector</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a34">resetCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a49">select</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s7">selectMode</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorSelector.html#n1">selType</a></td><td><a class="el" href="classTColorSelector.html">TColorSelector</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a14">setBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d7">setCmdState</a>(TCommandSet &amp;commands, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d6">setCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a35">setCursor</a>(int x, int y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a30">setData</a>(void *rec)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a50">setState</a>(ushort aState, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a18">show</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a36">showCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p2">showMarkers</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a67">shutDown</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m1">size</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a2">sizeLimits</a>(TPoint &amp;min, TPoint &amp;max)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m4">state</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorSelector.html#a0">TColorSelector</a>(const TRect &amp;bounds, ColorSel aSelType)</td><td><a class="el" href="classTColorSelector.html">TColorSelector</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorSelector.html#b0">TColorSelector</a>(StreamableInit)</td><td><a class="el" href="classTColorSelector.html">TColorSelector</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a60">TopView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a0">TView</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#b0">TView</a>(StreamableInit)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a16">valid</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTColorSelector.html#b1">write</a>(opstream &amp;os)</td><td><a class="el" href="classTColorSelector.html">TColorSelector</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a61">writeBuf</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a62">writeBuf</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a63">writeChar</a>(short x, short y, char c, uchar color, short count)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a64">writeLine</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a65">writeLine</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a66">writeStr</a>(short x, short y, const char *str, uchar color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a1">~TView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:12 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTColorSelector.html b/freebsdtvision/doc/html/classTColorSelector.html
new file mode 100644
index 0000000..9c090ee
--- /dev/null
+++ b/freebsdtvision/doc/html/classTColorSelector.html
@@ -0,0 +1,425 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TColorSelector class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TColorSelector Class Reference</h1>Color viewer used to display available color selections.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="colorsel_8h-source.html">colorsel.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TColorSelector:
+<p><center><img src="classTColorSelector.png" usemap="#TColorSelector_map" border="0" alt=""></center>
+<map name="TColorSelector_map">
+<area href="classTView.html" alt="TView" shape="rect" coords="53,56,150,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,97,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="107,0,204,24">
+</map>
+<a href="classTColorSelector-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Types</h2></td></tr>
+<tr><td nowrap align=right valign=top>enum &nbsp;</td><td valign=bottom><a class="el" href="classTColorSelector.html#s2">ColorSel</a> </td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTColorSelector.html#a0">TColorSelector</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;bounds, <a class="el" href="classTColorSelector.html#s2">ColorSel</a> aSelType)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTColorSelector.html#a1">draw</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTColorSelector.html#a2">handleEvent</a> (<a class="el" href="structTEvent.html">TEvent</a> &amp;event)</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStreamable.html">TStreamable</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTColorSelector.html#d0">build</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>char&nbsp;</td><td valign=bottom><a class="el" href="classTColorSelector.html#p0">icon</a></td></tr>
+<tr><td nowrap align=right valign=top>const char *const&nbsp;</td><td valign=bottom><a class="el" href="classTColorSelector.html#p1">name</a></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTColorSelector.html#b0">TColorSelector</a> (<a class="el" href="ttypes_8h.html#a14">StreamableInit</a>)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTColorSelector.html#b1">write</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void *&nbsp;</td><td valign=bottom><a class="el" href="classTColorSelector.html#b2">read</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is)</td></tr>
+<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a1">uchar</a>&nbsp;</td><td valign=bottom><a class="el" href="classTColorSelector.html#n0">color</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTColorSelector.html#s2">ColorSel</a>&nbsp;</td><td valign=bottom><a class="el" href="classTColorSelector.html#n1">selType</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+The interrelated classes <a class="el" href="classTColorItem.html">TColorItem</a>, <a class="el" href="classTColorGroup.html">TColorGroup</a>, TColorSelector, <a class="el" href="classTMonoSelector.html">TMonoSelector</a>, <a class="el" href="classTColorDisplay.html">TColorDisplay</a>, <a class="el" href="classTColorGroupList.html">TColorGroupList</a>, <a class="el" href="classTColorItemList.html">TColorItemList</a> and <a class="el" href="classTColorDialog.html">TColorDialog</a> provide viewers and dialog boxes from which the user can select and change the color assignments from available palettes with immediate effect on the screen.
+<p>
+TColorSelector is a view for displaying the color selections available.
+<p>
+
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00206">206</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>.<hr><h2>Member Enumeration Documentation</h2>
+<a name="s2" doxytag="TColorSelector::ColorSel"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> enum TColorSelector::ColorSel
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This view can handle two sets of colors: the 8 background colors or the 16 foreground colors.
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00213">213</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>. </td>
+ </tr>
+</table>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TColorSelector::TColorSelector"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TColorSelector::TColorSelector </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>bounds</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTColorSelector.html#s2">ColorSel</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aSelType</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructor.
+<p>
+Calls <a class="el" href="classTView.html">TView</a> constructor TView(bounds) to create a view with the given `bounds'. Sets options data member with <a class="el" href="views_8h.html#a38">ofSelectable</a>, <a class="el" href="views_8h.html#a40">ofFirstClick</a>, and <a class="el" href="views_8h.html#a41">ofFramed</a>. Sets <a class="el" href="classTView.html#m3">eventMask</a> to <a class="el" href="system_8h.html#a6">evBroadcast</a>, <a class="el" href="classTColorSelector.html#n1">selType</a> to `aSelType', and color to 0.
+<p>
+`aSelType' may be one of the following values:
+<p>
+<pre>
+ Constant Value Meaning
+
+ csBackground 0 show the 8 background colors
+ csForeground 1 show the 16 foreground colors
+ </pre> </td>
+ </tr>
+</table>
+<a name="b0" doxytag="TColorSelector::TColorSelector"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TColorSelector::TColorSelector </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a14">StreamableInit</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructor.
+<p>
+Used to recover the view from a stream. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="d0" doxytag="TColorSelector::build"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStreamable.html">TStreamable</a>* TColorSelector::build </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a new TColorSelector.
+<p>
+Called to create an object in certain stream-reading situations.
+<p>
+Reimplemented from <a class="el" href="classTView.html#d8">TView</a>. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TColorSelector::draw"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TColorSelector::draw </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Draws the color selector.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a19">TView</a>. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="TColorSelector::handleEvent"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TColorSelector::handleEvent </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="structTEvent.html">TEvent</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>event</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Handles mouse and key events: you can click on a given color indicator to select that color, or you can select colors by positioning the cursor with the arrow keys.
+<p>
+Changes invoke <a class="el" href="classTView.html#a20">drawView()</a> when appropriate.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a41">TView</a>. </td>
+ </tr>
+</table>
+<a name="b2" doxytag="TColorSelector::read"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void* TColorSelector::read </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>is</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Used to recover the view from a stream. Reads from the input stream `is'.
+<p>
+Reimplemented from <a class="el" href="classTView.html#b2">TView</a>. </td>
+ </tr>
+</table>
+<a name="b1" doxytag="TColorSelector::write"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TColorSelector::write </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>os</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Used to store the view in a stream. Writes to the output stream `os'.
+<p>
+Reimplemented from <a class="el" href="classTView.html#b1">TView</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="n0" doxytag="TColorSelector::color"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a1">uchar</a> TColorSelector::color<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Holds the currently selected color.
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00252">252</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>. </td>
+ </tr>
+</table>
+<a name="p0" doxytag="TColorSelector::icon"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> char TColorSelector::icon<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This character is used to mark the current color.
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00247">247</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>. </td>
+ </tr>
+</table>
+<a name="p1" doxytag="TColorSelector::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* const TColorSelector::name<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTView.html#p4">TView</a>.
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00289">289</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>. </td>
+ </tr>
+</table>
+<a name="n1" doxytag="TColorSelector::selType"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTColorSelector.html#s2">ColorSel</a> TColorSelector::selType<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Specifies if the view shows the 8 background colors or the 16 foreground colors.
+<p>
+Gives attribute (foreground or background) of the currently selected color. <a class="el" href="classTColorSelector.html#s2">ColorSel</a> is an enum defined as follows:
+<p>
+<pre>
+ enum ColorSel { csBackground = 0, csForeground }
+ </pre>
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00264">264</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="colorsel_8h-source.html">colorsel.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:12 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTColorSelector.png b/freebsdtvision/doc/html/classTColorSelector.png
new file mode 100644
index 0000000..f8bab09
--- /dev/null
+++ b/freebsdtvision/doc/html/classTColorSelector.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTCommandSet-members.html b/freebsdtvision/doc/html/classTCommandSet-members.html
new file mode 100644
index 0000000..0434a40
--- /dev/null
+++ b/freebsdtvision/doc/html/classTCommandSet-members.html
@@ -0,0 +1,33 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TCommandSet Member List</h1>This is the complete list of members for <a class="el" href="classTCommandSet.html">TCommandSet</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCommandSet.html#a3">disableCmd</a>(int cmd)</td><td><a class="el" href="classTCommandSet.html">TCommandSet</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCommandSet.html#a7">disableCmd</a>(const TCommandSet &amp;tc)</td><td><a class="el" href="classTCommandSet.html">TCommandSet</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCommandSet.html#a4">enableCmd</a>(int cmd)</td><td><a class="el" href="classTCommandSet.html">TCommandSet</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCommandSet.html#a8">enableCmd</a>(const TCommandSet &amp;tc)</td><td><a class="el" href="classTCommandSet.html">TCommandSet</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCommandSet.html#a2">has</a>(int cmd)</td><td><a class="el" href="classTCommandSet.html">TCommandSet</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCommandSet.html#a11">isEmpty</a>()</td><td><a class="el" href="classTCommandSet.html">TCommandSet</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCommandSet.html#l0">operator &amp;</a>(const TCommandSet &amp;, const TCommandSet &amp;)</td><td><a class="el" href="classTCommandSet.html">TCommandSet</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCommandSet.html#a12">operator &amp;=</a>(const TCommandSet &amp;tc)</td><td><a class="el" href="classTCommandSet.html">TCommandSet</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCommandSet.html#l3">operator!=</a>(const TCommandSet &amp;tc1, const TCommandSet &amp;tc2)</td><td><a class="el" href="classTCommandSet.html">TCommandSet</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCommandSet.html#a5">operator+=</a>(int cmd)</td><td><a class="el" href="classTCommandSet.html">TCommandSet</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCommandSet.html#a9">operator+=</a>(const TCommandSet &amp;tc)</td><td><a class="el" href="classTCommandSet.html">TCommandSet</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCommandSet.html#a6">operator-=</a>(int cmd)</td><td><a class="el" href="classTCommandSet.html">TCommandSet</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCommandSet.html#a10">operator-=</a>(const TCommandSet &amp;tc)</td><td><a class="el" href="classTCommandSet.html">TCommandSet</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCommandSet.html#l2">operator==</a>(const TCommandSet &amp;tc1, const TCommandSet &amp;tc2)</td><td><a class="el" href="classTCommandSet.html">TCommandSet</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCommandSet.html#l1">operator|</a>(const TCommandSet &amp;, const TCommandSet &amp;)</td><td><a class="el" href="classTCommandSet.html">TCommandSet</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCommandSet.html#a13">operator|=</a>(const TCommandSet &amp;tc)</td><td><a class="el" href="classTCommandSet.html">TCommandSet</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCommandSet.html#a0">TCommandSet</a>()</td><td><a class="el" href="classTCommandSet.html">TCommandSet</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCommandSet.html#a1">TCommandSet</a>(const TCommandSet &amp;tc)</td><td><a class="el" href="classTCommandSet.html">TCommandSet</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:12 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTCommandSet.html b/freebsdtvision/doc/html/classTCommandSet.html
new file mode 100644
index 0000000..fbddc1d
--- /dev/null
+++ b/freebsdtvision/doc/html/classTCommandSet.html
@@ -0,0 +1,650 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TCommandSet class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TCommandSet Class Reference</h1>Implements a non-view class for handling command sets.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="views_8h-source.html">views.h</a>&gt;</code>
+<p>
+<a href="classTCommandSet-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTCommandSet.html#a0">TCommandSet</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTCommandSet.html#a1">TCommandSet</a> (const TCommandSet &amp;tc)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTCommandSet.html#a2">has</a> (int cmd)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTCommandSet.html#a3">disableCmd</a> (int cmd)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTCommandSet.html#a4">enableCmd</a> (int cmd)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTCommandSet.html#a5">operator+=</a> (int cmd)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTCommandSet.html#a6">operator-=</a> (int cmd)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTCommandSet.html#a7">disableCmd</a> (const TCommandSet &amp;tc)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTCommandSet.html#a8">enableCmd</a> (const TCommandSet &amp;tc)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTCommandSet.html#a9">operator+=</a> (const TCommandSet &amp;tc)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTCommandSet.html#a10">operator-=</a> (const TCommandSet &amp;tc)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTCommandSet.html#a11">isEmpty</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>TCommandSet &amp;&nbsp;</td><td valign=bottom><a class="el" href="classTCommandSet.html#a12">operator &amp;=</a> (const TCommandSet &amp;tc)</td></tr>
+<tr><td nowrap align=right valign=top>TCommandSet &amp;&nbsp;</td><td valign=bottom><a class="el" href="classTCommandSet.html#a13">operator|=</a> (const TCommandSet &amp;tc)</td></tr>
+<tr><td colspan=2><br><h2>Friends</h2></td></tr>
+<tr><td nowrap align=right valign=top>TCommandSet&nbsp;</td><td valign=bottom><a class="el" href="classTCommandSet.html#l0">operator &amp;</a> (const TCommandSet &amp;, const TCommandSet &amp;)</td></tr>
+<tr><td nowrap align=right valign=top>TCommandSet&nbsp;</td><td valign=bottom><a class="el" href="classTCommandSet.html#l1">operator|</a> (const TCommandSet &amp;, const TCommandSet &amp;)</td></tr>
+<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classTCommandSet.html#l2">operator==</a> (const TCommandSet &amp;tc1, const TCommandSet &amp;tc2)</td></tr>
+<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classTCommandSet.html#l3">operator!=</a> (const TCommandSet &amp;tc1, const TCommandSet &amp;tc2)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+TCommandSet is a non-view class for handling command sets.
+<p>
+Member functions are provided for enabling and disabling commands and for testing for the presence of a given command. Several operators are overloaded to allow natural testing for equality and so on.
+<p>
+Note: this object can only handle commands whose code is within 0 and 255. Only commands in this range may be disabled.
+<p>
+
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00584">584</a> of file <a class="el" href="views_8h-source.html">views.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TCommandSet::TCommandSet"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TCommandSet::TCommandSet </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructor.
+<p>
+Creates and clears a command set. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TCommandSet::TCommandSet"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TCommandSet::TCommandSet </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const TCommandSet &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>tc</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructor.
+<p>
+This form creates a command set and initializes it from the `tc' argument. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="a7" doxytag="TCommandSet::disableCmd"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TCommandSet::disableCmd </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const TCommandSet &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>tc</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Removes all commands in set `tc' from this command set. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="TCommandSet::disableCmd"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TCommandSet::disableCmd </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>cmd</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Removes command `cmd' from the set.
+<p>
+Referenced by <a class="el" href="views_8h-source.html#l00704">operator-=()</a>. </td>
+ </tr>
+</table>
+<a name="a8" doxytag="TCommandSet::enableCmd"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TCommandSet::enableCmd </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const TCommandSet &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>tc</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Adds all commands in set `tc' to this command set. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="TCommandSet::enableCmd"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TCommandSet::enableCmd </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>cmd</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Adds command `cmd' to the set.
+<p>
+Referenced by <a class="el" href="views_8h-source.html#l00699">operator+=()</a>. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="TCommandSet::has"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a13">Boolean</a> TCommandSet::has </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>cmd</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns True if command `cmd' is in the set. </td>
+ </tr>
+</table>
+<a name="a11" doxytag="TCommandSet::isEmpty"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a13">Boolean</a> TCommandSet::isEmpty </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns True if the command set is empty. </td>
+ </tr>
+</table>
+<a name="a12" doxytag="TCommandSet::operator &="></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TCommandSet&amp; TCommandSet::operator &amp;= </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const TCommandSet &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>tc</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Calculates the intersection of this set and the `tc' set.
+<p>
+The resulting set is the largest set which contains commands present in both sets. Returns a reference to this object. </td>
+ </tr>
+</table>
+<a name="a9" doxytag="TCommandSet::operator+="></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TCommandSet::operator+= </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const TCommandSet &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>tc</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Adds all commands in set `tc' to this command set.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00709">709</a> of file <a class="el" href="views_8h-source.html">views.h</a>.
+<p>
+References <a class="el" href="classTCommandSet.html#a4">enableCmd()</a>. </td>
+ </tr>
+</table>
+<a name="a5" doxytag="TCommandSet::operator+="></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TCommandSet::operator+= </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>cmd</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Adds command `cmd' to the set.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00699">699</a> of file <a class="el" href="views_8h-source.html">views.h</a>.
+<p>
+References <a class="el" href="classTCommandSet.html#a4">enableCmd()</a>. </td>
+ </tr>
+</table>
+<a name="a10" doxytag="TCommandSet::operator-="></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TCommandSet::operator-= </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const TCommandSet &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>tc</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Removes all commands in set `tc' from this command set.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00714">714</a> of file <a class="el" href="views_8h-source.html">views.h</a>.
+<p>
+References <a class="el" href="classTCommandSet.html#a3">disableCmd()</a>. </td>
+ </tr>
+</table>
+<a name="a6" doxytag="TCommandSet::operator-="></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TCommandSet::operator-= </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>cmd</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Removes command `cmd' from the set.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00704">704</a> of file <a class="el" href="views_8h-source.html">views.h</a>.
+<p>
+References <a class="el" href="classTCommandSet.html#a3">disableCmd()</a>. </td>
+ </tr>
+</table>
+<a name="a13" doxytag="TCommandSet::operator|="></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TCommandSet&amp; TCommandSet::operator|= </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const TCommandSet &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>tc</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Calculates the union of this set and the `tc' set.
+<p>
+The resulting set is the smallest set which contains commands present in either sets. Returns a reference to this object. </td>
+ </tr>
+</table>
+<hr><h2>Friends And Related Function Documentation</h2>
+<a name="l0" doxytag="TCommandSet::operator &"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TCommandSet operator &amp; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const TCommandSet &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>const TCommandSet &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [friend]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Calculates the intersection of this set and the `tc' set.
+<p>
+The resulting set is the largest set which contains commands present in both sets. Returns the resulting set. </td>
+ </tr>
+</table>
+<a name="l3" doxytag="TCommandSet::operator!="></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> int operator!= </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const TCommandSet &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>tc1</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>const TCommandSet &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>tc2</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [friend]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns 1 if the sets `tc1' and `tc2' are not equal.
+<p>
+Otherwise returns 0.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00719">719</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="l2" doxytag="TCommandSet::operator=="></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> int operator== </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const TCommandSet &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>tc1</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>const TCommandSet &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>tc2</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [friend]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns 1 if the sets `tc1' and `tc2' are equal.
+<p>
+Otherwise returns 0. </td>
+ </tr>
+</table>
+<a name="l1" doxytag="TCommandSet::operator|"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TCommandSet operator| </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const TCommandSet &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>const TCommandSet &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [friend]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Calculates the union of this set and the `tc' set.
+<p>
+The resulting set is the smallest set which contains commands present in either sets. Returns the resulting set. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="views_8h-source.html">views.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:12 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTCrossRef-members.html b/freebsdtvision/doc/html/classTCrossRef-members.html
new file mode 100644
index 0000000..fbb70b4
--- /dev/null
+++ b/freebsdtvision/doc/html/classTCrossRef-members.html
@@ -0,0 +1,19 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TCrossRef Member List</h1>This is the complete list of members for <a class="el" href="classTCrossRef.html">TCrossRef</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCrossRef.html#m2">length</a></td><td><a class="el" href="classTCrossRef.html">TCrossRef</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCrossRef.html#m1">offset</a></td><td><a class="el" href="classTCrossRef.html">TCrossRef</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCrossRef.html#m0">ref</a></td><td><a class="el" href="classTCrossRef.html">TCrossRef</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCrossRef.html#a0">TCrossRef</a>()</td><td><a class="el" href="classTCrossRef.html">TCrossRef</a></td><td><code> [inline]</code></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:12 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTCrossRef.html b/freebsdtvision/doc/html/classTCrossRef.html
new file mode 100644
index 0000000..26c08d9
--- /dev/null
+++ b/freebsdtvision/doc/html/classTCrossRef.html
@@ -0,0 +1,139 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TCrossRef class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TCrossRef Class Reference</h1>Part of the help system.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="helpbase_8h-source.html">helpbase.h</a>&gt;</code>
+<p>
+<a href="classTCrossRef-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTCrossRef.html#a0">TCrossRef</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classTCrossRef.html#m0">ref</a></td></tr>
+<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classTCrossRef.html#m1">offset</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a1">uchar</a>&nbsp;</td><td valign=bottom><a class="el" href="classTCrossRef.html#m2">length</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Part of the help system.
+<p>
+
+<p>
+Definition at line <a class="el" href="helpbase_8h-source.html#l00061">61</a> of file <a class="el" href="helpbase_8h-source.html">helpbase.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TCrossRef::TCrossRef"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TCrossRef::TCrossRef </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="helpbase_8h-source.html#l00067">67</a> of file <a class="el" href="helpbase_8h-source.html">helpbase.h</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="m2" doxytag="TCrossRef::length"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a1">uchar</a> TCrossRef::length
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="helpbase_8h-source.html#l00079">79</a> of file <a class="el" href="helpbase_8h-source.html">helpbase.h</a>. </td>
+ </tr>
+</table>
+<a name="m1" doxytag="TCrossRef::offset"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> int TCrossRef::offset
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="helpbase_8h-source.html#l00075">75</a> of file <a class="el" href="helpbase_8h-source.html">helpbase.h</a>. </td>
+ </tr>
+</table>
+<a name="m0" doxytag="TCrossRef::ref"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> int TCrossRef::ref
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="helpbase_8h-source.html#l00071">71</a> of file <a class="el" href="helpbase_8h-source.html">helpbase.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="helpbase_8h-source.html">helpbase.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:12 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTDeskInit-members.html b/freebsdtvision/doc/html/classTDeskInit-members.html
new file mode 100644
index 0000000..529268d
--- /dev/null
+++ b/freebsdtvision/doc/html/classTDeskInit-members.html
@@ -0,0 +1,17 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TDeskInit Member List</h1>This is the complete list of members for <a class="el" href="classTDeskInit.html">TDeskInit</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDeskInit.html#n0">createBackground</a></td><td><a class="el" href="classTDeskInit.html">TDeskInit</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDeskInit.html#a0">TDeskInit</a>(TBackground *(*cBackground)(TRect bounds))</td><td><a class="el" href="classTDeskInit.html">TDeskInit</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:12 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTDeskInit.html b/freebsdtvision/doc/html/classTDeskInit.html
new file mode 100644
index 0000000..0d7cde1
--- /dev/null
+++ b/freebsdtvision/doc/html/classTDeskInit.html
@@ -0,0 +1,94 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TDeskInit class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TDeskInit Class Reference</h1>Virtual base class for <a class="el" href="classTDeskTop.html">TDeskTop</a>.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="app_8h-source.html">app.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TDeskInit:
+<p><center><img src="classTDeskInit.png" usemap="#TDeskInit_map" border="0" alt=""></center>
+<map name="TDeskInit_map">
+<area href="classTDeskTop.html" alt="TDeskTop" shape="rect" coords="0,56,68,80">
+</map>
+<a href="classTDeskInit-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTDeskInit.html#a0">TDeskInit</a> (<a class="el" href="classTBackground.html">TBackground</a> *(*cBackground)(<a class="el" href="classTRect.html">TRect</a> bounds))</td></tr>
+<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTBackground.html">TBackground</a> *(*&nbsp;</td><td valign=bottom><a class="el" href="classTDeskInit.html#n0">createBackground</a> )(<a class="el" href="classTRect.html">TRect</a> bounds)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+TDeskInit is used as a virtual base class for a number of classes, providing a constructor and a create background member function used in creating and inserting a background object. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTDeskTop.html">TDeskTop</a> </dl>
+<p>
+
+<p>
+Definition at line <a class="el" href="app_8h-source.html#l00136">136</a> of file <a class="el" href="app_8h-source.html">app.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TDeskInit::TDeskInit"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TDeskInit::TDeskInit </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTBackground.html">TBackground</a> *(*&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>cBackground</em>)(<a class="el" href="classTRect.html">TRect</a> bounds) </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This constructor takes a function address argument, usually &amp;<a class="el" href="classTDeskTop.html#d0">TDeskTop::initBackground</a>. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTDeskTop.html#d0">TDeskTop::initBackground</a></dl>Note: the <a class="el" href="classTDeskTop.html">TDeskTop</a> constructor invokes <a class="el" href="classTGroup.html">TGroup</a> constructor and TDeskInit(&amp;initBackground) to create a desk top object of size `bounds' and associated background. The latter is inserted in the desk top group object. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTDeskTop.html#a0">TDeskTop::TDeskTop</a> </dl> </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="n0" doxytag="TDeskInit::createBackground"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTBackground.html">TBackground</a>*(* TDeskInit::createBackground)( <a class="el" href="classTRect.html">TRect</a> bounds )<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called by the TDeskInit constructor to create a <a class="el" href="classTBackground.html">TBackground</a> object with the given bounds and return a pointer to it. A 0 pointer indicates lack of success in this endeavor. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="app_8h-source.html">app.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:12 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTDeskInit.png b/freebsdtvision/doc/html/classTDeskInit.png
new file mode 100644
index 0000000..7df5852
--- /dev/null
+++ b/freebsdtvision/doc/html/classTDeskInit.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTDeskTop-members.html b/freebsdtvision/doc/html/classTDeskTop-members.html
new file mode 100644
index 0000000..bd8a2a3
--- /dev/null
+++ b/freebsdtvision/doc/html/classTDeskTop-members.html
@@ -0,0 +1,166 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TDeskTop Member List</h1>This is the complete list of members for <a class="el" href="classTDeskTop.html">TDeskTop</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a17">at</a>(short index)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a5">awaken</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDeskTop.html#n0">background</a></td><td><a class="el" href="classTDeskTop.html">TDeskTop</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a32">blockCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m4">buffer</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDeskTop.html#d1">build</a>()</td><td><a class="el" href="classTDeskTop.html">TDeskTop</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a10">calcBounds</a>(TRect &amp;bounds, TPoint delta)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDeskTop.html#a1">cascade</a>(const TRect &amp;)</td><td><a class="el" href="classTDeskTop.html">TDeskTop</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a25">changeBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a38">clearEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m2">clip</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d0">commandEnabled</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p0">commandSetChanged</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a7">containsMouse</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDeskInit.html#n0">createBackground</a></td><td><a class="el" href="classTDeskInit.html">TDeskInit</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p1">curCommandSet</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m0">current</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m6">cursor</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a26">dataSize</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDeskTop.html#p0">defaultBkgrnd</a></td><td><a class="el" href="classTDeskTop.html">TDeskTop</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d3">disableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d1">disableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m8">dragMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a9">dragView</a>(TEvent &amp;event, uchar mode, TRect &amp;limits, TPoint minSize, TPoint maxSize)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a29">draw</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a37">drawCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a24">drawHide</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a25">drawShow</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a24">drawSubViews</a>(TView *p, TView *bottom)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a26">drawUnderRect</a>(TRect &amp;r, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a27">drawUnderView</a>(Boolean doShadow, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a20">drawView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d4">enableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d2">enableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a34">endModal</a>(ushort command)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m6">endState</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>enterSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p3">errorAttr</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a39">eventAvail</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a35">eventError</a>(TEvent &amp;event)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m3">eventMask</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a4">execute</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a3">execView</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a21">exposed</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a21">first</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a18">firstMatch</a>(ushort aState, ushort aOptions)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a12">firstThat</a>(Boolean(*func)(TView *, void *), void *args)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a22">focus</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a13">focusNext</a>(Boolean forwards)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a14">forEach</a>(void(*func)(TView *, void *), void *args)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a38">freeBuffer</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a3">getBounds</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a39">getBuffer</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a5">getClipRect</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a45">getColor</a>(ushort color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d5">getCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a27">getData</a>(void *rec)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a40">getEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a4">getExtent</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a36">getHelpCtx</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a46">getPalette</a>() const</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a48">getState</a>(ushort aState)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m7">growMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a12">growTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDeskTop.html#a2">handleEvent</a>(TEvent &amp;)</td><td><a class="el" href="classTDeskTop.html">TDeskTop</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m9">helpCtx</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a17">hide</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a23">hideCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a19">indexOf</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDeskTop.html#d0">initBackground</a>(TRect)</td><td><a class="el" href="classTDeskTop.html">TDeskTop</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a15">insert</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a16">insertBefore</a>(TView *p, TView *Target)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a6">insertView</a>(TView *p, TView *Target)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a51">keyEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m1">last</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>leaveSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a8">locate</a>(TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a31">lock</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m5">lockFlag</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a58">makeFirst</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a53">makeGlobal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a54">makeLocal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a47">mapColor</a>(uchar)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a20">matches</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a52">mouseEvent</a>(TEvent &amp;event, ushort mask)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a6">mouseInView</a>(TPoint mouse)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a13">moveTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDeskTop.html#p1">name</a></td><td><a class="el" href="classTDeskTop.html">TDeskTop</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m0">next</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a55">nextView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a33">normalCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>normalSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m2">options</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m5">origin</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m10">owner</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m3">phase</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s6">phaseType</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phFocused</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPostProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPreProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a57">prev</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a56">prevView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a42">putEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a59">putInFrontOf</a>(TView *Target)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#b2">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a30">redraw</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a7">remove</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a8">removeView</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a9">resetCurrent</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a33">resetCursor</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a49">select</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s7">selectMode</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a11">selectNext</a>(Boolean forwards)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a14">setBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d7">setCmdState</a>(TCommandSet &amp;commands, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d6">setCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a10">setCurrent</a>(TView *p, selectMode mode)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a35">setCursor</a>(int x, int y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a28">setData</a>(void *rec)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a22">setState</a>(ushort aState, Boolean enable)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a18">show</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a36">showCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p2">showMarkers</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDeskTop.html#a5">shutDown</a>()</td><td><a class="el" href="classTDeskTop.html">TDeskTop</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m1">size</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a2">sizeLimits</a>(TPoint &amp;min, TPoint &amp;max)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m4">state</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDeskInit.html#a0">TDeskInit</a>(TBackground *(*cBackground)(TRect bounds))</td><td><a class="el" href="classTDeskInit.html">TDeskInit</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDeskTop.html#a0">TDeskTop</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTDeskTop.html">TDeskTop</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDeskTop.html#b0">TDeskTop</a>(StreamableInit)</td><td><a class="el" href="classTDeskTop.html">TDeskTop</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a0">TGroup</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#b0">TGroup</a>(StreamableInit)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDeskTop.html#a3">tile</a>(const TRect &amp;)</td><td><a class="el" href="classTDeskTop.html">TDeskTop</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDeskTop.html#n1">tileColumnsFirst</a></td><td><a class="el" href="classTDeskTop.html">TDeskTop</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDeskTop.html#a4">tileError</a>()</td><td><a class="el" href="classTDeskTop.html">TDeskTop</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a60">TopView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a0">TView</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#b0">TView</a>(StreamableInit)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a32">unlock</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a37">valid</a>(ushort command)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#b1">write</a>(opstream &amp;os)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a61">writeBuf</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a62">writeBuf</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a63">writeChar</a>(short x, short y, char c, uchar color, short count)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a64">writeLine</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a65">writeLine</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a66">writeStr</a>(short x, short y, const char *str, uchar color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a1">~TGroup</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a1">~TView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:12 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTDeskTop.html b/freebsdtvision/doc/html/classTDeskTop.html
new file mode 100644
index 0000000..83c306b
--- /dev/null
+++ b/freebsdtvision/doc/html/classTDeskTop.html
@@ -0,0 +1,448 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TDeskTop class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TDeskTop Class Reference</h1>The desktop of the application.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="app_8h-source.html">app.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TDeskTop:
+<p><center><img src="classTDeskTop.png" usemap="#TDeskTop_map" border="0" alt=""></center>
+<map name="TDeskTop_map">
+<area href="classTGroup.html" alt="TGroup" shape="rect" coords="46,112,128,136">
+<area href="classTDeskInit.html" alt="TDeskInit" shape="rect" coords="138,112,220,136">
+<area href="classTView.html" alt="TView" shape="rect" coords="46,56,128,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,82,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="92,0,174,24">
+</map>
+<a href="classTDeskTop-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTDeskTop.html#a0">TDeskTop</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;bounds)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTDeskTop.html#a1">cascade</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTDeskTop.html#a2">handleEvent</a> (<a class="el" href="structTEvent.html">TEvent</a> &amp;)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTDeskTop.html#a3">tile</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTDeskTop.html#a4">tileError</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTDeskTop.html#a5">shutDown</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTBackground.html">TBackground</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTDeskTop.html#d0">initBackground</a> (<a class="el" href="classTRect.html">TRect</a>)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStreamable.html">TStreamable</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTDeskTop.html#d1">build</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>char&nbsp;</td><td valign=bottom><a class="el" href="classTDeskTop.html#p0">defaultBkgrnd</a></td></tr>
+<tr><td nowrap align=right valign=top>const char *const&nbsp;</td><td valign=bottom><a class="el" href="classTDeskTop.html#p1">name</a></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTDeskTop.html#b0">TDeskTop</a> (<a class="el" href="ttypes_8h.html#a14">StreamableInit</a>)</td></tr>
+<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTBackground.html">TBackground</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTDeskTop.html#n0">background</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTDeskTop.html#n1">tileColumnsFirst</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+The desktop of the application. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTApplication.html">TApplication</a></dl>TDeskTop inherits multiply from <a class="el" href="classTGroup.html">TGroup</a> and the virtual base class <a class="el" href="classTDeskInit.html">TDeskInit</a>. <a class="el" href="classTDeskInit.html">TDeskInit</a> provides a constructor and a create background member function used in creating and inserting a background object. TDeskTop is a simple group that owns the <a class="el" href="classTBackground.html">TBackground</a> view upon which the application's windows and other views appear.
+<p>
+TDeskTop represents the desk top area of the screen between the top menu bar and bottom status line (but only when the bar and line exist). By default, TDeskTop has a <a class="el" href="classTBackground.html">TBackground</a> object inside which paints its background.
+<p>
+TDeskTop objects can be written to and read from streams using the overloaded &gt;&gt; and &lt;&lt; operators.
+<p>
+
+<p>
+Definition at line <a class="el" href="app_8h-source.html#l00179">179</a> of file <a class="el" href="app_8h-source.html">app.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TDeskTop::TDeskTop"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TDeskTop::TDeskTop </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>bounds</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructor.
+<p>
+Creates a TDeskTop group with size `bounds' by calling its base constructors <a class="el" href="classTGroup.html#a0">TGroup::TGroup</a> and TDeskInit::TDeskInit(&amp;initBackground). The resulting <a class="el" href="classTBackground.html">TBackground</a> object created by <a class="el" href="classTDeskTop.html#d0">initBackground</a> is then inserted into the desk top. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTDeskInit.html">TDeskInit</a>:<a class="el" href="classTDeskInit.html">TDeskInit</a> , <a class="el" href="classTGroup.html#a0">TGroup::TGroup</a></dl><a class="el" href="classTView.html#m7">growMode</a> is set to <a class="el" href="views_8h.html#a52">gfGrowHiX</a> | <a class="el" href="views_8h.html#a53">gfGrowHiY</a>. </td>
+ </tr>
+</table>
+<a name="b0" doxytag="TDeskTop::TDeskTop"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TDeskTop::TDeskTop </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a14">StreamableInit</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructor used to recover the view from a stream.
+<p>
+Each streamable class needs a "builder" to allocate the correct memory for its objects together with the initialized virtual table pointers. This is achieved by calling this constructor with an argument of type <a class="el" href="ttypes_8h.html#a14">StreamableInit</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="d1" doxytag="TDeskTop::build"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStreamable.html">TStreamable</a>* TDeskTop::build </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a new TDeskTop.
+<p>
+Used to recover the view from a stream. Called to create an object in certain stream-reading situations.
+<p>
+Reimplemented from <a class="el" href="classTGroup.html#d0">TGroup</a>. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TDeskTop::cascade"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TDeskTop::cascade </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Moves all the windows in a cascade-like fashion.
+<p>
+Redisplays all tileable windows owned by the desk top in cascaded format. The first tileable window in Z-order (the window "in back") is zoomed to fill the desk top, and each succeeding window fills a region beginning one line lower and one space further to the right than the one before. The active window appears "on top" as the smallest window. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="TDeskTop::handleEvent"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TDeskTop::handleEvent </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="structTEvent.html">TEvent</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Standard TDeskTop event handler.
+<p>
+Calls <a class="el" href="classTGroup.html#a23">TGroup::handleEvent()</a> and takes care of the commands cmNext (usually the hot key F6) and cmPrev by cycling through the windows owned by the desk top, starting with the currently selected view.
+<p>
+Reimplemented from <a class="el" href="classTGroup.html#a23">TGroup</a>. </td>
+ </tr>
+</table>
+<a name="d0" doxytag="TDeskTop::initBackground"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTBackground.html">TBackground</a>* TDeskTop::initBackground </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTRect.html">TRect</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a new background.
+<p>
+Returns a pointer to a newly-allocated <a class="el" href="classTBackground.html">TBackground</a> object. The address of this member function is passed as an argument to the <a class="el" href="classTDeskInit.html">TDeskInit</a> constructor. The latter invokes <a class="el" href="classTDeskTop.html#d0">initBackground()</a> to create a new <a class="el" href="classTBackground.html">TBackground</a> object with the same bounds as the calling TDeskTop object. The background data member is set to point at the new <a class="el" href="classTBackground.html">TBackground</a> object.
+<p>
+Redefine this method if you want a custom background. </td>
+ </tr>
+</table>
+<a name="a5" doxytag="TDeskTop::shutDown"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TDeskTop::shutDown </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Releases TDeskTop resources.
+<p>
+This function is derived from <a class="el" href="classTObject.html">TObject</a>. Used internally by <a class="el" href="classTObject.html#d0">TObject::destroy()</a> to ensure correct destruction of derived and related objects. <a class="el" href="classTDeskTop.html#a5">shutDown()</a> is overridden in many classes to ensure the proper setting of related data members when <a class="el" href="classTObject.html#d0">destroy()</a> is called.
+<p>
+This method releases all the resources allocated by the TDeskTop. It sets pointer background to 0 and then calls <a class="el" href="classTGroup.html#a2">TGroup::shutDown()</a>.
+<p>
+Reimplemented from <a class="el" href="classTGroup.html#a2">TGroup</a>. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="TDeskTop::tile"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TDeskTop::tile </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Moves all the windows in a tile-like fashion. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="TDeskTop::tileError"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TDeskTop::tileError </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called on tiling error.
+<p>
+This method is called whenever <a class="el" href="classTDeskTop.html#a1">cascade()</a> or <a class="el" href="classTDeskTop.html#a3">tile()</a> run into troubles in moving the windows. You can redefine it if you want to give an error message to the user. By default, it does nothing. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="n0" doxytag="TDeskTop::background"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTBackground.html">TBackground</a>* TDeskTop::background<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This variable stores a pointer to the background object associated with this desk top.
+<p>
+Definition at line <a class="el" href="app_8h-source.html#l00261">261</a> of file <a class="el" href="app_8h-source.html">app.h</a>. </td>
+ </tr>
+</table>
+<a name="p0" doxytag="TDeskTop::defaultBkgrnd"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> char TDeskTop::defaultBkgrnd<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The default pattern which will be used for painting the background.
+<p>
+Definition at line <a class="el" href="app_8h-source.html#l00255">255</a> of file <a class="el" href="app_8h-source.html">app.h</a>. </td>
+ </tr>
+</table>
+<a name="p1" doxytag="TDeskTop::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* const TDeskTop::name<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTGroup.html#p0">TGroup</a>.
+<p>
+Definition at line <a class="el" href="app_8h-source.html#l00285">285</a> of file <a class="el" href="app_8h-source.html">app.h</a>. </td>
+ </tr>
+</table>
+<a name="n1" doxytag="TDeskTop::tileColumnsFirst"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a13">Boolean</a> TDeskTop::tileColumnsFirst<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+True if method <a class="el" href="classTDeskTop.html#a3">tile()</a> should favour columns first. Set to False in TDeskTop constructor. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTDeskTop.html#a0">TDeskTop::TDeskTop</a> </dl>
+<p>
+Definition at line <a class="el" href="app_8h-source.html#l00267">267</a> of file <a class="el" href="app_8h-source.html">app.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="app_8h-source.html">app.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:12 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTDeskTop.png b/freebsdtvision/doc/html/classTDeskTop.png
new file mode 100644
index 0000000..0ca2371
--- /dev/null
+++ b/freebsdtvision/doc/html/classTDeskTop.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTDialog-members.html b/freebsdtvision/doc/html/classTDialog-members.html
new file mode 100644
index 0000000..b45a948
--- /dev/null
+++ b/freebsdtvision/doc/html/classTDialog-members.html
@@ -0,0 +1,173 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TDialog Member List</h1>This is the complete list of members for <a class="el" href="classTDialog.html">TDialog</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a17">at</a>(short index)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a5">awaken</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a32">blockCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m4">buffer</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDialog.html#d0">build</a>()</td><td><a class="el" href="classTDialog.html">TDialog</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a10">calcBounds</a>(TRect &amp;bounds, TPoint delta)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a25">changeBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a38">clearEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m2">clip</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a2">close</a>()</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d0">commandEnabled</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p0">commandSetChanged</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a7">containsMouse</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindowInit.html#n0">createFrame</a></td><td><a class="el" href="classTWindowInit.html">TWindowInit</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p1">curCommandSet</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m0">current</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m6">cursor</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a26">dataSize</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d3">disableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d1">disableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m8">dragMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a9">dragView</a>(TEvent &amp;event, uchar mode, TRect &amp;limits, TPoint minSize, TPoint maxSize)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a29">draw</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a37">drawCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a24">drawHide</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a25">drawShow</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a24">drawSubViews</a>(TView *p, TView *bottom)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a26">drawUnderRect</a>(TRect &amp;r, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a27">drawUnderView</a>(Boolean doShadow, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a20">drawView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d4">enableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d2">enableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a34">endModal</a>(ushort command)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m6">endState</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>enterSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p3">errorAttr</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a39">eventAvail</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a35">eventError</a>(TEvent &amp;event)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m3">eventMask</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a4">execute</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a3">execView</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a21">exposed</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a21">first</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a18">firstMatch</a>(ushort aState, ushort aOptions)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a12">firstThat</a>(Boolean(*func)(TView *, void *), void *args)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#m0">flags</a></td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a22">focus</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a13">focusNext</a>(Boolean forwards)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a14">forEach</a>(void(*func)(TView *, void *), void *args)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#m4">frame</a></td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a38">freeBuffer</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a3">getBounds</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a39">getBuffer</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a5">getClipRect</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a45">getColor</a>(ushort color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d5">getCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a27">getData</a>(void *rec)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a40">getEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a4">getExtent</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a36">getHelpCtx</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDialog.html#a1">getPalette</a>() const</td><td><a class="el" href="classTDialog.html">TDialog</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a48">getState</a>(ushort aState)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a4">getTitle</a>(short maxSize)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m7">growMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a12">growTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDialog.html#a2">handleEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTDialog.html">TDialog</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m9">helpCtx</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a17">hide</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a23">hideCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a19">indexOf</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#d0">initFrame</a>(TRect)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a15">insert</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a16">insertBefore</a>(TView *p, TView *Target)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a6">insertView</a>(TView *p, TView *Target)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a51">keyEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m1">last</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>leaveSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a8">locate</a>(TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a31">lock</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m5">lockFlag</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a58">makeFirst</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a53">makeGlobal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a54">makeLocal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a47">mapColor</a>(uchar)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a20">matches</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a52">mouseEvent</a>(TEvent &amp;event, ushort mask)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a6">mouseInView</a>(TPoint mouse)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a13">moveTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDialog.html#p0">name</a></td><td><a class="el" href="classTDialog.html">TDialog</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m0">next</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a55">nextView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a33">normalCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>normalSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#m2">number</a></td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m2">options</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m5">origin</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m10">owner</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#m3">palette</a></td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m3">phase</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s6">phaseType</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phFocused</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPostProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPreProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a57">prev</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a56">prevView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a42">putEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a59">putInFrontOf</a>(TView *Target)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#b2">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a30">redraw</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a7">remove</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a8">removeView</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a9">resetCurrent</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a33">resetCursor</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a49">select</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s7">selectMode</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a11">selectNext</a>(Boolean forwards)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a14">setBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d7">setCmdState</a>(TCommandSet &amp;commands, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d6">setCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a10">setCurrent</a>(TView *p, selectMode mode)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a35">setCursor</a>(int x, int y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a28">setData</a>(void *rec)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a6">setState</a>(ushort aState, Boolean enable)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a18">show</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a36">showCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p2">showMarkers</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a10">shutDown</a>()</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m1">size</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a7">sizeLimits</a>(TPoint &amp;min, TPoint &amp;max)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a8">standardScrollBar</a>(ushort aOptions)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m4">state</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDialog.html#a0">TDialog</a>(const TRect &amp;bounds, const char *aTitle)</td><td><a class="el" href="classTDialog.html">TDialog</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDialog.html#b0">TDialog</a>(StreamableInit)</td><td><a class="el" href="classTDialog.html">TDialog</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a0">TGroup</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#b0">TGroup</a>(StreamableInit)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#m5">title</a></td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a60">TopView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a0">TView</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#b0">TView</a>(StreamableInit)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a0">TWindow</a>(const TRect &amp;bounds, const char *aTitle, short aNumber)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#b0">TWindow</a>(StreamableInit)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindowInit.html#a0">TWindowInit</a>(TFrame *(*cFrame)(TRect bounds))</td><td><a class="el" href="classTWindowInit.html">TWindowInit</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a32">unlock</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDialog.html#a3">valid</a>(ushort command)</td><td><a class="el" href="classTDialog.html">TDialog</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#b1">write</a>(opstream &amp;os)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a61">writeBuf</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a62">writeBuf</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a63">writeChar</a>(short x, short y, char c, uchar color, short count)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a64">writeLine</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a65">writeLine</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a66">writeStr</a>(short x, short y, const char *str, uchar color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a9">zoom</a>()</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#m1">zoomRect</a></td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a1">~TGroup</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a1">~TView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a1">~TWindow</a>()</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:12 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTDialog.html b/freebsdtvision/doc/html/classTDialog.html
new file mode 100644
index 0000000..101132b
--- /dev/null
+++ b/freebsdtvision/doc/html/classTDialog.html
@@ -0,0 +1,301 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TDialog class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TDialog Class Reference</h1>A non-growable child of <a class="el" href="classTWindow.html">TWindow</a>, usually used as a modal view.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="dialogs_8h-source.html">dialogs.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TDialog:
+<p><center><img src="classTDialog.png" usemap="#TDialog_map" border="0" alt=""></center>
+<map name="TDialog_map">
+<area href="classTWindow.html" alt="TWindow" shape="rect" coords="98,168,186,192">
+<area href="classTGroup.html" alt="TGroup" shape="rect" coords="49,112,137,136">
+<area href="classTWindowInit.html" alt="TWindowInit" shape="rect" coords="147,112,235,136">
+<area href="classTView.html" alt="TView" shape="rect" coords="49,56,137,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,88,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="98,0,186,24">
+<area href="classTChDirDialog.html" alt="TChDirDialog" shape="rect" coords="0,280,88,304">
+<area href="classTColorDialog.html" alt="TColorDialog" shape="rect" coords="98,280,186,304">
+<area href="classTFileDialog.html" alt="TFileDialog" shape="rect" coords="196,280,284,304">
+</map>
+<a href="classTDialog-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTDialog.html#a0">TDialog</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;bounds, const char *aTitle)</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="classTPalette.html">TPalette</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="classTDialog.html#a1">getPalette</a> () const</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTDialog.html#a2">handleEvent</a> (<a class="el" href="structTEvent.html">TEvent</a> &amp;event)</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTDialog.html#a3">valid</a> (<a class="el" href="ttypes_8h.html#a0">ushort</a> command)</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStreamable.html">TStreamable</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTDialog.html#d0">build</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>const char *const&nbsp;</td><td valign=bottom><a class="el" href="classTDialog.html#p0">name</a></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTDialog.html#b0">TDialog</a> (<a class="el" href="ttypes_8h.html#a14">StreamableInit</a>)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+TDialog is a simple child of <a class="el" href="classTWindow.html">TWindow</a>.
+<p>
+Data member <a class="el" href="classTView.html#m7">growMode</a> is set to zero; that is, dialog boxes are not growable. The flags data member is set for <a class="el" href="views_8h.html#a78">wfMove</a> and <a class="el" href="views_8h.html#a80">wfClose</a>; that is, dialog boxes are moveable and closable (a close icon is provided).
+<p>
+The TDialog event handler calls <a class="el" href="classTWindow.html#a5">TWindow::handleEvent()</a> but additionally handles the special cases of Esc and Enter key responses. The Esc key generates a cmCancel command, while Enter generates the cmDefault command. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTDialog.html#a2">TDialog::handleEvent</a></dl>The <a class="el" href="classTDialog.html#a3">TDialog::valid()</a> member function returns True on cmCancel; otherwise, it calls its <a class="el" href="classTGroup.html#a37">TGroup::valid()</a>.
+<p>
+
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l00136">136</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TDialog::TDialog"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TDialog::TDialog </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>bounds</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>const char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aTitle</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a dialog box with the given size and title by calling TWindow::TWindow(bounds, aTitle, wnNoNumber) and TWindowInit::TWindowInit(&amp;TDialog::initFrame). <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTWindow.html#a0">TWindow::TWindow</a> , <a class="el" href="classTWindowInit.html#a0">TWindowInit::TWindowInit</a></dl><a class="el" href="classTView.html#m7">growMode</a> is set to 0, and flags is set to <a class="el" href="views_8h.html#a78">wfMove</a> | <a class="el" href="views_8h.html#a80">wfClose</a>.
+<p>
+By default, dialog boxes can move and close (via the close icon) but cannot grow (resize).
+<p>
+Note that TDialog does not define its own destructor, but uses <a class="el" href="classTWindow.html#a2">TWindow::close()</a> and the destructors inherited from <a class="el" href="classTWindow.html">TWindow</a>, <a class="el" href="classTGroup.html">TGroup</a>, and <a class="el" href="classTView.html">TView</a>. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTWindow.html#a1">TWindow::~TWindow</a> </dl> </td>
+ </tr>
+</table>
+<a name="b0" doxytag="TDialog::TDialog"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TDialog::TDialog </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a14">StreamableInit</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Each streamable class needs a "builder" to allocate the correct memory for its objects together with the initialized virtual table pointers.
+<p>
+This is achieved by calling this constructor with an argument of type <a class="el" href="ttypes_8h.html#a14">StreamableInit</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="d0" doxytag="TDialog::build"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStreamable.html">TStreamable</a>* TDialog::build </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called to create an object in certain stream-reading situations.
+<p>
+Reimplemented from <a class="el" href="classTWindow.html#d1">TWindow</a>.
+<p>
+Reimplemented in <a class="el" href="classTColorDialog.html#d0">TColorDialog</a>, <a class="el" href="classTFileDialog.html#d0">TFileDialog</a>, and <a class="el" href="classTChDirDialog.html#d0">TChDirDialog</a>. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TDialog::getPalette"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="classTPalette.html">TPalette</a>&amp; TDialog::getPalette </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the default palette string.
+<p>
+Reimplemented from <a class="el" href="classTWindow.html#a3">TWindow</a>. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="TDialog::handleEvent"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TDialog::handleEvent </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="structTEvent.html">TEvent</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>event</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Calls TWindow::handleEvent(event), then handles Enter and Esc key events specially. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTWindow.html#a5">TWindow::handleEvent</a></dl>In particular, Esc generates a cmCancel command, and Enter broadcasts a cmDefault command.
+<p>
+This member function also handles cmOK, cmCancel, cmYes, and cmNo command events by ending the modal state of the dialog box.
+<p>
+For each of the above events handled successfully, this member function calls <a class="el" href="classTView.html#a38">clearEvent()</a>.
+<p>
+Reimplemented from <a class="el" href="classTWindow.html#a5">TWindow</a>.
+<p>
+Reimplemented in <a class="el" href="classTColorDialog.html#a4">TColorDialog</a>, <a class="el" href="classTFileDialog.html#a4">TFileDialog</a>, and <a class="el" href="classTChDirDialog.html#a3">TChDirDialog</a>. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="TDialog::valid"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a> TDialog::valid </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>command</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns True if the command argument is cmCancel. This is the command generated by <a class="el" href="classTDialog.html#a2">handleEvent()</a> when the Esc key is detected.
+<p>
+If the command argument is not cmCancel, valid calls TGroup::valid(command) and returns the result of this call. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTGroup.html#a37">TGroup::valid()</a></dl><a class="el" href="classTGroup.html">TGroup</a>'s <a class="el" href="classTDialog.html#a3">valid()</a> calls the <a class="el" href="classTDialog.html#a3">valid()</a> member functions of each of its subviews. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#a16">TView::valid()</a></dl>The net result is that <a class="el" href="classTDialog.html#a3">valid()</a> returns True only if the group controls all return True; otherwise, it returns False. A modal state cannot terminate until all subviews return True when polled with <a class="el" href="classTDialog.html#a3">valid()</a>.
+<p>
+Reimplemented from <a class="el" href="classTGroup.html#a37">TGroup</a>.
+<p>
+Reimplemented in <a class="el" href="classTFileDialog.html#a6">TFileDialog</a>, and <a class="el" href="classTChDirDialog.html#a5">TChDirDialog</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="p0" doxytag="TDialog::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* const TDialog::name<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTWindow.html#p0">TWindow</a>.
+<p>
+Reimplemented in <a class="el" href="classTColorDialog.html#p0">TColorDialog</a>, <a class="el" href="classTFileDialog.html#p0">TFileDialog</a>, and <a class="el" href="classTChDirDialog.html#p0">TChDirDialog</a>.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l00207">207</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="dialogs_8h-source.html">dialogs.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:12 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTDialog.png b/freebsdtvision/doc/html/classTDialog.png
new file mode 100644
index 0000000..98f8737
--- /dev/null
+++ b/freebsdtvision/doc/html/classTDialog.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTDirCollection-members.html b/freebsdtvision/doc/html/classTDirCollection-members.html
new file mode 100644
index 0000000..2e08881
--- /dev/null
+++ b/freebsdtvision/doc/html/classTDirCollection-members.html
@@ -0,0 +1,59 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TDirCollection Member List</h1>This is the complete list of members for <a class="el" href="classTDirCollection.html">TDirCollection</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDirCollection.html#a1">at</a>(ccIndex index)</td><td><a class="el" href="classTDirCollection.html">TDirCollection</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a5">atFree</a>(ccIndex index)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDirCollection.html#a5">atInsert</a>(ccIndex index, TDirEntry *item)</td><td><a class="el" href="classTDirCollection.html">TDirCollection</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a11">TCollection::atInsert</a>(ccIndex index, void *item)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDirCollection.html#a6">atPut</a>(ccIndex index, TDirEntry *item)</td><td><a class="el" href="classTDirCollection.html">TDirCollection</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a12">TCollection::atPut</a>(ccIndex index, void *item)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a6">atRemove</a>(ccIndex index)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDirCollection.html#d0">build</a>()</td><td><a class="el" href="classTDirCollection.html">TDirCollection</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#n1">count</a></td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#n3">delta</a></td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a14">error</a>(ccIndex code, ccIndex info)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#d0">error</a>(ccIndex code, ccIndex info)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDirCollection.html#a8">firstThat</a>(ccTestFunc Test, void *arg)</td><td><a class="el" href="classTDirCollection.html">TDirCollection</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a17">forEach</a>(ccAppFunc action, void *arg)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDirCollection.html#a4">free</a>(TDirEntry *item)</td><td><a class="el" href="classTDirCollection.html">TDirCollection</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a9">TCollection::free</a>(void *item)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a10">freeAll</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a20">getCount</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDirCollection.html#a2">indexOf</a>(TDirEntry *item)</td><td><a class="el" href="classTDirCollection.html">TDirCollection</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a4">TCollection::indexOf</a>(void *item)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDirCollection.html#a7">insert</a>(TDirEntry *item)</td><td><a class="el" href="classTDirCollection.html">TDirCollection</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a13">TCollection::insert</a>(void *item)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#n0">items</a></td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDirCollection.html#a9">lastThat</a>(ccTestFunc Test, void *arg)</td><td><a class="el" href="classTDirCollection.html">TDirCollection</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#n2">limit</a></td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDirCollection.html#p0">name</a></td><td><a class="el" href="classTDirCollection.html">TDirCollection</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a18">pack</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCollection.html#b1">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTCollection.html">TCollection</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDirCollection.html#a3">remove</a>(TDirEntry *item)</td><td><a class="el" href="classTDirCollection.html">TDirCollection</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a7">TCollection::remove</a>(void *item)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a8">removeAll</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a19">setLimit</a>(ccIndex aLimit)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#n4">shouldDelete</a></td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a2">shutDown</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCollection.html#a0">TCollection</a>(ccIndex aLimit, ccIndex aDelta)</td><td><a class="el" href="classTCollection.html">TCollection</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCollection.html#b0">TCollection</a>(StreamableInit)</td><td><a class="el" href="classTCollection.html">TCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDirCollection.html#a0">TDirCollection</a>(ccIndex aLimit, ccIndex aDelta)</td><td><a class="el" href="classTDirCollection.html">TDirCollection</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDirCollection.html#b0">TDirCollection</a>(StreamableInit)</td><td><a class="el" href="classTDirCollection.html">TDirCollection</a></td><td><code> [inline, protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a0">TNSCollection</a>(ccIndex aLimit, ccIndex aDelta)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#b0">TNSCollection</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCollection.html#b2">write</a>(opstream &amp;os)</td><td><a class="el" href="classTCollection.html">TCollection</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a1">~TNSCollection</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:12 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTDirCollection.html b/freebsdtvision/doc/html/classTDirCollection.html
new file mode 100644
index 0000000..86cd1cf
--- /dev/null
+++ b/freebsdtvision/doc/html/classTDirCollection.html
@@ -0,0 +1,534 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TDirCollection class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TDirCollection Class Reference</h1>Simple <a class="el" href="classTCollection.html">TCollection</a> derivative used for storing <a class="el" href="classTDirEntry.html">TDirEntry</a> objects.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="stddlg_8h-source.html">stddlg.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TDirCollection:
+<p><center><img src="classTDirCollection.png" usemap="#TDirCollection_map" border="0" alt=""></center>
+<map name="TDirCollection_map">
+<area href="classTCollection.html" alt="TCollection" shape="rect" coords="51,112,143,136">
+<area href="classTNSCollection.html" alt="TNSCollection" shape="rect" coords="0,56,92,80">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="102,56,194,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,92,24">
+</map>
+<a href="classTDirCollection-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTDirCollection.html#a0">TDirCollection</a> (<a class="el" href="ttypes_8h.html#a5">ccIndex</a> aLimit, <a class="el" href="ttypes_8h.html#a5">ccIndex</a> aDelta)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTDirEntry.html">TDirEntry</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTDirCollection.html#a1">at</a> (<a class="el" href="ttypes_8h.html#a5">ccIndex</a> index)</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a5">ccIndex</a>&nbsp;</td><td valign=bottom><a class="el" href="classTDirCollection.html#a2">indexOf</a> (<a class="el" href="classTDirEntry.html">TDirEntry</a> *item)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTDirCollection.html#a3">remove</a> (<a class="el" href="classTDirEntry.html">TDirEntry</a> *item)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTDirCollection.html#a4">free</a> (<a class="el" href="classTDirEntry.html">TDirEntry</a> *item)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTDirCollection.html#a5">atInsert</a> (<a class="el" href="ttypes_8h.html#a5">ccIndex</a> index, <a class="el" href="classTDirEntry.html">TDirEntry</a> *item)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTDirCollection.html#a6">atPut</a> (<a class="el" href="ttypes_8h.html#a5">ccIndex</a> index, <a class="el" href="classTDirEntry.html">TDirEntry</a> *item)</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a5">ccIndex</a>&nbsp;</td><td valign=bottom><a class="el" href="classTDirCollection.html#a7">insert</a> (<a class="el" href="classTDirEntry.html">TDirEntry</a> *item)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTDirEntry.html">TDirEntry</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTDirCollection.html#a8">firstThat</a> (<a class="el" href="ttypes_8h.html#a6">ccTestFunc</a> Test, void *arg)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTDirEntry.html">TDirEntry</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTDirCollection.html#a9">lastThat</a> (<a class="el" href="ttypes_8h.html#a6">ccTestFunc</a> Test, void *arg)</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStreamable.html">TStreamable</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTDirCollection.html#d0">build</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>const char *const&nbsp;</td><td valign=bottom><a class="el" href="classTDirCollection.html#p0">name</a></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTDirCollection.html#b0">TDirCollection</a> (<a class="el" href="ttypes_8h.html#a14">StreamableInit</a>)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+TDirCollection is a simple <a class="el" href="classTCollection.html">TCollection</a> derivative used for storing <a class="el" href="classTDirEntry.html">TDirEntry</a> objects.
+<p>
+TDirCollection is a streamable class, inheriting <a class="el" href="classTStreamable.html">TStreamable</a> from its base class <a class="el" href="classTCollection.html">TCollection</a>.
+<p>
+
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00995">995</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TDirCollection::TDirCollection"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TDirCollection::TDirCollection </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a5">ccIndex</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aLimit</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a5">ccIndex</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aDelta</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Calls the base <a class="el" href="classTCollection.html">TCollection</a> constructor to create a directory collection with the given limit `aLimit' and delta `aDelta'.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l01002">1002</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>.
+<p>
+References <a class="el" href="ttypes_8h-source.html#l00072">ccIndex</a>. </td>
+ </tr>
+</table>
+<a name="b0" doxytag="TDirCollection::TDirCollection"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TDirCollection::TDirCollection </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a14">StreamableInit</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l01095">1095</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>.
+<p>
+References <a class="el" href="ttypes_8h-source.html#l00062">StreamableInit</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="a1" doxytag="TDirCollection::at"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTDirEntry.html">TDirEntry</a>* TDirCollection::at </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a5">ccIndex</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>index</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns a pointer to the <a class="el" href="classTDirEntry.html">TDirEntry</a> object indexed by `index' in this directory collection. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTNSCollection.html#a3">TCollection::at</a> </dl>
+<p>
+Reimplemented from <a class="el" href="classTNSCollection.html#a3">TNSCollection</a>.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l01009">1009</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>.
+<p>
+References <a class="el" href="classTNSCollection.html#a3">TNSCollection::at()</a>, and <a class="el" href="ttypes_8h-source.html#l00072">ccIndex</a>. </td>
+ </tr>
+</table>
+<a name="a5" doxytag="TDirCollection::atInsert"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TDirCollection::atInsert </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a5">ccIndex</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>index</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTDirEntry.html">TDirEntry</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>item</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Inserts the given `item' into the collection at the given `index' and moves the following items down one position. The collection will be expanded by delta if the insertion causes the limit to be exceeded. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTNSCollection.html#a11">TCollection::atInsert</a> </dl>
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l01038">1038</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>.
+<p>
+References <a class="el" href="classTNSCollection.html#a11">TNSCollection::atInsert()</a>, and <a class="el" href="ttypes_8h-source.html#l00072">ccIndex</a>. </td>
+ </tr>
+</table>
+<a name="a6" doxytag="TDirCollection::atPut"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TDirCollection::atPut </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a5">ccIndex</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>index</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTDirEntry.html">TDirEntry</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>item</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Replaces the item at `index' with the given `item'. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTNSCollection.html#a12">TCollection::atPut</a> </dl>
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l01044">1044</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>.
+<p>
+References <a class="el" href="classTNSCollection.html#a12">TNSCollection::atPut()</a>, and <a class="el" href="ttypes_8h-source.html#l00072">ccIndex</a>. </td>
+ </tr>
+</table>
+<a name="d0" doxytag="TDirCollection::build"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStreamable.html">TStreamable</a>* TDirCollection::build </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called to create an object in certain stream-reading situations. </td>
+ </tr>
+</table>
+<a name="a8" doxytag="TDirCollection::firstThat"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTDirEntry.html">TDirEntry</a> * TDirCollection::firstThat </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a6">ccTestFunc</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>Test</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>void *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>arg</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This iterator returns a pointer to the first <a class="el" href="classTDirEntry.html">TDirEntry</a> object in the collection for which the `Test' function returns True.
+<p>
+Reimplemented from <a class="el" href="classTNSCollection.html#a15">TNSCollection</a>.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l01129">1129</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>.
+<p>
+References <a class="el" href="ttypes_8h-source.html#l00078">ccTestFunc</a>, and <a class="el" href="classTNSCollection.html#a15">TNSCollection::firstThat()</a>. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="TDirCollection::free"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TDirCollection::free </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTDirEntry.html">TDirEntry</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>item</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Removes (deletes) the given `item' from the collection and frees the space in the collection. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTNSCollection.html#a9">TCollection::free</a> </dl>
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l01029">1029</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>.
+<p>
+References <a class="el" href="classTNSCollection.html#a9">TNSCollection::free()</a>. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="TDirCollection::indexOf"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a5">ccIndex</a> TDirCollection::indexOf </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTDirEntry.html">TDirEntry</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>item</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the index of the given `item' in this directory collection. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTNSCollection.html#a4">TCollection::indexOf</a> </dl>
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l01015">1015</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>.
+<p>
+References <a class="el" href="ttypes_8h-source.html#l00072">ccIndex</a>, and <a class="el" href="classTNSCollection.html#a4">TNSCollection::indexOf()</a>. </td>
+ </tr>
+</table>
+<a name="a7" doxytag="TDirCollection::insert"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a5">ccIndex</a> TDirCollection::insert </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTDirEntry.html">TDirEntry</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>item</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Inserts the `item' into the collection, and adjust the other indexes if necessary. By default, insertions are made at the end of the collection. The index of the inserted item is returned. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTNSCollection.html#a13">TCollection::insert</a> </dl>
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l01052">1052</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>.
+<p>
+References <a class="el" href="ttypes_8h-source.html#l00072">ccIndex</a>, and <a class="el" href="classTNSCollection.html#a13">TNSCollection::insert()</a>. </td>
+ </tr>
+</table>
+<a name="a9" doxytag="TDirCollection::lastThat"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTDirEntry.html">TDirEntry</a> * TDirCollection::lastThat </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a6">ccTestFunc</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>Test</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>void *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>arg</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This iterator scans the collection from the last <a class="el" href="classTDirEntry.html">TDirEntry</a> object to first. It returns a pointer to the first (that is, the nearest to the end) item in the collection for which the `Test' function returns True.
+<p>
+Reimplemented from <a class="el" href="classTNSCollection.html#a16">TNSCollection</a>.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l01134">1134</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>.
+<p>
+References <a class="el" href="ttypes_8h-source.html#l00078">ccTestFunc</a>, and <a class="el" href="classTNSCollection.html#a16">TNSCollection::lastThat()</a>. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="TDirCollection::remove"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TDirCollection::remove </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTDirEntry.html">TDirEntry</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>item</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Removes (deletes) the given `item' from this collection. The space in the collection is not freed. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTNSCollection.html#a7">TCollection::remove</a> </dl>
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l01022">1022</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>.
+<p>
+References <a class="el" href="classTNSCollection.html#a7">TNSCollection::remove()</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="p0" doxytag="TDirCollection::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* const TDirCollection::name<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTCollection.html#p0">TCollection</a>.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l01100">1100</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="stddlg_8h-source.html">stddlg.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:12 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTDirCollection.png b/freebsdtvision/doc/html/classTDirCollection.png
new file mode 100644
index 0000000..3667566
--- /dev/null
+++ b/freebsdtvision/doc/html/classTDirCollection.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTDirEntry-members.html b/freebsdtvision/doc/html/classTDirEntry-members.html
new file mode 100644
index 0000000..002d28a
--- /dev/null
+++ b/freebsdtvision/doc/html/classTDirEntry-members.html
@@ -0,0 +1,19 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TDirEntry Member List</h1>This is the complete list of members for <a class="el" href="classTDirEntry.html">TDirEntry</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDirEntry.html#a2">dir</a>()</td><td><a class="el" href="classTDirEntry.html">TDirEntry</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDirEntry.html#a0">TDirEntry</a>(const char *, const char *)</td><td><a class="el" href="classTDirEntry.html">TDirEntry</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDirEntry.html#a3">text</a>()</td><td><a class="el" href="classTDirEntry.html">TDirEntry</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDirEntry.html#a1">~TDirEntry</a>()</td><td><a class="el" href="classTDirEntry.html">TDirEntry</a></td><td><code> [inline]</code></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:12 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTDirEntry.html b/freebsdtvision/doc/html/classTDirEntry.html
new file mode 100644
index 0000000..1d633a2
--- /dev/null
+++ b/freebsdtvision/doc/html/classTDirEntry.html
@@ -0,0 +1,170 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TDirEntry class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TDirEntry Class Reference</h1>Simple class providing directory paths and descriptions.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="stddlg_8h-source.html">stddlg.h</a>&gt;</code>
+<p>
+<a href="classTDirEntry-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTDirEntry.html#a0">TDirEntry</a> (const char *, const char *)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTDirEntry.html#a1">~TDirEntry</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>char *&nbsp;</td><td valign=bottom><a class="el" href="classTDirEntry.html#a2">dir</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>char *&nbsp;</td><td valign=bottom><a class="el" href="classTDirEntry.html#a3">text</a> ()</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+TDirEntry is a simple class providing directory paths and descriptions.
+<p>
+TDirEntry objects are stored in <a class="el" href="classTDirCollection.html">TDirCollection</a> objects.
+<p>
+
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00943">943</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TDirEntry::TDirEntry"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TDirEntry::TDirEntry </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>const char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00969">969</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>.
+<p>
+References <a class="el" href="util_8h.html#a15">newStr()</a>. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TDirEntry::~TDirEntry"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TDirEntry::~TDirEntry </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00974">974</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="a2" doxytag="TDirEntry::dir"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> char* TDirEntry::dir </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the current directory (the value of the private member directory).
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00958">958</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="TDirEntry::text"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> char* TDirEntry::text </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the current display text (the value of the private member displayText).
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00963">963</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="stddlg_8h-source.html">stddlg.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:12 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTDirListBox-members.html b/freebsdtvision/doc/html/classTDirListBox-members.html
new file mode 100644
index 0000000..187cdd3
--- /dev/null
+++ b/freebsdtvision/doc/html/classTDirListBox-members.html
@@ -0,0 +1,151 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TDirListBox Member List</h1>This is the complete list of members for <a class="el" href="classTDirListBox.html">TDirListBox</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a31">awaken</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a32">blockCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDirListBox.html#d0">build</a>()</td><td><a class="el" href="classTDirListBox.html">TDirListBox</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a10">calcBounds</a>(TRect &amp;bounds, TPoint delta)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a1">changeBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a38">clearEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d0">commandEnabled</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p0">commandSetChanged</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a7">containsMouse</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p1">curCommandSet</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m6">cursor</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListBox.html#a2">dataSize</a>()</td><td><a class="el" href="classTListBox.html">TListBox</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d3">disableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d1">disableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m8">dragMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a9">dragView</a>(TEvent &amp;event, uchar mode, TRect &amp;limits, TPoint minSize, TPoint maxSize)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a2">draw</a>()</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a37">drawCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a24">drawHide</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a25">drawShow</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a26">drawUnderRect</a>(TRect &amp;r, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a27">drawUnderView</a>(Boolean doShadow, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a20">drawView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d4">enableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d2">enableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a43">endModal</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>enterSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p3">errorAttr</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a39">eventAvail</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m3">eventMask</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a44">execute</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a21">exposed</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDirListBox.html#p1">firstDir</a></td><td><a class="el" href="classTDirListBox.html">TDirListBox</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a22">focus</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#m4">focused</a></td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a3">focusItem</a>(short item)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a11">focusItemNum</a>(short item)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a3">getBounds</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a5">getClipRect</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a45">getColor</a>(ushort color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d5">getCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListBox.html#a3">getData</a>(void *rec)</td><td><a class="el" href="classTListBox.html">TListBox</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a40">getEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a4">getExtent</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a15">getHelpCtx</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a4">getPalette</a>() const</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a48">getState</a>(ushort aState)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDirListBox.html#a2">getText</a>(char *dest, short item, short maxLen)</td><td><a class="el" href="classTDirListBox.html">TDirListBox</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDirListBox.html#p4">graphics</a></td><td><a class="el" href="classTDirListBox.html">TDirListBox</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m7">growMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a12">growTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a7">handleEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m9">helpCtx</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a17">hide</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a23">hideCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#m0">hScrollBar</a></td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDirListBox.html#a3">isSelected</a>(short item)</td><td><a class="el" href="classTDirListBox.html">TDirListBox</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListBox.html#n0">items</a></td><td><a class="el" href="classTListBox.html">TListBox</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a51">keyEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDirListBox.html#p3">lastDir</a></td><td><a class="el" href="classTDirListBox.html">TDirListBox</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>leaveSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDirListBox.html#a7">list</a>()</td><td><a class="el" href="classTDirListBox.html">TDirListBox</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a8">locate</a>(TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a58">makeFirst</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a53">makeGlobal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a54">makeLocal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a47">mapColor</a>(uchar)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDirListBox.html#p2">middleDir</a></td><td><a class="el" href="classTDirListBox.html">TDirListBox</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a52">mouseEvent</a>(TEvent &amp;event, ushort mask)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a6">mouseInView</a>(TPoint mouse)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a13">moveTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDirListBox.html#p5">name</a></td><td><a class="el" href="classTDirListBox.html">TDirListBox</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDirListBox.html#a5">newDirectory</a>(const char *aList)</td><td><a class="el" href="classTDirListBox.html">TDirListBox</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListBox.html#a5">newList</a>(TCollection *aList)</td><td><a class="el" href="classTListBox.html">TListBox</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m0">next</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a55">nextView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a33">normalCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>normalSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#m2">numCols</a></td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m2">options</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m5">origin</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m10">owner</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDirListBox.html#p0">pathDir</a></td><td><a class="el" href="classTDirListBox.html">TDirListBox</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s6">phaseType</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phFocused</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPostProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPreProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a57">prev</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a56">prevView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a42">putEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a59">putInFrontOf</a>(TView *Target)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#m5">range</a></td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListBox.html#b2">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTListBox.html">TListBox</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a34">resetCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a49">select</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDirListBox.html#a4">selectItem</a>(short item)</td><td><a class="el" href="classTDirListBox.html">TDirListBox</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s7">selectMode</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#p0">separatorChar</a></td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a14">setBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d7">setCmdState</a>(TCommandSet &amp;commands, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d6">setCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a35">setCursor</a>(int x, int y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListBox.html#a6">setData</a>(void *rec)</td><td><a class="el" href="classTListBox.html">TListBox</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a9">setRange</a>(short aRange)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDirListBox.html#a6">setState</a>(ushort aState, Boolean enable)</td><td><a class="el" href="classTDirListBox.html">TDirListBox</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a18">show</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a36">showCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p2">showMarkers</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a12">shutDown</a>()</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m1">size</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a2">sizeLimits</a>(TPoint &amp;min, TPoint &amp;max)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m4">state</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDirListBox.html#a0">TDirListBox</a>(const TRect &amp;bounds, TScrollBar *aScrollBar)</td><td><a class="el" href="classTDirListBox.html">TDirListBox</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDirListBox.html#b0">TDirListBox</a>(StreamableInit)</td><td><a class="el" href="classTDirListBox.html">TDirListBox</a></td><td><code> [inline, protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListBox.html#a0">TListBox</a>(const TRect &amp;bounds, ushort aNumCols, TScrollBar *aScrollBar)</td><td><a class="el" href="classTListBox.html">TListBox</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListBox.html#b0">TListBox</a>(StreamableInit)</td><td><a class="el" href="classTListBox.html">TListBox</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a0">TListViewer</a>(const TRect &amp;bounds, ushort aNumCols, TScrollBar *aHScrollBar, TScrollBar *aVScrollBar)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#b0">TListViewer</a>(StreamableInit)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#m3">topItem</a></td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a60">TopView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a0">TView</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#b0">TView</a>(StreamableInit)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a16">valid</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#m1">vScrollBar</a></td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListBox.html#b1">write</a>(opstream &amp;os)</td><td><a class="el" href="classTListBox.html">TListBox</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a61">writeBuf</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a62">writeBuf</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a63">writeChar</a>(short x, short y, char c, uchar color, short count)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a64">writeLine</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a65">writeLine</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a66">writeStr</a>(short x, short y, const char *str, uchar color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDirListBox.html#a1">~TDirListBox</a>()</td><td><a class="el" href="classTDirListBox.html">TDirListBox</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListBox.html#a1">~TListBox</a>()</td><td><a class="el" href="classTListBox.html">TListBox</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a1">~TView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:13 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTDirListBox.html b/freebsdtvision/doc/html/classTDirListBox.html
new file mode 100644
index 0000000..99da2a3
--- /dev/null
+++ b/freebsdtvision/doc/html/classTDirListBox.html
@@ -0,0 +1,553 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TDirListBox class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TDirListBox Class Reference</h1>Specialized derivative of <a class="el" href="classTListBox.html">TListBox</a> for displaying and selecting directories stored in a <a class="el" href="classTDirCollection.html">TDirCollection</a> object.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="stddlg_8h-source.html">stddlg.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TDirListBox:
+<p><center><img src="classTDirListBox.png" usemap="#TDirListBox_map" border="0" alt=""></center>
+<map name="TDirListBox_map">
+<area href="classTListBox.html" alt="TListBox" shape="rect" coords="46,168,128,192">
+<area href="classTListViewer.html" alt="TListViewer" shape="rect" coords="46,112,128,136">
+<area href="classTView.html" alt="TView" shape="rect" coords="46,56,128,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,82,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="92,0,174,24">
+</map>
+<a href="classTDirListBox-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTDirListBox.html#a0">TDirListBox</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;bounds, <a class="el" href="classTScrollBar.html">TScrollBar</a> *aScrollBar)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTDirListBox.html#a1">~TDirListBox</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTDirListBox.html#a2">getText</a> (char *dest, short item, short maxLen)</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTDirListBox.html#a3">isSelected</a> (short item)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTDirListBox.html#a4">selectItem</a> (short item)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTDirListBox.html#a5">newDirectory</a> (const char *aList)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTDirListBox.html#a6">setState</a> (<a class="el" href="ttypes_8h.html#a0">ushort</a> aState, <a class="el" href="ttypes_8h.html#a13">Boolean</a> enable)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTDirCollection.html">TDirCollection</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTDirListBox.html#a7">list</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStreamable.html">TStreamable</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTDirListBox.html#d0">build</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>const char *&nbsp;</td><td valign=bottom><a class="el" href="classTDirListBox.html#p0">pathDir</a></td></tr>
+<tr><td nowrap align=right valign=top>const char *&nbsp;</td><td valign=bottom><a class="el" href="classTDirListBox.html#p1">firstDir</a></td></tr>
+<tr><td nowrap align=right valign=top>const char *&nbsp;</td><td valign=bottom><a class="el" href="classTDirListBox.html#p2">middleDir</a></td></tr>
+<tr><td nowrap align=right valign=top>const char *&nbsp;</td><td valign=bottom><a class="el" href="classTDirListBox.html#p3">lastDir</a></td></tr>
+<tr><td nowrap align=right valign=top>const char *&nbsp;</td><td valign=bottom><a class="el" href="classTDirListBox.html#p4">graphics</a></td></tr>
+<tr><td nowrap align=right valign=top>const char *const&nbsp;</td><td valign=bottom><a class="el" href="classTDirListBox.html#p5">name</a></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTDirListBox.html#b0">TDirListBox</a> (<a class="el" href="ttypes_8h.html#a14">StreamableInit</a>)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+TDirListBox is a specialized derivative of <a class="el" href="classTListBox.html">TListBox</a> for displaying and selecting directories stored in a <a class="el" href="classTDirCollection.html">TDirCollection</a> object.
+<p>
+By default, these are displayed in a single column with an optional vertical scroll bar.
+<p>
+
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l01159">1159</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TDirListBox::TDirListBox"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TDirListBox::TDirListBox </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>bounds</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTScrollBar.html">TScrollBar</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aScrollBar</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Calls TListBox::TListBox(bounds, 1, aScrollBar) to create a single-column list box with the given bounds and vertical scroll bar. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTListBox.html#a0">TListBox::TListBox</a> </dl> </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TDirListBox::~TDirListBox"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TDirListBox::~TDirListBox </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Calls its base destructor to dispose of the list box. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTListBox.html#a1">TListBox::~TListBox</a> </dl> </td>
+ </tr>
+</table>
+<a name="b0" doxytag="TDirListBox::TDirListBox"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TDirListBox::TDirListBox </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a14">StreamableInit</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l01241">1241</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>.
+<p>
+References <a class="el" href="ttypes_8h-source.html#l00062">StreamableInit</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="d0" doxytag="TDirListBox::build"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStreamable.html">TStreamable</a>* TDirListBox::build </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called to create an object in certain stream-reading situations.
+<p>
+Reimplemented from <a class="el" href="classTListBox.html#d0">TListBox</a>. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="TDirListBox::getText"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TDirListBox::getText </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>dest</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>short&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>item</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>short&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>maxLen</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Grabs the text string at index `item' and copies it to `dest'.
+<p>
+Reimplemented from <a class="el" href="classTListBox.html#a4">TListBox</a>. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="TDirListBox::isSelected"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a> TDirListBox::isSelected </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">short&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>item</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns True if `item' is selected, otherwise returns False.
+<p>
+Reimplemented from <a class="el" href="classTListViewer.html#a6">TListViewer</a>. </td>
+ </tr>
+</table>
+<a name="a7" doxytag="TDirListBox::list"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTDirCollection.html">TDirCollection</a> * TDirListBox::list </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns a pointer to the <a class="el" href="classTDirCollection.html">TDirCollection</a> object currently associated with this directory list box.
+<p>
+Reimplemented from <a class="el" href="classTListBox.html#a7">TListBox</a>.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l01275">1275</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>.
+<p>
+References <a class="el" href="dialogs_8h-source.html#l01775">TListBox::list()</a>. </td>
+ </tr>
+</table>
+<a name="a5" doxytag="TDirListBox::newDirectory"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TDirListBox::newDirectory </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>aList</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Deletes the existing <a class="el" href="classTDirEntry.html">TDirEntry</a> object associated with this list box and replaces it with the file collection given by `aList'.
+<p>
+The first item of the new collection will receive the focus. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="TDirListBox::selectItem"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TDirListBox::selectItem </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">short&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>item</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTListViewer.html#a8">TListViewer</a>. </td>
+ </tr>
+</table>
+<a name="a6" doxytag="TDirListBox::setState"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TDirListBox::setState </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aState</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>enable</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+By default, calls the ancestral <a class="el" href="classTListViewer.html#a10">TListBox::setState()</a>.
+<p>
+Reimplemented from <a class="el" href="classTListViewer.html#a10">TListViewer</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="p1" doxytag="TDirListBox::firstDir"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* TDirListBox::firstDir<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l01216">1216</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<a name="p4" doxytag="TDirListBox::graphics"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* TDirListBox::graphics<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l01228">1228</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<a name="p3" doxytag="TDirListBox::lastDir"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* TDirListBox::lastDir<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l01224">1224</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<a name="p2" doxytag="TDirListBox::middleDir"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* TDirListBox::middleDir<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l01220">1220</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<a name="p5" doxytag="TDirListBox::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* const TDirListBox::name<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTListBox.html#p0">TListBox</a>.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l01246">1246</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<a name="p0" doxytag="TDirListBox::pathDir"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* TDirListBox::pathDir<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l01212">1212</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="stddlg_8h-source.html">stddlg.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:13 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTDirListBox.png b/freebsdtvision/doc/html/classTDirListBox.png
new file mode 100644
index 0000000..b1606f8
--- /dev/null
+++ b/freebsdtvision/doc/html/classTDirListBox.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTDisplay-members.html b/freebsdtvision/doc/html/classTDisplay-members.html
new file mode 100644
index 0000000..6750a4d
--- /dev/null
+++ b/freebsdtvision/doc/html/classTDisplay-members.html
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TDisplay Member List</h1>This is the complete list of members for <a class="el" href="classTDisplay.html">TDisplay</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><b>smBW80</b> enum value (defined in <a class="el" href="classTDisplay.html">TDisplay</a>)</td><td><a class="el" href="classTDisplay.html">TDisplay</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>smCO80</b> enum value (defined in <a class="el" href="classTDisplay.html">TDisplay</a>)</td><td><a class="el" href="classTDisplay.html">TDisplay</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>smFont8x8</b> enum value (defined in <a class="el" href="classTDisplay.html">TDisplay</a>)</td><td><a class="el" href="classTDisplay.html">TDisplay</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>smMono</b> enum value (defined in <a class="el" href="classTDisplay.html">TDisplay</a>)</td><td><a class="el" href="classTDisplay.html">TDisplay</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDisplay.html#s4">videoModes</a> enum name</td><td><a class="el" href="classTDisplay.html">TDisplay</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:13 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTDisplay.html b/freebsdtvision/doc/html/classTDisplay.html
new file mode 100644
index 0000000..232149f
--- /dev/null
+++ b/freebsdtvision/doc/html/classTDisplay.html
@@ -0,0 +1,68 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TDisplay class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TDisplay Class Reference</h1>Display information.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="system_8h-source.html">system.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TDisplay:
+<p><center><img src="classTDisplay.png" usemap="#TDisplay_map" border="0" alt=""></center>
+<map name="TDisplay_map">
+<area href="classTScreen.html" alt="TScreen" shape="rect" coords="0,56,82,80">
+<area href="classTApplication.html" alt="TApplication" shape="rect" coords="0,112,82,136">
+</map>
+<a href="classTDisplay-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Types</h2></td></tr>
+<tr><td nowrap align=right valign=top>enum &nbsp;</td><td valign=bottom><a class="el" href="classTDisplay.html#s4">videoModes</a> </td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+TDisplay provides low-level video functions for its derived class <a class="el" href="classTScreen.html">TScreen</a>.
+<p>
+These, and the other system classes in `<a class="el" href="system_8h.html">system.h</a>', are used internally by TVision and you would not need to use them explicitly for normal applications.
+<p>
+Some old stuff is removed.
+<p>
+
+<p>
+Definition at line <a class="el" href="system_8h-source.html#l00458">458</a> of file <a class="el" href="system_8h-source.html">system.h</a>.<hr><h2>Member Enumeration Documentation</h2>
+<a name="s4" doxytag="TDisplay::videoModes"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> enum TDisplay::videoModes
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Mnemonics for the video modes used by TDisplay.
+<p>
+This port uses smCO80 and smMono only.
+<p>
+Definition at line <a class="el" href="system_8h-source.html#l00466">466</a> of file <a class="el" href="system_8h-source.html">system.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="system_8h-source.html">system.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:13 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTDisplay.png b/freebsdtvision/doc/html/classTDisplay.png
new file mode 100644
index 0000000..e636d32
--- /dev/null
+++ b/freebsdtvision/doc/html/classTDisplay.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTDrawBuffer-members.html b/freebsdtvision/doc/html/classTDrawBuffer-members.html
new file mode 100644
index 0000000..925b02b
--- /dev/null
+++ b/freebsdtvision/doc/html/classTDrawBuffer-members.html
@@ -0,0 +1,24 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TDrawBuffer Member List</h1>This is the complete list of members for <a class="el" href="classTDrawBuffer.html">TDrawBuffer</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDrawBuffer.html#n0">data</a></td><td><a class="el" href="classTDrawBuffer.html">TDrawBuffer</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDrawBuffer.html#a3">moveBuf</a>(ushort indent, const void *source, ushort attr, ushort count)</td><td><a class="el" href="classTDrawBuffer.html">TDrawBuffer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDrawBuffer.html#a0">moveChar</a>(ushort indent, char c, ushort attr, ushort count)</td><td><a class="el" href="classTDrawBuffer.html">TDrawBuffer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDrawBuffer.html#a2">moveCStr</a>(ushort indent, const char *str, ushort attrs)</td><td><a class="el" href="classTDrawBuffer.html">TDrawBuffer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDrawBuffer.html#a1">moveStr</a>(ushort indent, const char *str, ushort attrs)</td><td><a class="el" href="classTDrawBuffer.html">TDrawBuffer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDrawBuffer.html#a4">putAttribute</a>(ushort indent, ushort attr)</td><td><a class="el" href="classTDrawBuffer.html">TDrawBuffer</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDrawBuffer.html#a5">putChar</a>(ushort indent, ushort c)</td><td><a class="el" href="classTDrawBuffer.html">TDrawBuffer</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>TFrame</b> (defined in <a class="el" href="classTDrawBuffer.html">TDrawBuffer</a>)</td><td><a class="el" href="classTDrawBuffer.html">TDrawBuffer</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>TView</b> (defined in <a class="el" href="classTDrawBuffer.html">TDrawBuffer</a>)</td><td><a class="el" href="classTDrawBuffer.html">TDrawBuffer</a></td><td><code> [friend]</code></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:13 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTDrawBuffer.html b/freebsdtvision/doc/html/classTDrawBuffer.html
new file mode 100644
index 0000000..9ed0742
--- /dev/null
+++ b/freebsdtvision/doc/html/classTDrawBuffer.html
@@ -0,0 +1,358 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TDrawBuffer class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TDrawBuffer Class Reference</h1>Implements a video buffer.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="drawbuf_8h-source.html">drawbuf.h</a>&gt;</code>
+<p>
+<a href="classTDrawBuffer-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTDrawBuffer.html#a0">moveChar</a> (<a class="el" href="ttypes_8h.html#a0">ushort</a> indent, char c, <a class="el" href="ttypes_8h.html#a0">ushort</a> attr, <a class="el" href="ttypes_8h.html#a0">ushort</a> count)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTDrawBuffer.html#a1">moveStr</a> (<a class="el" href="ttypes_8h.html#a0">ushort</a> indent, const char *str, <a class="el" href="ttypes_8h.html#a0">ushort</a> attrs)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTDrawBuffer.html#a2">moveCStr</a> (<a class="el" href="ttypes_8h.html#a0">ushort</a> indent, const char *str, <a class="el" href="ttypes_8h.html#a0">ushort</a> attrs)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTDrawBuffer.html#a3">moveBuf</a> (<a class="el" href="ttypes_8h.html#a0">ushort</a> indent, const void *source, <a class="el" href="ttypes_8h.html#a0">ushort</a> attr, <a class="el" href="ttypes_8h.html#a0">ushort</a> count)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTDrawBuffer.html#a4">putAttribute</a> (<a class="el" href="ttypes_8h.html#a0">ushort</a> indent, <a class="el" href="ttypes_8h.html#a0">ushort</a> attr)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTDrawBuffer.html#a5">putChar</a> (<a class="el" href="ttypes_8h.html#a0">ushort</a> indent, <a class="el" href="ttypes_8h.html#a0">ushort</a> c)</td></tr>
+<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="classTDrawBuffer.html#n0">data</a> [<a class="el" href="tvconfig_8h.html#a2">maxViewWidth</a>]</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+This class implements a video buffer.
+<p>
+TDrawBuffer implements a simple, non-view buffer class with member functions for moving characters, attributes, and strings to and from a draw buffer.
+<p>
+Every view uses at least one istance of this class in its draw() method. The view draws itself using a TDrawBuffer object. Just before returning from draw(), a call to one of the writeXXXX methods will write the video buffer on the screen. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#a19">TView::draw</a></dl>Each member of the buffer is an attribute &amp; character pair. The attribute is a byte which stores information about foreground and background colors.
+<p>
+The contents of a draw buffer are typically used with <a class="el" href="classTView.html#a61">TView::writeBuf()</a> or <a class="el" href="classTView.html#a64">TView::writeLine()</a> to display text. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#a63">TView::writeChar</a> , <a class="el" href="classTView.html#a66">TView::writeStr</a></dl>Note: pay attention to the size of the buffer! It usually stores only a line of the picture. Its default size is <a class="el" href="tvconfig_8h.html#a2">maxViewWidth</a> = 132 pairs.
+<p>
+
+<p>
+Definition at line <a class="el" href="drawbuf_8h-source.html#l00044">44</a> of file <a class="el" href="drawbuf_8h-source.html">drawbuf.h</a>.<hr><h2>Member Function Documentation</h2>
+<a name="a3" doxytag="TDrawBuffer::moveBuf"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TDrawBuffer::moveBuf </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>indent</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>const void *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>source</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>attr</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>count</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Writes a text buffer in this video buffer.
+<p>
+`indent' is the character position within the buffer where the data is to go. `source' is a pointer to an array of characters. `attr' is the attribute to be used for all characters (0 to retain the old attribute). `count' is the number of characters to move. </td>
+ </tr>
+</table>
+<a name="a0" doxytag="TDrawBuffer::moveChar"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TDrawBuffer::moveChar </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>indent</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>char&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>c</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>attr</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>count</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Fills the buffer or part of the buffer with an uniform pattern.
+<p>
+`indent' is the character position within the buffer where the data is to go. `c' is the character to be put into the buffer. If `c' is 0 the character is not written and the old character is preserved. `attr' is the attribute to be put into the buffer. If `attr' is 0 the attribute is not written and the old attribute is preserved. `count' is the number of character/attribute pairs to put into the buffer. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="TDrawBuffer::moveCStr"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TDrawBuffer::moveCStr </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>indent</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>const char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>str</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>attrs</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Writes a string in the buffer.
+<p>
+`indent' is the character position within the buffer where the data is to go. `str' is a pointer to a 0-terminated string of characters to be moved into the buffer. `attrs' is a pair of text attributes to be put into the buffer with each character in the string. Initially the low byte is used, and a `~' in the string toggles between the low byte and the high byte. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TDrawBuffer::moveStr"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TDrawBuffer::moveStr </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>indent</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>const char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>str</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>attrs</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Writes a string in the buffer.
+<p>
+`indent' is the character position within the buffer where the data is to go. `str' is a pointer to a 0-terminated string of characters to be moved into the buffer. `attr' is the text attribute to be put into the buffer with each character in the string. If `attr' is 0 the attribute is not written and the old attribute is preserved. The characters in `str' are set in the low bytes of each buffer word. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="TDrawBuffer::putAttribute"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TDrawBuffer::putAttribute </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>indent</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>attr</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Writes an attribute.
+<p>
+`ident' is the character position within the buffer where the attribute is to go. `attr' is the attribute to write.
+<p>
+Definition at line <a class="el" href="drawbuf_8h-source.html#l00125">125</a> of file <a class="el" href="drawbuf_8h-source.html">drawbuf.h</a>.
+<p>
+References <a class="el" href="drawbuf_8h-source.html#l00110">data</a>, <a class="el" href="ttypes_8h-source.html#l00040">uchar</a>, and <a class="el" href="ttypes_8h-source.html#l00035">ushort</a>. </td>
+ </tr>
+</table>
+<a name="a5" doxytag="TDrawBuffer::putChar"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TDrawBuffer::putChar </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>indent</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>c</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Writes a character.
+<p>
+`ident' is the character position within the buffer where the character is to go. `c' is the character to write. This call inserts `c' into the lower byte of the calling buffer.
+<p>
+Definition at line <a class="el" href="drawbuf_8h-source.html#l00130">130</a> of file <a class="el" href="drawbuf_8h-source.html">drawbuf.h</a>.
+<p>
+References <a class="el" href="drawbuf_8h-source.html#l00110">data</a>, <a class="el" href="ttypes_8h-source.html#l00040">uchar</a>, and <a class="el" href="ttypes_8h-source.html#l00035">ushort</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="n0" doxytag="TDrawBuffer::data"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a0">ushort</a> TDrawBuffer::data[<a class="el" href="tvconfig_8h.html#a2">maxViewWidth</a>]<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Defines the array for this draw buffer.
+<p>
+Definition at line <a class="el" href="drawbuf_8h-source.html#l00110">110</a> of file <a class="el" href="drawbuf_8h-source.html">drawbuf.h</a>.
+<p>
+Referenced by <a class="el" href="drawbuf_8h-source.html#l00125">putAttribute()</a>, <a class="el" href="drawbuf_8h-source.html#l00130">putChar()</a>, <a class="el" href="views_8h-source.html#l01913">TView::writeBuf()</a>, and <a class="el" href="views_8h-source.html#l01919">TView::writeLine()</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="drawbuf_8h-source.html">drawbuf.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:13 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTEditWindow-members.html b/freebsdtvision/doc/html/classTEditWindow-members.html
new file mode 100644
index 0000000..02f559e
--- /dev/null
+++ b/freebsdtvision/doc/html/classTEditWindow-members.html
@@ -0,0 +1,174 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TEditWindow Member List</h1>This is the complete list of members for <a class="el" href="classTEditWindow.html">TEditWindow</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a17">at</a>(short index)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a5">awaken</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a32">blockCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m4">buffer</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditWindow.html#d0">build</a>()</td><td><a class="el" href="classTEditWindow.html">TEditWindow</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a10">calcBounds</a>(TRect &amp;bounds, TPoint delta)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a25">changeBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a38">clearEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m2">clip</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditWindow.html#a1">close</a>()</td><td><a class="el" href="classTEditWindow.html">TEditWindow</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d0">commandEnabled</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p0">commandSetChanged</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a7">containsMouse</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindowInit.html#n0">createFrame</a></td><td><a class="el" href="classTWindowInit.html">TWindowInit</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p1">curCommandSet</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m0">current</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m6">cursor</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a26">dataSize</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d3">disableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d1">disableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m8">dragMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a9">dragView</a>(TEvent &amp;event, uchar mode, TRect &amp;limits, TPoint minSize, TPoint maxSize)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a29">draw</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a37">drawCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a24">drawHide</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a25">drawShow</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a24">drawSubViews</a>(TView *p, TView *bottom)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a26">drawUnderRect</a>(TRect &amp;r, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a27">drawUnderView</a>(Boolean doShadow, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a20">drawView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditWindow.html#m0">editor</a></td><td><a class="el" href="classTEditWindow.html">TEditWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d4">enableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d2">enableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a34">endModal</a>(ushort command)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m6">endState</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>enterSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p3">errorAttr</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a39">eventAvail</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a35">eventError</a>(TEvent &amp;event)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m3">eventMask</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a4">execute</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a3">execView</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a21">exposed</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a21">first</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a18">firstMatch</a>(ushort aState, ushort aOptions)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a12">firstThat</a>(Boolean(*func)(TView *, void *), void *args)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#m0">flags</a></td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a22">focus</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a13">focusNext</a>(Boolean forwards)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a14">forEach</a>(void(*func)(TView *, void *), void *args)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#m4">frame</a></td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a38">freeBuffer</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a3">getBounds</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a39">getBuffer</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a5">getClipRect</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a45">getColor</a>(ushort color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d5">getCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a27">getData</a>(void *rec)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a40">getEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a4">getExtent</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a36">getHelpCtx</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a3">getPalette</a>() const</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a48">getState</a>(ushort aState)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditWindow.html#a2">getTitle</a>(short)</td><td><a class="el" href="classTEditWindow.html">TEditWindow</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m7">growMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a12">growTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditWindow.html#a3">handleEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTEditWindow.html">TEditWindow</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m9">helpCtx</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a17">hide</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a23">hideCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a19">indexOf</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#d0">initFrame</a>(TRect)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a15">insert</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a16">insertBefore</a>(TView *p, TView *Target)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a6">insertView</a>(TView *p, TView *Target)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a51">keyEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m1">last</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>leaveSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a8">locate</a>(TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a31">lock</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m5">lockFlag</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a58">makeFirst</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a53">makeGlobal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a54">makeLocal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a47">mapColor</a>(uchar)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a20">matches</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a52">mouseEvent</a>(TEvent &amp;event, ushort mask)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a6">mouseInView</a>(TPoint mouse)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a13">moveTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditWindow.html#p0">name</a></td><td><a class="el" href="classTEditWindow.html">TEditWindow</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m0">next</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a55">nextView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a33">normalCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>normalSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#m2">number</a></td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m2">options</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m5">origin</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m10">owner</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#m3">palette</a></td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m3">phase</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s6">phaseType</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phFocused</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPostProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPreProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a57">prev</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a56">prevView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a42">putEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a59">putInFrontOf</a>(TView *Target)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditWindow.html#b2">read</a>(ipstream &amp;)</td><td><a class="el" href="classTEditWindow.html">TEditWindow</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a30">redraw</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a7">remove</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a8">removeView</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a9">resetCurrent</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a33">resetCursor</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a49">select</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s7">selectMode</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a11">selectNext</a>(Boolean forwards)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a14">setBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d7">setCmdState</a>(TCommandSet &amp;commands, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d6">setCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a10">setCurrent</a>(TView *p, selectMode mode)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a35">setCursor</a>(int x, int y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a28">setData</a>(void *rec)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a6">setState</a>(ushort aState, Boolean enable)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a18">show</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a36">showCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p2">showMarkers</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a10">shutDown</a>()</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m1">size</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditWindow.html#a4">sizeLimits</a>(TPoint &amp;min, TPoint &amp;max)</td><td><a class="el" href="classTEditWindow.html">TEditWindow</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a8">standardScrollBar</a>(ushort aOptions)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m4">state</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditWindow.html#a0">TEditWindow</a>(const TRect &amp;bounds, const char *fileName, int aNumber)</td><td><a class="el" href="classTEditWindow.html">TEditWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditWindow.html#b0">TEditWindow</a>(StreamableInit)</td><td><a class="el" href="classTEditWindow.html">TEditWindow</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a0">TGroup</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#b0">TGroup</a>(StreamableInit)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#m5">title</a></td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a60">TopView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a0">TView</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#b0">TView</a>(StreamableInit)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a0">TWindow</a>(const TRect &amp;bounds, const char *aTitle, short aNumber)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#b0">TWindow</a>(StreamableInit)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindowInit.html#a0">TWindowInit</a>(TFrame *(*cFrame)(TRect bounds))</td><td><a class="el" href="classTWindowInit.html">TWindowInit</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a32">unlock</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a37">valid</a>(ushort command)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditWindow.html#b1">write</a>(opstream &amp;)</td><td><a class="el" href="classTEditWindow.html">TEditWindow</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a61">writeBuf</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a62">writeBuf</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a63">writeChar</a>(short x, short y, char c, uchar color, short count)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a64">writeLine</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a65">writeLine</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a66">writeStr</a>(short x, short y, const char *str, uchar color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a9">zoom</a>()</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#m1">zoomRect</a></td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a1">~TGroup</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a1">~TView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a1">~TWindow</a>()</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:13 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTEditWindow.html b/freebsdtvision/doc/html/classTEditWindow.html
new file mode 100644
index 0000000..cbc8798
--- /dev/null
+++ b/freebsdtvision/doc/html/classTEditWindow.html
@@ -0,0 +1,412 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TEditWindow class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TEditWindow Class Reference</h1>Designed to hold a <a class="el" href="classTFileEditor.html">TFileEditor</a> or the clipboard.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="editors_8h-source.html">editors.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TEditWindow:
+<p><center><img src="classTEditWindow.png" usemap="#TEditWindow_map" border="0" alt=""></center>
+<map name="TEditWindow_map">
+<area href="classTWindow.html" alt="TWindow" shape="rect" coords="94,168,178,192">
+<area href="classTGroup.html" alt="TGroup" shape="rect" coords="47,112,131,136">
+<area href="classTWindowInit.html" alt="TWindowInit" shape="rect" coords="141,112,225,136">
+<area href="classTView.html" alt="TView" shape="rect" coords="47,56,131,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,84,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="94,0,178,24">
+</map>
+<a href="classTEditWindow-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTEditWindow.html#a0">TEditWindow</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;bounds, const char *fileName, int aNumber)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTEditWindow.html#a1">close</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual const char *&nbsp;</td><td valign=bottom><a class="el" href="classTEditWindow.html#a2">getTitle</a> (short)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTEditWindow.html#a3">handleEvent</a> (<a class="el" href="structTEvent.html">TEvent</a> &amp;event)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTEditWindow.html#a4">sizeLimits</a> (<a class="el" href="classTPoint.html">TPoint</a> &amp;min, <a class="el" href="classTPoint.html">TPoint</a> &amp;max)</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStreamable.html">TStreamable</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTEditWindow.html#d0">build</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTFileEditor.html">TFileEditor</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTEditWindow.html#m0">editor</a></td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>const char *const&nbsp;</td><td valign=bottom><a class="el" href="classTEditWindow.html#p0">name</a></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTEditWindow.html#b0">TEditWindow</a> (<a class="el" href="ttypes_8h.html#a14">StreamableInit</a>)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTEditWindow.html#b1">write</a> (<a class="el" href="classopstream.html">opstream</a> &amp;)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void *&nbsp;</td><td valign=bottom><a class="el" href="classTEditWindow.html#b2">read</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+TEditWindow is a window designed to hold a <a class="el" href="classTFileEditor.html">TFileEditor</a> or the clipboard.
+<p>
+It will change its title to display the file name being edited and will initialize scroll bars and an indicator for the editor. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTIndicator.html">TIndicator</a> </dl>
+<p>
+
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l01366">1366</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TEditWindow::TEditWindow"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TEditWindow::TEditWindow </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>bounds</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>const char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>fileName</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aNumber</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a TEditWindow object that will edit the given file name with window number `aNumber'. Initializes a framed, tileable window with scroll bars and an indicator. If `fileName' is 0, it is assumed to be an untitled file.
+<p>
+Note: if editor data member is equal to <a class="el" href="classTEditor.html#p4">TEditor::clipboard</a> static data member, the editor is assumed to be the clipboard. </td>
+ </tr>
+</table>
+<a name="b0" doxytag="TEditWindow::TEditWindow"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TEditWindow::TEditWindow </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a14">StreamableInit</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Each streamable class needs a "builder" to allocate the correct memory for its objects together with the initialized virtual table pointers.
+<p>
+This is achieved by calling this constructor with an argument of type <a class="el" href="ttypes_8h.html#a14">StreamableInit</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="d0" doxytag="TEditWindow::build"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStreamable.html">TStreamable</a>* TEditWindow::build </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called to create an object in certain stream-reading situations.
+<p>
+Reimplemented from <a class="el" href="classTWindow.html#d1">TWindow</a>. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TEditWindow::close"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TEditWindow::close </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Overrides <a class="el" href="classTWindow.html#a2">TWindow::close()</a> to hide rather than close the window if the editor is a clipboard.
+<p>
+Reimplemented from <a class="el" href="classTWindow.html#a2">TWindow</a>. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="TEditWindow::getTitle"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual const char* TEditWindow::getTitle </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">short&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the name of the file being edited, or "Clipboard" if the editor is the clipboard.
+<p>
+Reimplemented from <a class="el" href="classTWindow.html#a4">TWindow</a>. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="TEditWindow::handleEvent"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TEditWindow::handleEvent </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="structTEvent.html">TEvent</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>event</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Handles cmUpdateTitle to redraw the frame of the window. Used in <a class="el" href="classTFileEditor.html#a6">TFileEditor::saveAs()</a> to change the title of the window if the file being edited changes names.
+<p>
+Reimplemented from <a class="el" href="classTWindow.html#a5">TWindow</a>. </td>
+ </tr>
+</table>
+<a name="b2" doxytag="TEditWindow::read"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void* TEditWindow::read </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Reads from the input stream `is'.
+<p>
+Reimplemented from <a class="el" href="classTWindow.html#b2">TWindow</a>. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="TEditWindow::sizeLimits"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TEditWindow::sizeLimits </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTPoint.html">TPoint</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>min</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTPoint.html">TPoint</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>max</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTWindow.html#a7">TWindow</a>. </td>
+ </tr>
+</table>
+<a name="b1" doxytag="TEditWindow::write"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TEditWindow::write </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Writes to the output stream `os'.
+<p>
+Reimplemented from <a class="el" href="classTWindow.html#b1">TWindow</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="m0" doxytag="TEditWindow::editor"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTFileEditor.html">TFileEditor</a>* TEditWindow::editor
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Pointer to the editor associated with this window.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l01402">1402</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="p0" doxytag="TEditWindow::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* const TEditWindow::name<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTWindow.html#p0">TWindow</a>.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l01429">1429</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="editors_8h-source.html">editors.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:13 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTEditWindow.png b/freebsdtvision/doc/html/classTEditWindow.png
new file mode 100644
index 0000000..5d538a0
--- /dev/null
+++ b/freebsdtvision/doc/html/classTEditWindow.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTEditor-members.html b/freebsdtvision/doc/html/classTEditor-members.html
new file mode 100644
index 0000000..b0e244c
--- /dev/null
+++ b/freebsdtvision/doc/html/classTEditor-members.html
@@ -0,0 +1,207 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TEditor Member List</h1>This is the complete list of members for <a class="el" href="classTEditor.html">TEditor</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m22">autoIndent</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a31">awaken</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a32">blockCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a3">bufChar</a>(uint p)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m3">buffer</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m5">bufLen</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a4">bufPtr</a>(uint p)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m4">bufSize</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#d0">build</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a10">calcBounds</a>(TRect &amp;bounds, TPoint delta)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m18">canUndo</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a5">changeBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a27">charPos</a>(uint p, uint target)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a28">charPtr</a>(uint p, uint target)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a60">checkScrollBar</a>(const TEvent &amp;event, TScrollBar *p, int &amp;d)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a38">clearEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#p4">clipboard</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a29">clipCopy</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a30">clipCut</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a31">clipPaste</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d0">commandEnabled</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p0">commandSetChanged</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a7">containsMouse</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a6">convertEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p1">curCommandSet</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m10">curPos</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m9">curPtr</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m6">cursor</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a7">cursorVisible</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a28">dataSize</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m15">delCount</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a32">deleteRange</a>(uint startPtr, uint endPtr, Boolean delSelect)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a8">deleteSelect</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m11">delta</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d3">disableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d1">disableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a9">doneBuffer</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a34">doSearchReplace</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a33">doUpdate</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m8">dragMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a9">dragView</a>(TEvent &amp;event, uchar mode, TRect &amp;limits, TPoint minSize, TPoint maxSize)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a10">draw</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a37">drawCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a24">drawHide</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m13">drawLine</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a35">drawLines</a>(int y, uint count, uint linePtr)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m14">drawPtr</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a25">drawShow</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a26">drawUnderRect</a>(TRect &amp;r, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a27">drawUnderView</a>(Boolean doShadow, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a20">drawView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#p0">editorDialog</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#p1">editorFlags</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d4">enableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d2">enableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a43">endModal</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>enterSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p3">errorAttr</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a39">eventAvail</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m3">eventMask</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a44">execute</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a21">exposed</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a37">find</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#p2">findStr</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a22">focus</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a36">formatLine</a>(void *buff, uint linePtr, int x, ushort color)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m6">gapLen</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a3">getBounds</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a5">getClipRect</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a45">getColor</a>(ushort color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d5">getCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a29">getData</a>(void *rec)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a40">getEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a4">getExtent</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a15">getHelpCtx</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a38">getMousePtr</a>(TPoint m)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a11">getPalette</a>() const</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a48">getState</a>(ushort aState)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m7">growMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a12">growTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a12">handleEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a39">hasSelection</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m9">helpCtx</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a17">hide</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a23">hideCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a40">hideSelect</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m0">hScrollBar</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m2">indicator</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a13">initBuffer</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m16">insCount</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a14">insertBuffer</a>(char *p, uint offset, uint length, Boolean allowUndo, Boolean selectText)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a15">insertFrom</a>(TEditor *editor)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a16">insertText</a>(const void *text, uint length, Boolean selectText)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a41">isClipboard</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m17">isValid</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a51">keyEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m25">keyState</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>leaveSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m12">limit</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a42">lineEnd</a>(uint p)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a43">lineMove</a>(uint p, int count)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a44">lineStart</a>(uint p)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a8">locate</a>(TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a45">lock</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m23">lockCount</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a58">makeFirst</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a53">makeGlobal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a54">makeLocal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a47">mapColor</a>(uchar)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m19">modified</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a52">mouseEvent</a>(TEvent &amp;event, ushort mask)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a6">mouseInView</a>(TPoint mouse)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a13">moveTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#p5">name</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a46">newLine</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m0">next</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a47">nextChar</a>(uint p)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a48">nextLine</a>(uint p)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a55">nextView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a49">nextWord</a>(uint p)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a33">normalCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>normalSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m2">options</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m5">origin</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m21">overwrite</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m10">owner</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s6">phaseType</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phFocused</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPostProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPreProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a57">prev</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a50">prevChar</a>(uint p)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a51">prevLine</a>(uint p)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a56">prevView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a52">prevWord</a>(uint p)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a42">putEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a59">putInFrontOf</a>(TView *Target)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#b2">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a53">replace</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#p3">replaceStr</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a34">resetCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a17">scrollTo</a>(int x, int y)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a18">search</a>(const char *findStr, ushort opts)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a49">select</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m20">selecting</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s7">selectMode</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m8">selEnd</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m7">selStart</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a14">setBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a54">setBufLen</a>(uint length)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a19">setBufSize</a>(uint newSize)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a20">setCmdState</a>(ushort command, Boolean enable)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d7">TView::setCmdState</a>(TCommandSet &amp;commands, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d6">setCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a55">setCurPtr</a>(uint p, uchar selectMode)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a35">setCursor</a>(int x, int y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a30">setData</a>(void *rec)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a21">setSelect</a>(uint newStart, uint newEnd, Boolean curStart)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a22">setState</a>(ushort aState, Boolean enable)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a18">show</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a36">showCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p2">showMarkers</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a2">shutDown</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m1">size</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a2">sizeLimits</a>(TPoint &amp;min, TPoint &amp;max)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a56">startSelect</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m4">state</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a0">TEditor</a>(const TRect &amp;bounds, TScrollBar *aHScrollBar, TScrollBar *aVScrollBar, TIndicator *aIndicator, uint aBufSize)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#b0">TEditor</a>(StreamableInit)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a57">toggleInsMode</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a60">TopView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a23">trackCursor</a>(Boolean center)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a0">TView</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#b0">TView</a>(StreamableInit)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a24">undo</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a58">unlock</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a59">update</a>(uchar aFlags)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a25">updateCommands</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m24">updateFlags</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a26">valid</a>(ushort command)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m1">vScrollBar</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#b1">write</a>(opstream &amp;os)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a61">writeBuf</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a62">writeBuf</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a63">writeChar</a>(short x, short y, char c, uchar color, short count)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a64">writeLine</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a65">writeLine</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a66">writeStr</a>(short x, short y, const char *str, uchar color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a1">~TEditor</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a1">~TView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:13 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTEditor.html b/freebsdtvision/doc/html/classTEditor.html
new file mode 100644
index 0000000..7ba1bfc
--- /dev/null
+++ b/freebsdtvision/doc/html/classTEditor.html
@@ -0,0 +1,3191 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TEditor class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TEditor Class Reference</h1>Implements a text editor.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="editors_8h-source.html">editors.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TEditor:
+<p><center><img src="classTEditor.png" usemap="#TEditor_map" border="0" alt=""></center>
+<map name="TEditor_map">
+<area href="classTView.html" alt="TView" shape="rect" coords="46,56,128,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,82,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="92,0,174,24">
+<area href="classTFileEditor.html" alt="TFileEditor" shape="rect" coords="0,168,82,192">
+<area href="classTMemo.html" alt="TMemo" shape="rect" coords="92,168,174,192">
+</map>
+<a href="classTEditor-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#a0">TEditor</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;bounds, <a class="el" href="classTScrollBar.html">TScrollBar</a> *aHScrollBar, <a class="el" href="classTScrollBar.html">TScrollBar</a> *aVScrollBar, <a class="el" href="classTIndicator.html">TIndicator</a> *aIndicator, <a class="el" href="ttypes_8h.html#a2">uint</a> aBufSize)</td></tr>
+<tr><td nowrap align=right valign=top>virtual&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#a1">~TEditor</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#a2">shutDown</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>char&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#a3">bufChar</a> (<a class="el" href="ttypes_8h.html#a2">uint</a> p)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a2">uint</a>&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#a4">bufPtr</a> (<a class="el" href="ttypes_8h.html#a2">uint</a> p)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#a5">changeBounds</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;bounds)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#a6">convertEvent</a> (<a class="el" href="structTEvent.html">TEvent</a> &amp;event)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#a7">cursorVisible</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#a8">deleteSelect</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#a9">doneBuffer</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#a10">draw</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="classTPalette.html">TPalette</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#a11">getPalette</a> () const</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#a12">handleEvent</a> (<a class="el" href="structTEvent.html">TEvent</a> &amp;event)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#a13">initBuffer</a> ()</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#a14">insertBuffer</a> (char *p, <a class="el" href="ttypes_8h.html#a2">uint</a> offset, <a class="el" href="ttypes_8h.html#a2">uint</a> length, <a class="el" href="ttypes_8h.html#a13">Boolean</a> allowUndo, <a class="el" href="ttypes_8h.html#a13">Boolean</a> selectText)</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#a15">insertFrom</a> (TEditor *editor)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#a16">insertText</a> (const void *text, <a class="el" href="ttypes_8h.html#a2">uint</a> length, <a class="el" href="ttypes_8h.html#a13">Boolean</a> selectText)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#a17">scrollTo</a> (int x, int y)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#a18">search</a> (const char *<a class="el" href="classTEditor.html#p2">findStr</a>, <a class="el" href="ttypes_8h.html#a0">ushort</a> opts)</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#a19">setBufSize</a> (<a class="el" href="ttypes_8h.html#a2">uint</a> newSize)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#a20">setCmdState</a> (<a class="el" href="ttypes_8h.html#a0">ushort</a> command, <a class="el" href="ttypes_8h.html#a13">Boolean</a> enable)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#a21">setSelect</a> (<a class="el" href="ttypes_8h.html#a2">uint</a> newStart, <a class="el" href="ttypes_8h.html#a2">uint</a> newEnd, <a class="el" href="ttypes_8h.html#a13">Boolean</a> curStart)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#a22">setState</a> (<a class="el" href="ttypes_8h.html#a0">ushort</a> aState, <a class="el" href="ttypes_8h.html#a13">Boolean</a> enable)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#a23">trackCursor</a> (<a class="el" href="ttypes_8h.html#a13">Boolean</a> center)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#a24">undo</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#a25">updateCommands</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#a26">valid</a> (<a class="el" href="ttypes_8h.html#a0">ushort</a> command)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a2">uint</a>&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#a27">charPos</a> (<a class="el" href="ttypes_8h.html#a2">uint</a> p, <a class="el" href="ttypes_8h.html#a2">uint</a> target)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a2">uint</a>&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#a28">charPtr</a> (<a class="el" href="ttypes_8h.html#a2">uint</a> p, <a class="el" href="ttypes_8h.html#a2">uint</a> target)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#a29">clipCopy</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#a30">clipCut</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#a31">clipPaste</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#a32">deleteRange</a> (<a class="el" href="ttypes_8h.html#a2">uint</a> startPtr, <a class="el" href="ttypes_8h.html#a2">uint</a> endPtr, <a class="el" href="ttypes_8h.html#a13">Boolean</a> delSelect)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#a33">doUpdate</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#a34">doSearchReplace</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#a35">drawLines</a> (int y, <a class="el" href="ttypes_8h.html#a2">uint</a> count, <a class="el" href="ttypes_8h.html#a2">uint</a> linePtr)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#a36">formatLine</a> (void *buff, <a class="el" href="ttypes_8h.html#a2">uint</a> linePtr, int x, <a class="el" href="ttypes_8h.html#a0">ushort</a> color)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#a37">find</a> ()</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a2">uint</a>&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#a38">getMousePtr</a> (<a class="el" href="classTPoint.html">TPoint</a> m)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#a39">hasSelection</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#a40">hideSelect</a> ()</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#a41">isClipboard</a> ()</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a2">uint</a>&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#a42">lineEnd</a> (<a class="el" href="ttypes_8h.html#a2">uint</a> p)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a2">uint</a>&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#a43">lineMove</a> (<a class="el" href="ttypes_8h.html#a2">uint</a> p, int count)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a2">uint</a>&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#a44">lineStart</a> (<a class="el" href="ttypes_8h.html#a2">uint</a> p)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#a45">lock</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#a46">newLine</a> ()</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a2">uint</a>&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#a47">nextChar</a> (<a class="el" href="ttypes_8h.html#a2">uint</a> p)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a2">uint</a>&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#a48">nextLine</a> (<a class="el" href="ttypes_8h.html#a2">uint</a> p)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a2">uint</a>&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#a49">nextWord</a> (<a class="el" href="ttypes_8h.html#a2">uint</a> p)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a2">uint</a>&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#a50">prevChar</a> (<a class="el" href="ttypes_8h.html#a2">uint</a> p)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a2">uint</a>&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#a51">prevLine</a> (<a class="el" href="ttypes_8h.html#a2">uint</a> p)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a2">uint</a>&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#a52">prevWord</a> (<a class="el" href="ttypes_8h.html#a2">uint</a> p)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#a53">replace</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#a54">setBufLen</a> (<a class="el" href="ttypes_8h.html#a2">uint</a> length)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#a55">setCurPtr</a> (<a class="el" href="ttypes_8h.html#a2">uint</a> p, <a class="el" href="ttypes_8h.html#a1">uchar</a> <a class="el" href="classTView.html#s7">selectMode</a>)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#a56">startSelect</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#a57">toggleInsMode</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#a58">unlock</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#a59">update</a> (<a class="el" href="ttypes_8h.html#a1">uchar</a> aFlags)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#a60">checkScrollBar</a> (const <a class="el" href="structTEvent.html">TEvent</a> &amp;event, <a class="el" href="classTScrollBar.html">TScrollBar</a> *p, int &amp;d)</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStreamable.html">TStreamable</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#d0">build</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTScrollBar.html">TScrollBar</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#m0">hScrollBar</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTScrollBar.html">TScrollBar</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#m1">vScrollBar</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTIndicator.html">TIndicator</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#m2">indicator</a></td></tr>
+<tr><td nowrap align=right valign=top>char *&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#m3">buffer</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a2">uint</a>&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#m4">bufSize</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a2">uint</a>&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#m5">bufLen</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a2">uint</a>&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#m6">gapLen</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a2">uint</a>&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#m7">selStart</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a2">uint</a>&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#m8">selEnd</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a2">uint</a>&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#m9">curPtr</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTPoint.html">TPoint</a>&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#m10">curPos</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTPoint.html">TPoint</a>&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#m11">delta</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTPoint.html">TPoint</a>&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#m12">limit</a></td></tr>
+<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#m13">drawLine</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a2">uint</a>&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#m14">drawPtr</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a2">uint</a>&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#m15">delCount</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a2">uint</a>&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#m16">insCount</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#m17">isValid</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#m18">canUndo</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#m19">modified</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#m20">selecting</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#m21">overwrite</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#m22">autoIndent</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a1">uchar</a>&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#m23">lockCount</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a1">uchar</a>&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#m24">updateFlags</a></td></tr>
+<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#m25">keyState</a></td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="editors_8h.html#a51">TEditorDialog</a>&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#p0">editorDialog</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#p1">editorFlags</a></td></tr>
+<tr><td nowrap align=right valign=top>char&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#p2">findStr</a> [<a class="el" href="tvconfig_8h.html#a3">maxFindStrLen</a>]</td></tr>
+<tr><td nowrap align=right valign=top>char&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#p3">replaceStr</a> [<a class="el" href="tvconfig_8h.html#a4">maxReplaceStrLen</a>]</td></tr>
+<tr><td nowrap align=right valign=top>TEditor *&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#p4">clipboard</a></td></tr>
+<tr><td nowrap align=right valign=top>const char *const&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#p5">name</a></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#b0">TEditor</a> (<a class="el" href="ttypes_8h.html#a14">StreamableInit</a>)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#b1">write</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void *&nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html#b2">read</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+This class implements a text editor.
+<p>
+TEditor is the base class for all editors. It implements most of the editor's functionality. If a TEditor object is created, it allocates a buffer of the given size out of the heap. The buffer is initially empty.
+<p>
+
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l00308">308</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TEditor::TEditor"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TEditor::TEditor </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>bounds</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTScrollBar.html">TScrollBar</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aHScrollBar</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTScrollBar.html">TScrollBar</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aVScrollBar</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTIndicator.html">TIndicator</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aIndicator</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a2">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aBufSize</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructor.
+<p>
+Calls TView::TView(bounds) by creating a view with the given bounds. The <a class="el" href="classTEditor.html#m0">hScrollBar</a>, <a class="el" href="classTEditor.html#m1">vScrollBar</a>, indicator and <a class="el" href="classTEditor.html#m4">bufSize</a> data members are set from the given arguments. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#a0">TView::TView</a></dl>The scroll bar and indicator arguments can be set to 0 if you do not want these objects. The following default values are set:
+<p>
+<pre>
+ Variable Value Description
+
+ canUndo True <a class="el" href="classTEditor.html#m18">TEditor::canUndo</a>
+ selecting False <a class="el" href="classTEditor.html#m20">TEditor::selecting</a>
+ overwrite False <a class="el" href="classTEditor.html#m21">TEditor::overwrite</a>
+ autoIndent False <a class="el" href="classTEditor.html#m22">TEditor::autoIndent</a>
+ lockCount 0 <a class="el" href="classTEditor.html#m23">TEditor::lockCount</a>
+ keyState 0 <a class="el" href="classTEditor.html#m25">TEditor::keyState</a>
+ growMode <a class="el" href="views_8h.html#a52">gfGrowHiX</a> | <a class="el" href="views_8h.html#a53">gfGrowHiY</a> <a class="el" href="classTView.html#m7">TView::growMode</a>
+ options <a class="el" href="views_8h.html#a38">ofSelectable</a> <a class="el" href="classTView.html#m2">TView::options</a>
+ eventMask <a class="el" href="system_8h.html#a0">evMouseDown</a> | <a class="el" href="system_8h.html#a4">evKeyDown</a> |
+ <a class="el" href="system_8h.html#a5">evCommand</a> | <a class="el" href="system_8h.html#a6">evBroadcast</a> <a class="el" href="classTView.html#m3">TView::eventMask</a>
+ </pre>
+<p>
+`aBufSize' is the buffer initial size; 0 is its common value. The buffer is allocated and cleared. If insufficient memory exists, the <a class="el" href="editors_8h.html#a33">edOutOfMemory</a> dialog box is displayed using <a class="el" href="classTEditor.html#p0">editorDialog()</a>, and <a class="el" href="classTEditor.html#m17">isValid</a> data member is set False. Otherwise <a class="el" href="classTEditor.html#m17">isValid</a> is set True.
+<p>
+The data members associated with the editor buffer are initialized in the obvious way: <a class="el" href="classTEditor.html#m5">bufLen</a> to 0, <a class="el" href="classTEditor.html#m6">gapLen</a> to <a class="el" href="classTEditor.html#m4">bufSize</a>, <a class="el" href="classTEditor.html#m7">selStart</a> to 0, modified to False, and so on. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TEditor::~TEditor"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual TEditor::~TEditor </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Destructor.
+<p>
+Destroys the editor and deletes the buffer. </td>
+ </tr>
+</table>
+<a name="b0" doxytag="TEditor::TEditor"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TEditor::TEditor </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a14">StreamableInit</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Each streamable class needs a "builder" to allocate the correct memory for its objects together with the initialized virtual table pointers.
+<p>
+This is achieved by calling this constructor with an argument of type <a class="el" href="ttypes_8h.html#a14">StreamableInit</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="a3" doxytag="TEditor::bufChar"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> char TEditor::bufChar </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a2">uint</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>p</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the p'th character in the file, factoring in the gap. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="TEditor::bufPtr"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a2">uint</a> TEditor::bufPtr </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a2">uint</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>p</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the offset into buffer of the p'th character in the file, factoring in the gap. </td>
+ </tr>
+</table>
+<a name="d0" doxytag="TEditor::build"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStreamable.html">TStreamable</a>* TEditor::build </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called to create an object in certain stream reading situations.
+<p>
+Reimplemented from <a class="el" href="classTView.html#d8">TView</a>.
+<p>
+Reimplemented in <a class="el" href="classTMemo.html#d0">TMemo</a>, and <a class="el" href="classTFileEditor.html#d0">TFileEditor</a>. </td>
+ </tr>
+</table>
+<a name="a5" doxytag="TEditor::changeBounds"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TEditor::changeBounds </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>bounds</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Changes the views bounds, adjusting the delta value and redrawing the scrollbars and view if necessary.
+<p>
+Overridden to ensure the file stays within view if the parent size changes.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a11">TView</a>. </td>
+ </tr>
+</table>
+<a name="a27" doxytag="TEditor::charPos"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a2">uint</a> TEditor::charPos </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a2">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>p</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a2">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>target</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Calculates and returns the actual cursor position by examining the characters in the buffer between `p' and `target'. Any tab codes encountered are counted as spaces modulo the tab setting. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTEditor.html#a28">TEditor::charPtr</a> </dl> </td>
+ </tr>
+</table>
+<a name="a28" doxytag="TEditor::charPtr"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a2">uint</a> TEditor::charPtr </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a2">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>p</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a2">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>target</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The reverse of <a class="el" href="classTEditor.html#a27">charPos()</a>. Calculates and returns the buffer position corresponding to a cursor position. </td>
+ </tr>
+</table>
+<a name="a60" doxytag="TEditor::checkScrollBar"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TEditor::checkScrollBar </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="structTEvent.html">TEvent</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>event</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTScrollBar.html">TScrollBar</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>p</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>d</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called by <a class="el" href="classTEditor.html#a12">handleEvent()</a> in response to a cmScrollBarChanged broadcast event. If the scroll bar's current value is different from `d', the scroll bar is redrawn. </td>
+ </tr>
+</table>
+<a name="a29" doxytag="TEditor::clipCopy"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a13">Boolean</a> TEditor::clipCopy </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns False if this editor has no active clipboard. Otherwise, copies the selected text from the editor to the clipboard using clipboard-&gt;insertFrom(this). <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTEditor.html#a15">TEditor::insertFrom</a></dl>The selected text is deselected (highlight removed) and the view redrawn. Returns True if all goes well. </td>
+ </tr>
+</table>
+<a name="a30" doxytag="TEditor::clipCut"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TEditor::clipCut </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The same as for <a class="el" href="classTEditor.html#a29">clipCopy()</a>, but the selected text is deleted after being copied to the clipboard. </td>
+ </tr>
+</table>
+<a name="a31" doxytag="TEditor::clipPaste"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TEditor::clipPaste </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The reverse of <a class="el" href="classTEditor.html#a29">clipCopy()</a>: the contents of the clipboard (if any) are copied to the current position of the editor using insertFrom(clipboard). <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTEditor.html#a15">TEditor::insertFrom</a> </dl> </td>
+ </tr>
+</table>
+<a name="a6" doxytag="TEditor::convertEvent"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TEditor::convertEvent </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="structTEvent.html">TEvent</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>event</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Used by <a class="el" href="classTEditor.html#a12">handleEvent()</a> to provide basic editing operations by converting various key events to command events. You can change or extend these default key bindings by overriding the <a class="el" href="classTEditor.html#a6">convertEvent()</a> member function. </td>
+ </tr>
+</table>
+<a name="a7" doxytag="TEditor::cursorVisible"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a13">Boolean</a> TEditor::cursorVisible </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns True if the cursor (insertion point) is visible within the view. </td>
+ </tr>
+</table>
+<a name="a32" doxytag="TEditor::deleteRange"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TEditor::deleteRange </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a2">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>startPtr</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a2">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>endPtr</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>delSelect</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+If `delSelect' is True and a current selection exists, the current selection is deleted; otherwise, the range `startPtr' to `endPtr' is selected and deleted. </td>
+ </tr>
+</table>
+<a name="a8" doxytag="TEditor::deleteSelect"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TEditor::deleteSelect </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Deletes the selection if one exists. For example, after a successful <a class="el" href="classTEditor.html#a29">clipCopy()</a>, the selected block is deleted. </td>
+ </tr>
+</table>
+<a name="a9" doxytag="TEditor::doneBuffer"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TEditor::doneBuffer </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Deletes the buffer.
+<p>
+Reimplemented in <a class="el" href="classTFileEditor.html#a1">TFileEditor</a>. </td>
+ </tr>
+</table>
+<a name="a34" doxytag="TEditor::doSearchReplace"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TEditor::doSearchReplace </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Can be used in both find and find/replace operations, depending on the state of <a class="el" href="classTEditor.html#p1">editorFlags</a> data member bits and user-dialog box interactions.
+<p>
+If <a class="el" href="editors_8h.html#a48">efDoReplace</a> is not set, <a class="el" href="classTEditor.html#a34">doSearchReplace()</a> acts as a simple search for <a class="el" href="classTEditor.html#p2">findStr</a> data member, with no replacement. Otherwise, this function aims at replacing occurrences of <a class="el" href="classTEditor.html#p2">findStr</a> with <a class="el" href="classTEditor.html#p3">replaceStr</a> data member.
+<p>
+In all cases, if the target string is not found, an editorDialog(<a class="el" href="editors_8h.html#a41">edSearchFailed</a>) call is invoked. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTEditor.html#p0">TEditor::editorDialog</a></dl>If <a class="el" href="editors_8h.html#a46">efPromptOnReplace</a> is set in <a class="el" href="classTEditor.html#p1">editorFlags</a>, an <a class="el" href="editors_8h.html#a43">edReplacePrompt</a> dialog box appears. Replacement then depends on the user response. If <a class="el" href="editors_8h.html#a47">efReplaceAll</a> is set, replacement proceeds for all matching strings without prompting until a cmCancel command is detected. </td>
+ </tr>
+</table>
+<a name="a33" doxytag="TEditor::doUpdate"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TEditor::doUpdate </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+If <a class="el" href="classTEditor.html#m24">updateFlags</a> data member is 0, nothing happens. Otherwise, the view and its scrollbars are updated and redrawn depending on the state of the <a class="el" href="classTEditor.html#m24">updateFlags</a> bits.
+<p>
+For example, if ufView is set, the view is redrawn with <a class="el" href="classTView.html#a20">drawView()</a>. If the view is <a class="el" href="views_8h.html#a30">sfActive</a>, the command set is updated with <a class="el" href="classTEditor.html#a25">updateCommands()</a>. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#m4">TView::state</a></dl>After these updates, <a class="el" href="classTEditor.html#m24">updateFlags</a> is set to 0. </td>
+ </tr>
+</table>
+<a name="a10" doxytag="TEditor::draw"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TEditor::draw </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Overrides <a class="el" href="classTView.html#a19">TView::draw()</a> to draw the editor.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a19">TView</a>. </td>
+ </tr>
+</table>
+<a name="a35" doxytag="TEditor::drawLines"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TEditor::drawLines </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>y</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a2">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>count</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a2">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>linePtr</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Draws `count' copies of the line at `linePtr', starting at line position `y'. </td>
+ </tr>
+</table>
+<a name="a37" doxytag="TEditor::find"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TEditor::find </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Finds occurrences of the existing <a class="el" href="classTEditor.html#p2">findStr</a> or a new user-supplied string. <a class="el" href="classTEditor.html#a37">find()</a> displays an editor dialog inviting the input of a find string or the acceptance of the existing <a class="el" href="classTEditor.html#p2">findStr</a>.
+<p>
+If a new find string is entered, it will replace the previous <a class="el" href="classTEditor.html#p2">findStr</a> (unless the user cancels). <a class="el" href="classTEditor.html#a37">find()</a> first creates a <a class="el" href="structTFindDialogRec.html">TFindDialogRec</a> object defined as follows:
+<p>
+<pre>
+ struct <a class="el" href="structTFindDialogRec.html">TFindDialogRec</a>
+ {
+ TFindDialogRec(const char *str, ushort flgs)
+ {
+ strcpy(find, str);
+ options = flgs;
+ }
+ char find[80];
+ ushort options;
+ };
+ </pre>
+<p>
+The constructor is called with `str' set to the current <a class="el" href="classTEditor.html#p2">findStr</a>, and `flgs' set to the current <a class="el" href="classTEditor.html#p1">editorFlags</a>.
+<p>
+The <a class="el" href="editors_8h.html#a40">edFind</a> editor dialog then invites change or acceptance of the <a class="el" href="classTEditor.html#p2">findStr</a>. Finally, <a class="el" href="classTEditor.html#a34">doSearchReplace()</a> is called for a simple find-no-replace (<a class="el" href="editors_8h.html#a48">efDoReplace</a> switched off). </td>
+ </tr>
+</table>
+<a name="a36" doxytag="TEditor::formatLine"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TEditor::formatLine </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>buff</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a2">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>linePtr</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>x</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>color</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Formats the line at `linePtr' in the given color and sets result in `buff'. Used by <a class="el" href="classTEditor.html#a35">drawLines()</a>. </td>
+ </tr>
+</table>
+<a name="a38" doxytag="TEditor::getMousePtr"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a2">uint</a> TEditor::getMousePtr </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTPoint.html">TPoint</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>m</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the buffer character pointer corresponding to the point `m' on the screen. </td>
+ </tr>
+</table>
+<a name="a11" doxytag="TEditor::getPalette"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="classTPalette.html">TPalette</a>&amp; TEditor::getPalette </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the default TEditor palette. Override if you wish to change the palette of the editor.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a46">TView</a>.
+<p>
+Reimplemented in <a class="el" href="classTMemo.html#a4">TMemo</a>. </td>
+ </tr>
+</table>
+<a name="a12" doxytag="TEditor::handleEvent"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TEditor::handleEvent </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="structTEvent.html">TEvent</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>event</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Provides the event handling for the editor. Override if you wish to extend the commands the editor handles.
+<p>
+The default handler calls <a class="el" href="classTView.html#a41">TView::handleEvent()</a>, then converts all relevant editing key events to command events by calling <a class="el" href="classTEditor.html#a6">convertEvent()</a>.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a41">TView</a>.
+<p>
+Reimplemented in <a class="el" href="classTMemo.html#a5">TMemo</a>, and <a class="el" href="classTFileEditor.html#a2">TFileEditor</a>. </td>
+ </tr>
+</table>
+<a name="a39" doxytag="TEditor::hasSelection"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a13">Boolean</a> TEditor::hasSelection </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns True if a selection has been made; that is, if <a class="el" href="classTEditor.html#m7">selStart</a> does not equal <a class="el" href="classTEditor.html#m8">selEnd</a>. If these two data members are equal, no selection exists, and False is returned. </td>
+ </tr>
+</table>
+<a name="a40" doxytag="TEditor::hideSelect"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TEditor::hideSelect </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Sets selecting to False and hides the current selection with setSelect(curPtr, curPtr, False). <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTEditor.html#m9">TEditor::curPtr</a> , <a class="el" href="classTEditor.html#a21">TEditor::setSelect</a> </dl> </td>
+ </tr>
+</table>
+<a name="a13" doxytag="TEditor::initBuffer"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TEditor::initBuffer </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Allocates a buffer of size <a class="el" href="classTEditor.html#m4">bufSize</a> and sets buffer to point at it.
+<p>
+Reimplemented in <a class="el" href="classTFileEditor.html#a3">TFileEditor</a>. </td>
+ </tr>
+</table>
+<a name="a14" doxytag="TEditor::insertBuffer"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a13">Boolean</a> TEditor::insertBuffer </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>p</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a2">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>offset</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a2">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>length</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>allowUndo</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>selectText</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This is the lowest-level text insertion member function. It inserts `length' bytes of text from the array `p' (starting at p[offset]) into the buffer (starting at the <a class="el" href="classTEditor.html#m9">curPtr</a>).
+<p>
+If `allowUndo' is set True, <a class="el" href="classTEditor.html#a14">insertBuffer()</a> records undo information. If `selectText' is set True, the inserted text will be selected. <a class="el" href="classTEditor.html#a14">insertBuffer()</a> returns True for a successful operation.
+<p>
+Failure invokes a suitable dialog box and returns False. <a class="el" href="classTEditor.html#a14">insertBuffer()</a> is used by <a class="el" href="classTEditor.html#a15">insertFrom()</a> and <a class="el" href="classTEditor.html#a16">insertText()</a>; you will seldom need to call it directly. </td>
+ </tr>
+</table>
+<a name="a15" doxytag="TEditor::insertFrom"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a> TEditor::insertFrom </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">TEditor *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>editor</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Inserts the current block-marked selection from the argument `editor' into this editor. This member function implements <a class="el" href="classTEditor.html#a30">clipCut()</a>, <a class="el" href="classTEditor.html#a29">clipCopy()</a>, and <a class="el" href="classTEditor.html#a31">clipPaste()</a>.
+<p>
+The implementation may help you understand the <a class="el" href="classTEditor.html#a15">insertFrom()</a> and <a class="el" href="classTEditor.html#a14">insertBuffer()</a> functions:
+<p>
+<pre>
+ Boolean <a class="el" href="classTEditor.html#a15">TEditor::insertFrom(TEditor *editor)</a>
+ {
+ return insertBuffer(editor-&gt;buffer,
+ editor-&gt;bufPtr(editor-&gt;selStart),
+ editor-&gt;selEnd - editor-&gt;selStart, canUndo, <a class="el" href="classTEditor.html#a41">isClipboard()</a>);
+ }
+ </pre>
+<p>
+Note the the `allowUndo' argument is set to the value of the data member <a class="el" href="classTEditor.html#m18">canUndo</a>. The `selectText' argument will be True if there is an active clipboard for this editor. </td>
+ </tr>
+</table>
+<a name="a16" doxytag="TEditor::insertText"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a13">Boolean</a> TEditor::insertText </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const void *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>text</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a2">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>length</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>selectText</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Copies `length' bytes from the given text into this object's buffer.
+<p>
+If `selectText' is True, the inserted text will be selected. This is a simplified version of <a class="el" href="classTEditor.html#a14">insertBuffer()</a>. </td>
+ </tr>
+</table>
+<a name="a41" doxytag="TEditor::isClipboard"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a13">Boolean</a> TEditor::isClipboard </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns True if this editor has an attached clipboard; otherwise returns False. </td>
+ </tr>
+</table>
+<a name="a42" doxytag="TEditor::lineEnd"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a2">uint</a> TEditor::lineEnd </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a2">uint</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>p</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the buffer pointer (offset) of the end of the line containing the given pointer `p'. </td>
+ </tr>
+</table>
+<a name="a43" doxytag="TEditor::lineMove"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a2">uint</a> TEditor::lineMove </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a2">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>p</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>count</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Moves the line containing the pointer (offset) `p' up or down `count' lines depending on the sign of `count'. </td>
+ </tr>
+</table>
+<a name="a44" doxytag="TEditor::lineStart"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a2">uint</a> TEditor::lineStart </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a2">uint</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>p</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the buffer pointer (offset) of the start of the line contaning the given pointer `p'. </td>
+ </tr>
+</table>
+<a name="a45" doxytag="TEditor::lock"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TEditor::lock </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Increments the semaphore <a class="el" href="classTEditor.html#m23">lockCount</a>. </td>
+ </tr>
+</table>
+<a name="a46" doxytag="TEditor::newLine"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TEditor::newLine </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Inserts a newline at the current pointer. If <a class="el" href="classTEditor.html#m22">autoIndent</a> is set, appropriate tabs (if needed) are also inserted at the start of the new line. </td>
+ </tr>
+</table>
+<a name="a47" doxytag="TEditor::nextChar"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a2">uint</a> TEditor::nextChar </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a2">uint</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>p</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the buffer offset for the character following the one at the given offset `p'. </td>
+ </tr>
+</table>
+<a name="a48" doxytag="TEditor::nextLine"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a2">uint</a> TEditor::nextLine </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a2">uint</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>p</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the buffer offset for the start of the line following the line containing the given offset `p'. </td>
+ </tr>
+</table>
+<a name="a49" doxytag="TEditor::nextWord"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a2">uint</a> TEditor::nextWord </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a2">uint</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>p</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the buffer offset for the start of the word following the word containing the given offset `p'. </td>
+ </tr>
+</table>
+<a name="a50" doxytag="TEditor::prevChar"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a2">uint</a> TEditor::prevChar </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a2">uint</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>p</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the buffer offset for the character preceding the one at the given offset `p'. </td>
+ </tr>
+</table>
+<a name="a51" doxytag="TEditor::prevLine"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a2">uint</a> TEditor::prevLine </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a2">uint</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>p</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the buffer offset for the start of the line preceding the line containing the given offset `p'. </td>
+ </tr>
+</table>
+<a name="a52" doxytag="TEditor::prevWord"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a2">uint</a> TEditor::prevWord </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a2">uint</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>p</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the buffer offset corresponding to the start of the word preceding the word containing the given offset `p'. </td>
+ </tr>
+</table>
+<a name="b2" doxytag="TEditor::read"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void* TEditor::read </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>is</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Reads an editor object from the input stream `is'.
+<p>
+Reimplemented from <a class="el" href="classTView.html#b2">TView</a>.
+<p>
+Reimplemented in <a class="el" href="classTMemo.html#b2">TMemo</a>, and <a class="el" href="classTFileEditor.html#b2">TFileEditor</a>. </td>
+ </tr>
+</table>
+<a name="a53" doxytag="TEditor::replace"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TEditor::replace </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Replaces occurrences of the existing <a class="el" href="classTEditor.html#p2">findStr</a> (or a new user-supplied find string) with the existing <a class="el" href="classTEditor.html#p3">replaceStr</a> (or a new user-supplied replace string).
+<p>
+<a class="el" href="classTEditor.html#a53">replace()</a> displays an editor dialog inviting the input of both strings or the acceptance of the existing <a class="el" href="classTEditor.html#p2">findStr</a> and <a class="el" href="classTEditor.html#p3">replaceStr</a>. If new strings are entered, they will replace the previous values (unless the user cancels).
+<p>
+<a class="el" href="classTEditor.html#a53">replace()</a> first creates a <a class="el" href="structTReplaceDialogRec.html">TReplaceDialogRec</a> object defined as follows:
+<p>
+<pre>
+ struct <a class="el" href="structTReplaceDialogRec.html">TReplaceDialogRec</a>
+ {
+ TReplaceDialogRec(const char *str, const char *rep, ushort flgs)
+ {
+ strcpy(find, str);
+ strcpy(replace, rep);
+ options = flgs;
+ }
+ char find[80];
+ char replace[80];
+ ushort options;
+ };
+ </pre>
+<p>
+The constructor is called with `str' and `rep' set to the current <a class="el" href="classTEditor.html#p2">findStr</a> and <a class="el" href="classTEditor.html#p3">replaceStr</a>, and with `flg' set to the current <a class="el" href="classTEditor.html#p1">editorFlags</a>.
+<p>
+The <a class="el" href="editors_8h.html#a42">edReplace</a> editor dialog then invites change or acceptance of the two strings. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTEditor.html#p0">TEditor::editorDialog</a></dl>Finally, <a class="el" href="classTEditor.html#a34">doSearchReplace()</a> is called for a find-replace operation (<a class="el" href="editors_8h.html#a48">efDoReplace</a> switched on). </td>
+ </tr>
+</table>
+<a name="a17" doxytag="TEditor::scrollTo"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TEditor::scrollTo </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>x</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>y</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Move column `x' and line `y' to the upper-left corner of the editor. </td>
+ </tr>
+</table>
+<a name="a18" doxytag="TEditor::search"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a13">Boolean</a> TEditor::search </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>findStr</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>opts</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Search for the given string `findStr' in the editor buffer (starting at <a class="el" href="classTEditor.html#m9">curPtr</a>) with the given options in `opts'. The valid options are:
+<p>
+<pre>
+ Name Value Description
+
+ <a class="el" href="editors_8h.html#a44">efCaseSensitive</a> 0x0001 Case sensitive search
+ <a class="el" href="editors_8h.html#a45">efWholeWordsOnly</a> 0x0002 Whole words only search
+ </pre>
+<p>
+Returns True if a match is found; otherwise returns False. If a match is found, the matching text is selected. </td>
+ </tr>
+</table>
+<a name="a54" doxytag="TEditor::setBufLen"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TEditor::setBufLen </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a2">uint</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>length</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Sets <a class="el" href="classTEditor.html#m5">bufLen</a> to `length', then adjusts <a class="el" href="classTEditor.html#m6">gapLen</a> and limit accordingly. <a class="el" href="classTEditor.html#m7">selStart</a>, <a class="el" href="classTEditor.html#m8">selEnd</a>, <a class="el" href="classTEditor.html#m9">curPtr</a>, delta.x, delta.y, <a class="el" href="classTEditor.html#m13">drawLine</a>, <a class="el" href="classTEditor.html#m14">drawPtr</a>, <a class="el" href="classTEditor.html#m15">delCount</a>, and <a class="el" href="classTEditor.html#m16">insCount</a> are all set to 0. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTEditor.html#m11">TEditor::delta</a></dl><a class="el" href="classTEditor.html#m10">curPos</a> is set to delta, modified is set to False, and the view is updated and redrawn as needed.
+<p>
+The TEditor constructor calls setBufLen(0). <a class="el" href="classTEditor.html#a54">setBufLen()</a> is also used by <a class="el" href="classTEditor.html#a14">insertBuffer()</a>. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTEditor.html#a0">TEditor::TEditor</a> </dl> </td>
+ </tr>
+</table>
+<a name="a19" doxytag="TEditor::setBufSize"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a> TEditor::setBufSize </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a2">uint</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>newSize</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Should be called before changing the buffer size to `newSize'. It should return True if the the buffer can be of this new size.
+<p>
+By default, it returns True if `newSize' is less than or equal to <a class="el" href="classTEditor.html#m4">bufSize</a>.
+<p>
+Reimplemented in <a class="el" href="classTFileEditor.html#a8">TFileEditor</a>. </td>
+ </tr>
+</table>
+<a name="a20" doxytag="TEditor::setCmdState"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TEditor::setCmdState </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>command</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>enable</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Enables or disables the given command depending on whether `enable' is True or False and whether the editor is <a class="el" href="views_8h.html#a30">sfActive</a>. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#m4">TView::state</a></dl>The command is always disabled if the editor is not the selected view. Offers a convenient alternative to <a class="el" href="classTView.html#d2">enableCommands()</a> and <a class="el" href="classTView.html#d1">disableCommands()</a>. </td>
+ </tr>
+</table>
+<a name="a55" doxytag="TEditor::setCurPtr"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TEditor::setCurPtr </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a2">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>p</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a1">uchar</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>selectMode</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Calls <a class="el" href="classTEditor.html#a21">setSelect()</a> and repositions <a class="el" href="classTEditor.html#m9">curPtr</a> to the offset `p'. Some adjustments may be made, depending on the value of `selectMode', if <a class="el" href="classTEditor.html#m9">curPtr</a> is at the beginning or end of a selected text. </td>
+ </tr>
+</table>
+<a name="a21" doxytag="TEditor::setSelect"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TEditor::setSelect </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a2">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>newStart</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a2">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>newEnd</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>curStart</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Sets the selection to the given offsets into the file, and redraws the view as needed.
+<p>
+This member function will either place the cursor in front of or behind the selection, depending on the value (True or False, respectively) of `curStart'. </td>
+ </tr>
+</table>
+<a name="a22" doxytag="TEditor::setState"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TEditor::setState </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aState</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>enable</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Overrides <a class="el" href="classTView.html#a50">TView::setState()</a> to hide and show the indicator and scroll bars.
+<p>
+It first calls <a class="el" href="classTView.html#a50">TView::setState()</a> to enable and disable commands. If you wish to enable and disable additional commands, override <a class="el" href="classTEditor.html#a25">updateCommands()</a> instead. This is called whenever the command states should be updated.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a50">TView</a>. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="TEditor::shutDown"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TEditor::shutDown </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Used internally by <a class="el" href="classTObject.html#d0">TObject::destroy()</a> to ensure correct destruction of derived and related objects. <a class="el" href="classTEditor.html#a2">shutDown()</a> is overridden in many classes to ensure the proper setting of related data members when <a class="el" href="classTObject.html#d0">destroy()</a> is called.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a67">TView</a>.
+<p>
+Reimplemented in <a class="el" href="classTFileEditor.html#a9">TFileEditor</a>. </td>
+ </tr>
+</table>
+<a name="a56" doxytag="TEditor::startSelect"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TEditor::startSelect </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called by <a class="el" href="classTEditor.html#a12">handleEvent()</a> when a Ctrl-K Ctrl-B selection is detected. Hides the previous selection and sets selecting to True. </td>
+ </tr>
+</table>
+<a name="a57" doxytag="TEditor::toggleInsMode"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TEditor::toggleInsMode </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Toggles the overwrite data member from True to False and from False to True. Changes the cursor shape by calling <a class="el" href="classTEditor.html#a22">setState()</a>. </td>
+ </tr>
+</table>
+<a name="a23" doxytag="TEditor::trackCursor"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TEditor::trackCursor </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>center</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Forces the cursor to be visible. If `center' is True, the cursor is forced to be in the center of the screen in the y (line) direction. The x (column) position is not changed. </td>
+ </tr>
+</table>
+<a name="a24" doxytag="TEditor::undo"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TEditor::undo </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undoes the changes since the last cursor movement. </td>
+ </tr>
+</table>
+<a name="a58" doxytag="TEditor::unlock"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TEditor::unlock </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Decrements the data member <a class="el" href="classTEditor.html#m23">lockCount</a> until it reaches the value 0, at which point a <a class="el" href="classTEditor.html#a33">doUpdate()</a> is triggered. The lock/unlock mechanism prevents over-frequent redrawing of the view. </td>
+ </tr>
+</table>
+<a name="a59" doxytag="TEditor::update"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TEditor::update </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a1">uchar</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>aFlags</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Sets `aFlags' in the <a class="el" href="classTEditor.html#m24">updateFlags</a> data member. If <a class="el" href="classTEditor.html#m23">lockCount</a> is 0, calls <a class="el" href="classTEditor.html#a33">doUpdate()</a>. </td>
+ </tr>
+</table>
+<a name="a25" doxytag="TEditor::updateCommands"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TEditor::updateCommands </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called whenever the commands should be updated. This is used to enable and disable commands such as cmUndo and cmCopy.
+<p>
+Reimplemented in <a class="el" href="classTFileEditor.html#a10">TFileEditor</a>. </td>
+ </tr>
+</table>
+<a name="a26" doxytag="TEditor::valid"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a> TEditor::valid </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>command</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns whether the view is valid for the given command. By default it returns the value of <a class="el" href="classTEditor.html#m17">isValid</a>, which is True if buffer is not 0.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a16">TView</a>.
+<p>
+Reimplemented in <a class="el" href="classTFileEditor.html#a11">TFileEditor</a>. </td>
+ </tr>
+</table>
+<a name="b1" doxytag="TEditor::write"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TEditor::write </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>os</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Writes to the output stream `os'.
+<p>
+Reimplemented from <a class="el" href="classTView.html#b1">TView</a>.
+<p>
+Reimplemented in <a class="el" href="classTMemo.html#b1">TMemo</a>, and <a class="el" href="classTFileEditor.html#b1">TFileEditor</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="m22" doxytag="TEditor::autoIndent"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a13">Boolean</a> TEditor::autoIndent
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+True if the editor is in autoindent mode.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l00927">927</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="m3" doxytag="TEditor::buffer"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> char* TEditor::buffer
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Pointer to the buffer used to hold the text.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l00843">843</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="m5" doxytag="TEditor::bufLen"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a2">uint</a> TEditor::bufLen
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The amount of text stored between the start of the buffer and the current cursor position.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l00852">852</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="m4" doxytag="TEditor::bufSize"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a2">uint</a> TEditor::bufSize
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Size of the buffer (in bytes).
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l00847">847</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="m18" doxytag="TEditor::canUndo"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a13">Boolean</a> TEditor::canUndo
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+True if the editor is to support undo. Otherwise False.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l00910">910</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="p4" doxytag="TEditor::clipboard"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TEditor* TEditor::clipboard<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Pointer to the clipboard.
+<p>
+Any TEditor can be the clipboard; it just needs be assigned to this variable. The clipboard should not support undo (i.e., its <a class="el" href="classTEditor.html#m18">canUndo</a> should be false).
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l00986">986</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="m10" doxytag="TEditor::curPos"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTPoint.html">TPoint</a> TEditor::curPos
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The line/column location of the cursor in the file.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l00873">873</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="m9" doxytag="TEditor::curPtr"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a2">uint</a> TEditor::curPtr
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Offset of the cursor.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l00869">869</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="m15" doxytag="TEditor::delCount"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a2">uint</a> TEditor::delCount
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Number of characters in the end of the gap that were deleted from the text. Used to implement <a class="el" href="classTEditor.html#a24">undo()</a>.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l00897">897</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="m11" doxytag="TEditor::delta"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTPoint.html">TPoint</a> TEditor::delta
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The top line and leftmost column shown in the view.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l00877">877</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="m13" doxytag="TEditor::drawLine"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> int TEditor::drawLine
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Column position on the screen where inserted characters are drawn. Used internally by <a class="el" href="classTEditor.html#a10">draw()</a>.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l00887">887</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="m14" doxytag="TEditor::drawPtr"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a2">uint</a> TEditor::drawPtr
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Buffer offset corresponding to the current cursor. Used internally by <a class="el" href="classTEditor.html#a10">draw()</a>.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l00892">892</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="p0" doxytag="TEditor::editorDialog"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="editors_8h.html#a51">TEditorDialog</a> TEditor::editorDialog<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The TEditorDialog data type is a pointer to function returning ushort and taking one int argument and a variable number of additional arguments. It is defined in `<a class="el" href="editors_8h.html">editors.h</a>' as follows:
+<p>
+<pre>
+ typedef ushort (*TEditorDialog)(int, ...);
+ </pre>
+<p>
+Variable editorDialog is a function pointer used by TEditor objects to display various dialog boxes.
+<p>
+Since dialog boxes are very application-dependent, a TEditor object does not display its own dialog boxes directly. Instead it controls them through this function pointer.
+<p>
+The various dialog values, passed in the first int argument, are self-explanatory: <a class="el" href="editors_8h.html#a33">edOutOfMemory</a>, <a class="el" href="editors_8h.html#a34">edReadError</a>, <a class="el" href="editors_8h.html#a35">edWriteError</a>, <a class="el" href="editors_8h.html#a36">edCreateError</a>, <a class="el" href="editors_8h.html#a37">edSaveModify</a>, <a class="el" href="editors_8h.html#a38">edSaveUntitled</a>, <a class="el" href="editors_8h.html#a39">edSaveAs</a>, <a class="el" href="editors_8h.html#a40">edFind</a>, <a class="el" href="editors_8h.html#a41">edSearchFailed</a>, <a class="el" href="editors_8h.html#a42">edReplace</a> and <a class="el" href="editors_8h.html#a43">edReplacePrompt</a>.
+<p>
+The default editorDialog, <a class="el" href="editors_8h.html#a52">defEditorDialog()</a>, simply returns cmCancel.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l00953">953</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="p1" doxytag="TEditor::editorFlags"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a0">ushort</a> TEditor::editorFlags<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Variable editorFlags contains various flags for use in the editor:
+<p>
+<pre>
+ Name Value Description
+
+ <a class="el" href="editors_8h.html#a44">efCaseSensitive</a> 0x0001 Default to case-sensitive search
+ <a class="el" href="editors_8h.html#a45">efWholeWordsOnly</a> 0x0002 Default to whole words only search
+ <a class="el" href="editors_8h.html#a46">efPromptOnReplace</a> 0x0004 Prompt on replace
+ <a class="el" href="editors_8h.html#a47">efReplaceAll</a> 0x0008 Replace all occurrences
+ <a class="el" href="editors_8h.html#a48">efDoReplace</a> 0x0010 Do replace
+ <a class="el" href="editors_8h.html#a49">efBackupFiles</a> 0x0100 Create backup files with a trailing ~ on saves
+ </pre>
+<p>
+The default value is <a class="el" href="editors_8h.html#a49">efBackupFiles</a> | <a class="el" href="editors_8h.html#a46">efPromptOnReplace</a>.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l00970">970</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="p2" doxytag="TEditor::findStr"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> char TEditor::findStr[<a class="el" href="tvconfig_8h.html#a3">maxFindStrLen</a>]<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Stores the last string value used for a find operation.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l00974">974</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="m6" doxytag="TEditor::gapLen"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a2">uint</a> TEditor::gapLen
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The size of the "gap" between the text before the cursor and the text after the cursor.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l00857">857</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="m0" doxytag="TEditor::hScrollBar"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTScrollBar.html">TScrollBar</a>* TEditor::hScrollBar
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Pointer to the horizontal scroll bar; 0 if the scroll bar does not exist.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l00831">831</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="m2" doxytag="TEditor::indicator"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTIndicator.html">TIndicator</a>* TEditor::indicator
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Pointer to the indicator; 0 if the indicator does not exist.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l00839">839</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="m16" doxytag="TEditor::insCount"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a2">uint</a> TEditor::insCount
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Number of characters inserted into the text since the last cursor movement. Used to implement <a class="el" href="classTEditor.html#a24">undo()</a>.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l00902">902</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="m17" doxytag="TEditor::isValid"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a13">Boolean</a> TEditor::isValid
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+True if the view is valid. Used by the <a class="el" href="classTEditor.html#a26">valid()</a> function.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l00906">906</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="m25" doxytag="TEditor::keyState"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> int TEditor::keyState
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Indicates that a special key, such as Ctrl-K, has been pressed. Used by <a class="el" href="classTEditor.html#a12">handleEvent()</a> to keep track of "double" control keys such as Ctrl-K-H and Ctrl-K-B.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l01004">1004</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="m12" doxytag="TEditor::limit"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTPoint.html">TPoint</a> TEditor::limit
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The maximum number of columns to display, and the number of lines in the file. Records the limits of the scroll bars.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l00882">882</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="m23" doxytag="TEditor::lockCount"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a1">uchar</a> TEditor::lockCount
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Holds the lock count semaphore that controls when a view is redrawn. lockCount is incremented by <a class="el" href="classTEditor.html#a45">lock()</a> and decremented by <a class="el" href="classTEditor.html#a58">unlock()</a>.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l00992">992</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="m19" doxytag="TEditor::modified"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a13">Boolean</a> TEditor::modified
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+True if the buffer has been modified.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l00914">914</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="p5" doxytag="TEditor::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* const TEditor::name<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTView.html#p4">TView</a>.
+<p>
+Reimplemented in <a class="el" href="classTMemo.html#p0">TMemo</a>, and <a class="el" href="classTFileEditor.html#p0">TFileEditor</a>.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l01029">1029</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="m21" doxytag="TEditor::overwrite"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a13">Boolean</a> TEditor::overwrite
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+True if in overwrite mode; otherwise the editor is in insert mode.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l00923">923</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="p3" doxytag="TEditor::replaceStr"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> char TEditor::replaceStr[<a class="el" href="tvconfig_8h.html#a4">maxReplaceStrLen</a>]<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Stores the last string value of a replace operation.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l00978">978</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="m20" doxytag="TEditor::selecting"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a13">Boolean</a> TEditor::selecting
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+True if the editor is in selecting mode (that is, Ctrl-K Ctrl-B has been pressed).
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l00919">919</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="m8" doxytag="TEditor::selEnd"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a2">uint</a> TEditor::selEnd
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The offset of the end of the text selected by Ctrl-K Ctrl-K.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l00865">865</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="m7" doxytag="TEditor::selStart"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a2">uint</a> TEditor::selStart
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The offset of the start of the text selected by Ctrl-K Ctrl-B.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l00861">861</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="m24" doxytag="TEditor::updateFlags"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a1">uchar</a> TEditor::updateFlags
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+A set of flags indicating the state of the editor. <a class="el" href="classTEditor.html#a33">doUpdate()</a> and other member functions examine these flags to determine whether the view needs to be redrawn.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l00998">998</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="m1" doxytag="TEditor::vScrollBar"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTScrollBar.html">TScrollBar</a>* TEditor::vScrollBar
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Pointer to the vertical scroll bar; 0 if the scroll bar does not exist.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l00835">835</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="editors_8h-source.html">editors.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:13 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTEditor.png b/freebsdtvision/doc/html/classTEditor.png
new file mode 100644
index 0000000..716ecb5
--- /dev/null
+++ b/freebsdtvision/doc/html/classTEditor.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTEventQueue-members.html b/freebsdtvision/doc/html/classTEventQueue-members.html
new file mode 100644
index 0000000..fdb50fc
--- /dev/null
+++ b/freebsdtvision/doc/html/classTEventQueue-members.html
@@ -0,0 +1,17 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TEventQueue Member List</h1>This is the complete list of members for <a class="el" href="classTEventQueue.html">TEventQueue</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEventQueue.html#p0">doubleDelay</a></td><td><a class="el" href="classTEventQueue.html">TEventQueue</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEventQueue.html#p1">mouseReverse</a></td><td><a class="el" href="classTEventQueue.html">TEventQueue</a></td><td><code> [static]</code></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:13 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTEventQueue.html b/freebsdtvision/doc/html/classTEventQueue.html
new file mode 100644
index 0000000..f8d45ed
--- /dev/null
+++ b/freebsdtvision/doc/html/classTEventQueue.html
@@ -0,0 +1,88 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TEventQueue class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TEventQueue Class Reference</h1>Information about mouse.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="system_8h-source.html">system.h</a>&gt;</code>
+<p>
+<a href="classTEventQueue-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="classTEventQueue.html#p0">doubleDelay</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTEventQueue.html#p1">mouseReverse</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Stores some information about mouse.
+<p>
+The inner details will seldom be of interest in normal applications. It will usually be sufficient to know how the <a class="el" href="structTEvent.html">TEvent</a> structure interacts with <a class="el" href="classTView.html#a41">TView::handleEvent()</a> and its derivatives.
+<p>
+Some old stuff is removed. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="structMouseEventType.html">MouseEventType</a> </dl>
+<p>
+
+<p>
+Definition at line <a class="el" href="system_8h-source.html#l00425">425</a> of file <a class="el" href="system_8h-source.html">system.h</a>.<hr><h2>Member Data Documentation</h2>
+<a name="p0" doxytag="TEventQueue::doubleDelay"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a0">ushort</a> TEventQueue::doubleDelay<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+In this time interval button presses are recognized as double-click events.
+<p>
+Not used in this port. It is still here only for backward compatibility (the `demo' program uses it). See `system.cc' for details.
+<p>
+Definition at line <a class="el" href="system_8h-source.html#l00435">435</a> of file <a class="el" href="system_8h-source.html">system.h</a>. </td>
+ </tr>
+</table>
+<a name="p1" doxytag="TEventQueue::mouseReverse"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a13">Boolean</a> TEventQueue::mouseReverse<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+If set to True left and right mouse buttons are swapped. See the `demo' program for more information.
+<p>
+Definition at line <a class="el" href="system_8h-source.html#l00440">440</a> of file <a class="el" href="system_8h-source.html">system.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="system_8h-source.html">system.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:13 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTFileCollection-members.html b/freebsdtvision/doc/html/classTFileCollection-members.html
new file mode 100644
index 0000000..ef87c5d
--- /dev/null
+++ b/freebsdtvision/doc/html/classTFileCollection-members.html
@@ -0,0 +1,66 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TFileCollection Member List</h1>This is the complete list of members for <a class="el" href="classTFileCollection.html">TFileCollection</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileCollection.html#a1">at</a>(ccIndex index)</td><td><a class="el" href="classTFileCollection.html">TFileCollection</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a5">atFree</a>(ccIndex index)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileCollection.html#a5">atInsert</a>(ccIndex index, TSearchRec *item)</td><td><a class="el" href="classTFileCollection.html">TFileCollection</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a11">TSortedCollection::atInsert</a>(ccIndex index, void *item)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileCollection.html#a6">atPut</a>(ccIndex index, TSearchRec *item)</td><td><a class="el" href="classTFileCollection.html">TFileCollection</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a12">TSortedCollection::atPut</a>(ccIndex index, void *item)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a6">atRemove</a>(ccIndex index)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileCollection.html#d0">build</a>()</td><td><a class="el" href="classTFileCollection.html">TFileCollection</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#n1">count</a></td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#n3">delta</a></td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSSortedCollection.html#m0">duplicates</a></td><td><a class="el" href="classTNSSortedCollection.html">TNSSortedCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a14">error</a>(ccIndex code, ccIndex info)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#d0">error</a>(ccIndex code, ccIndex info)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileCollection.html#a8">firstThat</a>(ccTestFunc Test, void *arg)</td><td><a class="el" href="classTFileCollection.html">TFileCollection</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a17">forEach</a>(ccAppFunc action, void *arg)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileCollection.html#a4">free</a>(TSearchRec *item)</td><td><a class="el" href="classTFileCollection.html">TFileCollection</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a9">TSortedCollection::free</a>(void *item)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a10">freeAll</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a20">getCount</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileCollection.html#a2">indexOf</a>(TSearchRec *item)</td><td><a class="el" href="classTFileCollection.html">TFileCollection</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSSortedCollection.html#a2">TSortedCollection::indexOf</a>(void *item)</td><td><a class="el" href="classTNSSortedCollection.html">TNSSortedCollection</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileCollection.html#a7">insert</a>(TSearchRec *item)</td><td><a class="el" href="classTFileCollection.html">TFileCollection</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSSortedCollection.html#a3">TSortedCollection::insert</a>(void *item)</td><td><a class="el" href="classTNSSortedCollection.html">TNSSortedCollection</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#n0">items</a></td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSSortedCollection.html#a4">keyOf</a>(void *item)</td><td><a class="el" href="classTNSSortedCollection.html">TNSSortedCollection</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileCollection.html#a9">lastThat</a>(ccTestFunc Test, void *arg)</td><td><a class="el" href="classTFileCollection.html">TFileCollection</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#n2">limit</a></td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileCollection.html#p0">name</a></td><td><a class="el" href="classTFileCollection.html">TFileCollection</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a18">pack</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTSortedCollection.html#b1">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTSortedCollection.html">TSortedCollection</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileCollection.html#a3">remove</a>(TSearchRec *item)</td><td><a class="el" href="classTFileCollection.html">TFileCollection</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a7">TSortedCollection::remove</a>(void *item)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a8">removeAll</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSSortedCollection.html#a1">search</a>(void *key, ccIndex &amp;index)</td><td><a class="el" href="classTNSSortedCollection.html">TNSSortedCollection</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a19">setLimit</a>(ccIndex aLimit)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#n4">shouldDelete</a></td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a2">shutDown</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCollection.html#a0">TCollection</a>(ccIndex aLimit, ccIndex aDelta)</td><td><a class="el" href="classTCollection.html">TCollection</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCollection.html#b0">TCollection</a>(StreamableInit)</td><td><a class="el" href="classTCollection.html">TCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileCollection.html#a0">TFileCollection</a>(ccIndex aLimit, ccIndex aDelta)</td><td><a class="el" href="classTFileCollection.html">TFileCollection</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileCollection.html#b0">TFileCollection</a>(StreamableInit)</td><td><a class="el" href="classTFileCollection.html">TFileCollection</a></td><td><code> [inline, protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a0">TNSCollection</a>(ccIndex aLimit, ccIndex aDelta)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#b0">TNSCollection</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSSortedCollection.html#a0">TNSSortedCollection</a>(ccIndex aLimit, ccIndex aDelta)</td><td><a class="el" href="classTNSSortedCollection.html">TNSSortedCollection</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSSortedCollection.html#b0">TNSSortedCollection</a>()</td><td><a class="el" href="classTNSSortedCollection.html">TNSSortedCollection</a></td><td><code> [inline, protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTSortedCollection.html#a0">TSortedCollection</a>(ccIndex aLimit, ccIndex aDelta)</td><td><a class="el" href="classTSortedCollection.html">TSortedCollection</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTSortedCollection.html#b0">TSortedCollection</a>(StreamableInit)</td><td><a class="el" href="classTSortedCollection.html">TSortedCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTSortedCollection.html#b2">write</a>(opstream &amp;os)</td><td><a class="el" href="classTSortedCollection.html">TSortedCollection</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a1">~TNSCollection</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:13 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTFileCollection.html b/freebsdtvision/doc/html/classTFileCollection.html
new file mode 100644
index 0000000..a5cdbe3
--- /dev/null
+++ b/freebsdtvision/doc/html/classTFileCollection.html
@@ -0,0 +1,533 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TFileCollection class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TFileCollection Class Reference</h1>Implements a sorted collection of file names.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="stddlg_8h-source.html">stddlg.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TFileCollection:
+<p><center><img src="classTFileCollection.png" usemap="#TFileCollection_map" border="0" alt=""></center>
+<map name="TFileCollection_map">
+<area href="classTSortedCollection.html" alt="TSortedCollection" shape="rect" coords="104,168,233,192">
+<area href="classTNSSortedCollection.html" alt="TNSSortedCollection" shape="rect" coords="0,112,129,136">
+<area href="classTCollection.html" alt="TCollection" shape="rect" coords="208,112,337,136">
+<area href="classTNSCollection.html" alt="TNSCollection" shape="rect" coords="0,56,129,80">
+<area href="classTNSCollection.html" alt="TNSCollection" shape="rect" coords="139,56,268,80">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="278,56,407,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,129,24">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="139,0,268,24">
+</map>
+<a href="classTFileCollection-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTFileCollection.html#a0">TFileCollection</a> (<a class="el" href="ttypes_8h.html#a5">ccIndex</a> aLimit, <a class="el" href="ttypes_8h.html#a5">ccIndex</a> aDelta)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="structTSearchRec.html">TSearchRec</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTFileCollection.html#a1">at</a> (<a class="el" href="ttypes_8h.html#a5">ccIndex</a> index)</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a5">ccIndex</a>&nbsp;</td><td valign=bottom><a class="el" href="classTFileCollection.html#a2">indexOf</a> (<a class="el" href="structTSearchRec.html">TSearchRec</a> *item)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTFileCollection.html#a3">remove</a> (<a class="el" href="structTSearchRec.html">TSearchRec</a> *item)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTFileCollection.html#a4">free</a> (<a class="el" href="structTSearchRec.html">TSearchRec</a> *item)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTFileCollection.html#a5">atInsert</a> (<a class="el" href="ttypes_8h.html#a5">ccIndex</a> index, <a class="el" href="structTSearchRec.html">TSearchRec</a> *item)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTFileCollection.html#a6">atPut</a> (<a class="el" href="ttypes_8h.html#a5">ccIndex</a> index, <a class="el" href="structTSearchRec.html">TSearchRec</a> *item)</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a5">ccIndex</a>&nbsp;</td><td valign=bottom><a class="el" href="classTFileCollection.html#a7">insert</a> (<a class="el" href="structTSearchRec.html">TSearchRec</a> *item)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="structTSearchRec.html">TSearchRec</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTFileCollection.html#a8">firstThat</a> (<a class="el" href="ttypes_8h.html#a6">ccTestFunc</a> Test, void *arg)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="structTSearchRec.html">TSearchRec</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTFileCollection.html#a9">lastThat</a> (<a class="el" href="ttypes_8h.html#a6">ccTestFunc</a> Test, void *arg)</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStreamable.html">TStreamable</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTFileCollection.html#d0">build</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>const char *const&nbsp;</td><td valign=bottom><a class="el" href="classTFileCollection.html#p0">name</a></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTFileCollection.html#b0">TFileCollection</a> (<a class="el" href="ttypes_8h.html#a14">StreamableInit</a>)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+TFileCollection is a simple derivative of <a class="el" href="classTSortedCollection.html">TSortedCollection</a> offering a sorted collection of file names.
+<p>
+
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00196">196</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TFileCollection::TFileCollection"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TFileCollection::TFileCollection </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a5">ccIndex</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aLimit</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a5">ccIndex</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aDelta</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Calls the base <a class="el" href="classTSortedCollection.html">TSortedCollection</a> constructor to create a collection with the given limit `aLimit' and delta `aDelta'.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00203">203</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>.
+<p>
+References <a class="el" href="ttypes_8h-source.html#l00072">ccIndex</a>. </td>
+ </tr>
+</table>
+<a name="b0" doxytag="TFileCollection::TFileCollection"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TFileCollection::TFileCollection </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a14">StreamableInit</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00301">301</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>.
+<p>
+References <a class="el" href="ttypes_8h-source.html#l00062">StreamableInit</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="a1" doxytag="TFileCollection::at"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="structTSearchRec.html">TSearchRec</a>* TFileCollection::at </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a5">ccIndex</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>index</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns a pointer to the <a class="el" href="structTSearchRec.html">TSearchRec</a> object indexed by `index' in this file collection.
+<p>
+Reimplemented from <a class="el" href="classTNSCollection.html#a3">TNSCollection</a>.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00209">209</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>.
+<p>
+References <a class="el" href="classTNSCollection.html#a3">TNSCollection::at()</a>, and <a class="el" href="ttypes_8h-source.html#l00072">ccIndex</a>. </td>
+ </tr>
+</table>
+<a name="a5" doxytag="TFileCollection::atInsert"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TFileCollection::atInsert </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a5">ccIndex</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>index</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="structTSearchRec.html">TSearchRec</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>item</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Inserts the <a class="el" href="structTSearchRec.html">TSearchRec</a> file referenced by `item' into the collection at the given `index' and moves the following items down one position.
+<p>
+The collection will be expanded by delta if the insertion causes the limit to be exceeded.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00237">237</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>.
+<p>
+References <a class="el" href="classTNSCollection.html#a11">TNSCollection::atInsert()</a>, and <a class="el" href="ttypes_8h-source.html#l00072">ccIndex</a>. </td>
+ </tr>
+</table>
+<a name="a6" doxytag="TFileCollection::atPut"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TFileCollection::atPut </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a5">ccIndex</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>index</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="structTSearchRec.html">TSearchRec</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>item</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Replaces the <a class="el" href="structTSearchRec.html">TSearchRec</a> file found at `index' with the given `item'.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00242">242</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>.
+<p>
+References <a class="el" href="classTNSCollection.html#a12">TNSCollection::atPut()</a>, and <a class="el" href="ttypes_8h-source.html#l00072">ccIndex</a>. </td>
+ </tr>
+</table>
+<a name="d0" doxytag="TFileCollection::build"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStreamable.html">TStreamable</a>* TFileCollection::build </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called to create an object in certain stream-reading situations. </td>
+ </tr>
+</table>
+<a name="a8" doxytag="TFileCollection::firstThat"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="structTSearchRec.html">TSearchRec</a> * TFileCollection::firstThat </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a6">ccTestFunc</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>Test</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>void *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>arg</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This iterator returns a pointer to the first <a class="el" href="structTSearchRec.html">TSearchRec</a> object in the collection for which the `Test' function returns True.
+<p>
+Reimplemented from <a class="el" href="classTNSCollection.html#a15">TNSCollection</a>.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00335">335</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>.
+<p>
+References <a class="el" href="ttypes_8h-source.html#l00078">ccTestFunc</a>, and <a class="el" href="classTNSCollection.html#a15">TNSCollection::firstThat()</a>. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="TFileCollection::free"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TFileCollection::free </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="structTSearchRec.html">TSearchRec</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>item</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Removes (deletes) the given <a class="el" href="structTSearchRec.html">TSearchRec</a> file `item' from the collection and frees the space in the collection.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00227">227</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>.
+<p>
+References <a class="el" href="classTNSCollection.html#a9">TNSCollection::free()</a>. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="TFileCollection::indexOf"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a5">ccIndex</a> TFileCollection::indexOf </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="structTSearchRec.html">TSearchRec</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>item</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the index of the given <a class="el" href="structTSearchRec.html">TSearchRec</a> file `item' in this file collection.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00215">215</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>.
+<p>
+References <a class="el" href="ttypes_8h-source.html#l00072">ccIndex</a>, and <a class="el" href="classTNSSortedCollection.html#a2">TNSSortedCollection::indexOf()</a>. </td>
+ </tr>
+</table>
+<a name="a7" doxytag="TFileCollection::insert"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a5">ccIndex</a> TFileCollection::insert </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="structTSearchRec.html">TSearchRec</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>item</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Inserts the <a class="el" href="structTSearchRec.html">TSearchRec</a> `item' into the collection, and adjusts the other indexes if necessary.
+<p>
+By default, insertions are made at the end of the collection. The index of the inserted `item' is returned.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00251">251</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>.
+<p>
+References <a class="el" href="ttypes_8h-source.html#l00072">ccIndex</a>, and <a class="el" href="classTNSSortedCollection.html#a3">TNSSortedCollection::insert()</a>. </td>
+ </tr>
+</table>
+<a name="a9" doxytag="TFileCollection::lastThat"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="structTSearchRec.html">TSearchRec</a> * TFileCollection::lastThat </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a6">ccTestFunc</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>Test</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>void *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>arg</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This iterator scans the collection from last item to first. It returns a pointer to the first item (that is, the nearest the end) in the collection for which the `Test' function returns True.
+<p>
+Reimplemented from <a class="el" href="classTNSCollection.html#a16">TNSCollection</a>.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00340">340</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>.
+<p>
+References <a class="el" href="ttypes_8h-source.html#l00078">ccTestFunc</a>, and <a class="el" href="classTNSCollection.html#a16">TNSCollection::lastThat()</a>. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="TFileCollection::remove"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TFileCollection::remove </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="structTSearchRec.html">TSearchRec</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>item</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Removes (deletes) the given <a class="el" href="structTSearchRec.html">TSearchRec</a> file `item' from this file collection. The space in the collection is not freed.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00221">221</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>.
+<p>
+References <a class="el" href="classTNSCollection.html#a7">TNSCollection::remove()</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="p0" doxytag="TFileCollection::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* const TFileCollection::name<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTSortedCollection.html#p0">TSortedCollection</a>.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00306">306</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="stddlg_8h-source.html">stddlg.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:13 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTFileCollection.png b/freebsdtvision/doc/html/classTFileCollection.png
new file mode 100644
index 0000000..3b7b60d
--- /dev/null
+++ b/freebsdtvision/doc/html/classTFileCollection.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTFileDialog-members.html b/freebsdtvision/doc/html/classTFileDialog-members.html
new file mode 100644
index 0000000..3bcd58a
--- /dev/null
+++ b/freebsdtvision/doc/html/classTFileDialog-members.html
@@ -0,0 +1,181 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TFileDialog Member List</h1>This is the complete list of members for <a class="el" href="classTFileDialog.html">TFileDialog</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a17">at</a>(short index)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a5">awaken</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a32">blockCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m4">buffer</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileDialog.html#d0">build</a>()</td><td><a class="el" href="classTFileDialog.html">TFileDialog</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a10">calcBounds</a>(TRect &amp;bounds, TPoint delta)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a25">changeBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a38">clearEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m2">clip</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a2">close</a>()</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d0">commandEnabled</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p0">commandSetChanged</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a7">containsMouse</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindowInit.html#n0">createFrame</a></td><td><a class="el" href="classTWindowInit.html">TWindowInit</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p1">curCommandSet</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m0">current</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m6">cursor</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a26">dataSize</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileDialog.html#m3">directory</a></td><td><a class="el" href="classTFileDialog.html">TFileDialog</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d3">disableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d1">disableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m8">dragMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a9">dragView</a>(TEvent &amp;event, uchar mode, TRect &amp;limits, TPoint minSize, TPoint maxSize)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a29">draw</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a37">drawCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a24">drawHide</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a25">drawShow</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a24">drawSubViews</a>(TView *p, TView *bottom)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a26">drawUnderRect</a>(TRect &amp;r, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a27">drawUnderView</a>(Boolean doShadow, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a20">drawView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d4">enableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d2">enableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a34">endModal</a>(ushort command)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m6">endState</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>enterSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p3">errorAttr</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a39">eventAvail</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a35">eventError</a>(TEvent &amp;event)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m3">eventMask</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a4">execute</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a3">execView</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a21">exposed</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileDialog.html#m1">fileList</a></td><td><a class="el" href="classTFileDialog.html">TFileDialog</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileDialog.html#m0">fileName</a></td><td><a class="el" href="classTFileDialog.html">TFileDialog</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a21">first</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a18">firstMatch</a>(ushort aState, ushort aOptions)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a12">firstThat</a>(Boolean(*func)(TView *, void *), void *args)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#m0">flags</a></td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a22">focus</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a13">focusNext</a>(Boolean forwards)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a14">forEach</a>(void(*func)(TView *, void *), void *args)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#m4">frame</a></td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a38">freeBuffer</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a3">getBounds</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a39">getBuffer</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a5">getClipRect</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a45">getColor</a>(ushort color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d5">getCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileDialog.html#a2">getData</a>(void *rec)</td><td><a class="el" href="classTFileDialog.html">TFileDialog</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a40">getEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a4">getExtent</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileDialog.html#a3">getFileName</a>(char *s)</td><td><a class="el" href="classTFileDialog.html">TFileDialog</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a36">getHelpCtx</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDialog.html#a1">getPalette</a>() const</td><td><a class="el" href="classTDialog.html">TDialog</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a48">getState</a>(ushort aState)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a4">getTitle</a>(short maxSize)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m7">growMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a12">growTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileDialog.html#a4">handleEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTFileDialog.html">TFileDialog</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m9">helpCtx</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a17">hide</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a23">hideCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a19">indexOf</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#d0">initFrame</a>(TRect)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a15">insert</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a16">insertBefore</a>(TView *p, TView *Target)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a6">insertView</a>(TView *p, TView *Target)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a51">keyEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m1">last</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>leaveSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a8">locate</a>(TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a31">lock</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m5">lockFlag</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a58">makeFirst</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a53">makeGlobal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a54">makeLocal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a47">mapColor</a>(uchar)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a20">matches</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a52">mouseEvent</a>(TEvent &amp;event, ushort mask)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a6">mouseInView</a>(TPoint mouse)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a13">moveTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileDialog.html#p0">name</a></td><td><a class="el" href="classTFileDialog.html">TFileDialog</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m0">next</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a55">nextView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a33">normalCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>normalSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#m2">number</a></td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m2">options</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m5">origin</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m10">owner</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#m3">palette</a></td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m3">phase</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s6">phaseType</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phFocused</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPostProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPreProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a57">prev</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a56">prevView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a42">putEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a59">putInFrontOf</a>(TView *Target)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileDialog.html#b2">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTFileDialog.html">TFileDialog</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a30">redraw</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a7">remove</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a8">removeView</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a9">resetCurrent</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a33">resetCursor</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a49">select</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s7">selectMode</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a11">selectNext</a>(Boolean forwards)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a14">setBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d7">setCmdState</a>(TCommandSet &amp;commands, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d6">setCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a10">setCurrent</a>(TView *p, selectMode mode)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a35">setCursor</a>(int x, int y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileDialog.html#a5">setData</a>(void *rec)</td><td><a class="el" href="classTFileDialog.html">TFileDialog</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a6">setState</a>(ushort aState, Boolean enable)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a18">show</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a36">showCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p2">showMarkers</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileDialog.html#a7">shutDown</a>()</td><td><a class="el" href="classTFileDialog.html">TFileDialog</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m1">size</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a7">sizeLimits</a>(TPoint &amp;min, TPoint &amp;max)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a8">standardScrollBar</a>(ushort aOptions)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m4">state</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDialog.html#a0">TDialog</a>(const TRect &amp;bounds, const char *aTitle)</td><td><a class="el" href="classTDialog.html">TDialog</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDialog.html#b0">TDialog</a>(StreamableInit)</td><td><a class="el" href="classTDialog.html">TDialog</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileDialog.html#a0">TFileDialog</a>(const char *aWildCard, const char *aTitle, const char *inputName, ushort aOptions, uchar histId)</td><td><a class="el" href="classTFileDialog.html">TFileDialog</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileDialog.html#b0">TFileDialog</a>(StreamableInit)</td><td><a class="el" href="classTFileDialog.html">TFileDialog</a></td><td><code> [inline, protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a0">TGroup</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#b0">TGroup</a>(StreamableInit)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#m5">title</a></td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a60">TopView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a0">TView</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#b0">TView</a>(StreamableInit)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a0">TWindow</a>(const TRect &amp;bounds, const char *aTitle, short aNumber)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#b0">TWindow</a>(StreamableInit)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindowInit.html#a0">TWindowInit</a>(TFrame *(*cFrame)(TRect bounds))</td><td><a class="el" href="classTWindowInit.html">TWindowInit</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a32">unlock</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileDialog.html#a6">valid</a>(ushort command)</td><td><a class="el" href="classTFileDialog.html">TFileDialog</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileDialog.html#m2">wildCard</a></td><td><a class="el" href="classTFileDialog.html">TFileDialog</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileDialog.html#b1">write</a>(opstream &amp;os)</td><td><a class="el" href="classTFileDialog.html">TFileDialog</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a61">writeBuf</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a62">writeBuf</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a63">writeChar</a>(short x, short y, char c, uchar color, short count)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a64">writeLine</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a65">writeLine</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a66">writeStr</a>(short x, short y, const char *str, uchar color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a9">zoom</a>()</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#m1">zoomRect</a></td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileDialog.html#a1">~TFileDialog</a>()</td><td><a class="el" href="classTFileDialog.html">TFileDialog</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a1">~TGroup</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a1">~TView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a1">~TWindow</a>()</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:13 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTFileDialog.html b/freebsdtvision/doc/html/classTFileDialog.html
new file mode 100644
index 0000000..7110874
--- /dev/null
+++ b/freebsdtvision/doc/html/classTFileDialog.html
@@ -0,0 +1,629 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TFileDialog class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TFileDialog Class Reference</h1>Implements a file dialog box, history pick list, and input line from which file names (including wildcards) can be input, edited, selected, and opened for editing.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="stddlg_8h-source.html">stddlg.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TFileDialog:
+<p><center><img src="classTFileDialog.png" usemap="#TFileDialog_map" border="0" alt=""></center>
+<map name="TFileDialog_map">
+<area href="classTDialog.html" alt="TDialog" shape="rect" coords="92,224,174,248">
+<area href="classTWindow.html" alt="TWindow" shape="rect" coords="92,168,174,192">
+<area href="classTGroup.html" alt="TGroup" shape="rect" coords="46,112,128,136">
+<area href="classTWindowInit.html" alt="TWindowInit" shape="rect" coords="138,112,220,136">
+<area href="classTView.html" alt="TView" shape="rect" coords="46,56,128,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,82,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="92,0,174,24">
+</map>
+<a href="classTFileDialog-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTFileDialog.html#a0">TFileDialog</a> (const char *aWildCard, const char *aTitle, const char *inputName, <a class="el" href="ttypes_8h.html#a0">ushort</a> aOptions, <a class="el" href="ttypes_8h.html#a1">uchar</a> histId)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTFileDialog.html#a1">~TFileDialog</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTFileDialog.html#a2">getData</a> (void *rec)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTFileDialog.html#a3">getFileName</a> (char *s)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTFileDialog.html#a4">handleEvent</a> (<a class="el" href="structTEvent.html">TEvent</a> &amp;event)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTFileDialog.html#a5">setData</a> (void *rec)</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTFileDialog.html#a6">valid</a> (<a class="el" href="ttypes_8h.html#a0">ushort</a> command)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTFileDialog.html#a7">shutDown</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStreamable.html">TStreamable</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTFileDialog.html#d0">build</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTFileInputLine.html">TFileInputLine</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTFileDialog.html#m0">fileName</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTFileList.html">TFileList</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTFileDialog.html#m1">fileList</a></td></tr>
+<tr><td nowrap align=right valign=top>char&nbsp;</td><td valign=bottom><a class="el" href="classTFileDialog.html#m2">wildCard</a> [PATH_MAX]</td></tr>
+<tr><td nowrap align=right valign=top>const char *&nbsp;</td><td valign=bottom><a class="el" href="classTFileDialog.html#m3">directory</a></td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>const char *const&nbsp;</td><td valign=bottom><a class="el" href="classTFileDialog.html#p0">name</a></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTFileDialog.html#b0">TFileDialog</a> (<a class="el" href="ttypes_8h.html#a14">StreamableInit</a>)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTFileDialog.html#b1">write</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void *&nbsp;</td><td valign=bottom><a class="el" href="classTFileDialog.html#b2">read</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+TFileDialog implements a file dialog box, history pick list, and input line from which file names (including wildcards) can be input, edited, selected, and opened for editing.
+<p>
+The following commands are returned by TFileDialog when executed with a call to <a class="el" href="classTGroup.html#a3">TGroup::execView()</a>:
+<p>
+<pre>
+ Constant Value Meaning
+
+ cmFileOpen 1001 Returned when Open pressed
+ cmFileReplace 1002 Returned when Replace pressed
+ cmFileClear 1003 Returned when Clear pressed
+ cmFileInit 1004 Used by <a class="el" href="classTFileDialog.html#a6">valid()</a>
+ </pre>
+<p>
+
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00762">762</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TFileDialog::TFileDialog"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TFileDialog::TFileDialog </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aWildCard</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>const char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aTitle</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>const char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>inputName</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aOptions</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a1">uchar</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>histId</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a fixed-size, framed dialog box with the given title `aTitle'.
+<p>
+A <a class="el" href="classTFileInputLine.html">TFileInputLine</a> object (referenced by the <a class="el" href="classTFileDialog.html#m0">fileName</a> data member) is created and inserted, labeled with `inputName' and with its <a class="el" href="classTInputLine.html#m0">TFileInputLine::data</a> field set to `aWildCard'.
+<p>
+The `aWildCard' argument is expanded (if necessary) to provide a <a class="el" href="classTFileList.html">TFileList</a> object, referenced by the <a class="el" href="classTFileDialog.html#m1">fileList</a> data member.
+<p>
+A <a class="el" href="classTHistory.html">THistory</a> object is created and inserted with the given history ID `histID'.
+<p>
+A vertical scroll bar is created and inserted. Depending on the `aOptions' flags, the appropriate buttons are set up. These options perform the specified operations:
+<p>
+<pre>
+ Constant Value Meaning
+
+ fdOKButton 0x0001 Put an OK button in the dialog
+
+ fdOpenButton 0x0002 Put an Open button in the dialog
+
+ fdReplaceButton 0x0004 Put a Replace button in the dialog
+
+ fdClearButton 0x0008 Put a Clear button in the dialog
+
+ fdHelpButton 0x0010 Put a Help button in the dialog
+
+ fdNoLoadDir 0x0100 Do not load the current directory contents into
+ the dialog when intialized. This means you
+ intend to change the wildcard by using
+ <a class="el" href="classTFileDialog.html#a5">setData()</a> or intend to store the dialog on
+ a stream.
+ </pre>
+<p>
+A <a class="el" href="classTFileInfoPane.html">TFileInfoPane</a> object is created and inserted. If the fdNoLoadDir flag is not set, the files in the current directory are loaded into the file list. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TFileDialog::~TFileDialog"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TFileDialog::~TFileDialog </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Deletes directory, then destroys the file dialog. </td>
+ </tr>
+</table>
+<a name="b0" doxytag="TFileDialog::TFileDialog"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TFileDialog::TFileDialog </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a14">StreamableInit</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00888">888</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>.
+<p>
+References <a class="el" href="classTWindow.html#d0">TWindow::initFrame()</a>, and <a class="el" href="ttypes_8h-source.html#l00062">StreamableInit</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="d0" doxytag="TFileDialog::build"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStreamable.html">TStreamable</a>* TFileDialog::build </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called to create an object in certain stream-reading situations.
+<p>
+Reimplemented from <a class="el" href="classTDialog.html#d0">TDialog</a>. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="TFileDialog::getData"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TFileDialog::getData </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>rec</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTGroup.html#a27">TGroup</a>. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="TFileDialog::getFileName"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TFileDialog::getFileName </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">char *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>s</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Takes the fileName-&gt;data field and expands it to a full path format. The result is set in `s'. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTFileDialog.html#m0">TFileDialog::fileName</a> , <a class="el" href="classTInputLine.html#m0">TFileInputLine::data</a> </dl> </td>
+ </tr>
+</table>
+<a name="a4" doxytag="TFileDialog::handleEvent"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TFileDialog::handleEvent </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="structTEvent.html">TEvent</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>event</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Calls <a class="el" href="classTDialog.html#a2">TDialog::handleEvent()</a>, then handles cmFileOpen, cmFileReplace and cmFileClear events.
+<p>
+These all call <a class="el" href="classTView.html#a43">TView::endModal()</a> and pass their commands to the view that opened the file dialog.
+<p>
+Reimplemented from <a class="el" href="classTDialog.html#a2">TDialog</a>. </td>
+ </tr>
+</table>
+<a name="b2" doxytag="TFileDialog::read"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void* TFileDialog::read </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>is</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Reads from the input stream `is'.
+<p>
+Reimplemented from <a class="el" href="classTWindow.html#b2">TWindow</a>. </td>
+ </tr>
+</table>
+<a name="a5" doxytag="TFileDialog::setData"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TFileDialog::setData </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>rec</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTGroup.html#a28">TGroup</a>. </td>
+ </tr>
+</table>
+<a name="a7" doxytag="TFileDialog::shutDown"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TFileDialog::shutDown </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Used internally by <a class="el" href="classTObject.html#d0">TObject::destroy()</a> to ensure correct destruction of derived and related objects.
+<p>
+<a class="el" href="classTFileDialog.html#a7">shutDown()</a> is overridden in many classes to ensure the proper setting of related data members when <a class="el" href="classTObject.html#d0">destroy()</a> is called.
+<p>
+Reimplemented from <a class="el" href="classTWindow.html#a10">TWindow</a>. </td>
+ </tr>
+</table>
+<a name="a6" doxytag="TFileDialog::valid"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a> TFileDialog::valid </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>command</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns True if `command' is cmValid, indicating a successful construction. Otherwise calls <a class="el" href="classTDialog.html#a3">TDialog::valid()</a>.
+<p>
+If this returns True, the current <a class="el" href="classTFileDialog.html#m0">fileName</a> is checked for validity.
+<p>
+Valid names will return True. Invalid names invoke an "Invalid file name" message box and return False.
+<p>
+Reimplemented from <a class="el" href="classTDialog.html#a3">TDialog</a>. </td>
+ </tr>
+</table>
+<a name="b1" doxytag="TFileDialog::write"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TFileDialog::write </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>os</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Writes to the output stream `os'.
+<p>
+Reimplemented from <a class="el" href="classTWindow.html#b1">TWindow</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="m3" doxytag="TFileDialog::directory"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* TFileDialog::directory
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The current directory.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00869">869</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<a name="m1" doxytag="TFileDialog::fileList"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTFileList.html">TFileList</a>* TFileDialog::fileList
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Pointer to the associated file list.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00861">861</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<a name="m0" doxytag="TFileDialog::fileName"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTFileInputLine.html">TFileInputLine</a>* TFileDialog::fileName
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Pointer to the associated input line.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00857">857</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<a name="p0" doxytag="TFileDialog::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* const TFileDialog::name<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTDialog.html#p0">TDialog</a>.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00902">902</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<a name="m2" doxytag="TFileDialog::wildCard"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> char TFileDialog::wildCard[PATH_MAX]
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The current path and file name.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00865">865</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="stddlg_8h-source.html">stddlg.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:13 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTFileDialog.png b/freebsdtvision/doc/html/classTFileDialog.png
new file mode 100644
index 0000000..9baee50
--- /dev/null
+++ b/freebsdtvision/doc/html/classTFileDialog.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTFileEditor-members.html b/freebsdtvision/doc/html/classTFileEditor-members.html
new file mode 100644
index 0000000..1b84ce6
--- /dev/null
+++ b/freebsdtvision/doc/html/classTFileEditor-members.html
@@ -0,0 +1,214 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TFileEditor Member List</h1>This is the complete list of members for <a class="el" href="classTFileEditor.html">TFileEditor</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m22">autoIndent</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a31">awaken</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a32">blockCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a3">bufChar</a>(uint p)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m3">buffer</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m5">bufLen</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a4">bufPtr</a>(uint p)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m4">bufSize</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileEditor.html#d0">build</a>()</td><td><a class="el" href="classTFileEditor.html">TFileEditor</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a10">calcBounds</a>(TRect &amp;bounds, TPoint delta)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m18">canUndo</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a5">changeBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a27">charPos</a>(uint p, uint target)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a28">charPtr</a>(uint p, uint target)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a60">checkScrollBar</a>(const TEvent &amp;event, TScrollBar *p, int &amp;d)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a38">clearEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#p4">clipboard</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a29">clipCopy</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a30">clipCut</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a31">clipPaste</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d0">commandEnabled</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p0">commandSetChanged</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a7">containsMouse</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a6">convertEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p1">curCommandSet</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m10">curPos</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m9">curPtr</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m6">cursor</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a7">cursorVisible</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a28">dataSize</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m15">delCount</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a32">deleteRange</a>(uint startPtr, uint endPtr, Boolean delSelect)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a8">deleteSelect</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m11">delta</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d3">disableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d1">disableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileEditor.html#a1">doneBuffer</a>()</td><td><a class="el" href="classTFileEditor.html">TFileEditor</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a34">doSearchReplace</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a33">doUpdate</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m8">dragMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a9">dragView</a>(TEvent &amp;event, uchar mode, TRect &amp;limits, TPoint minSize, TPoint maxSize)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a10">draw</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a37">drawCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a24">drawHide</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m13">drawLine</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a35">drawLines</a>(int y, uint count, uint linePtr)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m14">drawPtr</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a25">drawShow</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a26">drawUnderRect</a>(TRect &amp;r, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a27">drawUnderView</a>(Boolean doShadow, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a20">drawView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#p0">editorDialog</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#p1">editorFlags</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d4">enableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d2">enableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a43">endModal</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>enterSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p3">errorAttr</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a39">eventAvail</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m3">eventMask</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a44">execute</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a21">exposed</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileEditor.html#m0">fileName</a></td><td><a class="el" href="classTFileEditor.html">TFileEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a37">find</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#p2">findStr</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a22">focus</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a36">formatLine</a>(void *buff, uint linePtr, int x, ushort color)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m6">gapLen</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a3">getBounds</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a5">getClipRect</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a45">getColor</a>(ushort color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d5">getCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a29">getData</a>(void *rec)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a40">getEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a4">getExtent</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a15">getHelpCtx</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a38">getMousePtr</a>(TPoint m)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a11">getPalette</a>() const</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a48">getState</a>(ushort aState)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m7">growMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a12">growTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileEditor.html#a2">handleEvent</a>(TEvent &amp;)</td><td><a class="el" href="classTFileEditor.html">TFileEditor</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a39">hasSelection</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m9">helpCtx</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a17">hide</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a23">hideCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a40">hideSelect</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m0">hScrollBar</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m2">indicator</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileEditor.html#a3">initBuffer</a>()</td><td><a class="el" href="classTFileEditor.html">TFileEditor</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m16">insCount</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a14">insertBuffer</a>(char *p, uint offset, uint length, Boolean allowUndo, Boolean selectText)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a15">insertFrom</a>(TEditor *editor)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a16">insertText</a>(const void *text, uint length, Boolean selectText)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a41">isClipboard</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m17">isValid</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a51">keyEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m25">keyState</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>leaveSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m12">limit</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a42">lineEnd</a>(uint p)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a43">lineMove</a>(uint p, int count)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a44">lineStart</a>(uint p)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileEditor.html#a4">loadFile</a>()</td><td><a class="el" href="classTFileEditor.html">TFileEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a8">locate</a>(TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a45">lock</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m23">lockCount</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a58">makeFirst</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a53">makeGlobal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a54">makeLocal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a47">mapColor</a>(uchar)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m19">modified</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a52">mouseEvent</a>(TEvent &amp;event, ushort mask)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a6">mouseInView</a>(TPoint mouse)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a13">moveTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileEditor.html#p0">name</a></td><td><a class="el" href="classTFileEditor.html">TFileEditor</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a46">newLine</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m0">next</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a47">nextChar</a>(uint p)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a48">nextLine</a>(uint p)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a55">nextView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a49">nextWord</a>(uint p)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a33">normalCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>normalSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m2">options</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m5">origin</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m21">overwrite</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m10">owner</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s6">phaseType</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phFocused</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPostProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPreProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a57">prev</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a50">prevChar</a>(uint p)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a51">prevLine</a>(uint p)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a56">prevView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a52">prevWord</a>(uint p)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a42">putEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a59">putInFrontOf</a>(TView *Target)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileEditor.html#b2">read</a>(ipstream &amp;)</td><td><a class="el" href="classTFileEditor.html">TFileEditor</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a53">replace</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#p3">replaceStr</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a34">resetCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileEditor.html#a5">save</a>()</td><td><a class="el" href="classTFileEditor.html">TFileEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileEditor.html#a6">saveAs</a>()</td><td><a class="el" href="classTFileEditor.html">TFileEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileEditor.html#a7">saveFile</a>()</td><td><a class="el" href="classTFileEditor.html">TFileEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a17">scrollTo</a>(int x, int y)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a18">search</a>(const char *findStr, ushort opts)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a49">select</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m20">selecting</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s7">selectMode</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m8">selEnd</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m7">selStart</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a14">setBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a54">setBufLen</a>(uint length)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileEditor.html#a8">setBufSize</a>(uint newSize)</td><td><a class="el" href="classTFileEditor.html">TFileEditor</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a20">setCmdState</a>(ushort command, Boolean enable)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d7">TView::setCmdState</a>(TCommandSet &amp;commands, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d6">setCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a55">setCurPtr</a>(uint p, uchar selectMode)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a35">setCursor</a>(int x, int y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a30">setData</a>(void *rec)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a21">setSelect</a>(uint newStart, uint newEnd, Boolean curStart)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a22">setState</a>(ushort aState, Boolean enable)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a18">show</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a36">showCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p2">showMarkers</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileEditor.html#a9">shutDown</a>()</td><td><a class="el" href="classTFileEditor.html">TFileEditor</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m1">size</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a2">sizeLimits</a>(TPoint &amp;min, TPoint &amp;max)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a56">startSelect</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m4">state</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a0">TEditor</a>(const TRect &amp;bounds, TScrollBar *aHScrollBar, TScrollBar *aVScrollBar, TIndicator *aIndicator, uint aBufSize)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#b0">TEditor</a>(StreamableInit)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileEditor.html#a0">TFileEditor</a>(const TRect &amp;bounds, TScrollBar *aHScrollBar, TScrollBar *aVScrollBar, TIndicator *aIndicator, const char *aFileName)</td><td><a class="el" href="classTFileEditor.html">TFileEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileEditor.html#b0">TFileEditor</a>(StreamableInit)</td><td><a class="el" href="classTFileEditor.html">TFileEditor</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a57">toggleInsMode</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a60">TopView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a23">trackCursor</a>(Boolean center)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a0">TView</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#b0">TView</a>(StreamableInit)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a24">undo</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a58">unlock</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a59">update</a>(uchar aFlags)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileEditor.html#a10">updateCommands</a>()</td><td><a class="el" href="classTFileEditor.html">TFileEditor</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m24">updateFlags</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileEditor.html#a11">valid</a>(ushort)</td><td><a class="el" href="classTFileEditor.html">TFileEditor</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m1">vScrollBar</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileEditor.html#b1">write</a>(opstream &amp;)</td><td><a class="el" href="classTFileEditor.html">TFileEditor</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a61">writeBuf</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a62">writeBuf</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a63">writeChar</a>(short x, short y, char c, uchar color, short count)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a64">writeLine</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a65">writeLine</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a66">writeStr</a>(short x, short y, const char *str, uchar color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a1">~TEditor</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a1">~TView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:13 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTFileEditor.html b/freebsdtvision/doc/html/classTFileEditor.html
new file mode 100644
index 0000000..1f78fbe
--- /dev/null
+++ b/freebsdtvision/doc/html/classTFileEditor.html
@@ -0,0 +1,640 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TFileEditor class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TFileEditor Class Reference</h1>Specialized derivative of <a class="el" href="classTEditor.html">TEditor</a> for editing the contents of a file.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="editors_8h-source.html">editors.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TFileEditor:
+<p><center><img src="classTFileEditor.png" usemap="#TFileEditor_map" border="0" alt=""></center>
+<map name="TFileEditor_map">
+<area href="classTEditor.html" alt="TEditor" shape="rect" coords="46,112,128,136">
+<area href="classTView.html" alt="TView" shape="rect" coords="46,56,128,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,82,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="92,0,174,24">
+</map>
+<a href="classTFileEditor-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTFileEditor.html#a0">TFileEditor</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;bounds, <a class="el" href="classTScrollBar.html">TScrollBar</a> *aHScrollBar, <a class="el" href="classTScrollBar.html">TScrollBar</a> *aVScrollBar, <a class="el" href="classTIndicator.html">TIndicator</a> *aIndicator, const char *aFileName)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTFileEditor.html#a1">doneBuffer</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTFileEditor.html#a2">handleEvent</a> (<a class="el" href="structTEvent.html">TEvent</a> &amp;)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTFileEditor.html#a3">initBuffer</a> ()</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTFileEditor.html#a4">loadFile</a> ()</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTFileEditor.html#a5">save</a> ()</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTFileEditor.html#a6">saveAs</a> ()</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTFileEditor.html#a7">saveFile</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTFileEditor.html#a8">setBufSize</a> (<a class="el" href="ttypes_8h.html#a2">uint</a> newSize)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTFileEditor.html#a9">shutDown</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTFileEditor.html#a10">updateCommands</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTFileEditor.html#a11">valid</a> (<a class="el" href="ttypes_8h.html#a0">ushort</a>)</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStreamable.html">TStreamable</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTFileEditor.html#d0">build</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>char&nbsp;</td><td valign=bottom><a class="el" href="classTFileEditor.html#m0">fileName</a> [PATH_MAX]</td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>const char *const&nbsp;</td><td valign=bottom><a class="el" href="classTFileEditor.html#p0">name</a></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTFileEditor.html#b0">TFileEditor</a> (<a class="el" href="ttypes_8h.html#a14">StreamableInit</a>)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTFileEditor.html#b1">write</a> (<a class="el" href="classopstream.html">opstream</a> &amp;)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void *&nbsp;</td><td valign=bottom><a class="el" href="classTFileEditor.html#b2">read</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+TFileEditor is a specialized derivative of <a class="el" href="classTEditor.html">TEditor</a> for editing the contents of a file.
+<p>
+
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l01185">1185</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TFileEditor::TFileEditor"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TFileEditor::TFileEditor </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>bounds</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTScrollBar.html">TScrollBar</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aHScrollBar</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTScrollBar.html">TScrollBar</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aVScrollBar</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTIndicator.html">TIndicator</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aIndicator</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>const char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aFileName</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a TFileEditor object with the given scroll bars and indicator and loads the contents of the file given in `aFileName'.
+<p>
+If the file is not found or invalid, an error message will be displayed and the object's <a class="el" href="classTFileEditor.html#a11">valid()</a> member function will return False.
+<p>
+The options variable is set to <a class="el" href="views_8h.html#a38">ofSelectable</a> and the <a class="el" href="classTView.html#m3">eventMask</a> is set to allow the handling of broadcast events.
+<p>
+Any of `aHScrollBar', `aVScrollBar' or `aIndicator' arguments can be set to 0 if you do not want them. </td>
+ </tr>
+</table>
+<a name="b0" doxytag="TFileEditor::TFileEditor"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TFileEditor::TFileEditor </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a14">StreamableInit</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Each streamable class needs a "builder" to allocate the correct memory for its objects together with the initialized virtual table pointers.
+<p>
+This is achieved by calling this constructor with an argument of type <a class="el" href="ttypes_8h.html#a14">StreamableInit</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="d0" doxytag="TFileEditor::build"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStreamable.html">TStreamable</a>* TFileEditor::build </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called to create an object in certain stream-reading situations.
+<p>
+Reimplemented from <a class="el" href="classTEditor.html#d0">TEditor</a>. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TFileEditor::doneBuffer"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TFileEditor::doneBuffer </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Deletes the buffer.
+<p>
+Reimplemented from <a class="el" href="classTEditor.html#a9">TEditor</a>. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="TFileEditor::handleEvent"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TFileEditor::handleEvent </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="structTEvent.html">TEvent</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Calls <a class="el" href="classTEditor.html#a12">TEditor::handleEvent()</a>, then handles cmSave and cmSaveAs commands.
+<p>
+The cmSave command invokes <a class="el" href="classTFileEditor.html#a5">save()</a>; the cmSaveAs command invokes <a class="el" href="classTFileEditor.html#a6">saveAs()</a>.
+<p>
+Reimplemented from <a class="el" href="classTEditor.html#a12">TEditor</a>. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="TFileEditor::initBuffer"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TFileEditor::initBuffer </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Allocates <a class="el" href="classTEditor.html#m4">bufSize</a> bytes of memory for the file editor buffer.
+<p>
+Reimplemented from <a class="el" href="classTEditor.html#a13">TEditor</a>. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="TFileEditor::loadFile"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a13">Boolean</a> TFileEditor::loadFile </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Reads the <a class="el" href="classTFileEditor.html#m0">fileName</a> file from disk and checks for errors.
+<p>
+Returns True if all is well; otherwise returns False. Depending on the reason for failure, the <a class="el" href="editors_8h.html#a33">edOutOfMemory</a> or <a class="el" href="editors_8h.html#a34">edReadError</a> dialog box is displayed with a call to <a class="el" href="classTEditor.html#p0">editorDialog()</a>. </td>
+ </tr>
+</table>
+<a name="b2" doxytag="TFileEditor::read"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void* TFileEditor::read </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Reads from the input stream `is'.
+<p>
+Reimplemented from <a class="el" href="classTEditor.html#b2">TEditor</a>. </td>
+ </tr>
+</table>
+<a name="a5" doxytag="TFileEditor::save"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a13">Boolean</a> TFileEditor::save </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Calls <a class="el" href="classTFileEditor.html#a6">saveAs()</a> if the file being edited is "Untitled" (that is, no <a class="el" href="classTFileEditor.html#m0">fileName</a> is allocated) and returns the return value from <a class="el" href="classTFileEditor.html#a6">saveAs()</a>.
+<p>
+If there is a valid <a class="el" href="classTFileEditor.html#m0">fileName</a>, <a class="el" href="classTFileEditor.html#a7">saveFile()</a> is invoked, and <a class="el" href="classTFileEditor.html#a5">save()</a> returns the return value of <a class="el" href="classTFileEditor.html#a7">saveFile()</a>. </td>
+ </tr>
+</table>
+<a name="a6" doxytag="TFileEditor::saveAs"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a13">Boolean</a> TFileEditor::saveAs </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Invokes the <a class="el" href="editors_8h.html#a39">edSaveAs</a> dialog, which prompts for a "save as" file name. If a valid file name is supplied, the current text will be saved with this name using the <a class="el" href="classTFileEditor.html#a7">saveFile()</a> member function. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTEditor.html#p0">editorDialog</a></dl>The file editor's owner is informed of this event via a broadcast cmUpdateTitle message. <a class="el" href="classTFileEditor.html#a6">saveAs()</a> returns True if the <a class="el" href="classTFileEditor.html#a7">saveFile()</a> call is successful, otherwise False is returned.
+<p>
+False is also returned if the <a class="el" href="editors_8h.html#a39">edSaveAs</a> dialog is cancelled. </td>
+ </tr>
+</table>
+<a name="a7" doxytag="TFileEditor::saveFile"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a13">Boolean</a> TFileEditor::saveFile </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Saves the <a class="el" href="classTFileEditor.html#m0">fileName</a> file to disk. Returns False if the save fails; otherwise returns True. If <a class="el" href="classTEditor.html#p1">editorFlags</a> has the <a class="el" href="editors_8h.html#a49">efBackupFiles</a> bit set, a backup file is created.
+<p>
+The <a class="el" href="editors_8h.html#a36">edCreateError</a> or <a class="el" href="editors_8h.html#a35">edWriteError</a> dialog box will be displayed to indicate the reason for failure if save fails. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTEditor.html#p0">editorDialog</a> </dl> </td>
+ </tr>
+</table>
+<a name="a8" doxytag="TFileEditor::setBufSize"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a> TFileEditor::setBufSize </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a2">uint</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>newSize</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Overrides <a class="el" href="classTEditor.html#a19">TEditor::setBufSize()</a> to grow and shrink the buffer.
+<p>
+Will grow and shrink the buffer in 4K byte increments. <a class="el" href="classTEditor.html#m6">gapLen</a> data member is adjusted appropriately.
+<p>
+Reimplemented from <a class="el" href="classTEditor.html#a19">TEditor</a>. </td>
+ </tr>
+</table>
+<a name="a9" doxytag="TFileEditor::shutDown"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TFileEditor::shutDown </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTEditor.html#a2">TEditor</a>. </td>
+ </tr>
+</table>
+<a name="a10" doxytag="TFileEditor::updateCommands"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TFileEditor::updateCommands </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Calls <a class="el" href="classTEditor.html#a25">TEditor::updateCommands()</a>, then enables the cmSave and cmSaveAs commands. These commands are only valid if the selected view is an editor, otherwise they should be disabled.
+<p>
+Reimplemented from <a class="el" href="classTEditor.html#a25">TEditor</a>. </td>
+ </tr>
+</table>
+<a name="a11" doxytag="TFileEditor::valid"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a> TFileEditor::valid </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Overrides <a class="el" href="classTEditor.html#a26">TEditor::valid()</a> to warn that the file might need saving before the program exits.
+<p>
+The <a class="el" href="editors_8h.html#a38">edSaveUntitled</a> or <a class="el" href="editors_8h.html#a37">edSaveModify</a> dialogs are displayed as appropriate. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTEditor.html#p0">editorDialog</a></dl>Returns False if the user cancels the save.
+<p>
+Reimplemented from <a class="el" href="classTEditor.html#a26">TEditor</a>. </td>
+ </tr>
+</table>
+<a name="b1" doxytag="TFileEditor::write"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TFileEditor::write </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Writes to the output stream `os'.
+<p>
+Reimplemented from <a class="el" href="classTEditor.html#b1">TEditor</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="m0" doxytag="TFileEditor::fileName"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> char TFileEditor::fileName[PATH_MAX]
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The name of the file being edited.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l01191">1191</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="p0" doxytag="TFileEditor::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* const TFileEditor::name<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTEditor.html#p5">TEditor</a>.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l01320">1320</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="editors_8h-source.html">editors.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:13 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTFileEditor.png b/freebsdtvision/doc/html/classTFileEditor.png
new file mode 100644
index 0000000..5b1522a
--- /dev/null
+++ b/freebsdtvision/doc/html/classTFileEditor.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTFileInfoPane-members.html b/freebsdtvision/doc/html/classTFileInfoPane-members.html
new file mode 100644
index 0000000..0368064
--- /dev/null
+++ b/freebsdtvision/doc/html/classTFileInfoPane-members.html
@@ -0,0 +1,123 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TFileInfoPane Member List</h1>This is the complete list of members for <a class="el" href="classTFileInfoPane.html">TFileInfoPane</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a31">awaken</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a32">blockCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileInfoPane.html#d0">build</a>()</td><td><a class="el" href="classTFileInfoPane.html">TFileInfoPane</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a10">calcBounds</a>(TRect &amp;bounds, TPoint delta)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a11">changeBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a38">clearEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d0">commandEnabled</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p0">commandSetChanged</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a7">containsMouse</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p1">curCommandSet</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m6">cursor</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a28">dataSize</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d3">disableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d1">disableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m8">dragMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a9">dragView</a>(TEvent &amp;event, uchar mode, TRect &amp;limits, TPoint minSize, TPoint maxSize)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileInfoPane.html#a1">draw</a>()</td><td><a class="el" href="classTFileInfoPane.html">TFileInfoPane</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a37">drawCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a24">drawHide</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a25">drawShow</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a26">drawUnderRect</a>(TRect &amp;r, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a27">drawUnderView</a>(Boolean doShadow, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a20">drawView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d4">enableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d2">enableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a43">endModal</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>enterSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p3">errorAttr</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a39">eventAvail</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m3">eventMask</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a44">execute</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a21">exposed</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a22">focus</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a3">getBounds</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a5">getClipRect</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a45">getColor</a>(ushort color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d5">getCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a29">getData</a>(void *rec)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a40">getEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a4">getExtent</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a15">getHelpCtx</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileInfoPane.html#a2">getPalette</a>() const</td><td><a class="el" href="classTFileInfoPane.html">TFileInfoPane</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a48">getState</a>(ushort aState)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m7">growMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a12">growTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileInfoPane.html#a3">handleEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTFileInfoPane.html">TFileInfoPane</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m9">helpCtx</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a17">hide</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a23">hideCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a51">keyEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>leaveSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a8">locate</a>(TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a58">makeFirst</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a53">makeGlobal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a54">makeLocal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a47">mapColor</a>(uchar)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a52">mouseEvent</a>(TEvent &amp;event, ushort mask)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a6">mouseInView</a>(TPoint mouse)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a13">moveTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileInfoPane.html#p0">name</a></td><td><a class="el" href="classTFileInfoPane.html">TFileInfoPane</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m0">next</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a55">nextView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a33">normalCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>normalSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m2">options</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m5">origin</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m10">owner</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s6">phaseType</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phFocused</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPostProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPreProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a57">prev</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a56">prevView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a42">putEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a59">putInFrontOf</a>(TView *Target)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#b2">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a34">resetCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a49">select</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s7">selectMode</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a14">setBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d7">setCmdState</a>(TCommandSet &amp;commands, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d6">setCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a35">setCursor</a>(int x, int y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a30">setData</a>(void *rec)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a50">setState</a>(ushort aState, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a18">show</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a36">showCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p2">showMarkers</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a67">shutDown</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m1">size</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a2">sizeLimits</a>(TPoint &amp;min, TPoint &amp;max)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m4">state</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileInfoPane.html#a0">TFileInfoPane</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTFileInfoPane.html">TFileInfoPane</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileInfoPane.html#b0">TFileInfoPane</a>(StreamableInit)</td><td><a class="el" href="classTFileInfoPane.html">TFileInfoPane</a></td><td><code> [inline, protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a60">TopView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a0">TView</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#b0">TView</a>(StreamableInit)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a16">valid</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#b1">write</a>(opstream &amp;os)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a61">writeBuf</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a62">writeBuf</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a63">writeChar</a>(short x, short y, char c, uchar color, short count)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a64">writeLine</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a65">writeLine</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a66">writeStr</a>(short x, short y, const char *str, uchar color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a1">~TView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:13 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTFileInfoPane.html b/freebsdtvision/doc/html/classTFileInfoPane.html
new file mode 100644
index 0000000..a80d883
--- /dev/null
+++ b/freebsdtvision/doc/html/classTFileInfoPane.html
@@ -0,0 +1,260 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TFileInfoPane class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TFileInfoPane Class Reference</h1>Implements a simple, streamable view for displaying file information in the owning file dialog box.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="stddlg_8h-source.html">stddlg.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TFileInfoPane:
+<p><center><img src="classTFileInfoPane.png" usemap="#TFileInfoPane_map" border="0" alt=""></center>
+<map name="TFileInfoPane_map">
+<area href="classTView.html" alt="TView" shape="rect" coords="50,56,140,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,90,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="100,0,190,24">
+</map>
+<a href="classTFileInfoPane-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTFileInfoPane.html#a0">TFileInfoPane</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;bounds)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTFileInfoPane.html#a1">draw</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="classTPalette.html">TPalette</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="classTFileInfoPane.html#a2">getPalette</a> () const</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTFileInfoPane.html#a3">handleEvent</a> (<a class="el" href="structTEvent.html">TEvent</a> &amp;event)</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStreamable.html">TStreamable</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTFileInfoPane.html#d0">build</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>const char *const&nbsp;</td><td valign=bottom><a class="el" href="classTFileInfoPane.html#p0">name</a></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTFileInfoPane.html#b0">TFileInfoPane</a> (<a class="el" href="ttypes_8h.html#a14">StreamableInit</a>)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+TFileInfoPane implements a simple, streamable view for displaying file information in the owning file dialog box.
+<p>
+
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00634">634</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TFileInfoPane::TFileInfoPane"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TFileInfoPane::TFileInfoPane </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>bounds</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Calls <a class="el" href="classTView.html">TView</a> constructor TView(bounds) to create a file information pane with the given bounds. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#a0">TView::TView</a></dl><a class="el" href="system_8h.html#a6">evBroadcast</a> flag is set in <a class="el" href="classTView.html#m3">TView::eventMask</a>. </td>
+ </tr>
+</table>
+<a name="b0" doxytag="TFileInfoPane::TFileInfoPane"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TFileInfoPane::TFileInfoPane </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a14">StreamableInit</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00687">687</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>.
+<p>
+References <a class="el" href="ttypes_8h-source.html#l00062">StreamableInit</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="d0" doxytag="TFileInfoPane::build"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStreamable.html">TStreamable</a>* TFileInfoPane::build </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called to create an object in certain stream-reading situations.
+<p>
+Reimplemented from <a class="el" href="classTView.html#d8">TView</a>. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TFileInfoPane::draw"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TFileInfoPane::draw </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Draws the file info pane in the default palette. The block size and date/time stamp are displayed.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a19">TView</a>. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="TFileInfoPane::getPalette"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="classTPalette.html">TPalette</a>&amp; TFileInfoPane::getPalette </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the default palette.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a46">TView</a>. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="TFileInfoPane::handleEvent"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TFileInfoPane::handleEvent </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="structTEvent.html">TEvent</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>event</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Calls <a class="el" href="classTView.html#a41">TView::handleEvent()</a>, then handles broadcast cmFileFocused events (triggered when a new file is focused in a file list) by displaying the file information pane.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a41">TView</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="p0" doxytag="TFileInfoPane::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* const TFileInfoPane::name<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTView.html#p4">TView</a>.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00692">692</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="stddlg_8h-source.html">stddlg.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:13 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTFileInfoPane.png b/freebsdtvision/doc/html/classTFileInfoPane.png
new file mode 100644
index 0000000..3e44174
--- /dev/null
+++ b/freebsdtvision/doc/html/classTFileInfoPane.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTFileInputLine-members.html b/freebsdtvision/doc/html/classTFileInputLine-members.html
new file mode 100644
index 0000000..f3c8872
--- /dev/null
+++ b/freebsdtvision/doc/html/classTFileInputLine-members.html
@@ -0,0 +1,134 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TFileInputLine Member List</h1>This is the complete list of members for <a class="el" href="classTFileInputLine.html">TFileInputLine</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a31">awaken</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a32">blockCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileInputLine.html#d0">build</a>()</td><td><a class="el" href="classTFileInputLine.html">TFileInputLine</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a10">calcBounds</a>(TRect &amp;bounds, TPoint delta)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a11">changeBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a38">clearEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d0">commandEnabled</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p0">commandSetChanged</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a7">containsMouse</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p1">curCommandSet</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTInputLine.html#m2">curPos</a></td><td><a class="el" href="classTInputLine.html">TInputLine</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m6">cursor</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTInputLine.html#m0">data</a></td><td><a class="el" href="classTInputLine.html">TInputLine</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTInputLine.html#a2">dataSize</a>()</td><td><a class="el" href="classTInputLine.html">TInputLine</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d3">disableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d1">disableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m8">dragMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a9">dragView</a>(TEvent &amp;event, uchar mode, TRect &amp;limits, TPoint minSize, TPoint maxSize)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTInputLine.html#a3">draw</a>()</td><td><a class="el" href="classTInputLine.html">TInputLine</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a37">drawCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a24">drawHide</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a25">drawShow</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a26">drawUnderRect</a>(TRect &amp;r, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a27">drawUnderView</a>(Boolean doShadow, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a20">drawView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d4">enableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d2">enableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a43">endModal</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>enterSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p3">errorAttr</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a39">eventAvail</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m3">eventMask</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a44">execute</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a21">exposed</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTInputLine.html#m3">firstPos</a></td><td><a class="el" href="classTInputLine.html">TInputLine</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a22">focus</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a3">getBounds</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a5">getClipRect</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a45">getColor</a>(ushort color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d5">getCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTInputLine.html#a4">getData</a>(void *rec)</td><td><a class="el" href="classTInputLine.html">TInputLine</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a40">getEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a4">getExtent</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a15">getHelpCtx</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTInputLine.html#a5">getPalette</a>() const</td><td><a class="el" href="classTInputLine.html">TInputLine</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a48">getState</a>(ushort aState)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m7">growMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a12">growTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileInputLine.html#a1">handleEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTFileInputLine.html">TFileInputLine</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m9">helpCtx</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a17">hide</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a23">hideCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a51">keyEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>leaveSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a8">locate</a>(TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a58">makeFirst</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a53">makeGlobal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a54">makeLocal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a47">mapColor</a>(uchar)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTInputLine.html#m1">maxLen</a></td><td><a class="el" href="classTInputLine.html">TInputLine</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a52">mouseEvent</a>(TEvent &amp;event, ushort mask)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a6">mouseInView</a>(TPoint mouse)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a13">moveTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileInputLine.html#p0">name</a></td><td><a class="el" href="classTFileInputLine.html">TFileInputLine</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m0">next</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a55">nextView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a33">normalCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>normalSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m2">options</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m5">origin</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m10">owner</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s6">phaseType</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phFocused</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPostProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPreProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a57">prev</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a56">prevView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a42">putEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a59">putInFrontOf</a>(TView *Target)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTInputLine.html#b2">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTInputLine.html">TInputLine</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a34">resetCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a49">select</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTInputLine.html#a7">selectAll</a>(Boolean enable)</td><td><a class="el" href="classTInputLine.html">TInputLine</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s7">selectMode</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTInputLine.html#m5">selEnd</a></td><td><a class="el" href="classTInputLine.html">TInputLine</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTInputLine.html#m4">selStart</a></td><td><a class="el" href="classTInputLine.html">TInputLine</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a14">setBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d7">setCmdState</a>(TCommandSet &amp;commands, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d6">setCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a35">setCursor</a>(int x, int y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTInputLine.html#a8">setData</a>(void *rec)</td><td><a class="el" href="classTInputLine.html">TInputLine</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTInputLine.html#a9">setState</a>(ushort aState, Boolean enable)</td><td><a class="el" href="classTInputLine.html">TInputLine</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTInputLine.html#a11">setValidator</a>(TValidator *aValid)</td><td><a class="el" href="classTInputLine.html">TInputLine</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a18">show</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a36">showCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p2">showMarkers</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a67">shutDown</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m1">size</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a2">sizeLimits</a>(TPoint &amp;min, TPoint &amp;max)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m4">state</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileInputLine.html#a0">TFileInputLine</a>(const TRect &amp;bounds, short aMaxLen)</td><td><a class="el" href="classTFileInputLine.html">TFileInputLine</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileInputLine.html#b0">TFileInputLine</a>(StreamableInit)</td><td><a class="el" href="classTFileInputLine.html">TFileInputLine</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTInputLine.html#a0">TInputLine</a>(const TRect &amp;bounds, int aMaxLen, TValidator *aValid=0)</td><td><a class="el" href="classTInputLine.html">TInputLine</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTInputLine.html#b0">TInputLine</a>(StreamableInit)</td><td><a class="el" href="classTInputLine.html">TInputLine</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a60">TopView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a0">TView</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#b0">TView</a>(StreamableInit)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTInputLine.html#a10">valid</a>(ushort cmd)</td><td><a class="el" href="classTInputLine.html">TInputLine</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTInputLine.html#b1">write</a>(opstream &amp;os)</td><td><a class="el" href="classTInputLine.html">TInputLine</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a61">writeBuf</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a62">writeBuf</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a63">writeChar</a>(short x, short y, char c, uchar color, short count)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a64">writeLine</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a65">writeLine</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a66">writeStr</a>(short x, short y, const char *str, uchar color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTInputLine.html#a1">~TInputLine</a>()</td><td><a class="el" href="classTInputLine.html">TInputLine</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a1">~TView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:13 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTFileInputLine.html b/freebsdtvision/doc/html/classTFileInputLine.html
new file mode 100644
index 0000000..f37903b
--- /dev/null
+++ b/freebsdtvision/doc/html/classTFileInputLine.html
@@ -0,0 +1,209 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TFileInputLine class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TFileInputLine Class Reference</h1>Allows the input and editing of file names, including optional paths and wild cards.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="stddlg_8h-source.html">stddlg.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TFileInputLine:
+<p><center><img src="classTFileInputLine.png" usemap="#TFileInputLine_map" border="0" alt=""></center>
+<map name="TFileInputLine_map">
+<area href="classTInputLine.html" alt="TInputLine" shape="rect" coords="50,112,141,136">
+<area href="classTView.html" alt="TView" shape="rect" coords="50,56,141,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,91,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="101,0,192,24">
+</map>
+<a href="classTFileInputLine-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTFileInputLine.html#a0">TFileInputLine</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;bounds, short aMaxLen)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTFileInputLine.html#a1">handleEvent</a> (<a class="el" href="structTEvent.html">TEvent</a> &amp;event)</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStreamable.html">TStreamable</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTFileInputLine.html#d0">build</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>const char *const&nbsp;</td><td valign=bottom><a class="el" href="classTFileInputLine.html#p0">name</a></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTFileInputLine.html#b0">TFileInputLine</a> (<a class="el" href="ttypes_8h.html#a14">StreamableInit</a>)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+TFileInputLine implements a specialized <a class="el" href="classTInputLine.html">TInputLine</a> allowing the input and editing of file names, including optional paths and wild cards.
+<p>
+A TFileInputLine object is associated with a file dialog box.
+<p>
+
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00124">124</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TFileInputLine::TFileInputLine"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TFileInputLine::TFileInputLine </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>bounds</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>short&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aMaxLen</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Calls <a class="el" href="classTInputLine.html">TInputLine</a> constructor TInputLine(bounds, aMaxLen) to create a file input line with the given bounds and maximum length `aMaxLen'.
+<p>
+<a class="el" href="system_8h.html#a6">evBroadcast</a> flag is set in the <a class="el" href="classTView.html#m3">eventMask</a>. </td>
+ </tr>
+</table>
+<a name="b0" doxytag="TFileInputLine::TFileInputLine"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TFileInputLine::TFileInputLine </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a14">StreamableInit</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="d0" doxytag="TFileInputLine::build"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStreamable.html">TStreamable</a>* TFileInputLine::build </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called to create an object in certain stream-reading situations.
+<p>
+Reimplemented from <a class="el" href="classTInputLine.html#d0">TInputLine</a>. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TFileInputLine::handleEvent"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TFileInputLine::handleEvent </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="structTEvent.html">TEvent</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>event</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Calls <a class="el" href="classTInputLine.html#a6">TInputLine::handleEvent()</a>, then handles broadcast cmFileFocused events by copying the entered file name into the input line's <a class="el" href="classTInputLine.html#m0">TInputLine::data</a> member and redrawing the view.
+<p>
+If the edited name is a directory, the current file name in the owning <a class="el" href="classTFileDialog.html">TFileDialog</a> object is appended first.
+<p>
+Reimplemented from <a class="el" href="classTInputLine.html#a6">TInputLine</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="p0" doxytag="TFileInputLine::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* const TFileInputLine::name<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTInputLine.html#p0">TInputLine</a>.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00155">155</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="stddlg_8h-source.html">stddlg.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:13 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTFileInputLine.png b/freebsdtvision/doc/html/classTFileInputLine.png
new file mode 100644
index 0000000..91436ed
--- /dev/null
+++ b/freebsdtvision/doc/html/classTFileInputLine.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTFileList-members.html b/freebsdtvision/doc/html/classTFileList-members.html
new file mode 100644
index 0000000..e9cd0b8
--- /dev/null
+++ b/freebsdtvision/doc/html/classTFileList-members.html
@@ -0,0 +1,152 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TFileList Member List</h1>This is the complete list of members for <a class="el" href="classTFileList.html">TFileList</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a31">awaken</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a32">blockCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileList.html#d0">build</a>()</td><td><a class="el" href="classTFileList.html">TFileList</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a10">calcBounds</a>(TRect &amp;bounds, TPoint delta)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a1">changeBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a38">clearEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d0">commandEnabled</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p0">commandSetChanged</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a7">containsMouse</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p1">curCommandSet</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m6">cursor</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileList.html#a8">dataSize</a>()</td><td><a class="el" href="classTFileList.html">TFileList</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d3">disableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d1">disableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m8">dragMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a9">dragView</a>(TEvent &amp;event, uchar mode, TRect &amp;limits, TPoint minSize, TPoint maxSize)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a2">draw</a>()</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a37">drawCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a24">drawHide</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a25">drawShow</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a26">drawUnderRect</a>(TRect &amp;r, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a27">drawUnderView</a>(Boolean doShadow, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a20">drawView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d4">enableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d2">enableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a43">endModal</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>enterSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p3">errorAttr</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a39">eventAvail</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m3">eventMask</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a44">execute</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a21">exposed</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a22">focus</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#m4">focused</a></td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileList.html#a2">focusItem</a>(short item)</td><td><a class="el" href="classTFileList.html">TFileList</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a11">focusItemNum</a>(short item)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a3">getBounds</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a5">getClipRect</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a45">getColor</a>(ushort color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d5">getCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileList.html#a9">getData</a>(void *rec)</td><td><a class="el" href="classTFileList.html">TFileList</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a40">getEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a4">getExtent</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a15">getHelpCtx</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a4">getPalette</a>() const</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a48">getState</a>(ushort aState)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileList.html#a4">getText</a>(char *dest, short item, short maxLen)</td><td><a class="el" href="classTFileList.html">TFileList</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m7">growMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a12">growTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTSortedListBox.html#a1">handleEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTSortedListBox.html">TSortedListBox</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m9">helpCtx</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a17">hide</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a23">hideCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#m0">hScrollBar</a></td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a6">isSelected</a>(short item)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListBox.html#n0">items</a></td><td><a class="el" href="classTListBox.html">TListBox</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a51">keyEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>leaveSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileList.html#a11">list</a>()</td><td><a class="el" href="classTFileList.html">TFileList</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a8">locate</a>(TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a58">makeFirst</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a53">makeGlobal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a54">makeLocal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a47">mapColor</a>(uchar)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a52">mouseEvent</a>(TEvent &amp;event, ushort mask)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a6">mouseInView</a>(TPoint mouse)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a13">moveTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileList.html#p0">name</a></td><td><a class="el" href="classTFileList.html">TFileList</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileList.html#a5">newList</a>(TFileCollection *aList)</td><td><a class="el" href="classTFileList.html">TFileList</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTSortedListBox.html#a2">TSortedListBox::newList</a>(TSortedCollection *aList)</td><td><a class="el" href="classTSortedListBox.html">TSortedListBox</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListBox.html#a5">TListBox::newList</a>(TCollection *aList)</td><td><a class="el" href="classTListBox.html">TListBox</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m0">next</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a55">nextView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a33">normalCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>normalSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#m2">numCols</a></td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m2">options</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m5">origin</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m10">owner</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s6">phaseType</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phFocused</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPostProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPreProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a57">prev</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a56">prevView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a42">putEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a59">putInFrontOf</a>(TView *Target)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#m5">range</a></td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTSortedListBox.html#a3">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTSortedListBox.html">TSortedListBox</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileList.html#a6">readDirectory</a>(const char *dir, const char *wildCard)</td><td><a class="el" href="classTFileList.html">TFileList</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileList.html#a7">readDirectory</a>(const char *wildCard)</td><td><a class="el" href="classTFileList.html">TFileList</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a34">resetCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a49">select</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileList.html#a3">selectItem</a>(short item)</td><td><a class="el" href="classTFileList.html">TFileList</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s7">selectMode</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#p0">separatorChar</a></td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a14">setBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d7">setCmdState</a>(TCommandSet &amp;commands, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d6">setCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a35">setCursor</a>(int x, int y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileList.html#a10">setData</a>(void *rec)</td><td><a class="el" href="classTFileList.html">TFileList</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a9">setRange</a>(short aRange)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a10">setState</a>(ushort aState, Boolean enable)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTSortedListBox.html#n0">shiftState</a></td><td><a class="el" href="classTSortedListBox.html">TSortedListBox</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a18">show</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a36">showCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p2">showMarkers</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a12">shutDown</a>()</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m1">size</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a2">sizeLimits</a>(TPoint &amp;min, TPoint &amp;max)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m4">state</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileList.html#a0">TFileList</a>(const TRect &amp;bounds, TScrollBar *aScrollBar)</td><td><a class="el" href="classTFileList.html">TFileList</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileList.html#b0">TFileList</a>(StreamableInit)</td><td><a class="el" href="classTFileList.html">TFileList</a></td><td><code> [inline, protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListBox.html#a0">TListBox</a>(const TRect &amp;bounds, ushort aNumCols, TScrollBar *aScrollBar)</td><td><a class="el" href="classTListBox.html">TListBox</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListBox.html#b0">TListBox</a>(StreamableInit)</td><td><a class="el" href="classTListBox.html">TListBox</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a0">TListViewer</a>(const TRect &amp;bounds, ushort aNumCols, TScrollBar *aHScrollBar, TScrollBar *aVScrollBar)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#b0">TListViewer</a>(StreamableInit)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#m3">topItem</a></td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a60">TopView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTSortedListBox.html#a0">TSortedListBox</a>(const TRect &amp;bounds, ushort aNumCols, TScrollBar *aScrollBar)</td><td><a class="el" href="classTSortedListBox.html">TSortedListBox</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTSortedListBox.html#b0">TSortedListBox</a>(StreamableInit)</td><td><a class="el" href="classTSortedListBox.html">TSortedListBox</a></td><td><code> [inline, protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a0">TView</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#b0">TView</a>(StreamableInit)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a16">valid</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#m1">vScrollBar</a></td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListBox.html#b1">write</a>(opstream &amp;os)</td><td><a class="el" href="classTListBox.html">TListBox</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a61">writeBuf</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a62">writeBuf</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a63">writeChar</a>(short x, short y, char c, uchar color, short count)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a64">writeLine</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a65">writeLine</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a66">writeStr</a>(short x, short y, const char *str, uchar color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFileList.html#a1">~TFileList</a>()</td><td><a class="el" href="classTFileList.html">TFileList</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListBox.html#a1">~TListBox</a>()</td><td><a class="el" href="classTListBox.html">TListBox</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a1">~TView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:13 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTFileList.html b/freebsdtvision/doc/html/classTFileList.html
new file mode 100644
index 0000000..c82ec2c
--- /dev/null
+++ b/freebsdtvision/doc/html/classTFileList.html
@@ -0,0 +1,564 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TFileList class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TFileList Class Reference</h1>Implements a sorted two-column list box of file names; you can select a file name by mouse or keyboard cursor actions.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="stddlg_8h-source.html">stddlg.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TFileList:
+<p><center><img src="classTFileList.png" usemap="#TFileList_map" border="0" alt=""></center>
+<map name="TFileList_map">
+<area href="classTSortedListBox.html" alt="TSortedListBox" shape="rect" coords="53,224,149,248">
+<area href="classTListBox.html" alt="TListBox" shape="rect" coords="53,168,149,192">
+<area href="classTListViewer.html" alt="TListViewer" shape="rect" coords="53,112,149,136">
+<area href="classTView.html" alt="TView" shape="rect" coords="53,56,149,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,96,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="106,0,202,24">
+</map>
+<a href="classTFileList-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTFileList.html#a0">TFileList</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;bounds, <a class="el" href="classTScrollBar.html">TScrollBar</a> *aScrollBar)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTFileList.html#a1">~TFileList</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTFileList.html#a2">focusItem</a> (short item)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTFileList.html#a3">selectItem</a> (short item)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTFileList.html#a4">getText</a> (char *dest, short item, short maxLen)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTFileList.html#a5">newList</a> (<a class="el" href="classTFileCollection.html">TFileCollection</a> *aList)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTFileList.html#a6">readDirectory</a> (const char *dir, const char *wildCard)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTFileList.html#a7">readDirectory</a> (const char *wildCard)</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="classTFileList.html#a8">dataSize</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTFileList.html#a9">getData</a> (void *rec)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTFileList.html#a10">setData</a> (void *rec)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTFileCollection.html">TFileCollection</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTFileList.html#a11">list</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStreamable.html">TStreamable</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTFileList.html#d0">build</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>const char *const&nbsp;</td><td valign=bottom><a class="el" href="classTFileList.html#p0">name</a></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTFileList.html#b0">TFileList</a> (<a class="el" href="ttypes_8h.html#a14">StreamableInit</a>)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+TFileList implements a sorted two-column list box of file names (held in a <a class="el" href="classTFileCollection.html">TFileCollection</a> object). You can select (highlight) a file name by mouse or keyboard cursor actions.
+<p>
+TFileList inherits most of its functionality from <a class="el" href="classTSortedListBox.html">TSortedListBox</a>. The following commands are broadcast by TFileList:
+<p>
+<pre>
+ Constant Value Meaning
+
+ cmFileFocused 102 A new file was focused in object
+ cmFileDoubleClicked 103 A file was selected in the TFileList object
+ </pre>
+<p>
+
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00491">491</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TFileList::TFileList"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TFileList::TFileList </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>bounds</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTScrollBar.html">TScrollBar</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aScrollBar</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Calls the <a class="el" href="classTSortedListBox.html">TSortedListBox</a> constructor to create a two-column TFileList object with the given bounds and, if `aScrollBar' is non-zero, a vertical scrollbar. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTSortedListBox.html#a0">TSortedListBox::TSortedListBox</a> </dl> </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TFileList::~TFileList"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TFileList::~TFileList </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Deletes the file list. </td>
+ </tr>
+</table>
+<a name="b0" doxytag="TFileList::TFileList"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TFileList::TFileList </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a14">StreamableInit</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00575">575</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>.
+<p>
+References <a class="el" href="ttypes_8h-source.html#l00062">StreamableInit</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="d0" doxytag="TFileList::build"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStreamable.html">TStreamable</a>* TFileList::build </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called to create an object in certain stream-reading situations.
+<p>
+Reimplemented from <a class="el" href="classTSortedListBox.html#d0">TSortedListBox</a>. </td>
+ </tr>
+</table>
+<a name="a8" doxytag="TFileList::dataSize"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a0">ushort</a> TFileList::dataSize </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTListBox.html#a2">TListBox</a>. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="TFileList::focusItem"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TFileList::focusItem </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">short&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>item</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Focuses the given item in the list. Calls <a class="el" href="classTListViewer.html#a3">TSortedListBox::focusItem()</a> and broadcasts a cmFileFocused event.
+<p>
+Reimplemented from <a class="el" href="classTListViewer.html#a3">TListViewer</a>. </td>
+ </tr>
+</table>
+<a name="a9" doxytag="TFileList::getData"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TFileList::getData </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>rec</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTListBox.html#a3">TListBox</a>. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="TFileList::getText"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TFileList::getText </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>dest</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>short&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>item</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>short&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>maxLen</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Grabs the <a class="el" href="structTSearchRec.html">TSearchRec</a> object at `item' and sets the file name in `dest'. "\" is appended if the name is a directory.
+<p>
+Reimplemented from <a class="el" href="classTListBox.html#a4">TListBox</a>. </td>
+ </tr>
+</table>
+<a name="a11" doxytag="TFileList::list"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTFileCollection.html">TFileCollection</a> * TFileList::list </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the private items data member, a pointer to the <a class="el" href="classTFileCollection.html">TFileCollection</a> object currently associated with this file list box.
+<p>
+Reimplemented from <a class="el" href="classTSortedListBox.html#a4">TSortedListBox</a>.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00614">614</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>.
+<p>
+References <a class="el" href="stddlg_8h-source.html#l00460">TSortedListBox::list()</a>. </td>
+ </tr>
+</table>
+<a name="a5" doxytag="TFileList::newList"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TFileList::newList </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTFileCollection.html">TFileCollection</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>aList</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Calls <a class="el" href="classTSortedListBox.html#a2">TSortedListBox::newList()</a> to delete the existing <a class="el" href="classTFileCollection.html">TFileCollection</a> object associated with this list box and replace it with the file collection given by `aList'.
+<p>
+The first item of the new collection will receive the focus.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00609">609</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>.
+<p>
+References <a class="el" href="classTSortedListBox.html#a2">TSortedListBox::newList()</a>. </td>
+ </tr>
+</table>
+<a name="a7" doxytag="TFileList::readDirectory"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TFileList::readDirectory </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>wildCard</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Expands the `wildCard' string to generate the file collection associated with this file list. The resulting <a class="el" href="classTFileCollection.html">TFileCollection</a> object (a sorted set of <a class="el" href="structTSearchRec.html">TSearchRec</a> objects) is assigned to the private items data member (accessible via the <a class="el" href="classTFileList.html#a11">list()</a> member function).
+<p>
+If too many files are generated, a warning message box appears. <a class="el" href="classTFileList.html#a6">readDirectory()</a> knows about file attributes and will not generate hidden file names. </td>
+ </tr>
+</table>
+<a name="a6" doxytag="TFileList::readDirectory"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TFileList::readDirectory </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>dir</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>const char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>wildCard</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Allows the separate submission of a relative or absolute path in the `dir' argument. Either "/" or "\" can be used as subdirectory separators (but "\" is converted to "/" for output). </td>
+ </tr>
+</table>
+<a name="a3" doxytag="TFileList::selectItem"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TFileList::selectItem </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">short&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>item</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTListViewer.html#a8">TListViewer</a>. </td>
+ </tr>
+</table>
+<a name="a10" doxytag="TFileList::setData"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TFileList::setData </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>rec</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTListBox.html#a6">TListBox</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="p0" doxytag="TFileList::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* const TFileList::name<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTSortedListBox.html#p0">TSortedListBox</a>.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00580">580</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="stddlg_8h-source.html">stddlg.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:13 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTFileList.png b/freebsdtvision/doc/html/classTFileList.png
new file mode 100644
index 0000000..86909e5
--- /dev/null
+++ b/freebsdtvision/doc/html/classTFileList.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTFilterValidator-members.html b/freebsdtvision/doc/html/classTFilterValidator-members.html
new file mode 100644
index 0000000..b2b3adf
--- /dev/null
+++ b/freebsdtvision/doc/html/classTFilterValidator-members.html
@@ -0,0 +1,35 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TFilterValidator Member List</h1>This is the complete list of members for <a class="el" href="classTFilterValidator.html">TFilterValidator</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFilterValidator.html#d0">build</a>()</td><td><a class="el" href="classTFilterValidator.html">TFilterValidator</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFilterValidator.html#a2">error</a>()</td><td><a class="el" href="classTFilterValidator.html">TFilterValidator</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFilterValidator.html#a4">isValid</a>(const char *s)</td><td><a class="el" href="classTFilterValidator.html">TFilterValidator</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFilterValidator.html#a3">isValidInput</a>(char *s, Boolean suppressFill)</td><td><a class="el" href="classTFilterValidator.html">TFilterValidator</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFilterValidator.html#p0">name</a></td><td><a class="el" href="classTFilterValidator.html">TFilterValidator</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTValidator.html#m1">options</a></td><td><a class="el" href="classTValidator.html">TValidator</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFilterValidator.html#b2">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTFilterValidator.html">TFilterValidator</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a1">shutDown</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTValidator.html#m0">status</a></td><td><a class="el" href="classTValidator.html">TValidator</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFilterValidator.html#a0">TFilterValidator</a>(const char *aValidChars)</td><td><a class="el" href="classTFilterValidator.html">TFilterValidator</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFilterValidator.html#b0">TFilterValidator</a>(StreamableInit)</td><td><a class="el" href="classTFilterValidator.html">TFilterValidator</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTValidator.html#a4">transfer</a>(char *s, void *buffer, TVTransfer flag)</td><td><a class="el" href="classTValidator.html">TValidator</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTValidator.html#a0">TValidator</a>()</td><td><a class="el" href="classTValidator.html">TValidator</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTValidator.html#b0">TValidator</a>(StreamableInit)</td><td><a class="el" href="classTValidator.html">TValidator</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTValidator.html#a5">validate</a>(const char *s)</td><td><a class="el" href="classTValidator.html">TValidator</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFilterValidator.html#n0">validChars</a></td><td><a class="el" href="classTFilterValidator.html">TFilterValidator</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFilterValidator.html#b1">write</a>(opstream &amp;os)</td><td><a class="el" href="classTFilterValidator.html">TFilterValidator</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFilterValidator.html#a1">~TFilterValidator</a>()</td><td><a class="el" href="classTFilterValidator.html">TFilterValidator</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:13 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTFilterValidator.html b/freebsdtvision/doc/html/classTFilterValidator.html
new file mode 100644
index 0000000..3049bd7
--- /dev/null
+++ b/freebsdtvision/doc/html/classTFilterValidator.html
@@ -0,0 +1,399 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TFilterValidator class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TFilterValidator Class Reference</h1>Check an input field as the user types into it.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="validate_8h-source.html">validate.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TFilterValidator:
+<p><center><img src="classTFilterValidator.png" usemap="#TFilterValidator_map" border="0" alt=""></center>
+<map name="TFilterValidator_map">
+<area href="classTValidator.html" alt="TValidator" shape="rect" coords="58,56,164,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,106,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="116,0,222,24">
+<area href="classTRangeValidator.html" alt="TRangeValidator" shape="rect" coords="58,168,164,192">
+</map>
+<a href="classTFilterValidator-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTFilterValidator.html#a0">TFilterValidator</a> (const char *aValidChars)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTFilterValidator.html#a1">~TFilterValidator</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTFilterValidator.html#a2">error</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTFilterValidator.html#a3">isValidInput</a> (char *s, <a class="el" href="ttypes_8h.html#a13">Boolean</a> suppressFill)</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTFilterValidator.html#a4">isValid</a> (const char *s)</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStreamable.html">TStreamable</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTFilterValidator.html#d0">build</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>const char *const&nbsp;</td><td valign=bottom><a class="el" href="classTFilterValidator.html#p0">name</a></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTFilterValidator.html#b0">TFilterValidator</a> (<a class="el" href="ttypes_8h.html#a14">StreamableInit</a>)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTFilterValidator.html#b1">write</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void *&nbsp;</td><td valign=bottom><a class="el" href="classTFilterValidator.html#b2">read</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is)</td></tr>
+<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>char *&nbsp;</td><td valign=bottom><a class="el" href="classTFilterValidator.html#n0">validChars</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Filter validator objects check an input field as the user types into it. The validator holds a set of allowed characters. If the user types one of the legal characters, the filter validator indicates that the character is valid.
+<p>
+If the user types any other character, the validator indicates that the input is invalid.
+<p>
+
+<p>
+Definition at line <a class="el" href="validate_8h-source.html#l00502">502</a> of file <a class="el" href="validate_8h-source.html">validate.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TFilterValidator::TFilterValidator"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TFilterValidator::TFilterValidator </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>aValidChars</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructs a filter validator object by first calling the constructor inherited from <a class="el" href="classTValidator.html">TValidator</a>, then setting <a class="el" href="classTFilterValidator.html#n0">validChars</a> data member to `aValidChars'. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TFilterValidator::~TFilterValidator"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TFilterValidator::~TFilterValidator </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="b0" doxytag="TFilterValidator::TFilterValidator"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TFilterValidator::TFilterValidator </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a14">StreamableInit</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Each streamable class needs a "builder" to allocate the correct memory for its objects together with the initialized virtual table pointers. This is achieved by calling this constructor with an argument of type <a class="el" href="ttypes_8h.html#a14">StreamableInit</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="d0" doxytag="TFilterValidator::build"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStreamable.html">TStreamable</a>* TFilterValidator::build </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called to create an object in certain stream-reading situations.
+<p>
+Reimplemented from <a class="el" href="classTValidator.html#d0">TValidator</a>.
+<p>
+Reimplemented in <a class="el" href="classTRangeValidator.html#d0">TRangeValidator</a>. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="TFilterValidator::error"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TFilterValidator::error </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTValidator.html#a1">TValidator</a>.
+<p>
+Reimplemented in <a class="el" href="classTRangeValidator.html#a1">TRangeValidator</a>. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="TFilterValidator::isValid"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a> TFilterValidator::isValid </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>s</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Checks each character in the string `s' to make sure it is in the set of allowed characters, <a class="el" href="classTFilterValidator.html#n0">validChars</a>. Returns True if all characters in `s' are valid; otherwise returns False.
+<p>
+Reimplemented from <a class="el" href="classTValidator.html#a3">TValidator</a>.
+<p>
+Reimplemented in <a class="el" href="classTRangeValidator.html#a2">TRangeValidator</a>. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="TFilterValidator::isValidInput"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a> TFilterValidator::isValidInput </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>s</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>suppressFill</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Checks each character in the string `s' to make sure it is in the set of allowed characters, <a class="el" href="classTFilterValidator.html#n0">validChars</a>. Returns True if all characters in `s' are valid; otherwise returns False.
+<p>
+Reimplemented from <a class="el" href="classTValidator.html#a2">TValidator</a>. </td>
+ </tr>
+</table>
+<a name="b2" doxytag="TFilterValidator::read"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void* TFilterValidator::read </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>is</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Reads from the input stream `is'.
+<p>
+Reimplemented from <a class="el" href="classTValidator.html#b2">TValidator</a>.
+<p>
+Reimplemented in <a class="el" href="classTRangeValidator.html#b2">TRangeValidator</a>. </td>
+ </tr>
+</table>
+<a name="b1" doxytag="TFilterValidator::write"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TFilterValidator::write </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>os</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Writes to the output stream `os'.
+<p>
+Reimplemented from <a class="el" href="classTValidator.html#b1">TValidator</a>.
+<p>
+Reimplemented in <a class="el" href="classTRangeValidator.html#b1">TRangeValidator</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="p0" doxytag="TFilterValidator::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* const TFilterValidator::name<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTValidator.html#p0">TValidator</a>.
+<p>
+Reimplemented in <a class="el" href="classTRangeValidator.html#p0">TRangeValidator</a>.
+<p>
+Definition at line <a class="el" href="validate_8h-source.html#l00567">567</a> of file <a class="el" href="validate_8h-source.html">validate.h</a>. </td>
+ </tr>
+</table>
+<a name="n0" doxytag="TFilterValidator::validChars"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> char* TFilterValidator::validChars<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Contains the set of all characters the user can type. For example, to allow only numeric digits, set validChars to ['0'..'9']. validChars is set by the `aValidChars' parameter passed to the constructor.
+<p>
+Definition at line <a class="el" href="validate_8h-source.html#l00553">553</a> of file <a class="el" href="validate_8h-source.html">validate.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="validate_8h-source.html">validate.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:13 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTFilterValidator.png b/freebsdtvision/doc/html/classTFilterValidator.png
new file mode 100644
index 0000000..738077c
--- /dev/null
+++ b/freebsdtvision/doc/html/classTFilterValidator.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTFrame-members.html b/freebsdtvision/doc/html/classTFrame-members.html
new file mode 100644
index 0000000..9309d76
--- /dev/null
+++ b/freebsdtvision/doc/html/classTFrame-members.html
@@ -0,0 +1,127 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TFrame Member List</h1>This is the complete list of members for <a class="el" href="classTFrame.html">TFrame</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a31">awaken</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a32">blockCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFrame.html#d0">build</a>()</td><td><a class="el" href="classTFrame.html">TFrame</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a10">calcBounds</a>(TRect &amp;bounds, TPoint delta)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a11">changeBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a38">clearEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFrame.html#p1">closeIcon</a></td><td><a class="el" href="classTFrame.html">TFrame</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d0">commandEnabled</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p0">commandSetChanged</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a7">containsMouse</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p1">curCommandSet</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m6">cursor</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a28">dataSize</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d3">disableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d1">disableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFrame.html#p2">dragIcon</a></td><td><a class="el" href="classTFrame.html">TFrame</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m8">dragMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a9">dragView</a>(TEvent &amp;event, uchar mode, TRect &amp;limits, TPoint minSize, TPoint maxSize)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFrame.html#a1">draw</a>()</td><td><a class="el" href="classTFrame.html">TFrame</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a37">drawCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a24">drawHide</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a25">drawShow</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a26">drawUnderRect</a>(TRect &amp;r, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a27">drawUnderView</a>(Boolean doShadow, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a20">drawView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d4">enableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d2">enableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a43">endModal</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>enterSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p3">errorAttr</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a39">eventAvail</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m3">eventMask</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a44">execute</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a21">exposed</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a22">focus</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFrame.html#p0">frameChars</a></td><td><a class="el" href="classTFrame.html">TFrame</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a3">getBounds</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a5">getClipRect</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a45">getColor</a>(ushort color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d5">getCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a29">getData</a>(void *rec)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a40">getEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a4">getExtent</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a15">getHelpCtx</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFrame.html#a2">getPalette</a>() const</td><td><a class="el" href="classTFrame.html">TFrame</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a48">getState</a>(ushort aState)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m7">growMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a12">growTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFrame.html#a3">handleEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTFrame.html">TFrame</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m9">helpCtx</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a17">hide</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a23">hideCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a51">keyEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>leaveSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a8">locate</a>(TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a58">makeFirst</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a53">makeGlobal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a54">makeLocal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a47">mapColor</a>(uchar)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a52">mouseEvent</a>(TEvent &amp;event, ushort mask)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a6">mouseInView</a>(TPoint mouse)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a13">moveTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFrame.html#p3">name</a></td><td><a class="el" href="classTFrame.html">TFrame</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m0">next</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a55">nextView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a33">normalCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>normalSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m2">options</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m5">origin</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m10">owner</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s6">phaseType</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phFocused</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPostProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPreProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a57">prev</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a56">prevView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a42">putEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a59">putInFrontOf</a>(TView *Target)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#b2">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a34">resetCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a49">select</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s7">selectMode</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a14">setBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d7">setCmdState</a>(TCommandSet &amp;commands, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d6">setCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a35">setCursor</a>(int x, int y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a30">setData</a>(void *rec)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFrame.html#a4">setState</a>(ushort aState, Boolean enable)</td><td><a class="el" href="classTFrame.html">TFrame</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a18">show</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a36">showCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p2">showMarkers</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a67">shutDown</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m1">size</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a2">sizeLimits</a>(TPoint &amp;min, TPoint &amp;max)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m4">state</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFrame.html#l0">TDisplay</a> class</td><td><a class="el" href="classTFrame.html">TFrame</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFrame.html#a0">TFrame</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTFrame.html">TFrame</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFrame.html#b0">TFrame</a>(StreamableInit)</td><td><a class="el" href="classTFrame.html">TFrame</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a60">TopView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a0">TView</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#b0">TView</a>(StreamableInit)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a16">valid</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#b1">write</a>(opstream &amp;os)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a61">writeBuf</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a62">writeBuf</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a63">writeChar</a>(short x, short y, char c, uchar color, short count)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a64">writeLine</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a65">writeLine</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a66">writeStr</a>(short x, short y, const char *str, uchar color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a1">~TView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:14 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTFrame.html b/freebsdtvision/doc/html/classTFrame.html
new file mode 100644
index 0000000..644da93
--- /dev/null
+++ b/freebsdtvision/doc/html/classTFrame.html
@@ -0,0 +1,407 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TFrame class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TFrame Class Reference</h1>The frame around the windows.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="views_8h-source.html">views.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TFrame:
+<p><center><img src="classTFrame.png" usemap="#TFrame_map" border="0" alt=""></center>
+<map name="TFrame_map">
+<area href="classTView.html" alt="TView" shape="rect" coords="46,56,128,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,82,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="92,0,174,24">
+</map>
+<a href="classTFrame-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTFrame.html#a0">TFrame</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;bounds)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTFrame.html#a1">draw</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="classTPalette.html">TPalette</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="classTFrame.html#a2">getPalette</a> () const</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTFrame.html#a3">handleEvent</a> (<a class="el" href="structTEvent.html">TEvent</a> &amp;event)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTFrame.html#a4">setState</a> (<a class="el" href="ttypes_8h.html#a0">ushort</a> aState, <a class="el" href="ttypes_8h.html#a13">Boolean</a> enable)</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStreamable.html">TStreamable</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTFrame.html#d0">build</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>char&nbsp;</td><td valign=bottom><a class="el" href="classTFrame.html#p0">frameChars</a> [33]</td></tr>
+<tr><td nowrap align=right valign=top>const char *&nbsp;</td><td valign=bottom><a class="el" href="classTFrame.html#p1">closeIcon</a></td></tr>
+<tr><td nowrap align=right valign=top>const char *&nbsp;</td><td valign=bottom><a class="el" href="classTFrame.html#p2">dragIcon</a></td></tr>
+<tr><td nowrap align=right valign=top>const char *const&nbsp;</td><td valign=bottom><a class="el" href="classTFrame.html#p3">name</a></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTFrame.html#b0">TFrame</a> (<a class="el" href="ttypes_8h.html#a14">StreamableInit</a>)</td></tr>
+<tr><td colspan=2><br><h2>Friends</h2></td></tr>
+<tr><td nowrap align=right valign=top>class&nbsp;</td><td valign=bottom><a class="el" href="classTFrame.html#l0">TDisplay</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+TFrame provides the distinctive frames around windows and dialog boxes. Users will probably never need to deal with frame objects directly, as they are added to window objects by default.
+<p>
+
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l01951">1951</a> of file <a class="el" href="views_8h-source.html">views.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TFrame::TFrame"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TFrame::TFrame </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>bounds</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Calls <a class="el" href="classTView.html">TView</a> constructor TView(bounds), then sets <a class="el" href="classTView.html#m7">growMode</a> to <a class="el" href="views_8h.html#a52">gfGrowHiX</a> | <a class="el" href="views_8h.html#a53">gfGrowHiY</a> and sets <a class="el" href="classTView.html#m3">eventMask</a> to @reg eventMask | <a class="el" href="system_8h.html#a6">evBroadcast</a>, so TFrame objects default to handling broadcast events. `bounds' is the bounding rectangle of the frame. </td>
+ </tr>
+</table>
+<a name="b0" doxytag="TFrame::TFrame"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TFrame::TFrame </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a14">StreamableInit</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Used to recover the view from a stream. Each streamable class needs a "builder" to allocate the correct memory for its objects together with the initialized vtable pointers. This is achieved by calling this constructor with an argument of type <a class="el" href="ttypes_8h.html#a14">StreamableInit</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="d0" doxytag="TFrame::build"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStreamable.html">TStreamable</a>* TFrame::build </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Used to recover the view from a stream. Called to create an object in certain stream-reading situations.
+<p>
+Reimplemented from <a class="el" href="classTView.html#d8">TView</a>. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TFrame::draw"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TFrame::draw </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Draws the frame with color attributes and icons appropriate to the current state flags: active, inactive, being dragged. Adds zoom, close and resize icons depending on the owner window's flags. Adds the title, if any, from the owning window's title data member.
+<p>
+Active windows are drawn with a double-lined frame and any icons; inactive windows are drawn with a single-lined frame and no icons. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#a19">TView::draw</a> </dl>
+<p>
+Reimplemented from <a class="el" href="classTView.html#a19">TView</a>. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="TFrame::getPalette"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="classTPalette.html">TPalette</a>&amp; TFrame::getPalette </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns a reference to the default frame palette string. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#a46">TView::getPalette</a> </dl>
+<p>
+Reimplemented from <a class="el" href="classTView.html#a46">TView</a>. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="TFrame::handleEvent"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TFrame::handleEvent </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="structTEvent.html">TEvent</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>event</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Calls <a class="el" href="classTView.html#a41">TView::handleEvent()</a>, then handles mouse events.
+<p>
+If the mouse is clicked on the close icon, <a class="el" href="classTFrame.html#a3">TFrame::handleEvent()</a> generates a cmClose event. Clicking on the zoom icon or double-clicking on the top line of the frame generates a cmZoom event.
+<p>
+Dragging the top line of the frame moves the window, and dragging the resize icon moves the lower right corner of the view and therefore changes its size.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a41">TView</a>. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="TFrame::setState"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TFrame::setState </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aState</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>enable</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Changes the state of the frame. Calls TView::setState(aState, enable). If the new state is <a class="el" href="views_8h.html#a30">sfActive</a> or <a class="el" href="views_8h.html#a33">sfDragging</a>, calls <a class="el" href="classTView.html#a20">TView::drawView()</a> to redraw the view. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#a50">TView::setState</a> , <a class="el" href="classTView.html#m4">TView::state</a> </dl>
+<p>
+Reimplemented from <a class="el" href="classTView.html#a50">TView</a>. </td>
+ </tr>
+</table>
+<hr><h2>Friends And Related Function Documentation</h2>
+<a name="l0" doxytag="TFrame::TDisplay"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> friend class TDisplay<code> [friend]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l02023">2023</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="p1" doxytag="TFrame::closeIcon"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* TFrame::closeIcon<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The character showed in the close box.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l02006">2006</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="p2" doxytag="TFrame::dragIcon"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* TFrame::dragIcon<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The character showed in the lower right corner of the screen.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l02010">2010</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="p0" doxytag="TFrame::frameChars"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> char TFrame::frameChars[33]<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l02002">2002</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="p3" doxytag="TFrame::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* const TFrame::name<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTView.html#p4">TView</a>.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l02054">2054</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="views_8h-source.html">views.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:14 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTFrame.png b/freebsdtvision/doc/html/classTFrame.png
new file mode 100644
index 0000000..cbf5f92
--- /dev/null
+++ b/freebsdtvision/doc/html/classTFrame.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTGroup-members.html b/freebsdtvision/doc/html/classTGroup-members.html
new file mode 100644
index 0000000..3dc5c25
--- /dev/null
+++ b/freebsdtvision/doc/html/classTGroup-members.html
@@ -0,0 +1,155 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TGroup Member List</h1>This is the complete list of members for <a class="el" href="classTGroup.html">TGroup</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a17">at</a>(short index)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a5">awaken</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a32">blockCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m4">buffer</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#d0">build</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a10">calcBounds</a>(TRect &amp;bounds, TPoint delta)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a25">changeBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a38">clearEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m2">clip</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d0">commandEnabled</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p0">commandSetChanged</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a7">containsMouse</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p1">curCommandSet</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m0">current</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m6">cursor</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a26">dataSize</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d3">disableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d1">disableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m8">dragMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a9">dragView</a>(TEvent &amp;event, uchar mode, TRect &amp;limits, TPoint minSize, TPoint maxSize)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a29">draw</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a37">drawCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a24">drawHide</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a25">drawShow</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a24">drawSubViews</a>(TView *p, TView *bottom)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a26">drawUnderRect</a>(TRect &amp;r, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a27">drawUnderView</a>(Boolean doShadow, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a20">drawView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d4">enableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d2">enableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a34">endModal</a>(ushort command)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m6">endState</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>enterSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p3">errorAttr</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a39">eventAvail</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a35">eventError</a>(TEvent &amp;event)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m3">eventMask</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a4">execute</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a3">execView</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a21">exposed</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a21">first</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a18">firstMatch</a>(ushort aState, ushort aOptions)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a12">firstThat</a>(Boolean(*func)(TView *, void *), void *args)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a22">focus</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a13">focusNext</a>(Boolean forwards)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a14">forEach</a>(void(*func)(TView *, void *), void *args)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a38">freeBuffer</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a3">getBounds</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a39">getBuffer</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a5">getClipRect</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a45">getColor</a>(ushort color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d5">getCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a27">getData</a>(void *rec)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a40">getEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a4">getExtent</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a36">getHelpCtx</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a46">getPalette</a>() const</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a48">getState</a>(ushort aState)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m7">growMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a12">growTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a23">handleEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m9">helpCtx</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a17">hide</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a23">hideCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a19">indexOf</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a15">insert</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a16">insertBefore</a>(TView *p, TView *Target)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a6">insertView</a>(TView *p, TView *Target)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a51">keyEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m1">last</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>leaveSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a8">locate</a>(TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a31">lock</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m5">lockFlag</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a58">makeFirst</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a53">makeGlobal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a54">makeLocal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a47">mapColor</a>(uchar)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a20">matches</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a52">mouseEvent</a>(TEvent &amp;event, ushort mask)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a6">mouseInView</a>(TPoint mouse)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a13">moveTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#p0">name</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m0">next</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a55">nextView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a33">normalCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>normalSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m2">options</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m5">origin</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m10">owner</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m3">phase</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s6">phaseType</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phFocused</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPostProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPreProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a57">prev</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a56">prevView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a42">putEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a59">putInFrontOf</a>(TView *Target)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#b2">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a30">redraw</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a7">remove</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a8">removeView</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a9">resetCurrent</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a33">resetCursor</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a49">select</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s7">selectMode</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a11">selectNext</a>(Boolean forwards)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a14">setBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d7">setCmdState</a>(TCommandSet &amp;commands, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d6">setCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a10">setCurrent</a>(TView *p, selectMode mode)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a35">setCursor</a>(int x, int y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a28">setData</a>(void *rec)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a22">setState</a>(ushort aState, Boolean enable)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a18">show</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a36">showCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p2">showMarkers</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a2">shutDown</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m1">size</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a2">sizeLimits</a>(TPoint &amp;min, TPoint &amp;max)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m4">state</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a0">TGroup</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#b0">TGroup</a>(StreamableInit)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a60">TopView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a0">TView</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#b0">TView</a>(StreamableInit)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a32">unlock</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a37">valid</a>(ushort command)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#b1">write</a>(opstream &amp;os)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a61">writeBuf</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a62">writeBuf</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a63">writeChar</a>(short x, short y, char c, uchar color, short count)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a64">writeLine</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a65">writeLine</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a66">writeStr</a>(short x, short y, const char *str, uchar color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a1">~TGroup</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a1">~TView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:14 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTGroup.html b/freebsdtvision/doc/html/classTGroup.html
new file mode 100644
index 0000000..1f8299a
--- /dev/null
+++ b/freebsdtvision/doc/html/classTGroup.html
@@ -0,0 +1,1809 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TGroup class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TGroup Class Reference</h1>TGroup objects and their derivatives provide the central driving power to TVision.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="views_8h-source.html">views.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TGroup:
+<p><center><img src="classTGroup.png" usemap="#TGroup_map" border="0" alt=""></center>
+<map name="TGroup_map">
+<area href="classTView.html" alt="TView" shape="rect" coords="113,56,216,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="56,0,159,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="169,0,272,24">
+<area href="classTDeskTop.html" alt="TDeskTop" shape="rect" coords="0,168,103,192">
+<area href="classTProgram.html" alt="TProgram" shape="rect" coords="113,168,216,192">
+<area href="classTWindow.html" alt="TWindow" shape="rect" coords="395,168,498,192">
+<area href="classTApplication.html" alt="TApplication" shape="rect" coords="113,224,216,248">
+<area href="classTDialog.html" alt="TDialog" shape="rect" coords="226,224,329,248">
+<area href="classTEditWindow.html" alt="TEditWindow" shape="rect" coords="339,224,442,248">
+<area href="classTHelpWindow.html" alt="THelpWindow" shape="rect" coords="452,224,555,248">
+<area href="classTHistoryWindow.html" alt="THistoryWindow" shape="rect" coords="565,224,668,248">
+<area href="classTChDirDialog.html" alt="TChDirDialog" shape="rect" coords="113,280,216,304">
+<area href="classTColorDialog.html" alt="TColorDialog" shape="rect" coords="226,280,329,304">
+<area href="classTFileDialog.html" alt="TFileDialog" shape="rect" coords="339,280,442,304">
+</map>
+<a href="classTGroup-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTGroup.html#a0">TGroup</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;bounds)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTGroup.html#a1">~TGroup</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTGroup.html#a2">shutDown</a> ()</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="classTGroup.html#a3">execView</a> (<a class="el" href="classTView.html">TView</a> *p)</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="classTGroup.html#a4">execute</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTGroup.html#a5">awaken</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTGroup.html#a6">insertView</a> (<a class="el" href="classTView.html">TView</a> *p, <a class="el" href="classTView.html">TView</a> *Target)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTGroup.html#a7">remove</a> (<a class="el" href="classTView.html">TView</a> *p)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTGroup.html#a8">removeView</a> (<a class="el" href="classTView.html">TView</a> *p)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTGroup.html#a9">resetCurrent</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTGroup.html#a10">setCurrent</a> (<a class="el" href="classTView.html">TView</a> *p, <a class="el" href="classTView.html#s7">selectMode</a> mode)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTGroup.html#a11">selectNext</a> (<a class="el" href="ttypes_8h.html#a13">Boolean</a> forwards)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTView.html">TView</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTGroup.html#a12">firstThat</a> (<a class="el" href="ttypes_8h.html#a13">Boolean</a>(*func)(<a class="el" href="classTView.html">TView</a> *, void *), void *args)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTGroup.html#a13">focusNext</a> (<a class="el" href="ttypes_8h.html#a13">Boolean</a> forwards)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTGroup.html#a14">forEach</a> (void(*func)(<a class="el" href="classTView.html">TView</a> *, void *), void *args)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTGroup.html#a15">insert</a> (<a class="el" href="classTView.html">TView</a> *p)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTGroup.html#a16">insertBefore</a> (<a class="el" href="classTView.html">TView</a> *p, <a class="el" href="classTView.html">TView</a> *Target)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTView.html">TView</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTGroup.html#a17">at</a> (short index)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTView.html">TView</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTGroup.html#a18">firstMatch</a> (<a class="el" href="ttypes_8h.html#a0">ushort</a> aState, <a class="el" href="ttypes_8h.html#a0">ushort</a> aOptions)</td></tr>
+<tr><td nowrap align=right valign=top>short&nbsp;</td><td valign=bottom><a class="el" href="classTGroup.html#a19">indexOf</a> (<a class="el" href="classTView.html">TView</a> *p)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTGroup.html#a20">matches</a> (<a class="el" href="classTView.html">TView</a> *p)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTView.html">TView</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTGroup.html#a21">first</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTGroup.html#a22">setState</a> (<a class="el" href="ttypes_8h.html#a0">ushort</a> aState, <a class="el" href="ttypes_8h.html#a13">Boolean</a> enable)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTGroup.html#a23">handleEvent</a> (<a class="el" href="structTEvent.html">TEvent</a> &amp;event)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTGroup.html#a24">drawSubViews</a> (<a class="el" href="classTView.html">TView</a> *p, <a class="el" href="classTView.html">TView</a> *bottom)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTGroup.html#a25">changeBounds</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;bounds)</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="classTGroup.html#a26">dataSize</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTGroup.html#a27">getData</a> (void *rec)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTGroup.html#a28">setData</a> (void *rec)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTGroup.html#a29">draw</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTGroup.html#a30">redraw</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTGroup.html#a31">lock</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTGroup.html#a32">unlock</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTGroup.html#a33">resetCursor</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTGroup.html#a34">endModal</a> (<a class="el" href="ttypes_8h.html#a0">ushort</a> command)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTGroup.html#a35">eventError</a> (<a class="el" href="structTEvent.html">TEvent</a> &amp;event)</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="classTGroup.html#a36">getHelpCtx</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTGroup.html#a37">valid</a> (<a class="el" href="ttypes_8h.html#a0">ushort</a> command)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTGroup.html#a38">freeBuffer</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTGroup.html#a39">getBuffer</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStreamable.html">TStreamable</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTGroup.html#d0">build</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTView.html">TView</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTGroup.html#m0">current</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTView.html">TView</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTGroup.html#m1">last</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTRect.html">TRect</a>&nbsp;</td><td valign=bottom><a class="el" href="classTGroup.html#m2">clip</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTView.html#s6">phaseType</a>&nbsp;</td><td valign=bottom><a class="el" href="classTGroup.html#m3">phase</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a0">ushort</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTGroup.html#m4">buffer</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a1">uchar</a>&nbsp;</td><td valign=bottom><a class="el" href="classTGroup.html#m5">lockFlag</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="classTGroup.html#m6">endState</a></td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>const char *const&nbsp;</td><td valign=bottom><a class="el" href="classTGroup.html#p0">name</a></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTGroup.html#b0">TGroup</a> (<a class="el" href="ttypes_8h.html#a14">StreamableInit</a>)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTGroup.html#b1">write</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void *&nbsp;</td><td valign=bottom><a class="el" href="classTGroup.html#b2">read</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+TGroup objects and their derivatives (called groups for short) provide the central driving power to TVision.
+<p>
+A group is a special breed of view. In addition to all the members derived from <a class="el" href="classTView.html">TView</a> and <a class="el" href="classTStreamable.html">TStreamable</a>, a group has additional members and many overrides that allow it to control a dynamically linked list of views (including other groups) as though they were a single object.
+<p>
+We often talk about the subviews of a group even when these subviews are often groups in their own right.
+<p>
+Although a group has a rectangular boundary from its <a class="el" href="classTView.html">TView</a> ancestry, a group is only visible through the displays of its subviews. A group draws itself via the <a class="el" href="classTGroup.html#a29">draw()</a> methods of its subviews. A group owns its subviews, and together they must be capable of drawing (filling) the group's entire rectangular bounds. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#a19">TView::draw</a></dl>During the life of an application, subviews are created, inserted into groups, and displayed as a result of user activity and events generated by the application itself. The subviews can just as easily be hidden, deleted from the group, or disposed of by user actions (such as closing a window or quitting a dialog box).
+<p>
+Three derived object types of TGroup, namely <a class="el" href="classTWindow.html">TWindow</a>, <a class="el" href="classTDeskTop.html">TDeskTop</a>, and <a class="el" href="classTApplication.html">TApplication</a> (via <a class="el" href="classTProgram.html">TProgram</a>) illustrate the group and subgroup concept. The application typically owns a desktop object, a status line object, and a menu view object. <a class="el" href="classTDeskTop.html">TDeskTop</a> is a TGroup derivative, so it, in turn, can own <a class="el" href="classTWindow.html">TWindow</a> objects, which in turn own <a class="el" href="classTFrame.html">TFrame</a> objects, <a class="el" href="classTScrollBar.html">TScrollBar</a> objects, and so on.
+<p>
+TGroup overrides many of the basic <a class="el" href="classTView.html">TView</a> methods in a natural way. TGroup objects delegate both drawing and event handling to their subviews. You'll rarely construct an instance of TGroup itself; rather you'll usually use one or more of TGroup's derived object types: <a class="el" href="classTApplication.html">TApplication</a>, <a class="el" href="classTDeskTop.html">TDeskTop</a>, and <a class="el" href="classTWindow.html">TWindow</a>.
+<p>
+All TGroup objects are streamable, inheriting from <a class="el" href="classTStreamable.html">TStreamable</a> by way of <a class="el" href="classTView.html">TView</a>. This means that TGroup objects (including your entire application group) can be written to and read from streams in a type-safe manner using the familiar C++ iostream operators.
+<p>
+
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l02848">2848</a> of file <a class="el" href="views_8h-source.html">views.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TGroup::TGroup"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TGroup::TGroup </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>bounds</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Calls TView::TView(bounds), sets <a class="el" href="views_8h.html#a38">ofSelectable</a> and <a class="el" href="views_8h.html#a44">ofBuffered</a> in options and sets <a class="el" href="classTView.html#m3">eventMask</a> to 0xFFFF. The members last, current, buffer, <a class="el" href="classTGroup.html#m5">lockFlag</a> and <a class="el" href="classTGroup.html#m6">endState</a> are all set to zero. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TGroup::~TGroup"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TGroup::~TGroup </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Hides the group using <a class="el" href="classTView.html#a17">hide()</a>, then disposes of each subview in the group using delete. Finally, the buffer is freed (if one). </td>
+ </tr>
+</table>
+<a name="b0" doxytag="TGroup::TGroup"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TGroup::TGroup </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a14">StreamableInit</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Each streamable class needs a "builder" to allocate the correct memory for its objects together with the initialized virtual table pointers. This is achieved by calling this constructor with an argument of type <a class="el" href="ttypes_8h.html#a14">StreamableInit</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="a17" doxytag="TGroup::at"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTView.html">TView</a>* TGroup::at </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">short&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>index</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns a pointer to the subview at `index' position in Z-order. </td>
+ </tr>
+</table>
+<a name="a5" doxytag="TGroup::awaken"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TGroup::awaken </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Calls the <a class="el" href="classTView.html#a31">TView::awaken()</a> methods of each of the group's subviews in Z-order.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a31">TView</a>. </td>
+ </tr>
+</table>
+<a name="d0" doxytag="TGroup::build"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStreamable.html">TStreamable</a>* TGroup::build </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called to create an object in certain stream-reading situations.
+<p>
+Reimplemented from <a class="el" href="classTView.html#d8">TView</a>.
+<p>
+Reimplemented in <a class="el" href="classTDeskTop.html#d1">TDeskTop</a>, <a class="el" href="classTColorDialog.html#d0">TColorDialog</a>, <a class="el" href="classTDialog.html#d0">TDialog</a>, <a class="el" href="classTEditWindow.html#d0">TEditWindow</a>, <a class="el" href="classTFileDialog.html#d0">TFileDialog</a>, <a class="el" href="classTChDirDialog.html#d0">TChDirDialog</a>, and <a class="el" href="classTWindow.html#d1">TWindow</a>. </td>
+ </tr>
+</table>
+<a name="a25" doxytag="TGroup::changeBounds"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TGroup::changeBounds </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>bounds</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Overrides <a class="el" href="classTView.html#a11">TView::changeBounds()</a>. Changes the group's bounds to `bounds' and then calls <a class="el" href="classTView.html#a10">calcBounds()</a> followed by <a class="el" href="classTView.html#a11">TView::changeBounds()</a> for each subview in the group.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a11">TView</a>. </td>
+ </tr>
+</table>
+<a name="a26" doxytag="TGroup::dataSize"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a0">ushort</a> TGroup::dataSize </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Overrides <a class="el" href="classTView.html#a28">TView::dataSize()</a>. Returns total size of group by calling and accumulating <a class="el" href="classTGroup.html#a26">dataSize()</a> for each subview. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTGroup.html#a27">TGroup::getData</a> , <a class="el" href="classTGroup.html#a28">TGroup::setData</a> </dl>
+<p>
+Reimplemented from <a class="el" href="classTView.html#a28">TView</a>.
+<p>
+Reimplemented in <a class="el" href="classTColorDialog.html#a2">TColorDialog</a>, and <a class="el" href="classTChDirDialog.html#a1">TChDirDialog</a>. </td>
+ </tr>
+</table>
+<a name="a29" doxytag="TGroup::draw"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TGroup::draw </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Overrides <a class="el" href="classTView.html#a19">TView::draw()</a>. If a cache buffer exists (see <a class="el" href="classTGroup.html#m4">TGroup::buffer</a> data member), then the buffer is written to the screen using <a class="el" href="classTView.html#a61">TView::writeBuf()</a>.
+<p>
+Otherwise, each subview is told to draw itself using a call to <a class="el" href="classTGroup.html#a30">TGroup::redraw()</a>.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a19">TView</a>. </td>
+ </tr>
+</table>
+<a name="a24" doxytag="TGroup::drawSubViews"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TGroup::drawSubViews </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTView.html">TView</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>p</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTView.html">TView</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>bottom</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Calls <a class="el" href="classTView.html#a20">TView::drawView()</a> for each subview starting at `p', until the subview `bottom' is reached. </td>
+ </tr>
+</table>
+<a name="a34" doxytag="TGroup::endModal"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TGroup::endModal </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>command</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+If this group is the current modal view, <a class="el" href="classTGroup.html#a34">endModal()</a> terminates its modal state.
+<p>
+Parameter `command' is passed to <a class="el" href="classTGroup.html#a3">TGroup::execView()</a> (which made this view modal in the first place), which returns `command' as its result. If this group is not the current modal view, it calls <a class="el" href="classTView.html#a43">TView::endModal()</a>.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a43">TView</a>. </td>
+ </tr>
+</table>
+<a name="a35" doxytag="TGroup::eventError"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TGroup::eventError </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="structTEvent.html">TEvent</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>event</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Is called whenever the modal <a class="el" href="classTGroup.html#a4">TGroup::execute()</a> event-handling loop encounters an event that cannot be handled.
+<p>
+The default action is: if the group's owner is nonzero, <a class="el" href="classTGroup.html#a35">eventError()</a> calls its owner's <a class="el" href="classTGroup.html#a35">eventError()</a>. Normally this chains back to <a class="el" href="classTApplication.html">TApplication</a>'s <a class="el" href="classTGroup.html#a35">eventError()</a>. You can override <a class="el" href="classTGroup.html#a35">eventError()</a> to trigger appropriate action. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTGroup.html#a35">TProgram::eventError</a> </dl> </td>
+ </tr>
+</table>
+<a name="a4" doxytag="TGroup::execute"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a0">ushort</a> TGroup::execute </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Overrides <a class="el" href="classTView.html#a44">TView::execute()</a>. <a class="el" href="classTGroup.html#a4">execute()</a> is a group's main event loop: it repeatedly gets events using <a class="el" href="classTView.html#a40">getEvent()</a> and handles them using <a class="el" href="classTGroup.html#a23">handleEvent()</a>.
+<p>
+The event loop is terminated by the group or some subview through a call to <a class="el" href="classTGroup.html#a34">endModal()</a>. Before returning, however, <a class="el" href="classTGroup.html#a4">execute()</a> calls <a class="el" href="classTGroup.html#a37">valid()</a> to verify that the modal state can indeed be terminated.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a44">TView</a>. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="TGroup::execView"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a0">ushort</a> TGroup::execView </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTView.html">TView</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>p</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<a class="el" href="classTGroup.html#a3">execView()</a> is the "modal" counterpart of the "modeless" <a class="el" href="classTGroup.html#a15">insert()</a> and <a class="el" href="classTGroup.html#a7">remove()</a> member functions.
+<p>
+Unlike <a class="el" href="classTGroup.html#a15">insert()</a>, after inserting a view into the group, <a class="el" href="classTGroup.html#a3">execView()</a> waits for the view to execute, then removes the view, and finally returns the result of the execution.
+<p>
+<a class="el" href="classTGroup.html#a3">execView()</a> is used in a number of places throughout TVision, most notably to implement <a class="el" href="classTProgram.html#a11">TProgram::run()</a> and to execute modal dialog boxes.
+<p>
+<a class="el" href="classTGroup.html#a3">execView()</a> saves the current context (the selected view, the modal view, and the command set), makes `p' modal by calling p-&gt;setState(sfModal, True), inserts `p' into the group (if it isn't already inserted), and calls p-&gt;<a class="el" href="classTGroup.html#a4">execute()</a>. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#a44">TView::execute</a> , <a class="el" href="classTView.html#a50">TView::setState</a></dl>When p-&gt;<a class="el" href="classTGroup.html#a4">execute()</a> returns, the group is restored to its previous state, and the result of p-&gt;<a class="el" href="classTGroup.html#a4">execute()</a> is returned as the result of the <a class="el" href="classTGroup.html#a3">execView()</a> call.
+<p>
+If `p' is 0 upon a call to <a class="el" href="classTGroup.html#a3">execView()</a>, a value of cmCancel is returned. </td>
+ </tr>
+</table>
+<a name="a21" doxytag="TGroup::first"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTView.html">TView</a>* TGroup::first </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns a pointer to the first subview (the one closest to the top in Z-order), or 0 if the group has no subviews. </td>
+ </tr>
+</table>
+<a name="a18" doxytag="TGroup::firstMatch"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTView.html">TView</a>* TGroup::firstMatch </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aState</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aOptions</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns a pointer to the first subview that matches its state with `aState' and its options with `aOptions'. </td>
+ </tr>
+</table>
+<a name="a12" doxytag="TGroup::firstThat"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTView.html">TView</a>* TGroup::firstThat </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a13">Boolean</a>(*&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>func</em>)(<a class="el" href="classTView.html">TView</a> *, void *), </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>void *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>args</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<a class="el" href="classTGroup.html#a12">firstThat()</a> applies a user-supplied <a class="el" href="ttypes_8h.html#a13">Boolean</a> function `func', along with an argument list given by `args' (possibly empty), to each subview in the group (in Z-order) until `func' returns True.
+<p>
+The returned result is the subview pointer for which `func' returns True, or 0 if `func' returns False for all items.
+<p>
+The first pointer argument of `func' scans the subview. The second argument of `func' is set from the `args' pointer of <a class="el" href="classTGroup.html#a12">firstThat()</a>, as shown in the following implementation:
+<p>
+<pre>
+ <a class="el" href="classTView.html">TView</a> *<a class="el" href="classTGroup.html#a12">TGroup::firstThat</a>(Boolean (*func)(<a class="el" href="classTView.html">TView</a> *, void *), void *args)
+ {
+ <a class="el" href="classTView.html">TView</a> *temp = last;
+
+ if (temp == 0) return 0;
+ do {
+ temp = temp-&gt;next;
+ if (func(temp, args) == True)
+ return temp;
+ } while(temp != last);
+ return 0;
+ }
+ </pre> </td>
+ </tr>
+</table>
+<a name="a13" doxytag="TGroup::focusNext"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a13">Boolean</a> TGroup::focusNext </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>forwards</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="a14" doxytag="TGroup::forEach"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TGroup::forEach </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void(*&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>func</em>)(<a class="el" href="classTView.html">TView</a> *, void *), </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>void *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>args</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<a class="el" href="classTGroup.html#a14">forEach()</a> applies an action, given by the function `func', to each subview in the group in Z-order. The `args' argument lets you pass arbitrary arguments to the action function:
+<p>
+<pre>
+ void <a class="el" href="classTGroup.html#a14">TGroup::forEach</a>(void (*func)(<a class="el" href="classTView.html">TView</a>*, void *), void *args)
+ {
+ <a class="el" href="classTView.html">TView</a> *term = last;
+ <a class="el" href="classTView.html">TView</a> *temp = last;
+
+ if (temp == 0) return;
+
+ <a class="el" href="classTView.html">TView</a> *next = temp-&gt;next;
+ do {
+ temp = next;
+ next = temp-&gt;next;
+ func(temp, args);
+ } while(temp != term);
+ }
+ </pre> </td>
+ </tr>
+</table>
+<a name="a38" doxytag="TGroup::freeBuffer"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TGroup::freeBuffer </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Frees the group's draw buffer (if one exists) by calling delete buffer and setting buffer to 0. </td>
+ </tr>
+</table>
+<a name="a39" doxytag="TGroup::getBuffer"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TGroup::getBuffer </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+If the group is <a class="el" href="views_8h.html#a37">sfExposed</a> and <a class="el" href="views_8h.html#a44">ofBuffered</a>, a draw buffer is created. The buffer size will be (size.x * size.y) and the buffer data member is set to point at the new buffer. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#m2">TView::options</a> , <a class="el" href="classTView.html#m4">TView::state</a> </dl> </td>
+ </tr>
+</table>
+<a name="a27" doxytag="TGroup::getData"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TGroup::getData </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>rec</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Overrides <a class="el" href="classTView.html#a29">TView::getData()</a>. Calls <a class="el" href="classTGroup.html#a27">getData()</a> for each subview in reverse order, incrementing the location given by `rec' by the <a class="el" href="classTGroup.html#a26">dataSize()</a> of each subview. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTGroup.html#a26">TGroup::dataSize</a> , <a class="el" href="classTGroup.html#a28">TGroup::setData</a> </dl>
+<p>
+Reimplemented from <a class="el" href="classTView.html#a29">TView</a>.
+<p>
+Reimplemented in <a class="el" href="classTColorDialog.html#a3">TColorDialog</a>, <a class="el" href="classTFileDialog.html#a2">TFileDialog</a>, and <a class="el" href="classTChDirDialog.html#a2">TChDirDialog</a>. </td>
+ </tr>
+</table>
+<a name="a36" doxytag="TGroup::getHelpCtx"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a0">ushort</a> TGroup::getHelpCtx </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the help context of the current focused view by calling the selected subviews' <a class="el" href="classTView.html#a15">TView::getHelpCtx()</a> member function.
+<p>
+If no help context is specified by any subview, <a class="el" href="classTGroup.html#a36">getHelpCtx()</a> returns the value of its own <a class="el" href="classTView.html#m9">helpCtx</a> member, by calling <a class="el" href="classTView.html#a15">TView::getHelpCtx()</a>.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a15">TView</a>. </td>
+ </tr>
+</table>
+<a name="a23" doxytag="TGroup::handleEvent"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TGroup::handleEvent </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="structTEvent.html">TEvent</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>event</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Overrides <a class="el" href="classTView.html#a41">TView::handleEvent()</a>. A group basically handles events by passing them to the <a class="el" href="classTGroup.html#a23">handleEvent()</a> member functions of one or more of its subviews. The actual routing, however, depends on the event class.
+<p>
+For focused events (by default, <a class="el" href="system_8h.html#a4">evKeyDown</a> and <a class="el" href="system_8h.html#a5">evCommand</a>), event handling is done in three phases (see phase for more):
+<p>
+<ol>
+<li>The group's phase member is set to phPreProcess and the event is passed to the <a class="el" href="classTGroup.html#a23">handleEvent()</a> of all subviews that have the <a class="el" href="views_8h.html#a42">ofPreProcess</a> flag set in options.<li>Phase is set to phFocused and the event is passed to the <a class="el" href="classTGroup.html#a23">handleEvent()</a> of the currently selected view.<li>Phase is set to phPostProcess and the event is passed to the <a class="el" href="classTGroup.html#a23">handleEvent()</a> of all subviews that have the <a class="el" href="views_8h.html#a43">ofPostProcess</a> flag set in options.</ol>
+For positional events (by default, <a class="el" href="system_8h.html#a8">evMouse</a>), the event is passed to the <a class="el" href="classTGroup.html#a23">handleEvent()</a> of the first subview whose bounding rectangle contains the point given by `event.where'.
+<p>
+For broadcast events (events that aren't focused or positional), the event is passed to the <a class="el" href="classTGroup.html#a23">handleEvent()</a> of each subview in the group in Z-order.
+<p>
+If a subview's <a class="el" href="classTView.html#m3">eventMask</a> member masks out an event class, <a class="el" href="classTGroup.html#a23">TGroup::handleEvent()</a> will never send events of that class to the subview. For example, the <a class="el" href="classTView.html#m3">TView::eventMask</a> disables <a class="el" href="system_8h.html#a1">evMouseUp</a>, <a class="el" href="system_8h.html#a2">evMouseMove</a>, and <a class="el" href="system_8h.html#a3">evMouseAuto</a>, so <a class="el" href="classTGroup.html#a23">TGroup::handleEvent()</a> will never send such events to a standard <a class="el" href="classTView.html">TView</a>.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a41">TView</a>.
+<p>
+Reimplemented in <a class="el" href="classTDeskTop.html#a2">TDeskTop</a>, <a class="el" href="classTProgram.html#a6">TProgram</a>, <a class="el" href="classTColorDialog.html#a4">TColorDialog</a>, <a class="el" href="classTDialog.html#a2">TDialog</a>, <a class="el" href="classTEditWindow.html#a3">TEditWindow</a>, <a class="el" href="classTFileDialog.html#a4">TFileDialog</a>, <a class="el" href="classTChDirDialog.html#a3">TChDirDialog</a>, and <a class="el" href="classTWindow.html#a5">TWindow</a>. </td>
+ </tr>
+</table>
+<a name="a19" doxytag="TGroup::indexOf"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> short TGroup::indexOf </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTView.html">TView</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>p</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the Z-order position (index) of the subview `p'. </td>
+ </tr>
+</table>
+<a name="a15" doxytag="TGroup::insert"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TGroup::insert </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTView.html">TView</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>p</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Inserts the view given by `p' in the group's subview list. The new subview is placed on top of all other subviews. If the subview has the <a class="el" href="views_8h.html#a46">ofCenterX</a> and/or <a class="el" href="views_8h.html#a47">ofCenterY</a> flags set, it is centered accordingly in the group. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#m2">TView::options</a></dl>If the view has the <a class="el" href="views_8h.html#a26">sfVisible</a> flag set, it will be shown in the group. Otherwise it remains invisible until specifically shown. If the view has the <a class="el" href="views_8h.html#a38">ofSelectable</a> flag set, it becomes the currently selected subview. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#m4">TView::state</a> </dl> </td>
+ </tr>
+</table>
+<a name="a16" doxytag="TGroup::insertBefore"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TGroup::insertBefore </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTView.html">TView</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>p</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTView.html">TView</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>Target</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Inserts the view given by `p' in front of the view given by `Target'. If `Target' is 0, the view is placed behind all other subviews in the group. </td>
+ </tr>
+</table>
+<a name="a6" doxytag="TGroup::insertView"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TGroup::insertView </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTView.html">TView</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>p</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTView.html">TView</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>Target</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="a31" doxytag="TGroup::lock"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TGroup::lock </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Locks the group, delaying any screen writes by subviews until the group is unlocked.
+<p>
+<a class="el" href="classTGroup.html#a31">lock()</a> has no effect unless the group has a cache buffer (see <a class="el" href="views_8h.html#a44">ofBuffered</a> flag and buffer data member). <a class="el" href="classTGroup.html#a31">lock()</a> works by incrementing the data member <a class="el" href="classTGroup.html#m5">lockFlag</a>. This semaphore is likewise decremented by <a class="el" href="classTGroup.html#a32">unlock()</a>. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#m2">TView::options</a></dl>When a call to <a class="el" href="classTGroup.html#a32">unlock()</a> decrements the count to zero, the entire group is written to the screen using the image constructed in the cache buffer.
+<p>
+By "sandwiching" draw-intensive operations between calls to <a class="el" href="classTGroup.html#a31">lock()</a> and <a class="el" href="classTGroup.html#a32">unlock()</a>, unpleasant "screen flicker" can be reduced, if not eliminated. <a class="el" href="classTGroup.html#a31">lock()</a> and <a class="el" href="classTGroup.html#a32">unlock()</a> calls must be balanced; otherwise, a group may end up in a permanently locked state, causing it to not redraw itself properly when so requested. </td>
+ </tr>
+</table>
+<a name="a20" doxytag="TGroup::matches"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a13">Boolean</a> TGroup::matches </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTView.html">TView</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>p</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns True if the state and options settings of the view `p' are identical to those of the calling view. </td>
+ </tr>
+</table>
+<a name="b2" doxytag="TGroup::read"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void* TGroup::read </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>is</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Reads from the input stream `is'.
+<p>
+Reimplemented from <a class="el" href="classTView.html#b2">TView</a>.
+<p>
+Reimplemented in <a class="el" href="classTColorDialog.html#b2">TColorDialog</a>, <a class="el" href="classTEditWindow.html#b2">TEditWindow</a>, <a class="el" href="classTFileDialog.html#b2">TFileDialog</a>, <a class="el" href="classTChDirDialog.html#b2">TChDirDialog</a>, and <a class="el" href="classTWindow.html#b2">TWindow</a>. </td>
+ </tr>
+</table>
+<a name="a30" doxytag="TGroup::redraw"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TGroup::redraw </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Redraws the group's subviews in Z-order. <a class="el" href="classTGroup.html#a30">TGroup::redraw()</a> differs from <a class="el" href="classTGroup.html#a29">TGroup::draw()</a> in that <a class="el" href="classTGroup.html#a30">redraw()</a> will never draw from the cache buffer. </td>
+ </tr>
+</table>
+<a name="a7" doxytag="TGroup::remove"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TGroup::remove </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTView.html">TView</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>p</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Removes the subview `p' from the group and redraws the other subviews as required. p's owner and next members are set to 0. </td>
+ </tr>
+</table>
+<a name="a8" doxytag="TGroup::removeView"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TGroup::removeView </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTView.html">TView</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>p</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Removes the subview `p' from this group. Used internally by <a class="el" href="classTGroup.html#a7">remove()</a>. </td>
+ </tr>
+</table>
+<a name="a9" doxytag="TGroup::resetCurrent"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TGroup::resetCurrent </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Selects (makes current) the first subview in the chain that is <a class="el" href="views_8h.html#a26">sfVisible</a> and <a class="el" href="views_8h.html#a38">ofSelectable</a>. <a class="el" href="classTGroup.html#a9">resetCurrent()</a> works by calling setCurrent(firstMatch(sfVisible, ofSelectable), normalSelect). <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTGroup.html#a18">TGroup::firstMatch</a> , <a class="el" href="classTGroup.html#a10">TGroup::setCurrent</a> , <a class="el" href="classTView.html#m2">TView::options</a> , <a class="el" href="classTView.html#m4">TView::state</a></dl>The following enum type is useful for select mode arguments:
+<p>
+<pre>
+ enum selectMode { normalSelect, enterSelect, leaveSelect };
+ </pre> </td>
+ </tr>
+</table>
+<a name="a33" doxytag="TGroup::resetCursor"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TGroup::resetCursor </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a34">TView</a>. </td>
+ </tr>
+</table>
+<a name="a11" doxytag="TGroup::selectNext"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TGroup::selectNext </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>forwards</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+If `forwards' is True, <a class="el" href="classTGroup.html#a11">selectNext()</a> selects (makes current) the next selectable subview (one with its ofSelectable bit set) in the group's Z-order. If `forwards' is False, the member function selects the previous selectable subview. </td>
+ </tr>
+</table>
+<a name="a10" doxytag="TGroup::setCurrent"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TGroup::setCurrent </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTView.html">TView</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>p</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTView.html#s7">selectMode</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>mode</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Parameter `selectMode' is an enumeration defined in TGroup as follows:
+<p>
+<pre>
+ enum selectMode {normalSelect, enterSelect, leaveSelect};
+ </pre>
+<p>
+If `p' is the current subview, <a class="el" href="classTGroup.html#a10">setCurrent()</a> does nothing. Otherwise, `p' is made current (that is, selected) by a call to <a class="el" href="classTGroup.html#a22">setState()</a>. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTGroup.html#a9">resetCurrent</a> </dl> </td>
+ </tr>
+</table>
+<a name="a28" doxytag="TGroup::setData"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TGroup::setData </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>rec</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Overrides <a class="el" href="classTView.html#a30">TView::setData()</a>. Calls <a class="el" href="classTGroup.html#a28">setData()</a> for each subview in reverse Z-order, incrementing the location given by `rec' by the <a class="el" href="classTGroup.html#a26">dataSize()</a> of each subview. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTGroup.html#a26">TGroup::dataSize</a> , <a class="el" href="classTGroup.html#a27">TGroup::getData</a> </dl>
+<p>
+Reimplemented from <a class="el" href="classTView.html#a30">TView</a>.
+<p>
+Reimplemented in <a class="el" href="classTColorDialog.html#a5">TColorDialog</a>, <a class="el" href="classTFileDialog.html#a5">TFileDialog</a>, and <a class="el" href="classTChDirDialog.html#a4">TChDirDialog</a>. </td>
+ </tr>
+</table>
+<a name="a22" doxytag="TGroup::setState"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TGroup::setState </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aState</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>enable</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Overrides <a class="el" href="classTView.html#a50">TView::setState()</a>. First calls the inherited <a class="el" href="classTView.html#a50">TView::setState()</a>, then updates the subviews as follows (see state for more):
+<p>
+<ol>
+<li>If `aState' is <a class="el" href="views_8h.html#a30">sfActive</a> or <a class="el" href="views_8h.html#a33">sfDragging</a>, then each subview's <a class="el" href="classTGroup.html#a22">setState()</a> is called to update the subview correspondingly.<li>If `aState' is <a class="el" href="views_8h.html#a32">sfFocused</a>, then the currently selected subview is called to focus itself correspondingly.<li>If `aState' is <a class="el" href="views_8h.html#a37">sfExposed</a>, TGroup::doExpose() is called for each subview. Finally, if `enable' is False, <a class="el" href="classTGroup.html#a38">freeBuffer()</a> is called. </ol>
+
+<p>
+Reimplemented from <a class="el" href="classTView.html#a50">TView</a>.
+<p>
+Reimplemented in <a class="el" href="classTWindow.html#a6">TWindow</a>. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="TGroup::shutDown"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TGroup::shutDown </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Used internally by <a class="el" href="classTObject.html#d0">TObject::destroy()</a> to ensure correct destruction of derived and related objects.
+<p>
+<a class="el" href="classTGroup.html#a2">shutDown()</a> is overridden in many classes to ensure the proper setting of related data members when destroy is called.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a67">TView</a>.
+<p>
+Reimplemented in <a class="el" href="classTDeskTop.html#a5">TDeskTop</a>, <a class="el" href="classTProgram.html#a15">TProgram</a>, <a class="el" href="classTFileDialog.html#a7">TFileDialog</a>, <a class="el" href="classTChDirDialog.html#a6">TChDirDialog</a>, and <a class="el" href="classTWindow.html#a10">TWindow</a>. </td>
+ </tr>
+</table>
+<a name="a32" doxytag="TGroup::unlock"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TGroup::unlock </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Unlocks the group by decrementing <a class="el" href="classTGroup.html#m5">lockFlag</a>. If <a class="el" href="classTGroup.html#m5">lockFlag</a> becomes zero, then the entire group is written to the screen using the image constructed in the cache buffer. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTGroup.html#a31">TGroup::lock</a> </dl> </td>
+ </tr>
+</table>
+<a name="a37" doxytag="TGroup::valid"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a> TGroup::valid </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>command</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Overrides <a class="el" href="classTView.html#a16">TView::valid()</a>. Returns True if all the subview's <a class="el" href="classTGroup.html#a37">valid()</a> calls return True. <a class="el" href="classTGroup.html#a37">TGroup::valid()</a> is used at the end of the event-handling loop in <a class="el" href="classTGroup.html#a4">execute()</a> to confirm that termination is allowed.
+<p>
+A modal state cannot terminate until all <a class="el" href="classTGroup.html#a37">valid()</a> calls return True. A subview can return False if it wants to retain control.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a16">TView</a>.
+<p>
+Reimplemented in <a class="el" href="classTDialog.html#a3">TDialog</a>, <a class="el" href="classTFileDialog.html#a6">TFileDialog</a>, and <a class="el" href="classTChDirDialog.html#a5">TChDirDialog</a>. </td>
+ </tr>
+</table>
+<a name="b1" doxytag="TGroup::write"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TGroup::write </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>os</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Writes to the output stream `os'.
+<p>
+Reimplemented from <a class="el" href="classTView.html#b1">TView</a>.
+<p>
+Reimplemented in <a class="el" href="classTColorDialog.html#b1">TColorDialog</a>, <a class="el" href="classTEditWindow.html#b1">TEditWindow</a>, <a class="el" href="classTFileDialog.html#b1">TFileDialog</a>, <a class="el" href="classTChDirDialog.html#b1">TChDirDialog</a>, and <a class="el" href="classTWindow.html#b1">TWindow</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="m4" doxytag="TGroup::buffer"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a0">ushort</a>* TGroup::buffer
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Points to a buffer used to cache redraw operations, or is 0 if the group has no cache buffer. Cache buffers are created and destroyed automatically, unless the ofBuffered flag is cleared in the group's options member.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l03279">3279</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="m2" doxytag="TGroup::clip"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTRect.html">TRect</a> TGroup::clip
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Holds the clip extent of the group, as returned by <a class="el" href="classTView.html#a4">TView::getExtent()</a> or <a class="el" href="classTView.html#a5">TView::getClipRect()</a>. The clip extent is defined as the minimum area that needs redrawing when <a class="el" href="classTGroup.html#a29">draw()</a> is called.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l03257">3257</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="m0" doxytag="TGroup::current"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTView.html">TView</a>* TGroup::current
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Points to the subview that is currently selected, or is 0 if no subview is selected.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l03042">3042</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="m6" doxytag="TGroup::endState"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a0">ushort</a> TGroup::endState
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Holds the state of the group after a call to <a class="el" href="classTGroup.html#a34">endModal()</a>.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l03295">3295</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="m1" doxytag="TGroup::last"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTView.html">TView</a>* TGroup::last
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Points to the last subview in the group (the one furthest from the top in Z-order).
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l03250">3250</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="m5" doxytag="TGroup::lockFlag"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a1">uchar</a> TGroup::lockFlag
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Acts as a semaphore to control buffered group draw operations. lockFlag keeps a count of the number of locks set during a set of nested draw calls.
+<p>
+<a class="el" href="classTGroup.html#a31">lock()</a> and <a class="el" href="classTGroup.html#a32">unlock()</a> increment and decrement this value. When it reaches zero, the whole group will draw itself from its buffer.
+<p>
+Intensive <a class="el" href="classTGroup.html#a29">TGroup::draw()</a> operations should be sandwiched between calls to <a class="el" href="classTGroup.html#a31">lock()</a> and <a class="el" href="classTGroup.html#a32">unlock()</a> to prevent excessive CPU load.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l03291">3291</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="p0" doxytag="TGroup::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* const TGroup::name<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTView.html#p4">TView</a>.
+<p>
+Reimplemented in <a class="el" href="classTDeskTop.html#p1">TDeskTop</a>, <a class="el" href="classTColorDialog.html#p0">TColorDialog</a>, <a class="el" href="classTDialog.html#p0">TDialog</a>, <a class="el" href="classTEditWindow.html#p0">TEditWindow</a>, <a class="el" href="classTFileDialog.html#p0">TFileDialog</a>, <a class="el" href="classTChDirDialog.html#p0">TChDirDialog</a>, and <a class="el" href="classTWindow.html#p0">TWindow</a>.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l03338">3338</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="m3" doxytag="TGroup::phase"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTView.html#s6">phaseType</a> TGroup::phase
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The current phase of processing for a focused event. Subviews that have the <a class="el" href="views_8h.html#a42">ofPreProcess</a> or <a class="el" href="views_8h.html#a43">ofPostProcess</a> flags set can examine owner-&gt;phase to determine whether a call to their <a class="el" href="classTView.html#a41">TView::handleEvent()</a> is happening in the phPreProcess, phFocused, or phPostProcess phase. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#m2">TView::options</a></dl>phaseType is an enumeration defined as follows in <a class="el" href="classTView.html">TView</a>:
+<p>
+<pre>
+ enum phaseType {phFocussed, phPreProcess, phPostProcess};
+ </pre>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l03272">3272</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="views_8h-source.html">views.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:14 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTGroup.png b/freebsdtvision/doc/html/classTGroup.png
new file mode 100644
index 0000000..9d98446
--- /dev/null
+++ b/freebsdtvision/doc/html/classTGroup.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTHelpFile-members.html b/freebsdtvision/doc/html/classTHelpFile-members.html
new file mode 100644
index 0000000..bfaf84b
--- /dev/null
+++ b/freebsdtvision/doc/html/classTHelpFile-members.html
@@ -0,0 +1,28 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>THelpFile Member List</h1>This is the complete list of members for <a class="el" href="classTHelpFile.html">THelpFile</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHelpFile.html#a2">getTopic</a>(int)</td><td><a class="el" href="classTHelpFile.html">THelpFile</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHelpFile.html#m2">index</a></td><td><a class="el" href="classTHelpFile.html">THelpFile</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHelpFile.html#m3">indexPos</a></td><td><a class="el" href="classTHelpFile.html">THelpFile</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHelpFile.html#a3">invalidTopic</a>()</td><td><a class="el" href="classTHelpFile.html">THelpFile</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHelpFile.html#m1">modified</a></td><td><a class="el" href="classTHelpFile.html">THelpFile</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHelpFile.html#a5">putTopic</a>(THelpTopic *)</td><td><a class="el" href="classTHelpFile.html">THelpFile</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHelpFile.html#a4">recordPositionInIndex</a>(int)</td><td><a class="el" href="classTHelpFile.html">THelpFile</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a1">shutDown</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHelpFile.html#m0">stream</a></td><td><a class="el" href="classTHelpFile.html">THelpFile</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHelpFile.html#a0">THelpFile</a>(fpstream &amp;s)</td><td><a class="el" href="classTHelpFile.html">THelpFile</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHelpFile.html#a1">~THelpFile</a>()</td><td><a class="el" href="classTHelpFile.html">THelpFile</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:14 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTHelpFile.html b/freebsdtvision/doc/html/classTHelpFile.html
new file mode 100644
index 0000000..8cc65c3
--- /dev/null
+++ b/freebsdtvision/doc/html/classTHelpFile.html
@@ -0,0 +1,317 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>THelpFile class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>THelpFile Class Reference</h1>Part of the help system.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="helpbase_8h-source.html">helpbase.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for THelpFile:
+<p><center><img src="classTHelpFile.png" usemap="#THelpFile_map" border="0" alt=""></center>
+<map name="THelpFile_map">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,66,24">
+</map>
+<a href="classTHelpFile-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTHelpFile.html#a0">THelpFile</a> (<a class="el" href="classfpstream.html">fpstream</a> &amp;s)</td></tr>
+<tr><td nowrap align=right valign=top>virtual&nbsp;</td><td valign=bottom><a class="el" href="classTHelpFile.html#a1">~THelpFile</a> ()</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTHelpTopic.html">THelpTopic</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTHelpFile.html#a2">getTopic</a> (int)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTHelpTopic.html">THelpTopic</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTHelpFile.html#a3">invalidTopic</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTHelpFile.html#a4">recordPositionInIndex</a> (int)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTHelpFile.html#a5">putTopic</a> (<a class="el" href="classTHelpTopic.html">THelpTopic</a> *)</td></tr>
+<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classfpstream.html">fpstream</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTHelpFile.html#m0">stream</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTHelpFile.html#m1">modified</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTHelpIndex.html">THelpIndex</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTHelpFile.html#m2">index</a></td></tr>
+<tr><td nowrap align=right valign=top>long&nbsp;</td><td valign=bottom><a class="el" href="classTHelpFile.html#m3">indexPos</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Part of the help system.
+<p>
+
+<p>
+Definition at line <a class="el" href="helpbase_8h-source.html#l00287">287</a> of file <a class="el" href="helpbase_8h-source.html">helpbase.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="THelpFile::THelpFile"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> THelpFile::THelpFile </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classfpstream.html">fpstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>s</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="THelpFile::~THelpFile"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual THelpFile::~THelpFile </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="a2" doxytag="THelpFile::getTopic"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTHelpTopic.html">THelpTopic</a>* THelpFile::getTopic </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="THelpFile::invalidTopic"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTHelpTopic.html">THelpTopic</a>* THelpFile::invalidTopic </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="a5" doxytag="THelpFile::putTopic"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void THelpFile::putTopic </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTHelpTopic.html">THelpTopic</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="THelpFile::recordPositionInIndex"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void THelpFile::recordPositionInIndex </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="m2" doxytag="THelpFile::index"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTHelpIndex.html">THelpIndex</a>* THelpFile::index
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="helpbase_8h-source.html#l00326">326</a> of file <a class="el" href="helpbase_8h-source.html">helpbase.h</a>. </td>
+ </tr>
+</table>
+<a name="m3" doxytag="THelpFile::indexPos"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> long THelpFile::indexPos
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="helpbase_8h-source.html#l00330">330</a> of file <a class="el" href="helpbase_8h-source.html">helpbase.h</a>. </td>
+ </tr>
+</table>
+<a name="m1" doxytag="THelpFile::modified"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a13">Boolean</a> THelpFile::modified
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="helpbase_8h-source.html#l00322">322</a> of file <a class="el" href="helpbase_8h-source.html">helpbase.h</a>. </td>
+ </tr>
+</table>
+<a name="m0" doxytag="THelpFile::stream"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classfpstream.html">fpstream</a>* THelpFile::stream
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="helpbase_8h-source.html#l00318">318</a> of file <a class="el" href="helpbase_8h-source.html">helpbase.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="helpbase_8h-source.html">helpbase.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:14 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTHelpFile.png b/freebsdtvision/doc/html/classTHelpFile.png
new file mode 100644
index 0000000..6b606b8
--- /dev/null
+++ b/freebsdtvision/doc/html/classTHelpFile.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTHelpIndex-members.html b/freebsdtvision/doc/html/classTHelpIndex-members.html
new file mode 100644
index 0000000..ba6f595
--- /dev/null
+++ b/freebsdtvision/doc/html/classTHelpIndex-members.html
@@ -0,0 +1,29 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>THelpIndex Member List</h1>This is the complete list of members for <a class="el" href="classTHelpIndex.html">THelpIndex</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHelpIndex.html#a4">add</a>(int, long)</td><td><a class="el" href="classTHelpIndex.html">THelpIndex</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHelpIndex.html#d0">build</a>()</td><td><a class="el" href="classTHelpIndex.html">THelpIndex</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHelpIndex.html#m1">index</a></td><td><a class="el" href="classTHelpIndex.html">THelpIndex</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHelpIndex.html#p0">name</a></td><td><a class="el" href="classTHelpIndex.html">THelpIndex</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHelpIndex.html#a3">position</a>(int)</td><td><a class="el" href="classTHelpIndex.html">THelpIndex</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHelpIndex.html#b1">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTHelpIndex.html">THelpIndex</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a1">shutDown</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHelpIndex.html#m0">size</a></td><td><a class="el" href="classTHelpIndex.html">THelpIndex</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHelpIndex.html#a0">THelpIndex</a>()</td><td><a class="el" href="classTHelpIndex.html">THelpIndex</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHelpIndex.html#a1">THelpIndex</a>(StreamableInit)</td><td><a class="el" href="classTHelpIndex.html">THelpIndex</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHelpIndex.html#b0">write</a>(opstream &amp;os)</td><td><a class="el" href="classTHelpIndex.html">THelpIndex</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHelpIndex.html#a2">~THelpIndex</a>()</td><td><a class="el" href="classTHelpIndex.html">THelpIndex</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:14 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTHelpIndex.html b/freebsdtvision/doc/html/classTHelpIndex.html
new file mode 100644
index 0000000..31d950a
--- /dev/null
+++ b/freebsdtvision/doc/html/classTHelpIndex.html
@@ -0,0 +1,372 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>THelpIndex class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>THelpIndex Class Reference</h1>Part of the help system.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="helpbase_8h-source.html">helpbase.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for THelpIndex:
+<p><center><img src="classTHelpIndex.png" usemap="#THelpIndex_map" border="0" alt=""></center>
+<map name="THelpIndex_map">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,82,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="92,0,174,24">
+</map>
+<a href="classTHelpIndex-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTHelpIndex.html#a0">THelpIndex</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTHelpIndex.html#a1">THelpIndex</a> (<a class="el" href="ttypes_8h.html#a14">StreamableInit</a>)</td></tr>
+<tr><td nowrap align=right valign=top>virtual&nbsp;</td><td valign=bottom><a class="el" href="classTHelpIndex.html#a2">~THelpIndex</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>long&nbsp;</td><td valign=bottom><a class="el" href="classTHelpIndex.html#a3">position</a> (int)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTHelpIndex.html#a4">add</a> (int, long)</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStreamable.html">TStreamable</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTHelpIndex.html#d0">build</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="classTHelpIndex.html#m0">size</a></td></tr>
+<tr><td nowrap align=right valign=top>long *&nbsp;</td><td valign=bottom><a class="el" href="classTHelpIndex.html#m1">index</a></td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>const char *const&nbsp;</td><td valign=bottom><a class="el" href="classTHelpIndex.html#p0">name</a></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTHelpIndex.html#b0">write</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void *&nbsp;</td><td valign=bottom><a class="el" href="classTHelpIndex.html#b1">read</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Part of the help system.
+<p>
+
+<p>
+Definition at line <a class="el" href="helpbase_8h-source.html#l00210">210</a> of file <a class="el" href="helpbase_8h-source.html">helpbase.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="THelpIndex::THelpIndex"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> THelpIndex::THelpIndex </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="THelpIndex::THelpIndex"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> THelpIndex::THelpIndex </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a14">StreamableInit</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="helpbase_8h-source.html#l00220">220</a> of file <a class="el" href="helpbase_8h-source.html">helpbase.h</a>.
+<p>
+References <a class="el" href="ttypes_8h-source.html#l00062">StreamableInit</a>. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="THelpIndex::~THelpIndex"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual THelpIndex::~THelpIndex </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="a4" doxytag="THelpIndex::add"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void THelpIndex::add </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>long&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="d0" doxytag="THelpIndex::build"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStreamable.html">TStreamable</a>* THelpIndex::build </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="THelpIndex::position"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> long THelpIndex::position </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="b1" doxytag="THelpIndex::read"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void* THelpIndex::read </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>is</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This pure virtual function must be overridden (or redeclared as pure virtual) in every derived class. The overriding <a class="el" href="classTHelpIndex.html#b1">read()</a> function for each streamable class must read the necessary data members from the ipstream object `is'. <a class="el" href="classTHelpIndex.html#b1">read()</a> is usually implemented by calling the base class's <a class="el" href="classTHelpIndex.html#b1">read()</a> (if any), then extracting any additional data members for the derived class.
+<p>
+Implements <a class="el" href="classTStreamable.html#b0">TStreamable</a>. </td>
+ </tr>
+</table>
+<a name="b0" doxytag="THelpIndex::write"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void THelpIndex::write </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>os</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This pure virtual function must be overridden (or redeclared as pure virtual) in every derived class. The overriding <a class="el" href="classTHelpIndex.html#b0">write()</a> function for each streamable class must write the necessary data members to the opstream object `os'. <a class="el" href="classTHelpIndex.html#b0">write()</a> is usually implemented by calling the base class's <a class="el" href="classTHelpIndex.html#b0">write()</a> (if any), then inserting any additional data members for the derived class.
+<p>
+Implements <a class="el" href="classTStreamable.html#b1">TStreamable</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="m1" doxytag="THelpIndex::index"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> long* THelpIndex::index
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="helpbase_8h-source.html#l00240">240</a> of file <a class="el" href="helpbase_8h-source.html">helpbase.h</a>. </td>
+ </tr>
+</table>
+<a name="p0" doxytag="THelpIndex::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* const THelpIndex::name<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="helpbase_8h-source.html#l00251">251</a> of file <a class="el" href="helpbase_8h-source.html">helpbase.h</a>. </td>
+ </tr>
+</table>
+<a name="m0" doxytag="THelpIndex::size"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a0">ushort</a> THelpIndex::size
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="helpbase_8h-source.html#l00236">236</a> of file <a class="el" href="helpbase_8h-source.html">helpbase.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="helpbase_8h-source.html">helpbase.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:14 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTHelpIndex.png b/freebsdtvision/doc/html/classTHelpIndex.png
new file mode 100644
index 0000000..e9ab11a
--- /dev/null
+++ b/freebsdtvision/doc/html/classTHelpIndex.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTHelpTopic-members.html b/freebsdtvision/doc/html/classTHelpTopic-members.html
new file mode 100644
index 0000000..39d26d2
--- /dev/null
+++ b/freebsdtvision/doc/html/classTHelpTopic-members.html
@@ -0,0 +1,37 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>THelpTopic Member List</h1>This is the complete list of members for <a class="el" href="classTHelpTopic.html">THelpTopic</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHelpTopic.html#a3">addCrossRef</a>(TCrossRef ref)</td><td><a class="el" href="classTHelpTopic.html">THelpTopic</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHelpTopic.html#a4">addParagraph</a>(TParagraph *p)</td><td><a class="el" href="classTHelpTopic.html">THelpTopic</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHelpTopic.html#d0">build</a>()</td><td><a class="el" href="classTHelpTopic.html">THelpTopic</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHelpTopic.html#m2">crossRefs</a></td><td><a class="el" href="classTHelpTopic.html">THelpTopic</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHelpTopic.html#a5">getCrossRef</a>(int i, TPoint &amp;loc, uchar &amp;length, int &amp;ref)</td><td><a class="el" href="classTHelpTopic.html">THelpTopic</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHelpTopic.html#a6">getLine</a>(int line, char *buffer, int buflen)</td><td><a class="el" href="classTHelpTopic.html">THelpTopic</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHelpTopic.html#a7">getNumCrossRefs</a>()</td><td><a class="el" href="classTHelpTopic.html">THelpTopic</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHelpTopic.html#p0">name</a></td><td><a class="el" href="classTHelpTopic.html">THelpTopic</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHelpTopic.html#a8">numLines</a>()</td><td><a class="el" href="classTHelpTopic.html">THelpTopic</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHelpTopic.html#m1">numRefs</a></td><td><a class="el" href="classTHelpTopic.html">THelpTopic</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHelpTopic.html#m0">paragraphs</a></td><td><a class="el" href="classTHelpTopic.html">THelpTopic</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHelpTopic.html#b1">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTHelpTopic.html">THelpTopic</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHelpTopic.html#a9">setCrossRef</a>(int i, TCrossRef &amp;ref)</td><td><a class="el" href="classTHelpTopic.html">THelpTopic</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHelpTopic.html#a10">setNumCrossRefs</a>(int i)</td><td><a class="el" href="classTHelpTopic.html">THelpTopic</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHelpTopic.html#a11">setWidth</a>(int aWidth)</td><td><a class="el" href="classTHelpTopic.html">THelpTopic</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a1">shutDown</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHelpTopic.html#a0">THelpTopic</a>()</td><td><a class="el" href="classTHelpTopic.html">THelpTopic</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHelpTopic.html#a1">THelpTopic</a>(StreamableInit)</td><td><a class="el" href="classTHelpTopic.html">THelpTopic</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHelpTopic.html#b0">write</a>(opstream &amp;os)</td><td><a class="el" href="classTHelpTopic.html">THelpTopic</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHelpTopic.html#a2">~THelpTopic</a>()</td><td><a class="el" href="classTHelpTopic.html">THelpTopic</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:14 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTHelpTopic.html b/freebsdtvision/doc/html/classTHelpTopic.html
new file mode 100644
index 0000000..2a04b86
--- /dev/null
+++ b/freebsdtvision/doc/html/classTHelpTopic.html
@@ -0,0 +1,641 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>THelpTopic class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>THelpTopic Class Reference</h1>Part of the help system.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="helpbase_8h-source.html">helpbase.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for THelpTopic:
+<p><center><img src="classTHelpTopic.png" usemap="#THelpTopic_map" border="0" alt=""></center>
+<map name="THelpTopic_map">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,82,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="92,0,174,24">
+</map>
+<a href="classTHelpTopic-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTHelpTopic.html#a0">THelpTopic</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTHelpTopic.html#a1">THelpTopic</a> (<a class="el" href="ttypes_8h.html#a14">StreamableInit</a>)</td></tr>
+<tr><td nowrap align=right valign=top>virtual&nbsp;</td><td valign=bottom><a class="el" href="classTHelpTopic.html#a2">~THelpTopic</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTHelpTopic.html#a3">addCrossRef</a> (<a class="el" href="classTCrossRef.html">TCrossRef</a> ref)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTHelpTopic.html#a4">addParagraph</a> (<a class="el" href="classTParagraph.html">TParagraph</a> *p)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTHelpTopic.html#a5">getCrossRef</a> (int i, <a class="el" href="classTPoint.html">TPoint</a> &amp;loc, <a class="el" href="ttypes_8h.html#a1">uchar</a> &amp;length, int &amp;ref)</td></tr>
+<tr><td nowrap align=right valign=top>char *&nbsp;</td><td valign=bottom><a class="el" href="classTHelpTopic.html#a6">getLine</a> (int line, char *buffer, int buflen)</td></tr>
+<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classTHelpTopic.html#a7">getNumCrossRefs</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classTHelpTopic.html#a8">numLines</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTHelpTopic.html#a9">setCrossRef</a> (int i, <a class="el" href="classTCrossRef.html">TCrossRef</a> &amp;ref)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTHelpTopic.html#a10">setNumCrossRefs</a> (int i)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTHelpTopic.html#a11">setWidth</a> (int aWidth)</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStreamable.html">TStreamable</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTHelpTopic.html#d0">build</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTParagraph.html">TParagraph</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTHelpTopic.html#m0">paragraphs</a></td></tr>
+<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classTHelpTopic.html#m1">numRefs</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTCrossRef.html">TCrossRef</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTHelpTopic.html#m2">crossRefs</a></td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>const char *const&nbsp;</td><td valign=bottom><a class="el" href="classTHelpTopic.html#p0">name</a></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTHelpTopic.html#b0">write</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void *&nbsp;</td><td valign=bottom><a class="el" href="classTHelpTopic.html#b1">read</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Part of the help system.
+<p>
+
+<p>
+Definition at line <a class="el" href="helpbase_8h-source.html#l00091">91</a> of file <a class="el" href="helpbase_8h-source.html">helpbase.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="THelpTopic::THelpTopic"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> THelpTopic::THelpTopic </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="THelpTopic::THelpTopic"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> THelpTopic::THelpTopic </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a14">StreamableInit</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="helpbase_8h-source.html#l00101">101</a> of file <a class="el" href="helpbase_8h-source.html">helpbase.h</a>.
+<p>
+References <a class="el" href="ttypes_8h-source.html#l00062">StreamableInit</a>. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="THelpTopic::~THelpTopic"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual THelpTopic::~THelpTopic </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="a3" doxytag="THelpTopic::addCrossRef"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void THelpTopic::addCrossRef </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTCrossRef.html">TCrossRef</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>ref</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="THelpTopic::addParagraph"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void THelpTopic::addParagraph </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTParagraph.html">TParagraph</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>p</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="d0" doxytag="THelpTopic::build"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStreamable.html">TStreamable</a>* THelpTopic::build </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="a5" doxytag="THelpTopic::getCrossRef"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void THelpTopic::getCrossRef </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>i</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTPoint.html">TPoint</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>loc</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a1">uchar</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>length</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>ref</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="a6" doxytag="THelpTopic::getLine"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> char* THelpTopic::getLine </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>line</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>buffer</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>buflen</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="a7" doxytag="THelpTopic::getNumCrossRefs"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> int THelpTopic::getNumCrossRefs </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="a8" doxytag="THelpTopic::numLines"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> int THelpTopic::numLines </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="b1" doxytag="THelpTopic::read"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void* THelpTopic::read </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>is</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This pure virtual function must be overridden (or redeclared as pure virtual) in every derived class. The overriding <a class="el" href="classTHelpTopic.html#b1">read()</a> function for each streamable class must read the necessary data members from the ipstream object `is'. <a class="el" href="classTHelpTopic.html#b1">read()</a> is usually implemented by calling the base class's <a class="el" href="classTHelpTopic.html#b1">read()</a> (if any), then extracting any additional data members for the derived class.
+<p>
+Implements <a class="el" href="classTStreamable.html#b0">TStreamable</a>. </td>
+ </tr>
+</table>
+<a name="a9" doxytag="THelpTopic::setCrossRef"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void THelpTopic::setCrossRef </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>i</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTCrossRef.html">TCrossRef</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>ref</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="a10" doxytag="THelpTopic::setNumCrossRefs"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void THelpTopic::setNumCrossRefs </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>i</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="a11" doxytag="THelpTopic::setWidth"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void THelpTopic::setWidth </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>aWidth</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="b0" doxytag="THelpTopic::write"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void THelpTopic::write </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>os</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This pure virtual function must be overridden (or redeclared as pure virtual) in every derived class. The overriding <a class="el" href="classTHelpTopic.html#b0">write()</a> function for each streamable class must write the necessary data members to the opstream object `os'. <a class="el" href="classTHelpTopic.html#b0">write()</a> is usually implemented by calling the base class's <a class="el" href="classTHelpTopic.html#b0">write()</a> (if any), then inserting any additional data members for the derived class.
+<p>
+Implements <a class="el" href="classTStreamable.html#b1">TStreamable</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="m2" doxytag="THelpTopic::crossRefs"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTCrossRef.html">TCrossRef</a>* THelpTopic::crossRefs
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="helpbase_8h-source.html#l00153">153</a> of file <a class="el" href="helpbase_8h-source.html">helpbase.h</a>. </td>
+ </tr>
+</table>
+<a name="p0" doxytag="THelpTopic::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* const THelpTopic::name<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="helpbase_8h-source.html#l00174">174</a> of file <a class="el" href="helpbase_8h-source.html">helpbase.h</a>. </td>
+ </tr>
+</table>
+<a name="m1" doxytag="THelpTopic::numRefs"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> int THelpTopic::numRefs
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="helpbase_8h-source.html#l00149">149</a> of file <a class="el" href="helpbase_8h-source.html">helpbase.h</a>. </td>
+ </tr>
+</table>
+<a name="m0" doxytag="THelpTopic::paragraphs"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTParagraph.html">TParagraph</a>* THelpTopic::paragraphs
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="helpbase_8h-source.html#l00145">145</a> of file <a class="el" href="helpbase_8h-source.html">helpbase.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="helpbase_8h-source.html">helpbase.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:14 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTHelpTopic.png b/freebsdtvision/doc/html/classTHelpTopic.png
new file mode 100644
index 0000000..e17c7c6
--- /dev/null
+++ b/freebsdtvision/doc/html/classTHelpTopic.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTHelpViewer-members.html b/freebsdtvision/doc/html/classTHelpViewer-members.html
new file mode 100644
index 0000000..101b31c
--- /dev/null
+++ b/freebsdtvision/doc/html/classTHelpViewer-members.html
@@ -0,0 +1,140 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>THelpViewer Member List</h1>This is the complete list of members for <a class="el" href="classTHelpViewer.html">THelpViewer</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a31">awaken</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a32">blockCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#d0">build</a>()</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a10">calcBounds</a>(TRect &amp;bounds, TPoint delta)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHelpViewer.html#a2">changeBounds</a>(const TRect &amp;)</td><td><a class="el" href="classTHelpViewer.html">THelpViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#a8">checkDraw</a>()</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a38">clearEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d0">commandEnabled</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p0">commandSetChanged</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a7">containsMouse</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p1">curCommandSet</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m6">cursor</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a28">dataSize</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#m0">delta</a></td><td><a class="el" href="classTScroller.html">TScroller</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d3">disableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d1">disableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m8">dragMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a9">dragView</a>(TEvent &amp;event, uchar mode, TRect &amp;limits, TPoint minSize, TPoint maxSize)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHelpViewer.html#a3">draw</a>()</td><td><a class="el" href="classTHelpViewer.html">THelpViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a37">drawCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#n1">drawFlag</a></td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a24">drawHide</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#n0">drawLock</a></td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a25">drawShow</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a26">drawUnderRect</a>(TRect &amp;r, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a27">drawUnderView</a>(Boolean doShadow, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a20">drawView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d4">enableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d2">enableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a43">endModal</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>enterSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p3">errorAttr</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a39">eventAvail</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m3">eventMask</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a44">execute</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a21">exposed</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a22">focus</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a3">getBounds</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a5">getClipRect</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a45">getColor</a>(ushort color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d5">getCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a29">getData</a>(void *rec)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a40">getEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a4">getExtent</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a15">getHelpCtx</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHelpViewer.html#a4">getPalette</a>() const</td><td><a class="el" href="classTHelpViewer.html">THelpViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a48">getState</a>(ushort aState)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m7">growMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a12">growTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHelpViewer.html#a5">handleEvent</a>(TEvent &amp;)</td><td><a class="el" href="classTHelpViewer.html">THelpViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m9">helpCtx</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHelpViewer.html#m0">hFile</a></td><td><a class="el" href="classTHelpViewer.html">THelpViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a17">hide</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a23">hideCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#n2">hScrollBar</a></td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a51">keyEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>leaveSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#n4">limit</a></td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a8">locate</a>(TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a58">makeFirst</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a53">makeGlobal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a54">makeLocal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHelpViewer.html#a6">makeSelectVisible</a>(int, TPoint &amp;, uchar &amp;, int &amp;)</td><td><a class="el" href="classTHelpViewer.html">THelpViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a47">mapColor</a>(uchar)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a52">mouseEvent</a>(TEvent &amp;event, ushort mask)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a6">mouseInView</a>(TPoint mouse)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a13">moveTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#p0">name</a></td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m0">next</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a55">nextView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a33">normalCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>normalSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m2">options</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m5">origin</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m10">owner</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s6">phaseType</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phFocused</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPostProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPreProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a57">prev</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a56">prevView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a42">putEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a59">putInFrontOf</a>(TView *Target)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#b2">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a34">resetCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#a4">scrollDraw</a>()</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#a5">scrollTo</a>(int x, int y)</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a49">select</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHelpViewer.html#m2">selected</a></td><td><a class="el" href="classTHelpViewer.html">THelpViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s7">selectMode</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a14">setBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d7">setCmdState</a>(TCommandSet &amp;commands, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d6">setCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a35">setCursor</a>(int x, int y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a30">setData</a>(void *rec)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#a6">setLimit</a>(int x, int y)</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#a7">setState</a>(ushort aState, Boolean enable)</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a18">show</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a36">showCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p2">showMarkers</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#a9">shutDown</a>()</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m1">size</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a2">sizeLimits</a>(TPoint &amp;min, TPoint &amp;max)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m4">state</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHelpViewer.html#a7">switchToTopic</a>(int)</td><td><a class="el" href="classTHelpViewer.html">THelpViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHelpViewer.html#a0">THelpViewer</a>(const TRect &amp;, TScrollBar *, TScrollBar *, THelpFile *, ushort)</td><td><a class="el" href="classTHelpViewer.html">THelpViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHelpViewer.html#m1">topic</a></td><td><a class="el" href="classTHelpViewer.html">THelpViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a60">TopView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#a0">TScroller</a>(const TRect &amp;bounds, TScrollBar *aHScrollBar, TScrollBar *aVScrollBar)</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#b0">TScroller</a>(StreamableInit)</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a0">TView</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#b0">TView</a>(StreamableInit)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a16">valid</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#n3">vScrollBar</a></td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#b1">write</a>(opstream &amp;os)</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a61">writeBuf</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a62">writeBuf</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a63">writeChar</a>(short x, short y, char c, uchar color, short count)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a64">writeLine</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a65">writeLine</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a66">writeStr</a>(short x, short y, const char *str, uchar color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHelpViewer.html#a1">~THelpViewer</a>()</td><td><a class="el" href="classTHelpViewer.html">THelpViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a1">~TView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:14 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTHelpViewer.html b/freebsdtvision/doc/html/classTHelpViewer.html
new file mode 100644
index 0000000..849e2d2
--- /dev/null
+++ b/freebsdtvision/doc/html/classTHelpViewer.html
@@ -0,0 +1,407 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>THelpViewer class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>THelpViewer Class Reference</h1><code>#include &lt;<a class="el" href="help_8h-source.html">help.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for THelpViewer:
+<p><center><img src="classTHelpViewer.png" usemap="#THelpViewer_map" border="0" alt=""></center>
+<map name="THelpViewer_map">
+<area href="classTScroller.html" alt="TScroller" shape="rect" coords="47,112,132,136">
+<area href="classTView.html" alt="TView" shape="rect" coords="47,56,132,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,85,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="95,0,180,24">
+</map>
+<a href="classTHelpViewer-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTHelpViewer.html#a0">THelpViewer</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;, <a class="el" href="classTScrollBar.html">TScrollBar</a> *, <a class="el" href="classTScrollBar.html">TScrollBar</a> *, <a class="el" href="classTHelpFile.html">THelpFile</a> *, <a class="el" href="ttypes_8h.html#a0">ushort</a>)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTHelpViewer.html#a1">~THelpViewer</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTHelpViewer.html#a2">changeBounds</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTHelpViewer.html#a3">draw</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="classTPalette.html">TPalette</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="classTHelpViewer.html#a4">getPalette</a> () const</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTHelpViewer.html#a5">handleEvent</a> (<a class="el" href="structTEvent.html">TEvent</a> &amp;)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTHelpViewer.html#a6">makeSelectVisible</a> (int, <a class="el" href="classTPoint.html">TPoint</a> &amp;, <a class="el" href="ttypes_8h.html#a1">uchar</a> &amp;, int &amp;)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTHelpViewer.html#a7">switchToTopic</a> (int)</td></tr>
+<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTHelpFile.html">THelpFile</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTHelpViewer.html#m0">hFile</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTHelpTopic.html">THelpTopic</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTHelpViewer.html#m1">topic</a></td></tr>
+<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classTHelpViewer.html#m2">selected</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Part of the help system.
+<p>
+
+<p>
+Definition at line <a class="el" href="help_8h-source.html#l00039">39</a> of file <a class="el" href="help_8h-source.html">help.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="THelpViewer::THelpViewer"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> THelpViewer::THelpViewer </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTScrollBar.html">TScrollBar</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTScrollBar.html">TScrollBar</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTHelpFile.html">THelpFile</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="THelpViewer::~THelpViewer"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> THelpViewer::~THelpViewer </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="a2" doxytag="THelpViewer::changeBounds"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void THelpViewer::changeBounds </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTScroller.html#a1">TScroller</a>. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="THelpViewer::draw"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void THelpViewer::draw </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a19">TView</a>. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="THelpViewer::getPalette"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="classTPalette.html">TPalette</a>&amp; THelpViewer::getPalette </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTScroller.html#a2">TScroller</a>. </td>
+ </tr>
+</table>
+<a name="a5" doxytag="THelpViewer::handleEvent"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void THelpViewer::handleEvent </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="structTEvent.html">TEvent</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTScroller.html#a3">TScroller</a>. </td>
+ </tr>
+</table>
+<a name="a6" doxytag="THelpViewer::makeSelectVisible"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void THelpViewer::makeSelectVisible </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTPoint.html">TPoint</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a1">uchar</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="a7" doxytag="THelpViewer::switchToTopic"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void THelpViewer::switchToTopic </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="m0" doxytag="THelpViewer::hFile"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTHelpFile.html">THelpFile</a>* THelpViewer::hFile
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="help_8h-source.html#l00077">77</a> of file <a class="el" href="help_8h-source.html">help.h</a>. </td>
+ </tr>
+</table>
+<a name="m2" doxytag="THelpViewer::selected"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> int THelpViewer::selected
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="help_8h-source.html#l00085">85</a> of file <a class="el" href="help_8h-source.html">help.h</a>. </td>
+ </tr>
+</table>
+<a name="m1" doxytag="THelpViewer::topic"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTHelpTopic.html">THelpTopic</a>* THelpViewer::topic
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="help_8h-source.html#l00081">81</a> of file <a class="el" href="help_8h-source.html">help.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="help_8h-source.html">help.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:14 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTHelpViewer.png b/freebsdtvision/doc/html/classTHelpViewer.png
new file mode 100644
index 0000000..913cf14
--- /dev/null
+++ b/freebsdtvision/doc/html/classTHelpViewer.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTHelpWindow-members.html b/freebsdtvision/doc/html/classTHelpWindow-members.html
new file mode 100644
index 0000000..01c214c
--- /dev/null
+++ b/freebsdtvision/doc/html/classTHelpWindow-members.html
@@ -0,0 +1,172 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>THelpWindow Member List</h1>This is the complete list of members for <a class="el" href="classTHelpWindow.html">THelpWindow</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a17">at</a>(short index)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a5">awaken</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a32">blockCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m4">buffer</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#d1">build</a>()</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a10">calcBounds</a>(TRect &amp;bounds, TPoint delta)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a25">changeBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a38">clearEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m2">clip</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a2">close</a>()</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d0">commandEnabled</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p0">commandSetChanged</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a7">containsMouse</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindowInit.html#n0">createFrame</a></td><td><a class="el" href="classTWindowInit.html">TWindowInit</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p1">curCommandSet</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m0">current</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m6">cursor</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a26">dataSize</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d3">disableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d1">disableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m8">dragMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a9">dragView</a>(TEvent &amp;event, uchar mode, TRect &amp;limits, TPoint minSize, TPoint maxSize)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a29">draw</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a37">drawCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a24">drawHide</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a25">drawShow</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a24">drawSubViews</a>(TView *p, TView *bottom)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a26">drawUnderRect</a>(TRect &amp;r, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a27">drawUnderView</a>(Boolean doShadow, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a20">drawView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d4">enableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d2">enableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a34">endModal</a>(ushort command)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m6">endState</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>enterSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p3">errorAttr</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a39">eventAvail</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a35">eventError</a>(TEvent &amp;event)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m3">eventMask</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a4">execute</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a3">execView</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a21">exposed</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a21">first</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a18">firstMatch</a>(ushort aState, ushort aOptions)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a12">firstThat</a>(Boolean(*func)(TView *, void *), void *args)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#m0">flags</a></td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a22">focus</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a13">focusNext</a>(Boolean forwards)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a14">forEach</a>(void(*func)(TView *, void *), void *args)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#m4">frame</a></td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a38">freeBuffer</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a3">getBounds</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a39">getBuffer</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a5">getClipRect</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a45">getColor</a>(ushort color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d5">getCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a27">getData</a>(void *rec)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a40">getEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a4">getExtent</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a36">getHelpCtx</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHelpWindow.html#a1">getPalette</a>() const</td><td><a class="el" href="classTHelpWindow.html">THelpWindow</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a48">getState</a>(ushort aState)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a4">getTitle</a>(short maxSize)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m7">growMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a12">growTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a5">handleEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m9">helpCtx</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a17">hide</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a23">hideCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a19">indexOf</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#d0">initFrame</a>(TRect)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a15">insert</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a16">insertBefore</a>(TView *p, TView *Target)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a6">insertView</a>(TView *p, TView *Target)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a51">keyEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m1">last</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>leaveSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a8">locate</a>(TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a31">lock</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m5">lockFlag</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a58">makeFirst</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a53">makeGlobal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a54">makeLocal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a47">mapColor</a>(uchar)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a20">matches</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a52">mouseEvent</a>(TEvent &amp;event, ushort mask)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a6">mouseInView</a>(TPoint mouse)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a13">moveTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#p0">name</a></td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m0">next</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a55">nextView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a33">normalCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>normalSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#m2">number</a></td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m2">options</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m5">origin</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m10">owner</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#m3">palette</a></td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m3">phase</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s6">phaseType</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phFocused</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPostProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPreProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a57">prev</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a56">prevView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a42">putEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a59">putInFrontOf</a>(TView *Target)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#b2">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a30">redraw</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a7">remove</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a8">removeView</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a9">resetCurrent</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a33">resetCursor</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a49">select</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s7">selectMode</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a11">selectNext</a>(Boolean forwards)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a14">setBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d7">setCmdState</a>(TCommandSet &amp;commands, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d6">setCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a10">setCurrent</a>(TView *p, selectMode mode)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a35">setCursor</a>(int x, int y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a28">setData</a>(void *rec)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a6">setState</a>(ushort aState, Boolean enable)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a18">show</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a36">showCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p2">showMarkers</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a10">shutDown</a>()</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m1">size</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a7">sizeLimits</a>(TPoint &amp;min, TPoint &amp;max)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a8">standardScrollBar</a>(ushort aOptions)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m4">state</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a0">TGroup</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#b0">TGroup</a>(StreamableInit)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHelpWindow.html#a0">THelpWindow</a>(THelpFile *, ushort)</td><td><a class="el" href="classTHelpWindow.html">THelpWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#m5">title</a></td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a60">TopView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a0">TView</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#b0">TView</a>(StreamableInit)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a0">TWindow</a>(const TRect &amp;bounds, const char *aTitle, short aNumber)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#b0">TWindow</a>(StreamableInit)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindowInit.html#a0">TWindowInit</a>(TFrame *(*cFrame)(TRect bounds))</td><td><a class="el" href="classTWindowInit.html">TWindowInit</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a32">unlock</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a37">valid</a>(ushort command)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#b1">write</a>(opstream &amp;os)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a61">writeBuf</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a62">writeBuf</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a63">writeChar</a>(short x, short y, char c, uchar color, short count)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a64">writeLine</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a65">writeLine</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a66">writeStr</a>(short x, short y, const char *str, uchar color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a9">zoom</a>()</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#m1">zoomRect</a></td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a1">~TGroup</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a1">~TView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a1">~TWindow</a>()</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:14 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTHelpWindow.html b/freebsdtvision/doc/html/classTHelpWindow.html
new file mode 100644
index 0000000..1b9decf
--- /dev/null
+++ b/freebsdtvision/doc/html/classTHelpWindow.html
@@ -0,0 +1,109 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>THelpWindow class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>THelpWindow Class Reference</h1><code>#include &lt;<a class="el" href="help_8h-source.html">help.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for THelpWindow:
+<p><center><img src="classTHelpWindow.png" usemap="#THelpWindow_map" border="0" alt=""></center>
+<map name="THelpWindow_map">
+<area href="classTWindow.html" alt="TWindow" shape="rect" coords="99,168,188,192">
+<area href="classTGroup.html" alt="TGroup" shape="rect" coords="49,112,138,136">
+<area href="classTWindowInit.html" alt="TWindowInit" shape="rect" coords="148,112,237,136">
+<area href="classTView.html" alt="TView" shape="rect" coords="49,56,138,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,89,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="99,0,188,24">
+</map>
+<a href="classTHelpWindow-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTHelpWindow.html#a0">THelpWindow</a> (<a class="el" href="classTHelpFile.html">THelpFile</a> *, <a class="el" href="ttypes_8h.html#a0">ushort</a>)</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="classTPalette.html">TPalette</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="classTHelpWindow.html#a1">getPalette</a> () const</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Part of the help system.
+<p>
+
+<p>
+Definition at line <a class="el" href="help_8h-source.html#l00093">93</a> of file <a class="el" href="help_8h-source.html">help.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="THelpWindow::THelpWindow"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> THelpWindow::THelpWindow </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTHelpFile.html">THelpFile</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="a1" doxytag="THelpWindow::getPalette"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="classTPalette.html">TPalette</a>&amp; THelpWindow::getPalette </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTWindow.html#a3">TWindow</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="help_8h-source.html">help.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:14 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTHelpWindow.png b/freebsdtvision/doc/html/classTHelpWindow.png
new file mode 100644
index 0000000..715f62d
--- /dev/null
+++ b/freebsdtvision/doc/html/classTHelpWindow.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTHistInit-members.html b/freebsdtvision/doc/html/classTHistInit-members.html
new file mode 100644
index 0000000..2797bf0
--- /dev/null
+++ b/freebsdtvision/doc/html/classTHistInit-members.html
@@ -0,0 +1,17 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>THistInit Member List</h1>This is the complete list of members for <a class="el" href="classTHistInit.html">THistInit</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHistInit.html#n0">createListViewer</a></td><td><a class="el" href="classTHistInit.html">THistInit</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHistInit.html#a0">THistInit</a>(TListViewer *(*cListViewer)(TRect r, TWindow *w, ushort histID))</td><td><a class="el" href="classTHistInit.html">THistInit</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:14 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTHistInit.html b/freebsdtvision/doc/html/classTHistInit.html
new file mode 100644
index 0000000..d6e4469
--- /dev/null
+++ b/freebsdtvision/doc/html/classTHistInit.html
@@ -0,0 +1,94 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>THistInit class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>THistInit Class Reference</h1>Virtual base class for <a class="el" href="classTHistoryWindow.html">THistoryWindow</a>.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="dialogs_8h-source.html">dialogs.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for THistInit:
+<p><center><img src="classTHistInit.png" usemap="#THistInit_map" border="0" alt=""></center>
+<map name="THistInit_map">
+<area href="classTHistoryWindow.html" alt="THistoryWindow" shape="rect" coords="0,56,103,80">
+</map>
+<a href="classTHistInit-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTHistInit.html#a0">THistInit</a> (<a class="el" href="classTListViewer.html">TListViewer</a> *(*cListViewer)(<a class="el" href="classTRect.html">TRect</a> r, <a class="el" href="classTWindow.html">TWindow</a> *w, <a class="el" href="ttypes_8h.html#a0">ushort</a> histID))</td></tr>
+<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTListViewer.html">TListViewer</a> *(*&nbsp;</td><td valign=bottom><a class="el" href="classTHistInit.html#n0">createListViewer</a> )(<a class="el" href="classTRect.html">TRect</a> r, <a class="el" href="classTWindow.html">TWindow</a> *w, <a class="el" href="ttypes_8h.html#a0">ushort</a> histId)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<a class="el" href="classTHistoryWindow.html">THistoryWindow</a> inherits multiply from <a class="el" href="classTWindow.html">TWindow</a> and the virtual base class THistInit.
+<p>
+THistInit provides a constructor and <a class="el" href="classTHistInit.html#n0">THistoryWindow::createListViewer()</a> member function used in creating and inserting a list viewer into a history window. A similar technique is used for <a class="el" href="classTProgram.html">TProgram</a>, <a class="el" href="classTWindow.html">TWindow</a> and <a class="el" href="classTDeskTop.html">TDeskTop</a>.
+<p>
+
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l02282">2282</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="THistInit::THistInit"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> THistInit::THistInit </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTListViewer.html">TListViewer</a> *(*&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>cListViewer</em>)(<a class="el" href="classTRect.html">TRect</a> r, <a class="el" href="classTWindow.html">TWindow</a> *w, <a class="el" href="ttypes_8h.html#a0">ushort</a> histID) </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This constructor takes a function address argument `cListViewer', usually &amp;<a class="el" href="classTHistoryWindow.html#d0">THistoryWindow::initViewer</a>. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTHistoryWindow.html#d0">THistoryWindow::initViewer</a></dl>This creates and inserts a list viewer into the given history window with the given size `bounds' and history list `histID'. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="n0" doxytag="THistInit::createListViewer"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTListViewer.html">TListViewer</a>*(* THistInit::createListViewer)( <a class="el" href="classTRect.html">TRect</a> r, <a class="el" href="classTWindow.html">TWindow</a> *w, <a class="el" href="ttypes_8h.html#a0">ushort</a> histId )<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called by the THistInit constructor to create a list viewer for the window `w' with size `r' and history list given by `histId' and return a pointer to it. A 0 pointer indicates lack of success in this endeavor. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="dialogs_8h-source.html">dialogs.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:14 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTHistInit.png b/freebsdtvision/doc/html/classTHistInit.png
new file mode 100644
index 0000000..520d609
--- /dev/null
+++ b/freebsdtvision/doc/html/classTHistInit.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTHistory-members.html b/freebsdtvision/doc/html/classTHistory-members.html
new file mode 100644
index 0000000..0a99392
--- /dev/null
+++ b/freebsdtvision/doc/html/classTHistory-members.html
@@ -0,0 +1,128 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>THistory Member List</h1>This is the complete list of members for <a class="el" href="classTHistory.html">THistory</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a31">awaken</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a32">blockCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHistory.html#d0">build</a>()</td><td><a class="el" href="classTHistory.html">THistory</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a10">calcBounds</a>(TRect &amp;bounds, TPoint delta)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a11">changeBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a38">clearEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d0">commandEnabled</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p0">commandSetChanged</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a7">containsMouse</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p1">curCommandSet</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m6">cursor</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a28">dataSize</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d3">disableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d1">disableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m8">dragMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a9">dragView</a>(TEvent &amp;event, uchar mode, TRect &amp;limits, TPoint minSize, TPoint maxSize)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHistory.html#a1">draw</a>()</td><td><a class="el" href="classTHistory.html">THistory</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a37">drawCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a24">drawHide</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a25">drawShow</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a26">drawUnderRect</a>(TRect &amp;r, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a27">drawUnderView</a>(Boolean doShadow, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a20">drawView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d4">enableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d2">enableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a43">endModal</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>enterSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p3">errorAttr</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a39">eventAvail</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m3">eventMask</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a44">execute</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a21">exposed</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a22">focus</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a3">getBounds</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a5">getClipRect</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a45">getColor</a>(ushort color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d5">getCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a29">getData</a>(void *rec)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a40">getEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a4">getExtent</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a15">getHelpCtx</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHistory.html#a2">getPalette</a>() const</td><td><a class="el" href="classTHistory.html">THistory</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a48">getState</a>(ushort aState)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m7">growMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a12">growTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHistory.html#a3">handleEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTHistory.html">THistory</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m9">helpCtx</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a17">hide</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a23">hideCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHistory.html#n1">historyId</a></td><td><a class="el" href="classTHistory.html">THistory</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHistory.html#p0">icon</a></td><td><a class="el" href="classTHistory.html">THistory</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHistory.html#a4">initHistoryWindow</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTHistory.html">THistory</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a51">keyEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>leaveSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHistory.html#n0">link</a></td><td><a class="el" href="classTHistory.html">THistory</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a8">locate</a>(TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a58">makeFirst</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a53">makeGlobal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a54">makeLocal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a47">mapColor</a>(uchar)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a52">mouseEvent</a>(TEvent &amp;event, ushort mask)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a6">mouseInView</a>(TPoint mouse)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a13">moveTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHistory.html#p1">name</a></td><td><a class="el" href="classTHistory.html">THistory</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m0">next</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a55">nextView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a33">normalCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>normalSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m2">options</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m5">origin</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m10">owner</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s6">phaseType</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phFocused</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPostProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPreProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a57">prev</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a56">prevView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a42">putEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a59">putInFrontOf</a>(TView *Target)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHistory.html#b2">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTHistory.html">THistory</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHistory.html#a5">recordHistory</a>(const char *s)</td><td><a class="el" href="classTHistory.html">THistory</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a34">resetCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a49">select</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s7">selectMode</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a14">setBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d7">setCmdState</a>(TCommandSet &amp;commands, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d6">setCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a35">setCursor</a>(int x, int y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a30">setData</a>(void *rec)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a50">setState</a>(ushort aState, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a18">show</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a36">showCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p2">showMarkers</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHistory.html#a6">shutDown</a>()</td><td><a class="el" href="classTHistory.html">THistory</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m1">size</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a2">sizeLimits</a>(TPoint &amp;min, TPoint &amp;max)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m4">state</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHistory.html#a0">THistory</a>(const TRect &amp;bounds, TInputLine *aLink, ushort aHistoryId)</td><td><a class="el" href="classTHistory.html">THistory</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHistory.html#b0">THistory</a>(StreamableInit)</td><td><a class="el" href="classTHistory.html">THistory</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a60">TopView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a0">TView</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#b0">TView</a>(StreamableInit)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a16">valid</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHistory.html#b1">write</a>(opstream &amp;os)</td><td><a class="el" href="classTHistory.html">THistory</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a61">writeBuf</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a62">writeBuf</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a63">writeChar</a>(short x, short y, char c, uchar color, short count)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a64">writeLine</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a65">writeLine</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a66">writeStr</a>(short x, short y, const char *str, uchar color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a1">~TView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:14 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTHistory.html b/freebsdtvision/doc/html/classTHistory.html
new file mode 100644
index 0000000..2a6bf59
--- /dev/null
+++ b/freebsdtvision/doc/html/classTHistory.html
@@ -0,0 +1,512 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>THistory class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>THistory Class Reference</h1>Implements a pick list of previous entries, actions, or choices from which the user can select a "rerun".
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="dialogs_8h-source.html">dialogs.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for THistory:
+<p><center><img src="classTHistory.png" usemap="#THistory_map" border="0" alt=""></center>
+<map name="THistory_map">
+<area href="classTView.html" alt="TView" shape="rect" coords="46,56,128,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,82,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="92,0,174,24">
+</map>
+<a href="classTHistory-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTHistory.html#a0">THistory</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;bounds, <a class="el" href="classTInputLine.html">TInputLine</a> *aLink, <a class="el" href="ttypes_8h.html#a0">ushort</a> aHistoryId)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTHistory.html#a1">draw</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="classTPalette.html">TPalette</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="classTHistory.html#a2">getPalette</a> () const</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTHistory.html#a3">handleEvent</a> (<a class="el" href="structTEvent.html">TEvent</a> &amp;event)</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="classTHistoryWindow.html">THistoryWindow</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTHistory.html#a4">initHistoryWindow</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;bounds)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTHistory.html#a5">recordHistory</a> (const char *s)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTHistory.html#a6">shutDown</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStreamable.html">TStreamable</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTHistory.html#d0">build</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>const char *&nbsp;</td><td valign=bottom><a class="el" href="classTHistory.html#p0">icon</a></td></tr>
+<tr><td nowrap align=right valign=top>const char *const&nbsp;</td><td valign=bottom><a class="el" href="classTHistory.html#p1">name</a></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTHistory.html#b0">THistory</a> (<a class="el" href="ttypes_8h.html#a14">StreamableInit</a>)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTHistory.html#b1">write</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void *&nbsp;</td><td valign=bottom><a class="el" href="classTHistory.html#b2">read</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is)</td></tr>
+<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTInputLine.html">TInputLine</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTHistory.html#n0">link</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="classTHistory.html#n1">historyId</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+A THistory object implements a pick list of previous entries, actions, or choices from which the user can select a "rerun". THistory objects are linked to a <a class="el" href="classTInputLine.html">TInputLine</a> object and to a history list. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTHistoryWindow.html">THistoryWindow</a></dl>History list information is stored in a block of memory on the heap. When the block fills up, the oldest history items are deleted as new ones are added.
+<p>
+Different input lines can share the same history list by using the same ID number.
+<p>
+
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l02404">2404</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="THistory::THistory"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> THistory::THistory </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>bounds</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTInputLine.html">TInputLine</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aLink</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aHistoryId</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a THistory object of the given size by calling TView::TView(bounds), then setting the link and <a class="el" href="classTHistory.html#n1">historyId</a> data members with the given argument values `aLink' and `aHistoryId'. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#a0">TView::TView</a></dl>The options member is set to <a class="el" href="views_8h.html#a43">ofPostProcess</a>. The <a class="el" href="system_8h.html#a6">evBroadcast</a> bit is set in <a class="el" href="classTView.html#m3">eventMask</a> in addition to the <a class="el" href="system_8h.html#a0">evMouseDown</a>, <a class="el" href="system_8h.html#a4">evKeyDown</a>, and <a class="el" href="system_8h.html#a5">evCommand</a> bits set by TView(bounds). </td>
+ </tr>
+</table>
+<a name="b0" doxytag="THistory::THistory"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> THistory::THistory </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a14">StreamableInit</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Each streamable class needs a "builder" to allocate the correct memory for its objects together with the initialized virtual table pointers. This is achieved by calling this constructor with an argument of type <a class="el" href="ttypes_8h.html#a14">StreamableInit</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="d0" doxytag="THistory::build"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStreamable.html">TStreamable</a>* THistory::build </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called to create an object in certain stream-reading situations.
+<p>
+Reimplemented from <a class="el" href="classTView.html#d8">TView</a>. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="THistory::draw"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void THistory::draw </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Draws the THistory icon in the default palette.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a19">TView</a>. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="THistory::getPalette"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="classTPalette.html">TPalette</a>&amp; THistory::getPalette </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns a reference to the default palette.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a46">TView</a>. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="THistory::handleEvent"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void THistory::handleEvent </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="structTEvent.html">TEvent</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>event</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Calls TView::handleEvent(event), then handles relevant mouse and key events to select the linked input line and create a history window. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#a41">TView::handleEvent</a> </dl>
+<p>
+Reimplemented from <a class="el" href="classTView.html#a41">TView</a>. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="THistory::initHistoryWindow"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="classTHistoryWindow.html">THistoryWindow</a>* THistory::initHistoryWindow </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>bounds</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a <a class="el" href="classTHistoryWindow.html">THistoryWindow</a> object and returns a pointer to it. The new object has the given bounds and the same <a class="el" href="classTHistory.html#n1">historyId</a> as the calling THistory object. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTHistoryWindow.html">THistoryWindow</a></dl>The new object gets its <a class="el" href="classTView.html#m9">helpCtx</a> from the calling object's linked <a class="el" href="classTInputLine.html">TInputLine</a>. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTHistory.html#n0">THistory::link</a> </dl> </td>
+ </tr>
+</table>
+<a name="b2" doxytag="THistory::read"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void* THistory::read </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>is</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Reads from the input stream `is'.
+<p>
+Reimplemented from <a class="el" href="classTView.html#b2">TView</a>. </td>
+ </tr>
+</table>
+<a name="a5" doxytag="THistory::recordHistory"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void THistory::recordHistory </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>s</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="a6" doxytag="THistory::shutDown"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void THistory::shutDown </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Used internally by <a class="el" href="classTObject.html#d0">TObject::destroy()</a> to ensure correct destruction of derived and related objects.
+<p>
+<a class="el" href="classTHistory.html#a6">shutDown()</a> is overridden in many classes to ensure the proper setting of related data members when <a class="el" href="classTObject.html#d0">destroy()</a> is called.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a67">TView</a>. </td>
+ </tr>
+</table>
+<a name="b1" doxytag="THistory::write"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void THistory::write </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>os</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Writes to the output stream `os'.
+<p>
+Reimplemented from <a class="el" href="classTView.html#b1">TView</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="n1" doxytag="THistory::historyId"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a0">ushort</a> THistory::historyId<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Each history list has a unique ID number, assigned by the programmer.
+<p>
+Different history objects in different windows may share a history list by using the same history ID.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l02471">2471</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="p0" doxytag="THistory::icon"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* THistory::icon<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l02459">2459</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="n0" doxytag="THistory::link"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTInputLine.html">TInputLine</a>* THistory::link<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+A pointer to the linked <a class="el" href="classTInputLine.html">TInputLine</a> object.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l02464">2464</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="p1" doxytag="THistory::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* const THistory::name<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTView.html#p4">TView</a>.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l02495">2495</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="dialogs_8h-source.html">dialogs.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:14 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTHistory.png b/freebsdtvision/doc/html/classTHistory.png
new file mode 100644
index 0000000..07b33a1
--- /dev/null
+++ b/freebsdtvision/doc/html/classTHistory.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTHistoryViewer-members.html b/freebsdtvision/doc/html/classTHistoryViewer-members.html
new file mode 100644
index 0000000..536ccf0
--- /dev/null
+++ b/freebsdtvision/doc/html/classTHistoryViewer-members.html
@@ -0,0 +1,139 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>THistoryViewer Member List</h1>This is the complete list of members for <a class="el" href="classTHistoryViewer.html">THistoryViewer</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a31">awaken</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a32">blockCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#d0">build</a>()</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a10">calcBounds</a>(TRect &amp;bounds, TPoint delta)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a1">changeBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a38">clearEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d0">commandEnabled</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p0">commandSetChanged</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a7">containsMouse</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p1">curCommandSet</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m6">cursor</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a28">dataSize</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d3">disableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d1">disableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m8">dragMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a9">dragView</a>(TEvent &amp;event, uchar mode, TRect &amp;limits, TPoint minSize, TPoint maxSize)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a2">draw</a>()</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a37">drawCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a24">drawHide</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a25">drawShow</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a26">drawUnderRect</a>(TRect &amp;r, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a27">drawUnderView</a>(Boolean doShadow, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a20">drawView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d4">enableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d2">enableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a43">endModal</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>enterSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p3">errorAttr</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a39">eventAvail</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m3">eventMask</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a44">execute</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a21">exposed</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a22">focus</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#m4">focused</a></td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a3">focusItem</a>(short item)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a11">focusItemNum</a>(short item)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a3">getBounds</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a5">getClipRect</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a45">getColor</a>(ushort color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d5">getCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a29">getData</a>(void *rec)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a40">getEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a4">getExtent</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a15">getHelpCtx</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHistoryViewer.html#a1">getPalette</a>() const</td><td><a class="el" href="classTHistoryViewer.html">THistoryViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a48">getState</a>(ushort aState)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHistoryViewer.html#a2">getText</a>(char *dest, short item, short maxLen)</td><td><a class="el" href="classTHistoryViewer.html">THistoryViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m7">growMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a12">growTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHistoryViewer.html#a3">handleEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTHistoryViewer.html">THistoryViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m9">helpCtx</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a17">hide</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a23">hideCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHistoryViewer.html#n0">historyId</a></td><td><a class="el" href="classTHistoryViewer.html">THistoryViewer</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHistoryViewer.html#a4">historyWidth</a>()</td><td><a class="el" href="classTHistoryViewer.html">THistoryViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#m0">hScrollBar</a></td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a6">isSelected</a>(short item)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a51">keyEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>leaveSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a8">locate</a>(TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a58">makeFirst</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a53">makeGlobal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a54">makeLocal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a47">mapColor</a>(uchar)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a52">mouseEvent</a>(TEvent &amp;event, ushort mask)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a6">mouseInView</a>(TPoint mouse)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a13">moveTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#p1">name</a></td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m0">next</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a55">nextView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a33">normalCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>normalSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#m2">numCols</a></td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m2">options</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m5">origin</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m10">owner</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s6">phaseType</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phFocused</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPostProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPreProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a57">prev</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a56">prevView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a42">putEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a59">putInFrontOf</a>(TView *Target)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#m5">range</a></td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#b2">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a34">resetCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a49">select</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a8">selectItem</a>(short item)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s7">selectMode</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#p0">separatorChar</a></td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a14">setBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d7">setCmdState</a>(TCommandSet &amp;commands, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d6">setCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a35">setCursor</a>(int x, int y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a30">setData</a>(void *rec)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a9">setRange</a>(short aRange)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a10">setState</a>(ushort aState, Boolean enable)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a18">show</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a36">showCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p2">showMarkers</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a12">shutDown</a>()</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m1">size</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a2">sizeLimits</a>(TPoint &amp;min, TPoint &amp;max)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m4">state</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHistoryViewer.html#a0">THistoryViewer</a>(const TRect &amp;bounds, TScrollBar *aHScrollBar, TScrollBar *aVScrollBar, ushort aHistoryId)</td><td><a class="el" href="classTHistoryViewer.html">THistoryViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a0">TListViewer</a>(const TRect &amp;bounds, ushort aNumCols, TScrollBar *aHScrollBar, TScrollBar *aVScrollBar)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#b0">TListViewer</a>(StreamableInit)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#m3">topItem</a></td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a60">TopView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a0">TView</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#b0">TView</a>(StreamableInit)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a16">valid</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#m1">vScrollBar</a></td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#b1">write</a>(opstream &amp;os)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a61">writeBuf</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a62">writeBuf</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a63">writeChar</a>(short x, short y, char c, uchar color, short count)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a64">writeLine</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a65">writeLine</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a66">writeStr</a>(short x, short y, const char *str, uchar color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a1">~TView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:14 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTHistoryViewer.html b/freebsdtvision/doc/html/classTHistoryViewer.html
new file mode 100644
index 0000000..6131fb4
--- /dev/null
+++ b/freebsdtvision/doc/html/classTHistoryViewer.html
@@ -0,0 +1,265 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>THistoryViewer class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>THistoryViewer Class Reference</h1>Part of the history list system.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="dialogs_8h-source.html">dialogs.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for THistoryViewer:
+<p><center><img src="classTHistoryViewer.png" usemap="#THistoryViewer_map" border="0" alt=""></center>
+<map name="THistoryViewer_map">
+<area href="classTListViewer.html" alt="TListViewer" shape="rect" coords="54,112,153,136">
+<area href="classTView.html" alt="TView" shape="rect" coords="54,56,153,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,99,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="109,0,208,24">
+</map>
+<a href="classTHistoryViewer-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTHistoryViewer.html#a0">THistoryViewer</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;bounds, <a class="el" href="classTScrollBar.html">TScrollBar</a> *aHScrollBar, <a class="el" href="classTScrollBar.html">TScrollBar</a> *aVScrollBar, <a class="el" href="ttypes_8h.html#a0">ushort</a> aHistoryId)</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="classTPalette.html">TPalette</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="classTHistoryViewer.html#a1">getPalette</a> () const</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTHistoryViewer.html#a2">getText</a> (char *dest, short item, short maxLen)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTHistoryViewer.html#a3">handleEvent</a> (<a class="el" href="structTEvent.html">TEvent</a> &amp;event)</td></tr>
+<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classTHistoryViewer.html#a4">historyWidth</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="classTHistoryViewer.html#n0">historyId</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+THistoryViewer is a rather straightforward descendant of <a class="el" href="classTListViewer.html">TListViewer</a>. It is used by the history list system, and appears inside the history window set up by clicking on the history icon.
+<p>
+
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l02207">2207</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="THistoryViewer::THistoryViewer"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> THistoryViewer::THistoryViewer </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>bounds</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTScrollBar.html">TScrollBar</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aHScrollBar</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTScrollBar.html">TScrollBar</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aVScrollBar</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aHistoryId</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Initializes the viewer list by first calling the <a class="el" href="classTListViewer.html">TListViewer</a> constructor to set up the boundaries, a single column, and the two scroll bar pointers passed in `aHScrollBar' and `aVScrollBar'.
+<p>
+The view is then linked to a history list, with the <a class="el" href="classTHistoryViewer.html#n0">historyId</a> data member set to the value passed in `aHistory'. That list is then checked for length, so the range of the list is set to the number of items in the list.
+<p>
+The first item in the history list is given the focus, and the horizontal scrolling range is set to accommodate the widest item in the list. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="a1" doxytag="THistoryViewer::getPalette"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="classTPalette.html">TPalette</a>&amp; THistoryViewer::getPalette </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the default palette string.
+<p>
+Reimplemented from <a class="el" href="classTListViewer.html#a4">TListViewer</a>. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="THistoryViewer::getText"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void THistoryViewer::getText </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>dest</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>short&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>item</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>short&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>maxLen</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set `dest' to the item'th string in the associated history list. <a class="el" href="classTHistoryViewer.html#a2">getText()</a> is called by the <a class="el" href="classTListViewer.html#a2">TListViewer::draw()</a> member function for each visible item in the list.
+<p>
+Reimplemented from <a class="el" href="classTListViewer.html#a5">TListViewer</a>. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="THistoryViewer::handleEvent"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void THistoryViewer::handleEvent </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="structTEvent.html">TEvent</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>event</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The history viewer handles two kinds of events itself; all others are passed to <a class="el" href="classTListViewer.html#a7">TListViewer::handleEvent()</a>.
+<p>
+<ol>
+<li>Double clicking or pressing the Enter key terminates the modal state of the history window with a cmOK command.<li>Pressing the Esc key, or any cmCancel command event, cancels the history list selection. </ol>
+
+<p>
+Reimplemented from <a class="el" href="classTListViewer.html#a7">TListViewer</a>. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="THistoryViewer::historyWidth"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> int THistoryViewer::historyWidth </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the length of the longest string in the history list associated with <a class="el" href="classTHistoryViewer.html#n0">historyId</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="n0" doxytag="THistoryViewer::historyId"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a0">ushort</a> THistoryViewer::historyId<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+historyId is the ID number of the history list to be displayed in the view.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l02259">2259</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="dialogs_8h-source.html">dialogs.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:14 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTHistoryViewer.png b/freebsdtvision/doc/html/classTHistoryViewer.png
new file mode 100644
index 0000000..35a15ea
--- /dev/null
+++ b/freebsdtvision/doc/html/classTHistoryViewer.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTHistoryWindow-members.html b/freebsdtvision/doc/html/classTHistoryWindow-members.html
new file mode 100644
index 0000000..c55f879
--- /dev/null
+++ b/freebsdtvision/doc/html/classTHistoryWindow-members.html
@@ -0,0 +1,177 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>THistoryWindow Member List</h1>This is the complete list of members for <a class="el" href="classTHistoryWindow.html">THistoryWindow</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a17">at</a>(short index)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a5">awaken</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a32">blockCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m4">buffer</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#d1">build</a>()</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a10">calcBounds</a>(TRect &amp;bounds, TPoint delta)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a25">changeBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a38">clearEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m2">clip</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a2">close</a>()</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d0">commandEnabled</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p0">commandSetChanged</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a7">containsMouse</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindowInit.html#n0">createFrame</a></td><td><a class="el" href="classTWindowInit.html">TWindowInit</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHistInit.html#n0">createListViewer</a></td><td><a class="el" href="classTHistInit.html">THistInit</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p1">curCommandSet</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m0">current</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m6">cursor</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a26">dataSize</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d3">disableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d1">disableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m8">dragMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a9">dragView</a>(TEvent &amp;event, uchar mode, TRect &amp;limits, TPoint minSize, TPoint maxSize)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a29">draw</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a37">drawCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a24">drawHide</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a25">drawShow</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a24">drawSubViews</a>(TView *p, TView *bottom)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a26">drawUnderRect</a>(TRect &amp;r, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a27">drawUnderView</a>(Boolean doShadow, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a20">drawView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d4">enableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d2">enableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a34">endModal</a>(ushort command)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m6">endState</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>enterSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p3">errorAttr</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a39">eventAvail</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a35">eventError</a>(TEvent &amp;event)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m3">eventMask</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a4">execute</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a3">execView</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a21">exposed</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a21">first</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a18">firstMatch</a>(ushort aState, ushort aOptions)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a12">firstThat</a>(Boolean(*func)(TView *, void *), void *args)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#m0">flags</a></td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a22">focus</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a13">focusNext</a>(Boolean forwards)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a14">forEach</a>(void(*func)(TView *, void *), void *args)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#m4">frame</a></td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a38">freeBuffer</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a3">getBounds</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a39">getBuffer</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a5">getClipRect</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a45">getColor</a>(ushort color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d5">getCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a27">getData</a>(void *rec)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a40">getEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a4">getExtent</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a36">getHelpCtx</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHistoryWindow.html#a1">getPalette</a>() const</td><td><a class="el" href="classTHistoryWindow.html">THistoryWindow</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHistoryWindow.html#a2">getSelection</a>(char *dest)</td><td><a class="el" href="classTHistoryWindow.html">THistoryWindow</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a48">getState</a>(ushort aState)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a4">getTitle</a>(short maxSize)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m7">growMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a12">growTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a5">handleEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m9">helpCtx</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a17">hide</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a23">hideCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a19">indexOf</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#d0">initFrame</a>(TRect)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHistoryWindow.html#d0">initViewer</a>(TRect bounds, TWindow *w, ushort aHistoryId)</td><td><a class="el" href="classTHistoryWindow.html">THistoryWindow</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a15">insert</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a16">insertBefore</a>(TView *p, TView *Target)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a6">insertView</a>(TView *p, TView *Target)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a51">keyEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m1">last</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>leaveSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a8">locate</a>(TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a31">lock</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m5">lockFlag</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a58">makeFirst</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a53">makeGlobal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a54">makeLocal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a47">mapColor</a>(uchar)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a20">matches</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a52">mouseEvent</a>(TEvent &amp;event, ushort mask)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a6">mouseInView</a>(TPoint mouse)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a13">moveTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#p0">name</a></td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m0">next</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a55">nextView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a33">normalCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>normalSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#m2">number</a></td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m2">options</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m5">origin</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m10">owner</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#m3">palette</a></td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m3">phase</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s6">phaseType</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phFocused</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPostProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPreProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a57">prev</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a56">prevView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a42">putEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a59">putInFrontOf</a>(TView *Target)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#b2">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a30">redraw</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a7">remove</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a8">removeView</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a9">resetCurrent</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a33">resetCursor</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a49">select</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s7">selectMode</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a11">selectNext</a>(Boolean forwards)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a14">setBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d7">setCmdState</a>(TCommandSet &amp;commands, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d6">setCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a10">setCurrent</a>(TView *p, selectMode mode)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a35">setCursor</a>(int x, int y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a28">setData</a>(void *rec)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a6">setState</a>(ushort aState, Boolean enable)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a18">show</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a36">showCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p2">showMarkers</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a10">shutDown</a>()</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m1">size</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a7">sizeLimits</a>(TPoint &amp;min, TPoint &amp;max)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a8">standardScrollBar</a>(ushort aOptions)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m4">state</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a0">TGroup</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#b0">TGroup</a>(StreamableInit)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHistInit.html#a0">THistInit</a>(TListViewer *(*cListViewer)(TRect r, TWindow *w, ushort histID))</td><td><a class="el" href="classTHistInit.html">THistInit</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHistoryWindow.html#a0">THistoryWindow</a>(const TRect &amp;bounds, ushort historyId)</td><td><a class="el" href="classTHistoryWindow.html">THistoryWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#m5">title</a></td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a60">TopView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a0">TView</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#b0">TView</a>(StreamableInit)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a0">TWindow</a>(const TRect &amp;bounds, const char *aTitle, short aNumber)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#b0">TWindow</a>(StreamableInit)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindowInit.html#a0">TWindowInit</a>(TFrame *(*cFrame)(TRect bounds))</td><td><a class="el" href="classTWindowInit.html">TWindowInit</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a32">unlock</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a37">valid</a>(ushort command)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTHistoryWindow.html#n0">viewer</a></td><td><a class="el" href="classTHistoryWindow.html">THistoryWindow</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#b1">write</a>(opstream &amp;os)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a61">writeBuf</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a62">writeBuf</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a63">writeChar</a>(short x, short y, char c, uchar color, short count)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a64">writeLine</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a65">writeLine</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a66">writeStr</a>(short x, short y, const char *str, uchar color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a9">zoom</a>()</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#m1">zoomRect</a></td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a1">~TGroup</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a1">~TView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a1">~TWindow</a>()</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:14 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTHistoryWindow.html b/freebsdtvision/doc/html/classTHistoryWindow.html
new file mode 100644
index 0000000..e14df2b
--- /dev/null
+++ b/freebsdtvision/doc/html/classTHistoryWindow.html
@@ -0,0 +1,223 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>THistoryWindow class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>THistoryWindow Class Reference</h1>Holds a history list viewer.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="dialogs_8h-source.html">dialogs.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for THistoryWindow:
+<p><center><img src="classTHistoryWindow.png" usemap="#THistoryWindow_map" border="0" alt=""></center>
+<map name="THistoryWindow_map">
+<area href="classTWindow.html" alt="TWindow" shape="rect" coords="113,168,216,192">
+<area href="classTHistInit.html" alt="THistInit" shape="rect" coords="226,168,329,192">
+<area href="classTGroup.html" alt="TGroup" shape="rect" coords="56,112,159,136">
+<area href="classTWindowInit.html" alt="TWindowInit" shape="rect" coords="169,112,272,136">
+<area href="classTView.html" alt="TView" shape="rect" coords="56,56,159,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,103,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="113,0,216,24">
+</map>
+<a href="classTHistoryWindow-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTHistoryWindow.html#a0">THistoryWindow</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;bounds, <a class="el" href="ttypes_8h.html#a0">ushort</a> historyId)</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="classTPalette.html">TPalette</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="classTHistoryWindow.html#a1">getPalette</a> () const</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTHistoryWindow.html#a2">getSelection</a> (char *dest)</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTListViewer.html">TListViewer</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTHistoryWindow.html#d0">initViewer</a> (<a class="el" href="classTRect.html">TRect</a> bounds, <a class="el" href="classTWindow.html">TWindow</a> *w, <a class="el" href="ttypes_8h.html#a0">ushort</a> aHistoryId)</td></tr>
+<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTListViewer.html">TListViewer</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTHistoryWindow.html#n0">viewer</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+THistoryWindow is a specialized descendant of <a class="el" href="classTWindow.html">TWindow</a> and <a class="el" href="classTHistInit.html">THistInit</a> (multiple inheritance) used for holding a history list viewer when the user clicks on the history icon next to an input line.
+<p>
+By default, the window has no title and no number. The history window's frame has only a close icon: the window can be closed, but not resized or zoomed.
+<p>
+
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l02328">2328</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="THistoryWindow::THistoryWindow"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> THistoryWindow::THistoryWindow </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>bounds</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>historyId</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Calls the <a class="el" href="classTHistInit.html">THistInit</a> constructor with the argument &amp;<a class="el" href="classTHistoryWindow.html#d0">THistoryWindow::initViewer</a>. This creates the list viewer. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTHistInit.html#a0">THistInit::THistInit</a> , <a class="el" href="classTHistoryWindow.html#d0">THistoryWindow::initViewer</a></dl>Next, the <a class="el" href="classTWindow.html">TWindow</a> constructor is called to set up a window with the given bounds, a null title string, and no window number (<a class="el" href="views_8h.html#a89">wnNoNumber</a>). <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTWindow.html#a0">TWindow::TWindow</a></dl>Then the <a class="el" href="classTWindowInit.html">TWindowInit</a> constructor is called with the argument &amp;<a class="el" href="classTWindow.html#d0">THistoryWindow::initFrame</a> to create a frame for the history window. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTWindow.html#d0">THistoryWindow::initFrame</a> , <a class="el" href="classTWindowInit.html#a0">TWindowInit::TWindowInit</a></dl>Finally, the flags data member is set to <a class="el" href="views_8h.html#a80">wfClose</a> to provide a close icon, and a history viewer object is created and inserted in the history window to show the items in the history list given by `historyId'. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="a1" doxytag="THistoryWindow::getPalette"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="classTPalette.html">TPalette</a>&amp; THistoryWindow::getPalette </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the default palette string.
+<p>
+Reimplemented from <a class="el" href="classTWindow.html#a3">TWindow</a>. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="THistoryWindow::getSelection"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void THistoryWindow::getSelection </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">char *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>dest</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns in `dest' the string value of the <a class="el" href="classTListViewer.html#m4">THistoryViewer::focused</a> item in the associated history viewer. </td>
+ </tr>
+</table>
+<a name="d0" doxytag="THistoryWindow::initViewer"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTListViewer.html">TListViewer</a>* THistoryWindow::initViewer </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTRect.html">TRect</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>bounds</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTWindow.html">TWindow</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>w</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aHistoryId</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Instantiates and inserts a <a class="el" href="classTHistoryViewer.html">THistoryViewer</a> object inside the boundaries of the history window for the list associated with the ID `aHistoryId'.
+<p>
+Standard scroll bars are placed on the frame of the window to scroll the list. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="n0" doxytag="THistoryWindow::viewer"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTListViewer.html">TListViewer</a>* THistoryWindow::viewer<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Points to the list viewer to be contained in this history window.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l02376">2376</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="dialogs_8h-source.html">dialogs.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:14 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTHistoryWindow.png b/freebsdtvision/doc/html/classTHistoryWindow.png
new file mode 100644
index 0000000..6b2cdee
--- /dev/null
+++ b/freebsdtvision/doc/html/classTHistoryWindow.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTIndicator-members.html b/freebsdtvision/doc/html/classTIndicator-members.html
new file mode 100644
index 0000000..6772fa2
--- /dev/null
+++ b/freebsdtvision/doc/html/classTIndicator-members.html
@@ -0,0 +1,128 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TIndicator Member List</h1>This is the complete list of members for <a class="el" href="classTIndicator.html">TIndicator</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a31">awaken</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a32">blockCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTIndicator.html#d0">build</a>()</td><td><a class="el" href="classTIndicator.html">TIndicator</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a10">calcBounds</a>(TRect &amp;bounds, TPoint delta)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a11">changeBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a38">clearEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d0">commandEnabled</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p0">commandSetChanged</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a7">containsMouse</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p1">curCommandSet</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m6">cursor</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a28">dataSize</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d3">disableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d1">disableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTIndicator.html#p0">dragFrame</a></td><td><a class="el" href="classTIndicator.html">TIndicator</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m8">dragMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a9">dragView</a>(TEvent &amp;event, uchar mode, TRect &amp;limits, TPoint minSize, TPoint maxSize)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTIndicator.html#a1">draw</a>()</td><td><a class="el" href="classTIndicator.html">TIndicator</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a37">drawCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a24">drawHide</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a25">drawShow</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a26">drawUnderRect</a>(TRect &amp;r, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a27">drawUnderView</a>(Boolean doShadow, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a20">drawView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d4">enableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d2">enableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a43">endModal</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>enterSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p3">errorAttr</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a39">eventAvail</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m3">eventMask</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a44">execute</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a21">exposed</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a22">focus</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a3">getBounds</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a5">getClipRect</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a45">getColor</a>(ushort color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d5">getCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a29">getData</a>(void *rec)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a40">getEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a4">getExtent</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a15">getHelpCtx</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTIndicator.html#a2">getPalette</a>() const</td><td><a class="el" href="classTIndicator.html">TIndicator</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a48">getState</a>(ushort aState)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m7">growMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a12">growTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a41">handleEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m9">helpCtx</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a17">hide</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a23">hideCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a51">keyEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>leaveSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a8">locate</a>(TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTIndicator.html#n0">location</a></td><td><a class="el" href="classTIndicator.html">TIndicator</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a58">makeFirst</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a53">makeGlobal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a54">makeLocal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a47">mapColor</a>(uchar)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTIndicator.html#n1">modified</a></td><td><a class="el" href="classTIndicator.html">TIndicator</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a52">mouseEvent</a>(TEvent &amp;event, ushort mask)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a6">mouseInView</a>(TPoint mouse)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a13">moveTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTIndicator.html#p2">name</a></td><td><a class="el" href="classTIndicator.html">TIndicator</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m0">next</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a55">nextView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a33">normalCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTIndicator.html#p1">normalFrame</a></td><td><a class="el" href="classTIndicator.html">TIndicator</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>normalSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m2">options</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m5">origin</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m10">owner</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s6">phaseType</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phFocused</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPostProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPreProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a57">prev</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a56">prevView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a42">putEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a59">putInFrontOf</a>(TView *Target)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#b2">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a34">resetCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a49">select</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s7">selectMode</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a14">setBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d7">setCmdState</a>(TCommandSet &amp;commands, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d6">setCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a35">setCursor</a>(int x, int y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a30">setData</a>(void *rec)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTIndicator.html#a3">setState</a>(ushort, Boolean)</td><td><a class="el" href="classTIndicator.html">TIndicator</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTIndicator.html#a4">setValue</a>(const TPoint &amp;aLocation, Boolean aModified)</td><td><a class="el" href="classTIndicator.html">TIndicator</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a18">show</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a36">showCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p2">showMarkers</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a67">shutDown</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m1">size</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a2">sizeLimits</a>(TPoint &amp;min, TPoint &amp;max)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m4">state</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTIndicator.html#a0">TIndicator</a>(const TRect &amp;)</td><td><a class="el" href="classTIndicator.html">TIndicator</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTIndicator.html#b0">TIndicator</a>(StreamableInit)</td><td><a class="el" href="classTIndicator.html">TIndicator</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a60">TopView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a0">TView</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#b0">TView</a>(StreamableInit)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a16">valid</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#b1">write</a>(opstream &amp;os)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a61">writeBuf</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a62">writeBuf</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a63">writeChar</a>(short x, short y, char c, uchar color, short count)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a64">writeLine</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a65">writeLine</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a66">writeStr</a>(short x, short y, const char *str, uchar color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a1">~TView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:14 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTIndicator.html b/freebsdtvision/doc/html/classTIndicator.html
new file mode 100644
index 0000000..5b80e49
--- /dev/null
+++ b/freebsdtvision/doc/html/classTIndicator.html
@@ -0,0 +1,405 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TIndicator class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TIndicator Class Reference</h1>The line and column counter in the lower left corner of the edit window.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="editors_8h-source.html">editors.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TIndicator:
+<p><center><img src="classTIndicator.png" usemap="#TIndicator_map" border="0" alt=""></center>
+<map name="TIndicator_map">
+<area href="classTView.html" alt="TView" shape="rect" coords="46,56,128,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,82,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="92,0,174,24">
+</map>
+<a href="classTIndicator-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTIndicator.html#a0">TIndicator</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTIndicator.html#a1">draw</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="classTPalette.html">TPalette</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="classTIndicator.html#a2">getPalette</a> () const</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTIndicator.html#a3">setState</a> (<a class="el" href="ttypes_8h.html#a0">ushort</a>, <a class="el" href="ttypes_8h.html#a13">Boolean</a>)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTIndicator.html#a4">setValue</a> (const <a class="el" href="classTPoint.html">TPoint</a> &amp;aLocation, <a class="el" href="ttypes_8h.html#a13">Boolean</a> aModified)</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStreamable.html">TStreamable</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTIndicator.html#d0">build</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>char&nbsp;</td><td valign=bottom><a class="el" href="classTIndicator.html#p0">dragFrame</a></td></tr>
+<tr><td nowrap align=right valign=top>char&nbsp;</td><td valign=bottom><a class="el" href="classTIndicator.html#p1">normalFrame</a></td></tr>
+<tr><td nowrap align=right valign=top>const char *const&nbsp;</td><td valign=bottom><a class="el" href="classTIndicator.html#p2">name</a></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTIndicator.html#b0">TIndicator</a> (<a class="el" href="ttypes_8h.html#a14">StreamableInit</a>)</td></tr>
+<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTPoint.html">TPoint</a>&nbsp;</td><td valign=bottom><a class="el" href="classTIndicator.html#n0">location</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTIndicator.html#n1">modified</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+TIndicator is the line and column counter in the lower left corner of the edit window. It is initialized by the <a class="el" href="classTEditWindow.html">TEditWindow</a> constructor and passed as the fourth argument to the <a class="el" href="classTEditor.html">TEditor</a> constructor.
+<p>
+
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l00203">203</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TIndicator::TIndicator"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TIndicator::TIndicator </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a TIndicator object. </td>
+ </tr>
+</table>
+<a name="b0" doxytag="TIndicator::TIndicator"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TIndicator::TIndicator </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a14">StreamableInit</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="d0" doxytag="TIndicator::build"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStreamable.html">TStreamable</a>* TIndicator::build </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called to create an object in certain stream reading situations.
+<p>
+Reimplemented from <a class="el" href="classTView.html#d8">TView</a>. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TIndicator::draw"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TIndicator::draw </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Draws the indicator. If variable modified is True, a special character (ASCII value 15, a star on PC graphic adapters) is displayed.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a19">TView</a>. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="TIndicator::getPalette"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="classTPalette.html">TPalette</a>&amp; TIndicator::getPalette </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the TIndicator default palette.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a46">TView</a>. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="TIndicator::setState"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TIndicator::setState </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Draws the indicator in the frame-dragging color if the view is being dragged.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a50">TView</a>. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="TIndicator::setValue"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TIndicator::setValue </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTPoint.html">TPoint</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aLocation</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aModified</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Method called by <a class="el" href="classTEditor.html">TEditor</a> to update and display the values of the data members of the associated TIndicator object. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTIndicator.html#n0">TIndicator::location</a> , <a class="el" href="classTIndicator.html#n1">TIndicator::modified</a> </dl> </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="p0" doxytag="TIndicator::dragFrame"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> char TIndicator::dragFrame<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l00234">234</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="n0" doxytag="TIndicator::location"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTPoint.html">TPoint</a> TIndicator::location<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Stores the location to display. Updated by a <a class="el" href="classTEditor.html">TEditor</a>.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l00243">243</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="n1" doxytag="TIndicator::modified"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a13">Boolean</a> TIndicator::modified<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+True if the associated <a class="el" href="classTEditor.html">TEditor</a> has been modified.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l00247">247</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="p2" doxytag="TIndicator::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* const TIndicator::name<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTView.html#p4">TView</a>.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l00260">260</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="p1" doxytag="TIndicator::normalFrame"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> char TIndicator::normalFrame<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l00238">238</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="editors_8h-source.html">editors.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:14 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTIndicator.png b/freebsdtvision/doc/html/classTIndicator.png
new file mode 100644
index 0000000..77f5446
--- /dev/null
+++ b/freebsdtvision/doc/html/classTIndicator.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTInputLine-members.html b/freebsdtvision/doc/html/classTInputLine-members.html
new file mode 100644
index 0000000..c3ddc15
--- /dev/null
+++ b/freebsdtvision/doc/html/classTInputLine-members.html
@@ -0,0 +1,132 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TInputLine Member List</h1>This is the complete list of members for <a class="el" href="classTInputLine.html">TInputLine</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a31">awaken</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a32">blockCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTInputLine.html#d0">build</a>()</td><td><a class="el" href="classTInputLine.html">TInputLine</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a10">calcBounds</a>(TRect &amp;bounds, TPoint delta)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a11">changeBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a38">clearEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d0">commandEnabled</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p0">commandSetChanged</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a7">containsMouse</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p1">curCommandSet</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTInputLine.html#m2">curPos</a></td><td><a class="el" href="classTInputLine.html">TInputLine</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m6">cursor</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTInputLine.html#m0">data</a></td><td><a class="el" href="classTInputLine.html">TInputLine</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTInputLine.html#a2">dataSize</a>()</td><td><a class="el" href="classTInputLine.html">TInputLine</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d3">disableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d1">disableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m8">dragMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a9">dragView</a>(TEvent &amp;event, uchar mode, TRect &amp;limits, TPoint minSize, TPoint maxSize)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTInputLine.html#a3">draw</a>()</td><td><a class="el" href="classTInputLine.html">TInputLine</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a37">drawCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a24">drawHide</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a25">drawShow</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a26">drawUnderRect</a>(TRect &amp;r, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a27">drawUnderView</a>(Boolean doShadow, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a20">drawView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d4">enableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d2">enableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a43">endModal</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>enterSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p3">errorAttr</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a39">eventAvail</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m3">eventMask</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a44">execute</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a21">exposed</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTInputLine.html#m3">firstPos</a></td><td><a class="el" href="classTInputLine.html">TInputLine</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a22">focus</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a3">getBounds</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a5">getClipRect</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a45">getColor</a>(ushort color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d5">getCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTInputLine.html#a4">getData</a>(void *rec)</td><td><a class="el" href="classTInputLine.html">TInputLine</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a40">getEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a4">getExtent</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a15">getHelpCtx</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTInputLine.html#a5">getPalette</a>() const</td><td><a class="el" href="classTInputLine.html">TInputLine</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a48">getState</a>(ushort aState)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m7">growMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a12">growTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTInputLine.html#a6">handleEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTInputLine.html">TInputLine</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m9">helpCtx</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a17">hide</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a23">hideCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a51">keyEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>leaveSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a8">locate</a>(TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a58">makeFirst</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a53">makeGlobal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a54">makeLocal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a47">mapColor</a>(uchar)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTInputLine.html#m1">maxLen</a></td><td><a class="el" href="classTInputLine.html">TInputLine</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a52">mouseEvent</a>(TEvent &amp;event, ushort mask)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a6">mouseInView</a>(TPoint mouse)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a13">moveTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTInputLine.html#p0">name</a></td><td><a class="el" href="classTInputLine.html">TInputLine</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m0">next</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a55">nextView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a33">normalCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>normalSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m2">options</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m5">origin</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m10">owner</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s6">phaseType</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phFocused</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPostProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPreProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a57">prev</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a56">prevView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a42">putEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a59">putInFrontOf</a>(TView *Target)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTInputLine.html#b2">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTInputLine.html">TInputLine</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a34">resetCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a49">select</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTInputLine.html#a7">selectAll</a>(Boolean enable)</td><td><a class="el" href="classTInputLine.html">TInputLine</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s7">selectMode</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTInputLine.html#m5">selEnd</a></td><td><a class="el" href="classTInputLine.html">TInputLine</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTInputLine.html#m4">selStart</a></td><td><a class="el" href="classTInputLine.html">TInputLine</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a14">setBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d7">setCmdState</a>(TCommandSet &amp;commands, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d6">setCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a35">setCursor</a>(int x, int y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTInputLine.html#a8">setData</a>(void *rec)</td><td><a class="el" href="classTInputLine.html">TInputLine</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTInputLine.html#a9">setState</a>(ushort aState, Boolean enable)</td><td><a class="el" href="classTInputLine.html">TInputLine</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTInputLine.html#a11">setValidator</a>(TValidator *aValid)</td><td><a class="el" href="classTInputLine.html">TInputLine</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a18">show</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a36">showCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p2">showMarkers</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a67">shutDown</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m1">size</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a2">sizeLimits</a>(TPoint &amp;min, TPoint &amp;max)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m4">state</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTInputLine.html#a0">TInputLine</a>(const TRect &amp;bounds, int aMaxLen, TValidator *aValid=0)</td><td><a class="el" href="classTInputLine.html">TInputLine</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTInputLine.html#b0">TInputLine</a>(StreamableInit)</td><td><a class="el" href="classTInputLine.html">TInputLine</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a60">TopView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a0">TView</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#b0">TView</a>(StreamableInit)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTInputLine.html#a10">valid</a>(ushort cmd)</td><td><a class="el" href="classTInputLine.html">TInputLine</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTInputLine.html#b1">write</a>(opstream &amp;os)</td><td><a class="el" href="classTInputLine.html">TInputLine</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a61">writeBuf</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a62">writeBuf</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a63">writeChar</a>(short x, short y, char c, uchar color, short count)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a64">writeLine</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a65">writeLine</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a66">writeStr</a>(short x, short y, const char *str, uchar color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTInputLine.html#a1">~TInputLine</a>()</td><td><a class="el" href="classTInputLine.html">TInputLine</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a1">~TView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:14 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTInputLine.html b/freebsdtvision/doc/html/classTInputLine.html
new file mode 100644
index 0000000..d4f8362
--- /dev/null
+++ b/freebsdtvision/doc/html/classTInputLine.html
@@ -0,0 +1,783 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TInputLine class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TInputLine Class Reference</h1>Provides a basic input line string editor.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="dialogs_8h-source.html">dialogs.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TInputLine:
+<p><center><img src="classTInputLine.png" usemap="#TInputLine_map" border="0" alt=""></center>
+<map name="TInputLine_map">
+<area href="classTView.html" alt="TView" shape="rect" coords="50,56,141,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,91,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="101,0,192,24">
+<area href="classTFileInputLine.html" alt="TFileInputLine" shape="rect" coords="50,168,141,192">
+</map>
+<a href="classTInputLine-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTInputLine.html#a0">TInputLine</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;bounds, int aMaxLen, <a class="el" href="classTValidator.html">TValidator</a> *aValid=0)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTInputLine.html#a1">~TInputLine</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="classTInputLine.html#a2">dataSize</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTInputLine.html#a3">draw</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTInputLine.html#a4">getData</a> (void *rec)</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="classTPalette.html">TPalette</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="classTInputLine.html#a5">getPalette</a> () const</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTInputLine.html#a6">handleEvent</a> (<a class="el" href="structTEvent.html">TEvent</a> &amp;event)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTInputLine.html#a7">selectAll</a> (<a class="el" href="ttypes_8h.html#a13">Boolean</a> enable)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTInputLine.html#a8">setData</a> (void *rec)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTInputLine.html#a9">setState</a> (<a class="el" href="ttypes_8h.html#a0">ushort</a> aState, <a class="el" href="ttypes_8h.html#a13">Boolean</a> enable)</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTInputLine.html#a10">valid</a> (<a class="el" href="ttypes_8h.html#a0">ushort</a> cmd)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTInputLine.html#a11">setValidator</a> (<a class="el" href="classTValidator.html">TValidator</a> *aValid)</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStreamable.html">TStreamable</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTInputLine.html#d0">build</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>char *&nbsp;</td><td valign=bottom><a class="el" href="classTInputLine.html#m0">data</a></td></tr>
+<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classTInputLine.html#m1">maxLen</a></td></tr>
+<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classTInputLine.html#m2">curPos</a></td></tr>
+<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classTInputLine.html#m3">firstPos</a></td></tr>
+<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classTInputLine.html#m4">selStart</a></td></tr>
+<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classTInputLine.html#m5">selEnd</a></td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>const char *const&nbsp;</td><td valign=bottom><a class="el" href="classTInputLine.html#p0">name</a></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTInputLine.html#b0">TInputLine</a> (<a class="el" href="ttypes_8h.html#a14">StreamableInit</a>)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTInputLine.html#b1">write</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void *&nbsp;</td><td valign=bottom><a class="el" href="classTInputLine.html#b2">read</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+A TInputLine object provides a basic input line string editor. It handles keyboard input and mouse clicks and drags for block marking and a variety of line editing functions.
+<p>
+
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l00261">261</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TInputLine::TInputLine"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TInputLine::TInputLine </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>bounds</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aMaxLen</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTValidator.html">TValidator</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aValid</em> = 0</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates an input box control with the given values by calling TView::TView(bounds). <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#a0">TView::TView</a></dl>Variable state is then set to <a class="el" href="views_8h.html#a27">sfCursorVis</a>, options is set to (<a class="el" href="views_8h.html#a38">ofSelectable</a> | <a class="el" href="views_8h.html#a40">ofFirstClick</a>), and <a class="el" href="classTInputLine.html#m1">maxLen</a> is set to `aMaxLen'.
+<p>
+Memory is allocated and cleared for `aMaxlen' + 1 bytes and the data data member set to point at this allocation.
+<p>
+An input line is sometimes used with a validator. Data validators are objects that detect when the user has entered valid or invalid information. In case of invalid data, the validator will provide appropriate feedback to the user. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTValidator.html">TValidator</a> </dl> </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TInputLine::~TInputLine"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TInputLine::~TInputLine </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Deletes the data memory allocation, then calls <a class="el" href="classTView.html">TView</a> destructor to destroy the TInputLine object. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#a1">TView::~TView</a> </dl> </td>
+ </tr>
+</table>
+<a name="b0" doxytag="TInputLine::TInputLine"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TInputLine::TInputLine </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a14">StreamableInit</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Each streamable class needs a "builder" to allocate the correct memory for its objects together with the initialized virtual table pointers.
+<p>
+This is achieved by calling this constructor with an argument of type <a class="el" href="ttypes_8h.html#a14">StreamableInit</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="d0" doxytag="TInputLine::build"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStreamable.html">TStreamable</a>* TInputLine::build </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called to create an object in certain stream-reading situations.
+<p>
+Reimplemented from <a class="el" href="classTView.html#d8">TView</a>.
+<p>
+Reimplemented in <a class="el" href="classTFileInputLine.html#d0">TFileInputLine</a>. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="TInputLine::dataSize"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a0">ushort</a> TInputLine::dataSize </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the size of the record for <a class="el" href="classTInputLine.html#a4">getData()</a> and <a class="el" href="classTInputLine.html#a8">setData()</a> calls. By default, it returns <a class="el" href="classTInputLine.html#m1">maxLen</a> + 1.
+<p>
+Override this member function if you define descendants to handle other data types.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a28">TView</a>. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="TInputLine::draw"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TInputLine::draw </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Draws the input box and its data.
+<p>
+The box is drawn with the appropriate colors depending on whether the box is <a class="el" href="views_8h.html#a32">sfFocused</a> (that is, whether the box view owns the cursor), and arrows are drawn if the input string exceeds the size of the view (in either or both directions). <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#m4">TView::state</a></dl>Any selected (block-marked) characters are drawn with the appropriate palette.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a19">TView</a>. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="TInputLine::getData"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TInputLine::getData </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>rec</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Writes the number of bytes (obtained from a call to <a class="el" href="classTInputLine.html#a2">dataSize()</a>) from the data string to the array given by `rec'. Used with <a class="el" href="classTInputLine.html#a8">setData()</a> for a variety of applications; for example, temporary storage, or passing on the input string to other views.
+<p>
+Override <a class="el" href="classTInputLine.html#a4">getData()</a> if you define TInputLine descendants to handle non-string data types. You can also use <a class="el" href="classTInputLine.html#a4">getData()</a> to convert from a string to other data types after editing by TInputLine.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a29">TView</a>. </td>
+ </tr>
+</table>
+<a name="a5" doxytag="TInputLine::getPalette"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="classTPalette.html">TPalette</a>&amp; TInputLine::getPalette </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the default palette string.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a46">TView</a>. </td>
+ </tr>
+</table>
+<a name="a6" doxytag="TInputLine::handleEvent"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TInputLine::handleEvent </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="structTEvent.html">TEvent</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>event</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Calls <a class="el" href="classTView.html#a41">TView::handleEvent()</a>, then handles all mouse and keyboard events if the input box is selected.
+<p>
+This member function implements the standard editing capability of the input box. Editing features include:
+<p>
+<ol>
+<li>block marking with mouse click and drag<li>block deletion<li>insert or overwrite control with automatic cursor shape change<li>automatic and manual scrolling as required (depending on relative sizes of the data string and size.x); see size<li>manual horizontal scrolling via mouse clicks on the arrow icons<li>manual cursor movement by arrow, Home, and End keys (and their standard control-key equivalents)<li>character and block deletion with Del and Ctrl-G</ol>
+The view is redrawn as required and the TInputLine data members are adjusted appropriately.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a41">TView</a>.
+<p>
+Reimplemented in <a class="el" href="classTFileInputLine.html#a1">TFileInputLine</a>. </td>
+ </tr>
+</table>
+<a name="b2" doxytag="TInputLine::read"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void* TInputLine::read </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>is</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Reads from the input stream `is'.
+<p>
+Reimplemented from <a class="el" href="classTView.html#b2">TView</a>. </td>
+ </tr>
+</table>
+<a name="a7" doxytag="TInputLine::selectAll"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TInputLine::selectAll </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>enable</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Sets <a class="el" href="classTInputLine.html#m2">curPos</a>, <a class="el" href="classTInputLine.html#m3">firstPos</a> and <a class="el" href="classTInputLine.html#m4">selStart</a> data members to 0.
+<p>
+If `enable' is set to True, <a class="el" href="classTInputLine.html#m5">selEnd</a> is set to the length of the data string, thereby selecting the whole input line; if `enable' is set to False, <a class="el" href="classTInputLine.html#m5">selEnd</a> is set to 0, thereby deselecting the whole line.
+<p>
+Finally, the view is redrawn by calling <a class="el" href="classTView.html#a20">TView::drawView()</a>. </td>
+ </tr>
+</table>
+<a name="a8" doxytag="TInputLine::setData"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TInputLine::setData </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>rec</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+By default, copies the number of bytes (as returned by <a class="el" href="classTInputLine.html#a2">dataSize()</a>) from the `rec' array to the data string, and then calls selectAll(True). This zeros <a class="el" href="classTInputLine.html#m2">curPos</a>, <a class="el" href="classTInputLine.html#m3">firstPos</a> and <a class="el" href="classTInputLine.html#m4">selStart</a>. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTInputLine.html#a7">TInputLine::selectAll</a></dl>Finally, <a class="el" href="classTView.html#a20">TView::drawView()</a> is called to redraw the input box.
+<p>
+Override <a class="el" href="classTInputLine.html#a8">setData()</a> if you define descendants to handle non-string data types. You also use <a class="el" href="classTInputLine.html#a8">setData()</a> to convert other data types to a string for editing by TInputLine.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a30">TView</a>. </td>
+ </tr>
+</table>
+<a name="a9" doxytag="TInputLine::setState"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TInputLine::setState </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aState</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>enable</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called when the input box needs redrawing (for example, if the palette is changed) following a change of state.
+<p>
+Calls <a class="el" href="classTView.html#a50">TView::setState()</a> to set or clear the view's state with the given `aState' bit(s).
+<p>
+Then if `aState' is <a class="el" href="views_8h.html#a31">sfSelected</a> (or <a class="el" href="views_8h.html#a30">sfActive</a> and the input box is <a class="el" href="views_8h.html#a31">sfSelected</a>), selectAll(enable) is called (which, in turn, calls <a class="el" href="classTView.html#a20">TView::drawView()</a>). <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTInputLine.html#a7">TInputLine::selectAll</a> </dl>
+<p>
+Reimplemented from <a class="el" href="classTView.html#a50">TView</a>. </td>
+ </tr>
+</table>
+<a name="a11" doxytag="TInputLine::setValidator"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TInputLine::setValidator </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTValidator.html">TValidator</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>aValid</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="a10" doxytag="TInputLine::valid"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a> TInputLine::valid </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>cmd</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a16">TView</a>. </td>
+ </tr>
+</table>
+<a name="b1" doxytag="TInputLine::write"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TInputLine::write </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>os</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Writes to the output stream `os'.
+<p>
+Reimplemented from <a class="el" href="classTView.html#b1">TView</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="m2" doxytag="TInputLine::curPos"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> int TInputLine::curPos
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Index to insertion point (that is, to the current cursor position).
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l00404">404</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="m0" doxytag="TInputLine::data"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> char* TInputLine::data
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The string containing the edited information.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l00396">396</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="m3" doxytag="TInputLine::firstPos"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> int TInputLine::firstPos
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Index to the first displayed character.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l00408">408</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="m1" doxytag="TInputLine::maxLen"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> int TInputLine::maxLen
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Maximum length allowed for string to grow (excluding the final 0).
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l00400">400</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="p0" doxytag="TInputLine::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* const TInputLine::name<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTView.html#p4">TView</a>.
+<p>
+Reimplemented in <a class="el" href="classTFileInputLine.html#p0">TFileInputLine</a>.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l00463">463</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="m5" doxytag="TInputLine::selEnd"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> int TInputLine::selEnd
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Index to the end of the selection area (that is, to the last character block marked).
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l00418">418</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="m4" doxytag="TInputLine::selStart"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> int TInputLine::selStart
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Index to the beginning of the selection area (that is, to the first character block marked).
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l00413">413</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="dialogs_8h-source.html">dialogs.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:14 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTInputLine.png b/freebsdtvision/doc/html/classTInputLine.png
new file mode 100644
index 0000000..8bd258b
--- /dev/null
+++ b/freebsdtvision/doc/html/classTInputLine.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTLabel-members.html b/freebsdtvision/doc/html/classTLabel-members.html
new file mode 100644
index 0000000..1e25ef5
--- /dev/null
+++ b/freebsdtvision/doc/html/classTLabel-members.html
@@ -0,0 +1,130 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TLabel Member List</h1>This is the complete list of members for <a class="el" href="classTLabel.html">TLabel</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a31">awaken</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a32">blockCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTLabel.html#d0">build</a>()</td><td><a class="el" href="classTLabel.html">TLabel</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a10">calcBounds</a>(TRect &amp;bounds, TPoint delta)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a11">changeBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a38">clearEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d0">commandEnabled</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p0">commandSetChanged</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a7">containsMouse</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p1">curCommandSet</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m6">cursor</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a28">dataSize</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d3">disableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d1">disableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m8">dragMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a9">dragView</a>(TEvent &amp;event, uchar mode, TRect &amp;limits, TPoint minSize, TPoint maxSize)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTLabel.html#a1">draw</a>()</td><td><a class="el" href="classTLabel.html">TLabel</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a37">drawCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a24">drawHide</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a25">drawShow</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a26">drawUnderRect</a>(TRect &amp;r, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a27">drawUnderView</a>(Boolean doShadow, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a20">drawView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d4">enableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d2">enableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a43">endModal</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>enterSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p3">errorAttr</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a39">eventAvail</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m3">eventMask</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a44">execute</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a21">exposed</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a22">focus</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a3">getBounds</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a5">getClipRect</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a45">getColor</a>(ushort color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d5">getCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a29">getData</a>(void *rec)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a40">getEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a4">getExtent</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a15">getHelpCtx</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTLabel.html#a2">getPalette</a>() const</td><td><a class="el" href="classTLabel.html">TLabel</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a48">getState</a>(ushort aState)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStaticText.html#a4">getText</a>(char *s)</td><td><a class="el" href="classTStaticText.html">TStaticText</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m7">growMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a12">growTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTLabel.html#a3">handleEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTLabel.html">TLabel</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m9">helpCtx</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a17">hide</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a23">hideCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a51">keyEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>leaveSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTLabel.html#n1">light</a></td><td><a class="el" href="classTLabel.html">TLabel</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTLabel.html#n0">link</a></td><td><a class="el" href="classTLabel.html">TLabel</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a8">locate</a>(TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a58">makeFirst</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a53">makeGlobal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a54">makeLocal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a47">mapColor</a>(uchar)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a52">mouseEvent</a>(TEvent &amp;event, ushort mask)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a6">mouseInView</a>(TPoint mouse)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a13">moveTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTLabel.html#p0">name</a></td><td><a class="el" href="classTLabel.html">TLabel</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m0">next</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a55">nextView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a33">normalCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>normalSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m2">options</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m5">origin</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m10">owner</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s6">phaseType</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phFocused</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPostProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPreProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a57">prev</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a56">prevView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a42">putEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a59">putInFrontOf</a>(TView *Target)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTLabel.html#b2">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTLabel.html">TLabel</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a34">resetCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a49">select</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s7">selectMode</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a14">setBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d7">setCmdState</a>(TCommandSet &amp;commands, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d6">setCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a35">setCursor</a>(int x, int y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a30">setData</a>(void *rec)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a50">setState</a>(ushort aState, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a18">show</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a36">showCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p2">showMarkers</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTLabel.html#a4">shutDown</a>()</td><td><a class="el" href="classTLabel.html">TLabel</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m1">size</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a2">sizeLimits</a>(TPoint &amp;min, TPoint &amp;max)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m4">state</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStaticText.html#n0">text</a></td><td><a class="el" href="classTStaticText.html">TStaticText</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTLabel.html#a0">TLabel</a>(const TRect &amp;bounds, const char *aText, TView *aLink)</td><td><a class="el" href="classTLabel.html">TLabel</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTLabel.html#b0">TLabel</a>(StreamableInit)</td><td><a class="el" href="classTLabel.html">TLabel</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a60">TopView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStaticText.html#a0">TStaticText</a>(const TRect &amp;bounds, const char *aText)</td><td><a class="el" href="classTStaticText.html">TStaticText</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStaticText.html#b0">TStaticText</a>(StreamableInit)</td><td><a class="el" href="classTStaticText.html">TStaticText</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a0">TView</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#b0">TView</a>(StreamableInit)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a16">valid</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTLabel.html#b1">write</a>(opstream &amp;os)</td><td><a class="el" href="classTLabel.html">TLabel</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a61">writeBuf</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a62">writeBuf</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a63">writeChar</a>(short x, short y, char c, uchar color, short count)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a64">writeLine</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a65">writeLine</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a66">writeStr</a>(short x, short y, const char *str, uchar color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStaticText.html#a1">~TStaticText</a>()</td><td><a class="el" href="classTStaticText.html">TStaticText</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a1">~TView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:14 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTLabel.html b/freebsdtvision/doc/html/classTLabel.html
new file mode 100644
index 0000000..aa9eea8
--- /dev/null
+++ b/freebsdtvision/doc/html/classTLabel.html
@@ -0,0 +1,434 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TLabel class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TLabel Class Reference</h1>Used to attach a label to a view.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="dialogs_8h-source.html">dialogs.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TLabel:
+<p><center><img src="classTLabel.png" usemap="#TLabel_map" border="0" alt=""></center>
+<map name="TLabel_map">
+<area href="classTStaticText.html" alt="TStaticText" shape="rect" coords="46,112,128,136">
+<area href="classTView.html" alt="TView" shape="rect" coords="46,56,128,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,82,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="92,0,174,24">
+</map>
+<a href="classTLabel-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTLabel.html#a0">TLabel</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;bounds, const char *aText, <a class="el" href="classTView.html">TView</a> *aLink)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTLabel.html#a1">draw</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="classTPalette.html">TPalette</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="classTLabel.html#a2">getPalette</a> () const</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTLabel.html#a3">handleEvent</a> (<a class="el" href="structTEvent.html">TEvent</a> &amp;event)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTLabel.html#a4">shutDown</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStreamable.html">TStreamable</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTLabel.html#d0">build</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>const char *const&nbsp;</td><td valign=bottom><a class="el" href="classTLabel.html#p0">name</a></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTLabel.html#b0">TLabel</a> (<a class="el" href="ttypes_8h.html#a14">StreamableInit</a>)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTLabel.html#b1">write</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void *&nbsp;</td><td valign=bottom><a class="el" href="classTLabel.html#b2">read</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is)</td></tr>
+<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTView.html">TView</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTLabel.html#n0">link</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTLabel.html#n1">light</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Used to attach a label to a given view.
+<p>
+A TLabel object is a piece of text in a view that can be selected (highlighted) by a mouse click, cursor keys, or Alt-letter hot key. The label is usually "attached" via a pointer (called link) to some other control view such as an input line, cluster, or list viewer to guide the user. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTCluster.html">TCluster</a> , <a class="el" href="classTInputLine.html">TInputLine</a> , <a class="el" href="classTListViewer.html">TListViewer</a></dl>Useful mainly with input lines, list boxes, check boxes and radio buttons, since they don't have a default caption. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTCheckBoxes.html">TCheckBoxes</a> , <a class="el" href="classTListBox.html">TListBox</a> , <a class="el" href="classTRadioButtons.html">TRadioButtons</a> </dl>
+<p>
+
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l02056">2056</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TLabel::TLabel"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TLabel::TLabel </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>bounds</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>const char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aText</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTView.html">TView</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aLink</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructor.
+<p>
+Creates a TLabel object of the given size and text by calling TStaticText::TStaticText(bounds, aText), then setting the link data member to `aLink' for the associated control (make `aLink' 0 if no control is needed). <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTStaticText.html#a0">TStaticText::TStaticText</a></dl>`bounds' is the bounding rectangle of the view while `aText' is the caption to show. <dl compact><dt><b>See also: </b></dt><dd>
+text</dl>The options data member is set to <a class="el" href="views_8h.html#a42">ofPreProcess</a> and <a class="el" href="views_8h.html#a43">ofPostProcess</a>. The <a class="el" href="classTView.html#m3">eventMask</a> is set to <a class="el" href="system_8h.html#a6">evBroadcast</a>. `aText' can designate a hot key letter for the label by surrounding the letter with tildes, like "~F~ile". </td>
+ </tr>
+</table>
+<a name="b0" doxytag="TLabel::TLabel"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TLabel::TLabel </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a14">StreamableInit</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Each streamable class needs a "builder" to allocate the correct memory for its objects together with the initialized virtual table pointers. This is achieved by calling this constructor with an argument of type <a class="el" href="ttypes_8h.html#a14">StreamableInit</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="d0" doxytag="TLabel::build"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStreamable.html">TStreamable</a>* TLabel::build </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a new TLabel.
+<p>
+Called to create an object in certain stream-reading situations.
+<p>
+Reimplemented from <a class="el" href="classTStaticText.html#d0">TStaticText</a>. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TLabel::draw"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TLabel::draw </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Draws the label with the appropriate colors from the default palette.
+<p>
+Reimplemented from <a class="el" href="classTStaticText.html#a2">TStaticText</a>. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="TLabel::getPalette"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="classTPalette.html">TPalette</a>&amp; TLabel::getPalette </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns a reference to the label palette.
+<p>
+Reimplemented from <a class="el" href="classTStaticText.html#a3">TStaticText</a>. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="TLabel::handleEvent"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TLabel::handleEvent </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="structTEvent.html">TEvent</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>event</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Handles TLabel events.
+<p>
+Handles all events by calling <a class="el" href="classTView.html#a41">TView::handleEvent()</a>. If an <a class="el" href="system_8h.html#a0">evMouseDown</a> or hot key event is received, the appropriate linked control (if any) is selected with link-&gt;<a class="el" href="classTView.html#a49">select()</a>. <dl compact><dt><b>See also: </b></dt><dd>
+select</dl><a class="el" href="classTLabel.html#a3">handleEvent()</a> also handles cmReceivedFocus and cmReleasedFocus broadcast events from the linked control in order to adjust the value of the light data member and redraw the label as necessary.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a41">TView</a>. </td>
+ </tr>
+</table>
+<a name="b2" doxytag="TLabel::read"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void* TLabel::read </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>is</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Used to recover the view from a stream. Reads from the input stream `is'.
+<p>
+Reimplemented from <a class="el" href="classTStaticText.html#b2">TStaticText</a>. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="TLabel::shutDown"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TLabel::shutDown </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Releases TLabel resources.
+<p>
+Used internally by <a class="el" href="classTObject.html#d0">TObject::destroy()</a> to ensure correct destruction of derived and related objects. <a class="el" href="classTLabel.html#a4">shutDown()</a> is overridden in many classes to ensure the proper setting of related data members when <a class="el" href="classTObject.html#d0">destroy()</a> is called.
+<p>
+This method releases all the resources allocated by the TLabel. It sets pointer link to 0 and then calls <a class="el" href="classTView.html#a67">TStaticText::shutDown()</a>. Since <a class="el" href="classTView.html#a67">TStaticText::shutDown()</a> is not implemented, <a class="el" href="classTView.html#a67">TView::shutDown()</a> will be called instead.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a67">TView</a>. </td>
+ </tr>
+</table>
+<a name="b1" doxytag="TLabel::write"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TLabel::write </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>os</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Used to store the view in a stream. Writes to the output stream `os'.
+<p>
+Reimplemented from <a class="el" href="classTStaticText.html#b1">TStaticText</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="n1" doxytag="TLabel::light"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a13">Boolean</a> TLabel::light<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+If True, the label and its linked control has been selected and will be highlighted. Otherwise, light is set to False.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l02123">2123</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="n0" doxytag="TLabel::link"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTView.html">TView</a>* TLabel::link<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This is a pointer to the view to focus when the user selects this label.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l02118">2118</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="p0" doxytag="TLabel::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* const TLabel::name<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTStaticText.html#p0">TStaticText</a>.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l02150">2150</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="dialogs_8h-source.html">dialogs.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:14 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTLabel.png b/freebsdtvision/doc/html/classTLabel.png
new file mode 100644
index 0000000..f8b386e
--- /dev/null
+++ b/freebsdtvision/doc/html/classTLabel.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTListBox-members.html b/freebsdtvision/doc/html/classTListBox-members.html
new file mode 100644
index 0000000..53e40e6
--- /dev/null
+++ b/freebsdtvision/doc/html/classTListBox-members.html
@@ -0,0 +1,142 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TListBox Member List</h1>This is the complete list of members for <a class="el" href="classTListBox.html">TListBox</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a31">awaken</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a32">blockCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListBox.html#d0">build</a>()</td><td><a class="el" href="classTListBox.html">TListBox</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a10">calcBounds</a>(TRect &amp;bounds, TPoint delta)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a1">changeBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a38">clearEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d0">commandEnabled</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p0">commandSetChanged</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a7">containsMouse</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p1">curCommandSet</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m6">cursor</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListBox.html#a2">dataSize</a>()</td><td><a class="el" href="classTListBox.html">TListBox</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d3">disableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d1">disableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m8">dragMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a9">dragView</a>(TEvent &amp;event, uchar mode, TRect &amp;limits, TPoint minSize, TPoint maxSize)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a2">draw</a>()</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a37">drawCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a24">drawHide</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a25">drawShow</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a26">drawUnderRect</a>(TRect &amp;r, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a27">drawUnderView</a>(Boolean doShadow, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a20">drawView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d4">enableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d2">enableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a43">endModal</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>enterSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p3">errorAttr</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a39">eventAvail</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m3">eventMask</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a44">execute</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a21">exposed</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a22">focus</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#m4">focused</a></td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a3">focusItem</a>(short item)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a11">focusItemNum</a>(short item)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a3">getBounds</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a5">getClipRect</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a45">getColor</a>(ushort color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d5">getCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListBox.html#a3">getData</a>(void *rec)</td><td><a class="el" href="classTListBox.html">TListBox</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a40">getEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a4">getExtent</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a15">getHelpCtx</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a4">getPalette</a>() const</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a48">getState</a>(ushort aState)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListBox.html#a4">getText</a>(char *dest, short item, short maxLen)</td><td><a class="el" href="classTListBox.html">TListBox</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m7">growMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a12">growTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a7">handleEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m9">helpCtx</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a17">hide</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a23">hideCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#m0">hScrollBar</a></td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a6">isSelected</a>(short item)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListBox.html#n0">items</a></td><td><a class="el" href="classTListBox.html">TListBox</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a51">keyEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>leaveSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListBox.html#a7">list</a>()</td><td><a class="el" href="classTListBox.html">TListBox</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a8">locate</a>(TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a58">makeFirst</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a53">makeGlobal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a54">makeLocal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a47">mapColor</a>(uchar)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a52">mouseEvent</a>(TEvent &amp;event, ushort mask)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a6">mouseInView</a>(TPoint mouse)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a13">moveTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListBox.html#p0">name</a></td><td><a class="el" href="classTListBox.html">TListBox</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListBox.html#a5">newList</a>(TCollection *aList)</td><td><a class="el" href="classTListBox.html">TListBox</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m0">next</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a55">nextView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a33">normalCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>normalSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#m2">numCols</a></td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m2">options</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m5">origin</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m10">owner</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s6">phaseType</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phFocused</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPostProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPreProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a57">prev</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a56">prevView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a42">putEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a59">putInFrontOf</a>(TView *Target)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#m5">range</a></td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListBox.html#b2">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTListBox.html">TListBox</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a34">resetCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a49">select</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a8">selectItem</a>(short item)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s7">selectMode</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#p0">separatorChar</a></td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a14">setBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d7">setCmdState</a>(TCommandSet &amp;commands, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d6">setCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a35">setCursor</a>(int x, int y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListBox.html#a6">setData</a>(void *rec)</td><td><a class="el" href="classTListBox.html">TListBox</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a9">setRange</a>(short aRange)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a10">setState</a>(ushort aState, Boolean enable)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a18">show</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a36">showCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p2">showMarkers</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a12">shutDown</a>()</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m1">size</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a2">sizeLimits</a>(TPoint &amp;min, TPoint &amp;max)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m4">state</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListBox.html#a0">TListBox</a>(const TRect &amp;bounds, ushort aNumCols, TScrollBar *aScrollBar)</td><td><a class="el" href="classTListBox.html">TListBox</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListBox.html#b0">TListBox</a>(StreamableInit)</td><td><a class="el" href="classTListBox.html">TListBox</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a0">TListViewer</a>(const TRect &amp;bounds, ushort aNumCols, TScrollBar *aHScrollBar, TScrollBar *aVScrollBar)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#b0">TListViewer</a>(StreamableInit)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#m3">topItem</a></td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a60">TopView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a0">TView</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#b0">TView</a>(StreamableInit)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a16">valid</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#m1">vScrollBar</a></td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListBox.html#b1">write</a>(opstream &amp;os)</td><td><a class="el" href="classTListBox.html">TListBox</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a61">writeBuf</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a62">writeBuf</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a63">writeChar</a>(short x, short y, char c, uchar color, short count)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a64">writeLine</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a65">writeLine</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a66">writeStr</a>(short x, short y, const char *str, uchar color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListBox.html#a1">~TListBox</a>()</td><td><a class="el" href="classTListBox.html">TListBox</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a1">~TView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:15 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTListBox.html b/freebsdtvision/doc/html/classTListBox.html
new file mode 100644
index 0000000..e9fd940
--- /dev/null
+++ b/freebsdtvision/doc/html/classTListBox.html
@@ -0,0 +1,538 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TListBox class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TListBox Class Reference</h1>Displays a list of items, in one or more columns, with an optional vertical scroll bar.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="dialogs_8h-source.html">dialogs.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TListBox:
+<p><center><img src="classTListBox.png" usemap="#TListBox_map" border="0" alt=""></center>
+<map name="TListBox_map">
+<area href="classTListViewer.html" alt="TListViewer" shape="rect" coords="53,112,149,136">
+<area href="classTView.html" alt="TView" shape="rect" coords="53,56,149,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,96,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="106,0,202,24">
+<area href="classTDirListBox.html" alt="TDirListBox" shape="rect" coords="0,224,96,248">
+<area href="classTSortedListBox.html" alt="TSortedListBox" shape="rect" coords="106,224,202,248">
+<area href="classTFileList.html" alt="TFileList" shape="rect" coords="106,280,202,304">
+</map>
+<a href="classTListBox-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTListBox.html#a0">TListBox</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;bounds, <a class="el" href="ttypes_8h.html#a0">ushort</a> aNumCols, <a class="el" href="classTScrollBar.html">TScrollBar</a> *aScrollBar)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTListBox.html#a1">~TListBox</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="classTListBox.html#a2">dataSize</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTListBox.html#a3">getData</a> (void *rec)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTListBox.html#a4">getText</a> (char *dest, short item, short maxLen)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTListBox.html#a5">newList</a> (<a class="el" href="classTCollection.html">TCollection</a> *aList)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTListBox.html#a6">setData</a> (void *rec)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTCollection.html">TCollection</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTListBox.html#a7">list</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStreamable.html">TStreamable</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTListBox.html#d0">build</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>const char *const&nbsp;</td><td valign=bottom><a class="el" href="classTListBox.html#p0">name</a></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTListBox.html#b0">TListBox</a> (<a class="el" href="ttypes_8h.html#a14">StreamableInit</a>)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTListBox.html#b1">write</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void *&nbsp;</td><td valign=bottom><a class="el" href="classTListBox.html#b2">read</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is)</td></tr>
+<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTCollection.html">TCollection</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTListBox.html#n0">items</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+TListBox is derived from <a class="el" href="classTListViewer.html">TListViewer</a> to help you set up the most commonly used list boxes, namely those displaying collections of strings, such as file names.
+<p>
+TListBox objects represent displayed lists of such items in one or more columns with an optional vertical scroll bar.
+<p>
+
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l01643">1643</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TListBox::TListBox"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TListBox::TListBox </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>bounds</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aNumCols</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTScrollBar.html">TScrollBar</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aScrollBar</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a list box control with the given size, number of columns, and a vertical scroll bar referenced by the `aScrollBar' pointer.
+<p>
+This constructor calls <a class="el" href="classTListViewer.html#a0">TListViewer::TListViewer</a>(bounds, aNumCols, 0, aScrollBar), thereby supressing the horizontal scroll bar. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTListViewer.html#a0">TListViewer::TListViewer</a></dl>The items data member is initially empty collection, and the inherited range data member is set to zero.
+<p>
+Your application must provide a suitable <a class="el" href="classTCollection.html">TCollection</a> holding the strings (or other objects) to be listed. The items data member must be set to point to this collection using <a class="el" href="classTListBox.html#a5">newList()</a>. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TListBox::~TListBox"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TListBox::~TListBox </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="b0" doxytag="TListBox::TListBox"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TListBox::TListBox </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a14">StreamableInit</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Each streamable class needs a "builder" to allocate the correct memory for its objects together with the initialized virtual table pointers. This is achieved by calling this constructor with an argument of type <a class="el" href="ttypes_8h.html#a14">StreamableInit</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="d0" doxytag="TListBox::build"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStreamable.html">TStreamable</a>* TListBox::build </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called to create an object in certain stream-reading situations.
+<p>
+Reimplemented from <a class="el" href="classTListViewer.html#d0">TListViewer</a>.
+<p>
+Reimplemented in <a class="el" href="classTSortedListBox.html#d0">TSortedListBox</a>, <a class="el" href="classTFileList.html#d0">TFileList</a>, and <a class="el" href="classTDirListBox.html#d0">TDirListBox</a>. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="TListBox::dataSize"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a0">ushort</a> TListBox::dataSize </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the size of the data read and written to the records passed to <a class="el" href="classTListBox.html#a3">getData()</a> and <a class="el" href="classTListBox.html#a6">setData()</a>. These three member functions are useful for initializing groups.
+<p>
+By default, <a class="el" href="classTListBox.html#a2">dataSize()</a> returns the size of <a class="el" href="classTCollection.html">TCollection</a> plus the size of ushort (for items and the selected item). You may need to override this member function for your own applications. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTListBox.html#n0">TListBox::items</a> , <a class="el" href="structTListBoxRec.html">TListBoxRec</a> </dl>
+<p>
+Reimplemented from <a class="el" href="classTView.html#a28">TView</a>.
+<p>
+Reimplemented in <a class="el" href="classTFileList.html#a8">TFileList</a>. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="TListBox::getData"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TListBox::getData </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>rec</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Writes TListBox object data to the target record. By default, <a class="el" href="classTListBox.html#a3">getData()</a> writes the current items and focused data members to `rec'. You may need to override this member function for your own applications. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTListBox.html#a2">TListBox::dataSize</a> , <a class="el" href="classTListBox.html#a6">TListBox::setData</a> </dl>
+<p>
+Reimplemented from <a class="el" href="classTView.html#a29">TView</a>.
+<p>
+Reimplemented in <a class="el" href="classTFileList.html#a9">TFileList</a>. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="TListBox::getText"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TListBox::getText </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>dest</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>short&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>item</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>short&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>maxLen</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Sets a string in `dest' from the calling TListBox object. By default, the returned string is obtained from the item'th item in the <a class="el" href="classTCollection.html">TCollection</a> using (char *) ((<a class="el" href="classTListBox.html#a7">list()</a>)-&gt;at(item)). <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTNSCollection.html#a3">TCollection::at</a> , <a class="el" href="classTListBox.html#a7">TListBox::list</a></dl>If <a class="el" href="classTListBox.html#a7">list()</a> returns a collection containing non-string objects, you will need to override this member function. If <a class="el" href="classTListBox.html#a7">list()</a> returns 0, <a class="el" href="classTListBox.html#a4">getText()</a> sets `dest' to " ".
+<p>
+Reimplemented from <a class="el" href="classTListViewer.html#a5">TListViewer</a>.
+<p>
+Reimplemented in <a class="el" href="classTFileList.html#a4">TFileList</a>, and <a class="el" href="classTDirListBox.html#a2">TDirListBox</a>. </td>
+ </tr>
+</table>
+<a name="a7" doxytag="TListBox::list"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTCollection.html">TCollection</a> * TListBox::list </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the private items pointer.
+<p>
+Reimplemented in <a class="el" href="classTSortedListBox.html#a4">TSortedListBox</a>, <a class="el" href="classTFileList.html#a11">TFileList</a>, and <a class="el" href="classTDirListBox.html#a7">TDirListBox</a>.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l01775">1775</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>.
+<p>
+References <a class="el" href="dialogs_8h-source.html#l01726">items</a>.
+<p>
+Referenced by <a class="el" href="stddlg_8h-source.html#l01275">TDirListBox::list()</a>, and <a class="el" href="stddlg_8h-source.html#l00460">TSortedListBox::list()</a>. </td>
+ </tr>
+</table>
+<a name="a5" doxytag="TListBox::newList"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TListBox::newList </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTCollection.html">TCollection</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>aList</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a new list by deleting the current one and replacing it with the given `aList'. </td>
+ </tr>
+</table>
+<a name="b2" doxytag="TListBox::read"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void* TListBox::read </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>is</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Reads from the input stream `is'.
+<p>
+Reimplemented from <a class="el" href="classTListViewer.html#b2">TListViewer</a>.
+<p>
+Reimplemented in <a class="el" href="classTSortedListBox.html#a3">TSortedListBox</a>. </td>
+ </tr>
+</table>
+<a name="a6" doxytag="TListBox::setData"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TListBox::setData </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>rec</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Replaces the current list with items and focused values read from the given `rec' array. <a class="el" href="classTListBox.html#a6">setData()</a> calls <a class="el" href="classTListBox.html#a5">newList()</a> so that the new list is displayed with the correct focused item. As with <a class="el" href="classTListBox.html#a3">getData()</a> and <a class="el" href="classTListBox.html#a2">dataSize()</a>, you may need to override this member function for your own applications.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a30">TView</a>.
+<p>
+Reimplemented in <a class="el" href="classTFileList.html#a10">TFileList</a>. </td>
+ </tr>
+</table>
+<a name="b1" doxytag="TListBox::write"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TListBox::write </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>os</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Writes to the output stream `os'.
+<p>
+Reimplemented from <a class="el" href="classTListViewer.html#b1">TListViewer</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="n0" doxytag="TListBox::items"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTCollection.html">TCollection</a>* TListBox::items<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Points at the collection of items to scroll through.
+<p>
+Typically, this might be a collection of strings representing the item texts. User can access this private member only by calling the function <a class="el" href="classTListBox.html#a7">list()</a>.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l01726">1726</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>.
+<p>
+Referenced by <a class="el" href="dialogs_8h-source.html#l01775">list()</a>. </td>
+ </tr>
+</table>
+<a name="p0" doxytag="TListBox::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* const TListBox::name<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTListViewer.html#p1">TListViewer</a>.
+<p>
+Reimplemented in <a class="el" href="classTSortedListBox.html#p0">TSortedListBox</a>, <a class="el" href="classTFileList.html#p0">TFileList</a>, and <a class="el" href="classTDirListBox.html#p5">TDirListBox</a>.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l01746">1746</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="dialogs_8h-source.html">dialogs.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:15 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTListBox.png b/freebsdtvision/doc/html/classTListBox.png
new file mode 100644
index 0000000..b481358
--- /dev/null
+++ b/freebsdtvision/doc/html/classTListBox.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTListViewer-members.html b/freebsdtvision/doc/html/classTListViewer-members.html
new file mode 100644
index 0000000..77af395
--- /dev/null
+++ b/freebsdtvision/doc/html/classTListViewer-members.html
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TListViewer Member List</h1>This is the complete list of members for <a class="el" href="classTListViewer.html">TListViewer</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a31">awaken</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a32">blockCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#d0">build</a>()</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a10">calcBounds</a>(TRect &amp;bounds, TPoint delta)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a1">changeBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a38">clearEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d0">commandEnabled</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p0">commandSetChanged</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a7">containsMouse</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p1">curCommandSet</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m6">cursor</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a28">dataSize</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d3">disableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d1">disableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m8">dragMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a9">dragView</a>(TEvent &amp;event, uchar mode, TRect &amp;limits, TPoint minSize, TPoint maxSize)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a2">draw</a>()</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a37">drawCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a24">drawHide</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a25">drawShow</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a26">drawUnderRect</a>(TRect &amp;r, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a27">drawUnderView</a>(Boolean doShadow, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a20">drawView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d4">enableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d2">enableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a43">endModal</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>enterSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p3">errorAttr</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a39">eventAvail</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m3">eventMask</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a44">execute</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a21">exposed</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a22">focus</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#m4">focused</a></td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a3">focusItem</a>(short item)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a11">focusItemNum</a>(short item)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a3">getBounds</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a5">getClipRect</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a45">getColor</a>(ushort color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d5">getCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a29">getData</a>(void *rec)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a40">getEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a4">getExtent</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a15">getHelpCtx</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a4">getPalette</a>() const</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a48">getState</a>(ushort aState)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a5">getText</a>(char *dest, short item, short maxLen)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m7">growMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a12">growTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a7">handleEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m9">helpCtx</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a17">hide</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a23">hideCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#m0">hScrollBar</a></td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a6">isSelected</a>(short item)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a51">keyEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>leaveSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a8">locate</a>(TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a58">makeFirst</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a53">makeGlobal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a54">makeLocal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a47">mapColor</a>(uchar)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a52">mouseEvent</a>(TEvent &amp;event, ushort mask)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a6">mouseInView</a>(TPoint mouse)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a13">moveTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#p1">name</a></td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m0">next</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a55">nextView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a33">normalCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>normalSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#m2">numCols</a></td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m2">options</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m5">origin</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m10">owner</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s6">phaseType</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phFocused</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPostProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPreProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a57">prev</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a56">prevView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a42">putEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a59">putInFrontOf</a>(TView *Target)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#m5">range</a></td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#b2">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a34">resetCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a49">select</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a8">selectItem</a>(short item)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s7">selectMode</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#p0">separatorChar</a></td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a14">setBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d7">setCmdState</a>(TCommandSet &amp;commands, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d6">setCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a35">setCursor</a>(int x, int y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a30">setData</a>(void *rec)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a9">setRange</a>(short aRange)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a10">setState</a>(ushort aState, Boolean enable)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a18">show</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a36">showCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p2">showMarkers</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a12">shutDown</a>()</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m1">size</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a2">sizeLimits</a>(TPoint &amp;min, TPoint &amp;max)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m4">state</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a0">TListViewer</a>(const TRect &amp;bounds, ushort aNumCols, TScrollBar *aHScrollBar, TScrollBar *aVScrollBar)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#b0">TListViewer</a>(StreamableInit)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#m3">topItem</a></td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a60">TopView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a0">TView</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#b0">TView</a>(StreamableInit)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a16">valid</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#m1">vScrollBar</a></td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#b1">write</a>(opstream &amp;os)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a61">writeBuf</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a62">writeBuf</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a63">writeChar</a>(short x, short y, char c, uchar color, short count)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a64">writeLine</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a65">writeLine</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a66">writeStr</a>(short x, short y, const char *str, uchar color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a1">~TView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:15 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTListViewer.html b/freebsdtvision/doc/html/classTListViewer.html
new file mode 100644
index 0000000..218ab0f
--- /dev/null
+++ b/freebsdtvision/doc/html/classTListViewer.html
@@ -0,0 +1,875 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TListViewer class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TListViewer Class Reference</h1>An abstract class from which you can derive list viewers of various kinds, such as <a class="el" href="classTListBox.html">TListBox</a>.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="views_8h-source.html">views.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TListViewer:
+<p><center><img src="classTListViewer.png" usemap="#TListViewer_map" border="0" alt=""></center>
+<map name="TListViewer_map">
+<area href="classTView.html" alt="TView" shape="rect" coords="171,56,275,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="114,0,218,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="228,0,332,24">
+<area href="classTColorGroupList.html" alt="TColorGroupList" shape="rect" coords="0,168,104,192">
+<area href="classTColorItemList.html" alt="TColorItemList" shape="rect" coords="114,168,218,192">
+<area href="classTHistoryViewer.html" alt="THistoryViewer" shape="rect" coords="228,168,332,192">
+<area href="classTListBox.html" alt="TListBox" shape="rect" coords="342,168,446,192">
+<area href="classTDirListBox.html" alt="TDirListBox" shape="rect" coords="285,224,389,248">
+<area href="classTSortedListBox.html" alt="TSortedListBox" shape="rect" coords="399,224,503,248">
+<area href="classTFileList.html" alt="TFileList" shape="rect" coords="399,280,503,304">
+</map>
+<a href="classTListViewer-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTListViewer.html#a0">TListViewer</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;bounds, <a class="el" href="ttypes_8h.html#a0">ushort</a> aNumCols, <a class="el" href="classTScrollBar.html">TScrollBar</a> *aHScrollBar, <a class="el" href="classTScrollBar.html">TScrollBar</a> *aVScrollBar)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTListViewer.html#a1">changeBounds</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;bounds)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTListViewer.html#a2">draw</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTListViewer.html#a3">focusItem</a> (short item)</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="classTPalette.html">TPalette</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="classTListViewer.html#a4">getPalette</a> () const</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTListViewer.html#a5">getText</a> (char *dest, short item, short maxLen)</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTListViewer.html#a6">isSelected</a> (short item)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTListViewer.html#a7">handleEvent</a> (<a class="el" href="structTEvent.html">TEvent</a> &amp;event)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTListViewer.html#a8">selectItem</a> (short item)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTListViewer.html#a9">setRange</a> (short aRange)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTListViewer.html#a10">setState</a> (<a class="el" href="ttypes_8h.html#a0">ushort</a> aState, <a class="el" href="ttypes_8h.html#a13">Boolean</a> enable)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTListViewer.html#a11">focusItemNum</a> (short item)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTListViewer.html#a12">shutDown</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStreamable.html">TStreamable</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTListViewer.html#d0">build</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTScrollBar.html">TScrollBar</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTListViewer.html#m0">hScrollBar</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTScrollBar.html">TScrollBar</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTListViewer.html#m1">vScrollBar</a></td></tr>
+<tr><td nowrap align=right valign=top>short&nbsp;</td><td valign=bottom><a class="el" href="classTListViewer.html#m2">numCols</a></td></tr>
+<tr><td nowrap align=right valign=top>short&nbsp;</td><td valign=bottom><a class="el" href="classTListViewer.html#m3">topItem</a></td></tr>
+<tr><td nowrap align=right valign=top>short&nbsp;</td><td valign=bottom><a class="el" href="classTListViewer.html#m4">focused</a></td></tr>
+<tr><td nowrap align=right valign=top>short&nbsp;</td><td valign=bottom><a class="el" href="classTListViewer.html#m5">range</a></td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>char&nbsp;</td><td valign=bottom><a class="el" href="classTListViewer.html#p0">separatorChar</a></td></tr>
+<tr><td nowrap align=right valign=top>const char *const&nbsp;</td><td valign=bottom><a class="el" href="classTListViewer.html#p1">name</a></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTListViewer.html#b0">TListViewer</a> (<a class="el" href="ttypes_8h.html#a14">StreamableInit</a>)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTListViewer.html#b1">write</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void *&nbsp;</td><td valign=bottom><a class="el" href="classTListViewer.html#b2">read</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+TListViewer is an abstract class from which you can derive list viewers of various kinds, such as <a class="el" href="classTListBox.html">TListBox</a>. TListViewer's members offer the following functionality:
+<p>
+<ol>
+<li>A view for displaying linked lists of items (but no list)<li>Control over one or two scroll bars<li>Basic scrolling of lists in two dimensions<li>Reading and writing the view and its scroll bars from and to a stream<li>Ability to use a mouse or the keyboard to select (highlight) items on list<li>Draw member function that copes with resizing and scrolling</ol>
+TListViewer has an abstract <a class="el" href="classTListViewer.html#a5">getText()</a> method, so you need to supply the mechanism for creating and manipulating the text of the items to be displayed.
+<p>
+TListViewer has no list storage mechanism of its own. Use it to display scrollable lists of arrays, linked lists, or similar data structures. You can also use its descendants, such as <a class="el" href="classTListBox.html">TListBox</a>, which associates a collection with a list viewer.
+<p>
+
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l02584">2584</a> of file <a class="el" href="views_8h-source.html">views.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TListViewer::TListViewer"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TListViewer::TListViewer </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>bounds</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aNumCols</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTScrollBar.html">TScrollBar</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aHScrollBar</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTScrollBar.html">TScrollBar</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aVScrollBar</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates and initializes a TListViewer object with the given size by first calling TView::TView(bounds).
+<p>
+The <a class="el" href="classTListViewer.html#m2">numCols</a> data member is set to `aNumCols'. <a class="el" href="classTView.html#m2">TView::options</a> is set to (<a class="el" href="views_8h.html#a40">ofFirstClick</a> | <a class="el" href="views_8h.html#a38">ofSelectable</a>) so that mouse clicks that select this view will be passed first to <a class="el" href="classTListViewer.html#a7">handleEvent()</a>.
+<p>
+The <a class="el" href="classTView.html#m3">TView::eventMask</a> is set to <a class="el" href="system_8h.html#a6">evBroadcast</a>. The initial values of range and focused are zero.
+<p>
+You can supply pointers to vertical and/or horizontal scroll bars by way of the `aVScrollBar' and `aHScrollBar' arguments. Setting either or both to 0 suppresses one or both scroll bars. These two pointer arguments are assigned to the <a class="el" href="classTListViewer.html#m1">vScrollBar</a> and <a class="el" href="classTListViewer.html#m0">hScrollBar</a> data members. </td>
+ </tr>
+</table>
+<a name="b0" doxytag="TListViewer::TListViewer"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TListViewer::TListViewer </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a14">StreamableInit</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Each streamable class needs a "builder" to allocate the correct memory for its objects together with the initialized virtual table pointers. This is achieved by calling this constructor with an argument of type <a class="el" href="ttypes_8h.html#a14">StreamableInit</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="d0" doxytag="TListViewer::build"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStreamable.html">TStreamable</a>* TListViewer::build </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called to create an object in certain stream-reading situations.
+<p>
+Reimplemented from <a class="el" href="classTView.html#d8">TView</a>.
+<p>
+Reimplemented in <a class="el" href="classTColorGroupList.html#d0">TColorGroupList</a>, <a class="el" href="classTColorItemList.html#d0">TColorItemList</a>, <a class="el" href="classTListBox.html#d0">TListBox</a>, <a class="el" href="classTSortedListBox.html#d0">TSortedListBox</a>, <a class="el" href="classTFileList.html#d0">TFileList</a>, and <a class="el" href="classTDirListBox.html#d0">TDirListBox</a>. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TListViewer::changeBounds"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TListViewer::changeBounds </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>bounds</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Changes the size of the TListViewer object by calling TView::changeBounds(bounds). If a horizontal scroll bar has been assigned, <a class="el" href="classTScrollBar.html#m4">TScrollBar::pgStep</a> is updated by way of <a class="el" href="classTScrollBar.html#a8">TScrollBar::setStep()</a>. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#a11">TView::changeBounds</a> </dl>
+<p>
+Reimplemented from <a class="el" href="classTView.html#a11">TView</a>. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="TListViewer::draw"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TListViewer::draw </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Draws the TListViewer object with the default palette by repeatedly calling <a class="el" href="classTListViewer.html#a5">getText()</a> for each visible item. Takes into account the focused and selected items and whether the view is <a class="el" href="views_8h.html#a30">sfActive</a>. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#m4">TView::state</a> </dl>
+<p>
+Reimplemented from <a class="el" href="classTView.html#a19">TView</a>. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="TListViewer::focusItem"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TListViewer::focusItem </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">short&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>item</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Makes the given item focused by setting the focused data member to `item'. Also sets the <a class="el" href="classTScrollBar.html#m0">TScrollBar::value</a> data member of the vertical scroll bar (if any) to `item' and adjusts <a class="el" href="classTListViewer.html#m3">topItem</a>.
+<p>
+Reimplemented in <a class="el" href="classTColorGroupList.html#a2">TColorGroupList</a>, <a class="el" href="classTColorItemList.html#a1">TColorItemList</a>, and <a class="el" href="classTFileList.html#a2">TFileList</a>. </td>
+ </tr>
+</table>
+<a name="a11" doxytag="TListViewer::focusItemNum"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TListViewer::focusItemNum </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">short&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>item</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Used internally by <a class="el" href="classTListViewer.html#a3">focusItem()</a>. Makes the given item focused by setting the focused data member to `item'. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="TListViewer::getPalette"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="classTPalette.html">TPalette</a>&amp; TListViewer::getPalette </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the default TListViewer palette string.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a46">TView</a>.
+<p>
+Reimplemented in <a class="el" href="classTHistoryViewer.html#a1">THistoryViewer</a>. </td>
+ </tr>
+</table>
+<a name="a5" doxytag="TListViewer::getText"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TListViewer::getText </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>dest</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>short&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>item</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>short&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>maxLen</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Derived classes must override it with a function that writes a string not exceeding `maxLen' at address `dest', given an item index referenced by `item'.
+<p>
+Note that <a class="el" href="classTListViewer.html#a2">draw()</a> needs to call <a class="el" href="classTListViewer.html#a5">getText()</a>.
+<p>
+Reimplemented in <a class="el" href="classTColorGroupList.html#a3">TColorGroupList</a>, <a class="el" href="classTColorItemList.html#a2">TColorItemList</a>, <a class="el" href="classTListBox.html#a4">TListBox</a>, <a class="el" href="classTHistoryViewer.html#a2">THistoryViewer</a>, <a class="el" href="classTFileList.html#a4">TFileList</a>, and <a class="el" href="classTDirListBox.html#a2">TDirListBox</a>. </td>
+ </tr>
+</table>
+<a name="a7" doxytag="TListViewer::handleEvent"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TListViewer::handleEvent </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="structTEvent.html">TEvent</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>event</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Handles events by first calling TView::handleEvent(event). <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#a41">TView::handleEvent</a></dl>Mouse clicks and "auto" movements over the list will change the focused item. Items can be selected with double mouse clicks.
+<p>
+Keyboard events are handled as follows: Spacebar selects the currently focused item; the arrow keys, PgUp, PgDn, Ctrl-PgDn, Ctrl-PgUp, Home, and End keys are tracked to set the focused item.
+<p>
+Broadcast events from the scroll bars are handled by changing the focused item and redrawing the view as required.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a41">TView</a>.
+<p>
+Reimplemented in <a class="el" href="classTColorGroupList.html#a4">TColorGroupList</a>, <a class="el" href="classTColorItemList.html#a3">TColorItemList</a>, <a class="el" href="classTHistoryViewer.html#a3">THistoryViewer</a>, and <a class="el" href="classTSortedListBox.html#a1">TSortedListBox</a>. </td>
+ </tr>
+</table>
+<a name="a6" doxytag="TListViewer::isSelected"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a> TListViewer::isSelected </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">short&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>item</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns True if the given item is selected (focused), that is, if `item' == focused.
+<p>
+Reimplemented in <a class="el" href="classTDirListBox.html#a3">TDirListBox</a>. </td>
+ </tr>
+</table>
+<a name="b2" doxytag="TListViewer::read"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void* TListViewer::read </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>is</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Reads from the input stream `is'.
+<p>
+Reimplemented from <a class="el" href="classTView.html#b2">TView</a>.
+<p>
+Reimplemented in <a class="el" href="classTColorGroupList.html#b2">TColorGroupList</a>, <a class="el" href="classTListBox.html#b2">TListBox</a>, and <a class="el" href="classTSortedListBox.html#a3">TSortedListBox</a>. </td>
+ </tr>
+</table>
+<a name="a8" doxytag="TListViewer::selectItem"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TListViewer::selectItem </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">short&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>item</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Selects the item'th element of the list, then broadcasts this fact to the owning group by calling:
+<p>
+<pre>
+ message(owner, <a class="el" href="system_8h.html#a6">evBroadcast</a>, cmListItemSelected, this);
+ </pre> <dl compact><dt><b>See also: </b></dt><dd>
+message </dl>
+<p>
+Reimplemented in <a class="el" href="classTFileList.html#a3">TFileList</a>, and <a class="el" href="classTDirListBox.html#a4">TDirListBox</a>. </td>
+ </tr>
+</table>
+<a name="a9" doxytag="TListViewer::setRange"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TListViewer::setRange </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">short&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>aRange</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Sets the range data member to `aRange'.
+<p>
+If a vertical scroll bar has been assigned, its parameters are adjusted as necessary (and <a class="el" href="classTView.html#a20">TScrollBar::drawView()</a> is invoked if redrawing is needed).
+<p>
+If the currently focused item falls outside the new range, the focused data member is set to zero. </td>
+ </tr>
+</table>
+<a name="a10" doxytag="TListViewer::setState"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TListViewer::setState </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aState</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>enable</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Calls TView::setState(aState, enable) to change the TListViewer object's state. Depending on the `aState' argument, this can result in displaying or hiding the view. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#a50">TView::setState</a> , <a class="el" href="classTView.html#m4">TView::state</a></dl>Additionally, if `aState' is <a class="el" href="views_8h.html#a31">sfSelected</a> and <a class="el" href="views_8h.html#a30">sfActive</a>, the scroll bars are redrawn; if `aState' is <a class="el" href="views_8h.html#a31">sfSelected</a> but not <a class="el" href="views_8h.html#a30">sfActive</a>, the scroll bars are hidden.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a50">TView</a>.
+<p>
+Reimplemented in <a class="el" href="classTDirListBox.html#a6">TDirListBox</a>. </td>
+ </tr>
+</table>
+<a name="a12" doxytag="TListViewer::shutDown"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TListViewer::shutDown </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Used internally by <a class="el" href="classTObject.html#d0">TObject::destroy()</a> to ensure correct destruction of derived and related objects. <a class="el" href="classTListViewer.html#a12">shutDown()</a> is overridden in many classes to ensure the proper setting of related data members when <a class="el" href="classTObject.html#d0">destroy()</a> is called.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a67">TView</a>. </td>
+ </tr>
+</table>
+<a name="b1" doxytag="TListViewer::write"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TListViewer::write </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>os</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Writes to the output stream `os'.
+<p>
+Reimplemented from <a class="el" href="classTView.html#b1">TView</a>.
+<p>
+Reimplemented in <a class="el" href="classTColorGroupList.html#b1">TColorGroupList</a>, and <a class="el" href="classTListBox.html#b1">TListBox</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="m4" doxytag="TListViewer::focused"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> short TListViewer::focused
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The item number of the focused item. Items are numbered from 0 to range - 1. Initially set to 0, the first item, focused can be changed by mouse click or Spacebar selection.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l02734">2734</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="m0" doxytag="TListViewer::hScrollBar"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTScrollBar.html">TScrollBar</a>* TListViewer::hScrollBar
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Pointer to the horizontal scroll bar associated with this view. If 0, the view does not have such a scroll bar.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l02712">2712</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="p1" doxytag="TListViewer::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* const TListViewer::name<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTView.html#p4">TView</a>.
+<p>
+Reimplemented in <a class="el" href="classTColorGroupList.html#p0">TColorGroupList</a>, <a class="el" href="classTColorItemList.html#p0">TColorItemList</a>, <a class="el" href="classTListBox.html#p0">TListBox</a>, <a class="el" href="classTSortedListBox.html#p0">TSortedListBox</a>, <a class="el" href="classTFileList.html#p0">TFileList</a>, and <a class="el" href="classTDirListBox.html#p5">TDirListBox</a>.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l02767">2767</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="m2" doxytag="TListViewer::numCols"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> short TListViewer::numCols
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The number of columns in the list control.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l02721">2721</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="m5" doxytag="TListViewer::range"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> short TListViewer::range
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The current total number of items in the list. Items are numbered from 0 to range - 1.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l02739">2739</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="p0" doxytag="TListViewer::separatorChar"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> char TListViewer::separatorChar<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l02743">2743</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="m3" doxytag="TListViewer::topItem"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> short TListViewer::topItem
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The item number of the top item to be displayed. This value changes during scrolling. Items are numbered from 0 to range - 1. This number depends on the number of columns, the size of the view, and the value of variable range.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l02728">2728</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="m1" doxytag="TListViewer::vScrollBar"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTScrollBar.html">TScrollBar</a>* TListViewer::vScrollBar
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Pointer to the vertical scroll bar associated with this view. If 0, the view does not have such a scroll bar.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l02717">2717</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="views_8h-source.html">views.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:15 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTListViewer.png b/freebsdtvision/doc/html/classTListViewer.png
new file mode 100644
index 0000000..bd64492
--- /dev/null
+++ b/freebsdtvision/doc/html/classTListViewer.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTLookupValidator-members.html b/freebsdtvision/doc/html/classTLookupValidator-members.html
new file mode 100644
index 0000000..82235e0
--- /dev/null
+++ b/freebsdtvision/doc/html/classTLookupValidator-members.html
@@ -0,0 +1,34 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TLookupValidator Member List</h1>This is the complete list of members for <a class="el" href="classTLookupValidator.html">TLookupValidator</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTLookupValidator.html#d0">build</a>()</td><td><a class="el" href="classTLookupValidator.html">TLookupValidator</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTValidator.html#a1">error</a>()</td><td><a class="el" href="classTValidator.html">TValidator</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTLookupValidator.html#a1">isValid</a>(const char *s)</td><td><a class="el" href="classTLookupValidator.html">TLookupValidator</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTValidator.html#a2">isValidInput</a>(char *s, Boolean suppressFill)</td><td><a class="el" href="classTValidator.html">TValidator</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTLookupValidator.html#a2">lookup</a>(const char *s)</td><td><a class="el" href="classTLookupValidator.html">TLookupValidator</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTLookupValidator.html#p0">name</a></td><td><a class="el" href="classTLookupValidator.html">TLookupValidator</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTValidator.html#m1">options</a></td><td><a class="el" href="classTValidator.html">TValidator</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTValidator.html#b2">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTValidator.html">TValidator</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a1">shutDown</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTValidator.html#m0">status</a></td><td><a class="el" href="classTValidator.html">TValidator</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTLookupValidator.html#a0">TLookupValidator</a>()</td><td><a class="el" href="classTLookupValidator.html">TLookupValidator</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTLookupValidator.html#b0">TLookupValidator</a>(StreamableInit)</td><td><a class="el" href="classTLookupValidator.html">TLookupValidator</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTValidator.html#a4">transfer</a>(char *s, void *buffer, TVTransfer flag)</td><td><a class="el" href="classTValidator.html">TValidator</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTValidator.html#a0">TValidator</a>()</td><td><a class="el" href="classTValidator.html">TValidator</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTValidator.html#b0">TValidator</a>(StreamableInit)</td><td><a class="el" href="classTValidator.html">TValidator</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTValidator.html#a5">validate</a>(const char *s)</td><td><a class="el" href="classTValidator.html">TValidator</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTValidator.html#b1">write</a>(opstream &amp;os)</td><td><a class="el" href="classTValidator.html">TValidator</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:15 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTLookupValidator.html b/freebsdtvision/doc/html/classTLookupValidator.html
new file mode 100644
index 0000000..9dc9b07
--- /dev/null
+++ b/freebsdtvision/doc/html/classTLookupValidator.html
@@ -0,0 +1,235 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TLookupValidator class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TLookupValidator Class Reference</h1>Compares the string typed by a user with a list of acceptable values.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="validate_8h-source.html">validate.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TLookupValidator:
+<p><center><img src="classTLookupValidator.png" usemap="#TLookupValidator_map" border="0" alt=""></center>
+<map name="TLookupValidator_map">
+<area href="classTValidator.html" alt="TValidator" shape="rect" coords="77,56,221,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,144,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="154,0,298,24">
+<area href="classTStringLookupValidator.html" alt="TStringLookupValidator" shape="rect" coords="77,168,221,192">
+</map>
+<a href="classTLookupValidator-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTLookupValidator.html#a0">TLookupValidator</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTLookupValidator.html#a1">isValid</a> (const char *s)</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTLookupValidator.html#a2">lookup</a> (const char *s)</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStreamable.html">TStreamable</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTLookupValidator.html#d0">build</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>const char *const&nbsp;</td><td valign=bottom><a class="el" href="classTLookupValidator.html#p0">name</a></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTLookupValidator.html#b0">TLookupValidator</a> (<a class="el" href="ttypes_8h.html#a14">StreamableInit</a>)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+A lookup validator compares the string typed by a user with a list of acceptable values. TLookupValidator is an abstract validator type from which you can derive useful lookup validators. You will never create an instance of TLookupValidator.
+<p>
+When you create a lookup validator type, you need to specify a list of valid items and override the <a class="el" href="classTLookupValidator.html#a2">lookup()</a> method to return True only if the user input matches an item in that list. One example of a working descendant of TLookupValidator is <a class="el" href="classTStringLookupValidator.html">TStringLookupValidator</a>.
+<p>
+
+<p>
+Definition at line <a class="el" href="validate_8h-source.html#l00752">752</a> of file <a class="el" href="validate_8h-source.html">validate.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TLookupValidator::TLookupValidator"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TLookupValidator::TLookupValidator </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="validate_8h-source.html#l00758">758</a> of file <a class="el" href="validate_8h-source.html">validate.h</a>. </td>
+ </tr>
+</table>
+<a name="b0" doxytag="TLookupValidator::TLookupValidator"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TLookupValidator::TLookupValidator </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a14">StreamableInit</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Each streamable class needs a "builder" to allocate the correct memory for its objects together with the initialized virtual table pointers. This is achieved by calling this constructor with an argument of type <a class="el" href="ttypes_8h.html#a14">StreamableInit</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="d0" doxytag="TLookupValidator::build"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStreamable.html">TStreamable</a>* TLookupValidator::build </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called to create an object in certain stream-reading situations.
+<p>
+Reimplemented from <a class="el" href="classTValidator.html#d0">TValidator</a>.
+<p>
+Reimplemented in <a class="el" href="classTStringLookupValidator.html#d0">TStringLookupValidator</a>. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TLookupValidator::isValid"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a> TLookupValidator::isValid </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>s</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Calls <a class="el" href="classTLookupValidator.html#a2">lookup()</a> to find the string `s' in the list of valid input items. Returns True if <a class="el" href="classTLookupValidator.html#a2">lookup()</a> returns True, meaning <a class="el" href="classTLookupValidator.html#a2">lookup()</a> found `s' in its list; otherwise returns False.
+<p>
+Reimplemented from <a class="el" href="classTValidator.html#a3">TValidator</a>. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="TLookupValidator::lookup"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a> TLookupValidator::lookup </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>s</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Searches for the string `s' in the list of valid entries and returns True if it finds `s'; otherwise returns False. TLookupValidator's <a class="el" href="classTLookupValidator.html#a2">lookup()</a> is an abstract method that always returns False.
+<p>
+Descendant lookup validator types must override <a class="el" href="classTLookupValidator.html#a2">lookup()</a> to perform a search based on the actual list of acceptable items.
+<p>
+Reimplemented in <a class="el" href="classTStringLookupValidator.html#a3">TStringLookupValidator</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="p0" doxytag="TLookupValidator::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* const TLookupValidator::name<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTValidator.html#p0">TValidator</a>.
+<p>
+Reimplemented in <a class="el" href="classTStringLookupValidator.html#p0">TStringLookupValidator</a>.
+<p>
+Definition at line <a class="el" href="validate_8h-source.html#l00781">781</a> of file <a class="el" href="validate_8h-source.html">validate.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="validate_8h-source.html">validate.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:15 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTLookupValidator.png b/freebsdtvision/doc/html/classTLookupValidator.png
new file mode 100644
index 0000000..f9e8186
--- /dev/null
+++ b/freebsdtvision/doc/html/classTLookupValidator.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTMemo-members.html b/freebsdtvision/doc/html/classTMemo-members.html
new file mode 100644
index 0000000..48b0d27
--- /dev/null
+++ b/freebsdtvision/doc/html/classTMemo-members.html
@@ -0,0 +1,209 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TMemo Member List</h1>This is the complete list of members for <a class="el" href="classTMemo.html">TMemo</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m22">autoIndent</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a31">awaken</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a32">blockCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a3">bufChar</a>(uint p)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m3">buffer</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m5">bufLen</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a4">bufPtr</a>(uint p)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m4">bufSize</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMemo.html#d0">build</a>()</td><td><a class="el" href="classTMemo.html">TMemo</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a10">calcBounds</a>(TRect &amp;bounds, TPoint delta)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m18">canUndo</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a5">changeBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a27">charPos</a>(uint p, uint target)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a28">charPtr</a>(uint p, uint target)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a60">checkScrollBar</a>(const TEvent &amp;event, TScrollBar *p, int &amp;d)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a38">clearEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#p4">clipboard</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a29">clipCopy</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a30">clipCut</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a31">clipPaste</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d0">commandEnabled</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p0">commandSetChanged</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a7">containsMouse</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a6">convertEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p1">curCommandSet</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m10">curPos</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m9">curPtr</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m6">cursor</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a7">cursorVisible</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMemo.html#a3">dataSize</a>()</td><td><a class="el" href="classTMemo.html">TMemo</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m15">delCount</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a32">deleteRange</a>(uint startPtr, uint endPtr, Boolean delSelect)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a8">deleteSelect</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m11">delta</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d3">disableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d1">disableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a9">doneBuffer</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a34">doSearchReplace</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a33">doUpdate</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m8">dragMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a9">dragView</a>(TEvent &amp;event, uchar mode, TRect &amp;limits, TPoint minSize, TPoint maxSize)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a10">draw</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a37">drawCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a24">drawHide</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m13">drawLine</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a35">drawLines</a>(int y, uint count, uint linePtr)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m14">drawPtr</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a25">drawShow</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a26">drawUnderRect</a>(TRect &amp;r, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a27">drawUnderView</a>(Boolean doShadow, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a20">drawView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#p0">editorDialog</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#p1">editorFlags</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d4">enableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d2">enableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a43">endModal</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>enterSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p3">errorAttr</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a39">eventAvail</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m3">eventMask</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a44">execute</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a21">exposed</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a37">find</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#p2">findStr</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a22">focus</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a36">formatLine</a>(void *buff, uint linePtr, int x, ushort color)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m6">gapLen</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a3">getBounds</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a5">getClipRect</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a45">getColor</a>(ushort color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d5">getCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMemo.html#a1">getData</a>(void *rec)</td><td><a class="el" href="classTMemo.html">TMemo</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a40">getEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a4">getExtent</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a15">getHelpCtx</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a38">getMousePtr</a>(TPoint m)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMemo.html#a4">getPalette</a>() const</td><td><a class="el" href="classTMemo.html">TMemo</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a48">getState</a>(ushort aState)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m7">growMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a12">growTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMemo.html#a5">handleEvent</a>(TEvent &amp;)</td><td><a class="el" href="classTMemo.html">TMemo</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a39">hasSelection</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m9">helpCtx</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a17">hide</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a23">hideCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a40">hideSelect</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m0">hScrollBar</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m2">indicator</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a13">initBuffer</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m16">insCount</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a14">insertBuffer</a>(char *p, uint offset, uint length, Boolean allowUndo, Boolean selectText)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a15">insertFrom</a>(TEditor *editor)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a16">insertText</a>(const void *text, uint length, Boolean selectText)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a41">isClipboard</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m17">isValid</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a51">keyEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m25">keyState</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>leaveSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m12">limit</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a42">lineEnd</a>(uint p)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a43">lineMove</a>(uint p, int count)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a44">lineStart</a>(uint p)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a8">locate</a>(TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a45">lock</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m23">lockCount</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a58">makeFirst</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a53">makeGlobal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a54">makeLocal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a47">mapColor</a>(uchar)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m19">modified</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a52">mouseEvent</a>(TEvent &amp;event, ushort mask)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a6">mouseInView</a>(TPoint mouse)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a13">moveTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMemo.html#p0">name</a></td><td><a class="el" href="classTMemo.html">TMemo</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a46">newLine</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m0">next</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a47">nextChar</a>(uint p)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a48">nextLine</a>(uint p)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a55">nextView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a49">nextWord</a>(uint p)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a33">normalCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>normalSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m2">options</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m5">origin</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m21">overwrite</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m10">owner</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s6">phaseType</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phFocused</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPostProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPreProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a57">prev</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a50">prevChar</a>(uint p)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a51">prevLine</a>(uint p)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a56">prevView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a52">prevWord</a>(uint p)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a42">putEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a59">putInFrontOf</a>(TView *Target)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMemo.html#b2">read</a>(ipstream &amp;)</td><td><a class="el" href="classTMemo.html">TMemo</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a53">replace</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#p3">replaceStr</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a34">resetCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a17">scrollTo</a>(int x, int y)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a18">search</a>(const char *findStr, ushort opts)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a49">select</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m20">selecting</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s7">selectMode</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m8">selEnd</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m7">selStart</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a14">setBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a54">setBufLen</a>(uint length)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a19">setBufSize</a>(uint newSize)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a20">setCmdState</a>(ushort command, Boolean enable)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d7">TView::setCmdState</a>(TCommandSet &amp;commands, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d6">setCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a55">setCurPtr</a>(uint p, uchar selectMode)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a35">setCursor</a>(int x, int y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMemo.html#a2">setData</a>(void *rec)</td><td><a class="el" href="classTMemo.html">TMemo</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a21">setSelect</a>(uint newStart, uint newEnd, Boolean curStart)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a22">setState</a>(ushort aState, Boolean enable)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a18">show</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a36">showCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p2">showMarkers</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a2">shutDown</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m1">size</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a2">sizeLimits</a>(TPoint &amp;min, TPoint &amp;max)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a56">startSelect</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m4">state</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a0">TEditor</a>(const TRect &amp;bounds, TScrollBar *aHScrollBar, TScrollBar *aVScrollBar, TIndicator *aIndicator, uint aBufSize)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#b0">TEditor</a>(StreamableInit)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMemo.html#a0">TMemo</a>(const TRect &amp;bounds, TScrollBar *aHScrollBar, TScrollBar *aVScrollBar, TIndicator *aIndicator, uint aBufSize)</td><td><a class="el" href="classTMemo.html">TMemo</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMemo.html#b0">TMemo</a>(StreamableInit)</td><td><a class="el" href="classTMemo.html">TMemo</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a57">toggleInsMode</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a60">TopView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a23">trackCursor</a>(Boolean center)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a0">TView</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#b0">TView</a>(StreamableInit)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a24">undo</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a58">unlock</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a59">update</a>(uchar aFlags)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a25">updateCommands</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m24">updateFlags</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a26">valid</a>(ushort command)</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#m1">vScrollBar</a></td><td><a class="el" href="classTEditor.html">TEditor</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMemo.html#b1">write</a>(opstream &amp;)</td><td><a class="el" href="classTMemo.html">TMemo</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a61">writeBuf</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a62">writeBuf</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a63">writeChar</a>(short x, short y, char c, uchar color, short count)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a64">writeLine</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a65">writeLine</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a66">writeStr</a>(short x, short y, const char *str, uchar color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTEditor.html#a1">~TEditor</a>()</td><td><a class="el" href="classTEditor.html">TEditor</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a1">~TView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:15 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTMemo.html b/freebsdtvision/doc/html/classTMemo.html
new file mode 100644
index 0000000..c913f74
--- /dev/null
+++ b/freebsdtvision/doc/html/classTMemo.html
@@ -0,0 +1,417 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TMemo class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TMemo Class Reference</h1>Derived from <a class="el" href="classTEditor.html">TEditor</a> and designed for insertion into a dialog or form.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="editors_8h-source.html">editors.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TMemo:
+<p><center><img src="classTMemo.png" usemap="#TMemo_map" border="0" alt=""></center>
+<map name="TMemo_map">
+<area href="classTEditor.html" alt="TEditor" shape="rect" coords="46,112,128,136">
+<area href="classTView.html" alt="TView" shape="rect" coords="46,56,128,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,82,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="92,0,174,24">
+</map>
+<a href="classTMemo-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTMemo.html#a0">TMemo</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;bounds, <a class="el" href="classTScrollBar.html">TScrollBar</a> *aHScrollBar, <a class="el" href="classTScrollBar.html">TScrollBar</a> *aVScrollBar, <a class="el" href="classTIndicator.html">TIndicator</a> *aIndicator, <a class="el" href="ttypes_8h.html#a2">uint</a> aBufSize)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTMemo.html#a1">getData</a> (void *rec)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTMemo.html#a2">setData</a> (void *rec)</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="classTMemo.html#a3">dataSize</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="classTPalette.html">TPalette</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="classTMemo.html#a4">getPalette</a> () const</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTMemo.html#a5">handleEvent</a> (<a class="el" href="structTEvent.html">TEvent</a> &amp;)</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStreamable.html">TStreamable</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTMemo.html#d0">build</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>const char *const&nbsp;</td><td valign=bottom><a class="el" href="classTMemo.html#p0">name</a></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTMemo.html#b0">TMemo</a> (<a class="el" href="ttypes_8h.html#a14">StreamableInit</a>)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTMemo.html#b1">write</a> (<a class="el" href="classopstream.html">opstream</a> &amp;)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void *&nbsp;</td><td valign=bottom><a class="el" href="classTMemo.html#b2">read</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+TMemo, which is derived from <a class="el" href="classTEditor.html">TEditor</a>, is designed for insertion into a dialog or form.
+<p>
+
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l01087">1087</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TMemo::TMemo"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TMemo::TMemo </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>bounds</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTScrollBar.html">TScrollBar</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aHScrollBar</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTScrollBar.html">TScrollBar</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aVScrollBar</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTIndicator.html">TIndicator</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aIndicator</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a2">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aBufSize</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructor. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTEditor.html#a0">TEditor::TEditor</a> </dl> </td>
+ </tr>
+</table>
+<a name="b0" doxytag="TMemo::TMemo"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TMemo::TMemo </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a14">StreamableInit</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Each streamable class needs a "builder" to allocate the correct memory for its objects together with the initialized virtual table pointers.
+<p>
+This is achieved by calling this constructor with an argument of type <a class="el" href="ttypes_8h.html#a14">StreamableInit</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="d0" doxytag="TMemo::build"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStreamable.html">TStreamable</a>* TMemo::build </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called to create an object in certain stream-reading situations.
+<p>
+Reimplemented from <a class="el" href="classTEditor.html#d0">TEditor</a>. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="TMemo::dataSize"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a0">ushort</a> TMemo::dataSize </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Used with <a class="el" href="classTMemo.html#a1">getData()</a> and <a class="el" href="classTMemo.html#a2">setData()</a>, which are inherited from <a class="el" href="classTView.html">TView</a> and redefined. By default it returns (sizeof(ushort) + <a class="el" href="classTEditor.html#m4">bufSize</a>).
+<p>
+Reimplemented from <a class="el" href="classTView.html#a28">TView</a>. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TMemo::getData"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TMemo::getData </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>rec</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<a class="el" href="classTMemo.html#a1">getData()</a> must copy <a class="el" href="classTMemo.html#a3">dataSize()</a> bytes from the view to the data record given by the `rec' pointer. The data record mechanism is typically used only in views that implement controls for dialog boxes. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#a30">TView::setData</a></dl>The default <a class="el" href="classTView.html#a29">TView::getData()</a> does nothing.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a29">TView</a>. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="TMemo::getPalette"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="classTPalette.html">TPalette</a>&amp; TMemo::getPalette </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the default memo palette.
+<p>
+Reimplemented from <a class="el" href="classTEditor.html#a11">TEditor</a>. </td>
+ </tr>
+</table>
+<a name="a5" doxytag="TMemo::handleEvent"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TMemo::handleEvent </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="structTEvent.html">TEvent</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Prevents TMemo from handling kbTab key events; otherwise handles events the same as a <a class="el" href="classTEditor.html">TEditor</a>. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTEditor.html#a12">TEditor::handleEvent</a> </dl>
+<p>
+Reimplemented from <a class="el" href="classTEditor.html#a12">TEditor</a>. </td>
+ </tr>
+</table>
+<a name="b2" doxytag="TMemo::read"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void* TMemo::read </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Reads from the input stream `is'.
+<p>
+Reimplemented from <a class="el" href="classTEditor.html#b2">TEditor</a>. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="TMemo::setData"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TMemo::setData </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>rec</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<a class="el" href="classTMemo.html#a2">setData()</a> must copy <a class="el" href="classTMemo.html#a3">dataSize()</a> bytes from the data record given by `rec' to the view. The data record mechanism is typically used only in views that implement controls for dialog boxes. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#a29">TView::getData</a></dl>The default <a class="el" href="classTView.html#a30">TView::setData()</a> does nothing.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a30">TView</a>. </td>
+ </tr>
+</table>
+<a name="b1" doxytag="TMemo::write"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TMemo::write </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Writes to the output stream `os'.
+<p>
+Reimplemented from <a class="el" href="classTEditor.html#b1">TEditor</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="p0" doxytag="TMemo::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* const TMemo::name<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTEditor.html#p5">TEditor</a>.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l01138">1138</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="editors_8h-source.html">editors.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:15 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTMemo.png b/freebsdtvision/doc/html/classTMemo.png
new file mode 100644
index 0000000..6fcab6e
--- /dev/null
+++ b/freebsdtvision/doc/html/classTMemo.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTMenu-members.html b/freebsdtvision/doc/html/classTMenu-members.html
new file mode 100644
index 0000000..bcbe8f4
--- /dev/null
+++ b/freebsdtvision/doc/html/classTMenu-members.html
@@ -0,0 +1,21 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TMenu Member List</h1>This is the complete list of members for <a class="el" href="classTMenu.html">TMenu</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenu.html#m1">deflt</a></td><td><a class="el" href="classTMenu.html">TMenu</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenu.html#m0">items</a></td><td><a class="el" href="classTMenu.html">TMenu</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenu.html#a0">TMenu</a>()</td><td><a class="el" href="classTMenu.html">TMenu</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenu.html#a1">TMenu</a>(TMenuItem &amp;itemList)</td><td><a class="el" href="classTMenu.html">TMenu</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenu.html#a2">TMenu</a>(TMenuItem &amp;itemList, TMenuItem &amp;TheDefault)</td><td><a class="el" href="classTMenu.html">TMenu</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenu.html#a3">~TMenu</a>()</td><td><a class="el" href="classTMenu.html">TMenu</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:15 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTMenu.html b/freebsdtvision/doc/html/classTMenu.html
new file mode 100644
index 0000000..0e4669c
--- /dev/null
+++ b/freebsdtvision/doc/html/classTMenu.html
@@ -0,0 +1,226 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TMenu class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TMenu Class Reference</h1>A "wrapper" for the various other menu classes, such as <a class="el" href="classTMenuItem.html">TMenuItem</a>, <a class="el" href="classTSubMenu.html">TSubMenu</a> and <a class="el" href="classTMenuView.html">TMenuView</a>.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="menus_8h-source.html">menus.h</a>&gt;</code>
+<p>
+<a href="classTMenu-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTMenu.html#a0">TMenu</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTMenu.html#a1">TMenu</a> (<a class="el" href="classTMenuItem.html">TMenuItem</a> &amp;itemList)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTMenu.html#a2">TMenu</a> (<a class="el" href="classTMenuItem.html">TMenuItem</a> &amp;itemList, <a class="el" href="classTMenuItem.html">TMenuItem</a> &amp;TheDefault)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTMenu.html#a3">~TMenu</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTMenuItem.html">TMenuItem</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTMenu.html#m0">items</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTMenuItem.html">TMenuItem</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTMenu.html#m1">deflt</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+TMenu serves as a "wrapper" for the various other menu classes, such as <a class="el" href="classTMenuItem.html">TMenuItem</a>, <a class="el" href="classTSubMenu.html">TSubMenu</a> and <a class="el" href="classTMenuView.html">TMenuView</a>.
+<p>
+
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00185">185</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TMenu::TMenu"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TMenu::TMenu </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a TMenu object and sets both deflt and items data members to 0.
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00192">192</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>.
+<p>
+References <a class="el" href="menus_8h-source.html#l00218">deflt</a>, and <a class="el" href="menus_8h-source.html#l00213">items</a>. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TMenu::TMenu"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TMenu::TMenu </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTMenuItem.html">TMenuItem</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>itemList</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a TMenu object consisting of `itemList'; sets items and deflt data members to that item.
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00197">197</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>.
+<p>
+References <a class="el" href="menus_8h-source.html#l00218">deflt</a>, and <a class="el" href="menus_8h-source.html#l00213">items</a>. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="TMenu::TMenu"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TMenu::TMenu </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTMenuItem.html">TMenuItem</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>itemList</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTMenuItem.html">TMenuItem</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>TheDefault</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a TMenu object; sets data members items and deflt to `itemList' and `TheDefault', respectively.
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00203">203</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>.
+<p>
+References <a class="el" href="menus_8h-source.html#l00218">deflt</a>, and <a class="el" href="menus_8h-source.html#l00213">items</a>. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="TMenu::~TMenu"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TMenu::~TMenu </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Deletes the menu item list in items. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="m1" doxytag="TMenu::deflt"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTMenuItem.html">TMenuItem</a>* TMenu::deflt
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Points to the default (highlighted) menu item. Determines how to react when the user presses Enter.
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00218">218</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>.
+<p>
+Referenced by <a class="el" href="menus_8h-source.html#l00192">TMenu()</a>. </td>
+ </tr>
+</table>
+<a name="m0" doxytag="TMenu::items"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTMenuItem.html">TMenuItem</a>* TMenu::items
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Points to the list of menu items. Used by various draw member functions when parts of the menu structure need to be redrawn.
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00213">213</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>.
+<p>
+Referenced by <a class="el" href="menus_8h-source.html#l00192">TMenu()</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="menus_8h-source.html">menus.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:15 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTMenuBar-members.html b/freebsdtvision/doc/html/classTMenuBar-members.html
new file mode 100644
index 0000000..88459af
--- /dev/null
+++ b/freebsdtvision/doc/html/classTMenuBar-members.html
@@ -0,0 +1,135 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TMenuBar Member List</h1>This is the complete list of members for <a class="el" href="classTMenuBar.html">TMenuBar</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a31">awaken</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a32">blockCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuBar.html#d0">build</a>()</td><td><a class="el" href="classTMenuBar.html">TMenuBar</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a10">calcBounds</a>(TRect &amp;bounds, TPoint delta)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a11">changeBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a38">clearEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d0">commandEnabled</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p0">commandSetChanged</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a7">containsMouse</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p1">curCommandSet</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#n2">current</a></td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m6">cursor</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a28">dataSize</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d3">disableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d1">disableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m8">dragMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a9">dragView</a>(TEvent &amp;event, uchar mode, TRect &amp;limits, TPoint minSize, TPoint maxSize)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuBar.html#a3">draw</a>()</td><td><a class="el" href="classTMenuBar.html">TMenuBar</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a37">drawCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a24">drawHide</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a25">drawShow</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a26">drawUnderRect</a>(TRect &amp;r, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a27">drawUnderView</a>(Boolean doShadow, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a20">drawView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d4">enableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d2">enableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a43">endModal</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>enterSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p3">errorAttr</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a39">eventAvail</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m3">eventMask</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#a3">execute</a>()</td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a21">exposed</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#a4">findItem</a>(char ch)</td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a22">focus</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a3">getBounds</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a5">getClipRect</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a45">getColor</a>(ushort color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d5">getCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a29">getData</a>(void *rec)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a40">getEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a4">getExtent</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#a6">getHelpCtx</a>()</td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuBar.html#a4">getItemRect</a>(TMenuItem *item)</td><td><a class="el" href="classTMenuBar.html">TMenuBar</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#a7">getPalette</a>() const</td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a48">getState</a>(ushort aState)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m7">growMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a12">growTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#a8">handleEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m9">helpCtx</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a17">hide</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a23">hideCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#a9">hotKey</a>(ushort keyCode)</td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a51">keyEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>leaveSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a8">locate</a>(TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a58">makeFirst</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a53">makeGlobal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a54">makeLocal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a47">mapColor</a>(uchar)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#n1">menu</a></td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a52">mouseEvent</a>(TEvent &amp;event, ushort mask)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a6">mouseInView</a>(TPoint mouse)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a13">moveTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuBar.html#p0">name</a></td><td><a class="el" href="classTMenuBar.html">TMenuBar</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#a10">newSubView</a>(const TRect &amp;bounds, TMenu *aMenu, TMenuView *aParentMenu)</td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m0">next</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a55">nextView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a33">normalCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>normalSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m2">options</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m5">origin</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m10">owner</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#n0">parentMenu</a></td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s6">phaseType</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phFocused</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPostProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPreProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a57">prev</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a56">prevView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a42">putEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a59">putInFrontOf</a>(TView *Target)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#b2">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a34">resetCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a49">select</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s7">selectMode</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#a2">setBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d7">setCmdState</a>(TCommandSet &amp;commands, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d6">setCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a35">setCursor</a>(int x, int y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a30">setData</a>(void *rec)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a50">setState</a>(ushort aState, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a18">show</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a36">showCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p2">showMarkers</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a67">shutDown</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m1">size</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a2">sizeLimits</a>(TPoint &amp;min, TPoint &amp;max)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m4">state</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuBar.html#a0">TMenuBar</a>(const TRect &amp;bounds, TMenu *aMenu)</td><td><a class="el" href="classTMenuBar.html">TMenuBar</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuBar.html#a1">TMenuBar</a>(const TRect &amp;bounds, TSubMenu &amp;aMenu)</td><td><a class="el" href="classTMenuBar.html">TMenuBar</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuBar.html#b0">TMenuBar</a>(StreamableInit)</td><td><a class="el" href="classTMenuBar.html">TMenuBar</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#a0">TMenuView</a>(const TRect &amp;bounds, TMenu *aMenu, TMenuView *aParent=0)</td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#a1">TMenuView</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#b0">TMenuView</a>(StreamableInit)</td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a60">TopView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a0">TView</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#b0">TView</a>(StreamableInit)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a16">valid</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#b1">write</a>(opstream &amp;os)</td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a61">writeBuf</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a62">writeBuf</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a63">writeChar</a>(short x, short y, char c, uchar color, short count)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a64">writeLine</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a65">writeLine</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a66">writeStr</a>(short x, short y, const char *str, uchar color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuBar.html#a2">~TMenuBar</a>()</td><td><a class="el" href="classTMenuBar.html">TMenuBar</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a1">~TView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:15 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTMenuBar.html b/freebsdtvision/doc/html/classTMenuBar.html
new file mode 100644
index 0000000..4ae9c7e
--- /dev/null
+++ b/freebsdtvision/doc/html/classTMenuBar.html
@@ -0,0 +1,311 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TMenuBar class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TMenuBar Class Reference</h1>The horizontal menu bar from which you make menu selections.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="menus_8h-source.html">menus.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TMenuBar:
+<p><center><img src="classTMenuBar.png" usemap="#TMenuBar_map" border="0" alt=""></center>
+<map name="TMenuBar_map">
+<area href="classTMenuView.html" alt="TMenuView" shape="rect" coords="46,112,128,136">
+<area href="classTView.html" alt="TView" shape="rect" coords="46,56,128,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,82,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="92,0,174,24">
+</map>
+<a href="classTMenuBar-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTMenuBar.html#a0">TMenuBar</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;bounds, <a class="el" href="classTMenu.html">TMenu</a> *aMenu)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTMenuBar.html#a1">TMenuBar</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;bounds, <a class="el" href="classTSubMenu.html">TSubMenu</a> &amp;aMenu)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTMenuBar.html#a2">~TMenuBar</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTMenuBar.html#a3">draw</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="classTRect.html">TRect</a>&nbsp;</td><td valign=bottom><a class="el" href="classTMenuBar.html#a4">getItemRect</a> (<a class="el" href="classTMenuItem.html">TMenuItem</a> *item)</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStreamable.html">TStreamable</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTMenuBar.html#d0">build</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>const char *const&nbsp;</td><td valign=bottom><a class="el" href="classTMenuBar.html#p0">name</a></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTMenuBar.html#b0">TMenuBar</a> (<a class="el" href="ttypes_8h.html#a14">StreamableInit</a>)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+TMenuBar objects represent the horizontal menu bars from which menu selections can be made by:
+<p>
+<ol>
+<li>direct clicking<li>F10 selection and hot keys<li>selection (highlighting) and pressing Enter<li>hot keys</ol>
+The main menu selections are displayed in the top menu bar. This is represented by an object of type TMenuBar, usually owned by your <a class="el" href="classTApplication.html">TApplication</a> object.
+<p>
+Submenus are displayed in objects of type <a class="el" href="classTMenuBox.html">TMenuBox</a>. Both TMenuBar and <a class="el" href="classTMenuBox.html">TMenuBox</a> are derived from <a class="el" href="classTMenuView.html">TMenuView</a> (which is in turn derived from <a class="el" href="classTView.html">TView</a>).
+<p>
+For most TVision applications, you will not be involved directly with menu objects. By overriding <a class="el" href="classTProgram.html#d1">TApplication::initMenuBar()</a> with a suitable set of nested new <a class="el" href="classTMenuItem.html">TMenuItem</a> and new <a class="el" href="classTMenu.html">TMenu</a> calls, TVision takes care of all the standard menu mechanisms.
+<p>
+
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00462">462</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TMenuBar::TMenuBar"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TMenuBar::TMenuBar </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>bounds</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTMenu.html">TMenu</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aMenu</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a menu bar by calling TMenuView::TMenuView(bounds). The <a class="el" href="classTView.html#m7">growMode</a> data member is set to <a class="el" href="views_8h.html#a52">gfGrowHiX</a>. The options data member is set to <a class="el" href="views_8h.html#a42">ofPreProcess</a> to allow hot keys to operate. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTMenuView.html#a0">TMenuView::TMenuView</a></dl>The menu data member is set to `aMenu', providing the menu selections. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TMenuBar::TMenuBar"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TMenuBar::TMenuBar </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>bounds</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTSubMenu.html">TSubMenu</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aMenu</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="TMenuBar::~TMenuBar"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TMenuBar::~TMenuBar </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="b0" doxytag="TMenuBar::TMenuBar"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TMenuBar::TMenuBar </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a14">StreamableInit</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Each streamable class needs a "builder" to allocate the correct memory for its objects together with the initialized virtual table pointers. This is achieved by calling this constructor with an argument of type <a class="el" href="ttypes_8h.html#a14">StreamableInit</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="d0" doxytag="TMenuBar::build"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStreamable.html">TStreamable</a>* TMenuBar::build </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called to create an object in certain stream-reading situations.
+<p>
+Reimplemented from <a class="el" href="classTMenuView.html#d0">TMenuView</a>. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="TMenuBar::draw"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TMenuBar::draw </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Draws the menu bar with the default palette. The <a class="el" href="classTMenuItem.html#m1">TMenuItem::name</a> and <a class="el" href="classTMenuItem.html#m3">TMenuItem::disabled</a> data members of each <a class="el" href="classTMenuItem.html">TMenuItem</a> object in the menu linked list are read to give the menu legends in the correct colors. The current (selected) item is highlighted.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a19">TView</a>. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="TMenuBar::getItemRect"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="classTRect.html">TRect</a> TMenuBar::getItemRect </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTMenuItem.html">TMenuItem</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>item</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the rectangle occupied by the given menu item. It can be used with <a class="el" href="classTView.html#a6">mouseInView()</a> to determine if a mouse click has occurred on a given menu selection.
+<p>
+Reimplemented from <a class="el" href="classTMenuView.html#a5">TMenuView</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="p0" doxytag="TMenuBar::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* const TMenuBar::name<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTMenuView.html#p0">TMenuView</a>.
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00512">512</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="menus_8h-source.html">menus.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:15 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTMenuBar.png b/freebsdtvision/doc/html/classTMenuBar.png
new file mode 100644
index 0000000..6349c5f
--- /dev/null
+++ b/freebsdtvision/doc/html/classTMenuBar.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTMenuBox-members.html b/freebsdtvision/doc/html/classTMenuBox-members.html
new file mode 100644
index 0000000..344123e
--- /dev/null
+++ b/freebsdtvision/doc/html/classTMenuBox-members.html
@@ -0,0 +1,134 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TMenuBox Member List</h1>This is the complete list of members for <a class="el" href="classTMenuBox.html">TMenuBox</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a31">awaken</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a32">blockCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuBox.html#d0">build</a>()</td><td><a class="el" href="classTMenuBox.html">TMenuBox</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a10">calcBounds</a>(TRect &amp;bounds, TPoint delta)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a11">changeBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a38">clearEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d0">commandEnabled</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p0">commandSetChanged</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a7">containsMouse</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p1">curCommandSet</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#n2">current</a></td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m6">cursor</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a28">dataSize</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d3">disableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d1">disableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m8">dragMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a9">dragView</a>(TEvent &amp;event, uchar mode, TRect &amp;limits, TPoint minSize, TPoint maxSize)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuBox.html#a1">draw</a>()</td><td><a class="el" href="classTMenuBox.html">TMenuBox</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a37">drawCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a24">drawHide</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a25">drawShow</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a26">drawUnderRect</a>(TRect &amp;r, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a27">drawUnderView</a>(Boolean doShadow, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a20">drawView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d4">enableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d2">enableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a43">endModal</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>enterSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p3">errorAttr</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a39">eventAvail</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m3">eventMask</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#a3">execute</a>()</td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a21">exposed</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#a4">findItem</a>(char ch)</td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a22">focus</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuBox.html#p0">frameChars</a></td><td><a class="el" href="classTMenuBox.html">TMenuBox</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a3">getBounds</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a5">getClipRect</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a45">getColor</a>(ushort color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d5">getCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a29">getData</a>(void *rec)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a40">getEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a4">getExtent</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#a6">getHelpCtx</a>()</td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuBox.html#a2">getItemRect</a>(TMenuItem *item)</td><td><a class="el" href="classTMenuBox.html">TMenuBox</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#a7">getPalette</a>() const</td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a48">getState</a>(ushort aState)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m7">growMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a12">growTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#a8">handleEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m9">helpCtx</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a17">hide</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a23">hideCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#a9">hotKey</a>(ushort keyCode)</td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a51">keyEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>leaveSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a8">locate</a>(TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a58">makeFirst</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a53">makeGlobal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a54">makeLocal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a47">mapColor</a>(uchar)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#n1">menu</a></td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a52">mouseEvent</a>(TEvent &amp;event, ushort mask)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a6">mouseInView</a>(TPoint mouse)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a13">moveTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuBox.html#p1">name</a></td><td><a class="el" href="classTMenuBox.html">TMenuBox</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#a10">newSubView</a>(const TRect &amp;bounds, TMenu *aMenu, TMenuView *aParentMenu)</td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m0">next</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a55">nextView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a33">normalCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>normalSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m2">options</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m5">origin</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m10">owner</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#n0">parentMenu</a></td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s6">phaseType</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phFocused</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPostProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPreProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a57">prev</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a56">prevView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a42">putEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a59">putInFrontOf</a>(TView *Target)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#b2">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a34">resetCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a49">select</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s7">selectMode</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#a2">setBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d7">setCmdState</a>(TCommandSet &amp;commands, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d6">setCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a35">setCursor</a>(int x, int y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a30">setData</a>(void *rec)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a50">setState</a>(ushort aState, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a18">show</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a36">showCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p2">showMarkers</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a67">shutDown</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m1">size</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a2">sizeLimits</a>(TPoint &amp;min, TPoint &amp;max)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m4">state</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuBox.html#a0">TMenuBox</a>(const TRect &amp;bounds, TMenu *aMenu, TMenuView *aParentMenu)</td><td><a class="el" href="classTMenuBox.html">TMenuBox</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuBox.html#b0">TMenuBox</a>(StreamableInit)</td><td><a class="el" href="classTMenuBox.html">TMenuBox</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#a0">TMenuView</a>(const TRect &amp;bounds, TMenu *aMenu, TMenuView *aParent=0)</td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#a1">TMenuView</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#b0">TMenuView</a>(StreamableInit)</td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a60">TopView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a0">TView</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#b0">TView</a>(StreamableInit)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a16">valid</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#b1">write</a>(opstream &amp;os)</td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a61">writeBuf</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a62">writeBuf</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a63">writeChar</a>(short x, short y, char c, uchar color, short count)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a64">writeLine</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a65">writeLine</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a66">writeStr</a>(short x, short y, const char *str, uchar color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a1">~TView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:15 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTMenuBox.html b/freebsdtvision/doc/html/classTMenuBox.html
new file mode 100644
index 0000000..758c744
--- /dev/null
+++ b/freebsdtvision/doc/html/classTMenuBox.html
@@ -0,0 +1,271 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TMenuBox class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TMenuBox Class Reference</h1>These objects represent vertical menu boxes.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="menus_8h-source.html">menus.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TMenuBox:
+<p><center><img src="classTMenuBox.png" usemap="#TMenuBox_map" border="0" alt=""></center>
+<map name="TMenuBox_map">
+<area href="classTMenuView.html" alt="TMenuView" shape="rect" coords="48,112,135,136">
+<area href="classTView.html" alt="TView" shape="rect" coords="48,56,135,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,87,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="97,0,184,24">
+<area href="classTMenuPopup.html" alt="TMenuPopup" shape="rect" coords="48,224,135,248">
+</map>
+<a href="classTMenuBox-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTMenuBox.html#a0">TMenuBox</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;bounds, <a class="el" href="classTMenu.html">TMenu</a> *aMenu, <a class="el" href="classTMenuView.html">TMenuView</a> *aParentMenu)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTMenuBox.html#a1">draw</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="classTRect.html">TRect</a>&nbsp;</td><td valign=bottom><a class="el" href="classTMenuBox.html#a2">getItemRect</a> (<a class="el" href="classTMenuItem.html">TMenuItem</a> *item)</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStreamable.html">TStreamable</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTMenuBox.html#d0">build</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>const char *&nbsp;</td><td valign=bottom><a class="el" href="classTMenuBox.html#p0">frameChars</a></td></tr>
+<tr><td nowrap align=right valign=top>const char *const&nbsp;</td><td valign=bottom><a class="el" href="classTMenuBox.html#p1">name</a></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTMenuBox.html#b0">TMenuBox</a> (<a class="el" href="ttypes_8h.html#a14">StreamableInit</a>)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+TMenuBox objects represent vertical menu boxes. Color coding is used to indicate disabled items. Menu boxes can be instantiated as submenus of the menu bar or other menu boxes, or can be used alone as pop-up menus.
+<p>
+
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00569">569</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TMenuBox::TMenuBox"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TMenuBox::TMenuBox </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>bounds</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTMenu.html">TMenu</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aMenu</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTMenuView.html">TMenuView</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aParentMenu</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a TMenuBox object by calling TMenuView::TMenuView(bounds). The `bounds' parameter is then adjusted to accommodate the width and length of the items in `aMenu'. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTMenuView.html#a0">TMenuView::TMenuView</a></dl>The <a class="el" href="views_8h.html#a42">ofPreProcess</a> bit in the options data member is set so that hot keys will operate. Data member state is set to include <a class="el" href="views_8h.html#a29">sfShadow</a>.
+<p>
+The menu data member is set to `aMenu', which provides the menu selections. Allows an explicit `aParentMenu' which is set to <a class="el" href="classTMenuView.html#n0">parentMenu</a>. </td>
+ </tr>
+</table>
+<a name="b0" doxytag="TMenuBox::TMenuBox"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TMenuBox::TMenuBox </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a14">StreamableInit</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Each streamable class needs a "builder" to allocate the correct memory for its objects together with the initialized virtual table pointers. This is achieved by calling this constructor with an argument of type <a class="el" href="ttypes_8h.html#a14">StreamableInit</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="d0" doxytag="TMenuBox::build"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStreamable.html">TStreamable</a>* TMenuBox::build </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called to create an object in certain stream-reading situations.
+<p>
+Reimplemented from <a class="el" href="classTMenuView.html#d0">TMenuView</a>. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TMenuBox::draw"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TMenuBox::draw </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Draws the framed menu box and associated menu items in the default colors.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a19">TView</a>. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="TMenuBox::getItemRect"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="classTRect.html">TRect</a> TMenuBox::getItemRect </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTMenuItem.html">TMenuItem</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>item</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the rectangle occupied by the given menu item. It can be used to determine if a mouse click has occurred on a given menu selection.
+<p>
+Reimplemented from <a class="el" href="classTMenuView.html#a5">TMenuView</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="p0" doxytag="TMenuBox::frameChars"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* TMenuBox::frameChars<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00600">600</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>. </td>
+ </tr>
+</table>
+<a name="p1" doxytag="TMenuBox::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* const TMenuBox::name<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTMenuView.html#p0">TMenuView</a>.
+<p>
+Reimplemented in <a class="el" href="classTMenuPopup.html#p0">TMenuPopup</a>.
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00618">618</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="menus_8h-source.html">menus.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:15 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTMenuBox.png b/freebsdtvision/doc/html/classTMenuBox.png
new file mode 100644
index 0000000..5dc2448
--- /dev/null
+++ b/freebsdtvision/doc/html/classTMenuBox.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTMenuItem-members.html b/freebsdtvision/doc/html/classTMenuItem-members.html
new file mode 100644
index 0000000..7d2e816
--- /dev/null
+++ b/freebsdtvision/doc/html/classTMenuItem-members.html
@@ -0,0 +1,27 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TMenuItem Member List</h1>This is the complete list of members for <a class="el" href="classTMenuItem.html">TMenuItem</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuItem.html#a3">append</a>(TMenuItem *aNext)</td><td><a class="el" href="classTMenuItem.html">TMenuItem</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuItem.html#m2">command</a></td><td><a class="el" href="classTMenuItem.html">TMenuItem</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuItem.html#m3">disabled</a></td><td><a class="el" href="classTMenuItem.html">TMenuItem</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuItem.html#m5">helpCtx</a></td><td><a class="el" href="classTMenuItem.html">TMenuItem</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuItem.html#m4">keyCode</a></td><td><a class="el" href="classTMenuItem.html">TMenuItem</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuItem.html#m1">name</a></td><td><a class="el" href="classTMenuItem.html">TMenuItem</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuItem.html#m0">next</a></td><td><a class="el" href="classTMenuItem.html">TMenuItem</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuItem.html#m6">param</a></td><td><a class="el" href="classTMenuItem.html">TMenuItem</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuItem.html#m7">subMenu</a></td><td><a class="el" href="classTMenuItem.html">TMenuItem</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuItem.html#a0">TMenuItem</a>(const char *aName, ushort aCommand, ushort aKeyCode, ushort aHelpCtx=hcNoContext, char *p=0, TMenuItem *aNext=0)</td><td><a class="el" href="classTMenuItem.html">TMenuItem</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuItem.html#a1">TMenuItem</a>(const char *aName, ushort aKeyCode, TMenu *aSubMenu, ushort aHelpCtx=hcNoContext, TMenuItem *aNext=0)</td><td><a class="el" href="classTMenuItem.html">TMenuItem</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuItem.html#a2">~TMenuItem</a>()</td><td><a class="el" href="classTMenuItem.html">TMenuItem</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:15 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTMenuItem.html b/freebsdtvision/doc/html/classTMenuItem.html
new file mode 100644
index 0000000..408078b
--- /dev/null
+++ b/freebsdtvision/doc/html/classTMenuItem.html
@@ -0,0 +1,427 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TMenuItem class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TMenuItem Class Reference</h1>Instances of TMenuItem serve as elements of a menu.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="menus_8h-source.html">menus.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TMenuItem:
+<p><center><img src="classTMenuItem.png" usemap="#TMenuItem_map" border="0" alt=""></center>
+<map name="TMenuItem_map">
+<area href="classTSubMenu.html" alt="TSubMenu" shape="rect" coords="0,56,73,80">
+</map>
+<a href="classTMenuItem-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTMenuItem.html#a0">TMenuItem</a> (const char *aName, <a class="el" href="ttypes_8h.html#a0">ushort</a> aCommand, <a class="el" href="ttypes_8h.html#a0">ushort</a> aKeyCode, <a class="el" href="ttypes_8h.html#a0">ushort</a> aHelpCtx=<a class="el" href="views_8h.html#a64">hcNoContext</a>, char *p=0, TMenuItem *aNext=0)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTMenuItem.html#a1">TMenuItem</a> (const char *aName, <a class="el" href="ttypes_8h.html#a0">ushort</a> aKeyCode, <a class="el" href="classTMenu.html">TMenu</a> *aSubMenu, <a class="el" href="ttypes_8h.html#a0">ushort</a> aHelpCtx=<a class="el" href="views_8h.html#a64">hcNoContext</a>, TMenuItem *aNext=0)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTMenuItem.html#a2">~TMenuItem</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTMenuItem.html#a3">append</a> (TMenuItem *aNext)</td></tr>
+<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>TMenuItem *&nbsp;</td><td valign=bottom><a class="el" href="classTMenuItem.html#m0">next</a></td></tr>
+<tr><td nowrap align=right valign=top>const char *&nbsp;</td><td valign=bottom><a class="el" href="classTMenuItem.html#m1">name</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="classTMenuItem.html#m2">command</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTMenuItem.html#m3">disabled</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="classTMenuItem.html#m4">keyCode</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="classTMenuItem.html#m5">helpCtx</a></td></tr>
+<tr><td nowrap align=right valign=top>const char *&nbsp;</td><td valign=bottom><a class="el" href="classTMenuItem.html#m6">param</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTMenu.html">TMenu</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTMenuItem.html#m7">subMenu</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Instances of TMenuItem serve as elements of a menu.
+<p>
+They can be individual menu items that cause a command to be generated or a <a class="el" href="classTSubMenu.html">TSubMenu</a> pull-down menu that contains other TMenuItem instances. TMenuItem's different constructors set the data members appropriately. TMenuItem also serves as a base class for <a class="el" href="classTSubMenu.html">TSubMenu</a>.
+<p>
+
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00052">52</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TMenuItem::TMenuItem"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TMenuItem::TMenuItem </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aName</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aCommand</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aKeyCode</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aHelpCtx</em> = <a class="el" href="views_8h.html#a64">hcNoContext</a>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>p</em> = 0, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>TMenuItem *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aNext</em> = 0</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates an individual menu item with the given values. Data member disabled is set if `aCommand' is disabled. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TMenuItem::TMenuItem"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TMenuItem::TMenuItem </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aName</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aKeyCode</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTMenu.html">TMenu</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aSubMenu</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aHelpCtx</em> = <a class="el" href="views_8h.html#a64">hcNoContext</a>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>TMenuItem *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aNext</em> = 0</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a pull-down submenu object with the given values. Data member command is set to zero. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="TMenuItem::~TMenuItem"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TMenuItem::~TMenuItem </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+If param is used, deallocates the space used to store name and param. If <a class="el" href="classTMenuItem.html#m7">subMenu</a> is used, deallocates space used to store name and <a class="el" href="classTMenuItem.html#m7">subMenu</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="a3" doxytag="TMenuItem::append"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TMenuItem::append </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">TMenuItem *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>aNext</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Appends the given TMenuItem to the list of TMenuItems by setting next data member to `aNext'.
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00135">135</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>.
+<p>
+References <a class="el" href="menus_8h-source.html#l00092">next</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="m2" doxytag="TMenuItem::command"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a0">ushort</a> TMenuItem::command
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The command word of the event generated when this menu item is selected if there isn't a submenu item.
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00101">101</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>. </td>
+ </tr>
+</table>
+<a name="m3" doxytag="TMenuItem::disabled"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a13">Boolean</a> TMenuItem::disabled
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+True if the menu item is disabled. The menu item will be drawn using the appropriate palette entry.
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00106">106</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>. </td>
+ </tr>
+</table>
+<a name="m5" doxytag="TMenuItem::helpCtx"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a0">ushort</a> TMenuItem::helpCtx
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The menu item's help context. When the menu item is selected, this data member represents the help context of the application, unless the context number is <a class="el" href="views_8h.html#a64">hcNoContext</a>, in which case there is no help context. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#a15">TView::getHelpCtx</a> , <a class="el" href="classTView.html#m9">TView::helpCtx</a> </dl>
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00119">119</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>. </td>
+ </tr>
+</table>
+<a name="m4" doxytag="TMenuItem::keyCode"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a0">ushort</a> TMenuItem::keyCode
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The scan code for the associated hot key.
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00110">110</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>. </td>
+ </tr>
+</table>
+<a name="m1" doxytag="TMenuItem::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* TMenuItem::name
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The name of the item that appears in the menu box.
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00096">96</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>. </td>
+ </tr>
+</table>
+<a name="m0" doxytag="TMenuItem::next"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TMenuItem* TMenuItem::next
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+A non-zero next points to the next TMenuItem object in the linked list associated with a menu. If next = 0, this is the last item in the list.
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00092">92</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>.
+<p>
+Referenced by <a class="el" href="menus_8h-source.html#l00135">append()</a>. </td>
+ </tr>
+</table>
+<a name="m6" doxytag="TMenuItem::param"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* TMenuItem::param
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+param is used to display the hot key associated with this menu item.
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00126">126</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>. </td>
+ </tr>
+</table>
+<a name="m7" doxytag="TMenuItem::subMenu"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTMenu.html">TMenu</a>* TMenuItem::subMenu
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<a class="el" href="classTMenuItem.html#m7">subMenu</a> points to the submenu to be created when this menu item is selected, if a command is not generated.
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00131">131</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="menus_8h-source.html">menus.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:15 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTMenuItem.png b/freebsdtvision/doc/html/classTMenuItem.png
new file mode 100644
index 0000000..01e5f14
--- /dev/null
+++ b/freebsdtvision/doc/html/classTMenuItem.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTMenuPopup-members.html b/freebsdtvision/doc/html/classTMenuPopup-members.html
new file mode 100644
index 0000000..41d39a4
--- /dev/null
+++ b/freebsdtvision/doc/html/classTMenuPopup-members.html
@@ -0,0 +1,133 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TMenuPopup Member List</h1>This is the complete list of members for <a class="el" href="classTMenuPopup.html">TMenuPopup</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a31">awaken</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a32">blockCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuBox.html#d0">build</a>()</td><td><a class="el" href="classTMenuBox.html">TMenuBox</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a10">calcBounds</a>(TRect &amp;bounds, TPoint delta)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a11">changeBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a38">clearEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d0">commandEnabled</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p0">commandSetChanged</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a7">containsMouse</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p1">curCommandSet</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#n2">current</a></td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m6">cursor</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a28">dataSize</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d3">disableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d1">disableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m8">dragMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a9">dragView</a>(TEvent &amp;event, uchar mode, TRect &amp;limits, TPoint minSize, TPoint maxSize)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuBox.html#a1">draw</a>()</td><td><a class="el" href="classTMenuBox.html">TMenuBox</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a37">drawCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a24">drawHide</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a25">drawShow</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a26">drawUnderRect</a>(TRect &amp;r, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a27">drawUnderView</a>(Boolean doShadow, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a20">drawView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d4">enableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d2">enableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a43">endModal</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>enterSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p3">errorAttr</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a39">eventAvail</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m3">eventMask</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#a3">execute</a>()</td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a21">exposed</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#a4">findItem</a>(char ch)</td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a22">focus</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuBox.html#p0">frameChars</a></td><td><a class="el" href="classTMenuBox.html">TMenuBox</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a3">getBounds</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a5">getClipRect</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a45">getColor</a>(ushort color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d5">getCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a29">getData</a>(void *rec)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a40">getEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a4">getExtent</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#a6">getHelpCtx</a>()</td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuBox.html#a2">getItemRect</a>(TMenuItem *item)</td><td><a class="el" href="classTMenuBox.html">TMenuBox</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#a7">getPalette</a>() const</td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a48">getState</a>(ushort aState)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m7">growMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a12">growTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m9">helpCtx</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a17">hide</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a23">hideCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#a9">hotKey</a>(ushort keyCode)</td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a51">keyEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>leaveSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a8">locate</a>(TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a58">makeFirst</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a53">makeGlobal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a54">makeLocal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a47">mapColor</a>(uchar)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#n1">menu</a></td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a52">mouseEvent</a>(TEvent &amp;event, ushort mask)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a6">mouseInView</a>(TPoint mouse)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a13">moveTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuPopup.html#p0">name</a></td><td><a class="el" href="classTMenuPopup.html">TMenuPopup</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#a10">newSubView</a>(const TRect &amp;bounds, TMenu *aMenu, TMenuView *aParentMenu)</td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m0">next</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a55">nextView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a33">normalCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>normalSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m2">options</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m5">origin</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m10">owner</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#n0">parentMenu</a></td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s6">phaseType</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phFocused</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPostProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPreProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a57">prev</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a56">prevView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a42">putEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a59">putInFrontOf</a>(TView *Target)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#b2">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a34">resetCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a49">select</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s7">selectMode</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#a2">setBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d7">setCmdState</a>(TCommandSet &amp;commands, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d6">setCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a35">setCursor</a>(int x, int y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a30">setData</a>(void *rec)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a50">setState</a>(ushort aState, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a18">show</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a36">showCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p2">showMarkers</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a67">shutDown</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m1">size</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a2">sizeLimits</a>(TPoint &amp;min, TPoint &amp;max)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m4">state</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuBox.html#a0">TMenuBox</a>(const TRect &amp;bounds, TMenu *aMenu, TMenuView *aParentMenu)</td><td><a class="el" href="classTMenuBox.html">TMenuBox</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuBox.html#b0">TMenuBox</a>(StreamableInit)</td><td><a class="el" href="classTMenuBox.html">TMenuBox</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#a0">TMenuView</a>(const TRect &amp;bounds, TMenu *aMenu, TMenuView *aParent=0)</td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#a1">TMenuView</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#b0">TMenuView</a>(StreamableInit)</td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a60">TopView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a0">TView</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#b0">TView</a>(StreamableInit)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a16">valid</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#b1">write</a>(opstream &amp;os)</td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a61">writeBuf</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a62">writeBuf</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a63">writeChar</a>(short x, short y, char c, uchar color, short count)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a64">writeLine</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a65">writeLine</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a66">writeStr</a>(short x, short y, const char *str, uchar color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a1">~TView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:15 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTMenuPopup.html b/freebsdtvision/doc/html/classTMenuPopup.html
new file mode 100644
index 0000000..c8aacef
--- /dev/null
+++ b/freebsdtvision/doc/html/classTMenuPopup.html
@@ -0,0 +1,67 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TMenuPopup class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TMenuPopup Class Reference</h1>Part of the menu system.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="menus_8h-source.html">menus.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TMenuPopup:
+<p><center><img src="classTMenuPopup.png" usemap="#TMenuPopup_map" border="0" alt=""></center>
+<map name="TMenuPopup_map">
+<area href="classTMenuBox.html" alt="TMenuBox" shape="rect" coords="48,168,135,192">
+<area href="classTMenuView.html" alt="TMenuView" shape="rect" coords="48,112,135,136">
+<area href="classTView.html" alt="TView" shape="rect" coords="48,56,135,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,87,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="97,0,184,24">
+</map>
+<a href="classTMenuPopup-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>const char *const&nbsp;</td><td valign=bottom><a class="el" href="classTMenuPopup.html#p0">name</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Part of the menu system.
+<p>
+
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00670">670</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>.<hr><h2>Member Data Documentation</h2>
+<a name="p0" doxytag="TMenuPopup::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* const TMenuPopup::name<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTMenuBox.html#p1">TMenuBox</a>.
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00675">675</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="menus_8h-source.html">menus.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:15 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTMenuPopup.png b/freebsdtvision/doc/html/classTMenuPopup.png
new file mode 100644
index 0000000..c0eb8b2
--- /dev/null
+++ b/freebsdtvision/doc/html/classTMenuPopup.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTMenuView-members.html b/freebsdtvision/doc/html/classTMenuView-members.html
new file mode 100644
index 0000000..64e46f7
--- /dev/null
+++ b/freebsdtvision/doc/html/classTMenuView-members.html
@@ -0,0 +1,131 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TMenuView Member List</h1>This is the complete list of members for <a class="el" href="classTMenuView.html">TMenuView</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a31">awaken</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a32">blockCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#d0">build</a>()</td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a10">calcBounds</a>(TRect &amp;bounds, TPoint delta)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a11">changeBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a38">clearEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d0">commandEnabled</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p0">commandSetChanged</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a7">containsMouse</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p1">curCommandSet</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#n2">current</a></td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m6">cursor</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a28">dataSize</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d3">disableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d1">disableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m8">dragMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a9">dragView</a>(TEvent &amp;event, uchar mode, TRect &amp;limits, TPoint minSize, TPoint maxSize)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a19">draw</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a37">drawCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a24">drawHide</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a25">drawShow</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a26">drawUnderRect</a>(TRect &amp;r, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a27">drawUnderView</a>(Boolean doShadow, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a20">drawView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d4">enableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d2">enableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a43">endModal</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>enterSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p3">errorAttr</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a39">eventAvail</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m3">eventMask</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#a3">execute</a>()</td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a21">exposed</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#a4">findItem</a>(char ch)</td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a22">focus</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a3">getBounds</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a5">getClipRect</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a45">getColor</a>(ushort color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d5">getCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a29">getData</a>(void *rec)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a40">getEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a4">getExtent</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#a6">getHelpCtx</a>()</td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#a5">getItemRect</a>(TMenuItem *item)</td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#a7">getPalette</a>() const</td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a48">getState</a>(ushort aState)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m7">growMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a12">growTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#a8">handleEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m9">helpCtx</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a17">hide</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a23">hideCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#a9">hotKey</a>(ushort keyCode)</td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a51">keyEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>leaveSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a8">locate</a>(TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a58">makeFirst</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a53">makeGlobal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a54">makeLocal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a47">mapColor</a>(uchar)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#n1">menu</a></td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a52">mouseEvent</a>(TEvent &amp;event, ushort mask)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a6">mouseInView</a>(TPoint mouse)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a13">moveTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#p0">name</a></td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#a10">newSubView</a>(const TRect &amp;bounds, TMenu *aMenu, TMenuView *aParentMenu)</td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m0">next</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a55">nextView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a33">normalCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>normalSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m2">options</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m5">origin</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m10">owner</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#n0">parentMenu</a></td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s6">phaseType</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phFocused</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPostProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPreProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a57">prev</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a56">prevView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a42">putEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a59">putInFrontOf</a>(TView *Target)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#b2">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a34">resetCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a49">select</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s7">selectMode</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#a2">setBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d7">setCmdState</a>(TCommandSet &amp;commands, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d6">setCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a35">setCursor</a>(int x, int y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a30">setData</a>(void *rec)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a50">setState</a>(ushort aState, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a18">show</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a36">showCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p2">showMarkers</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a67">shutDown</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m1">size</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a2">sizeLimits</a>(TPoint &amp;min, TPoint &amp;max)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m4">state</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#a0">TMenuView</a>(const TRect &amp;bounds, TMenu *aMenu, TMenuView *aParent=0)</td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#a1">TMenuView</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#b0">TMenuView</a>(StreamableInit)</td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a60">TopView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a0">TView</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#b0">TView</a>(StreamableInit)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a16">valid</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuView.html#b1">write</a>(opstream &amp;os)</td><td><a class="el" href="classTMenuView.html">TMenuView</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a61">writeBuf</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a62">writeBuf</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a63">writeChar</a>(short x, short y, char c, uchar color, short count)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a64">writeLine</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a65">writeLine</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a66">writeStr</a>(short x, short y, const char *str, uchar color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a1">~TView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:15 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTMenuView.html b/freebsdtvision/doc/html/classTMenuView.html
new file mode 100644
index 0000000..1cea9e3
--- /dev/null
+++ b/freebsdtvision/doc/html/classTMenuView.html
@@ -0,0 +1,659 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TMenuView class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TMenuView Class Reference</h1>An abstract base from which menu bar and menu box classes (either pull down or pop up) are derived.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="menus_8h-source.html">menus.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TMenuView:
+<p><center><img src="classTMenuView.png" usemap="#TMenuView_map" border="0" alt=""></center>
+<map name="TMenuView_map">
+<area href="classTView.html" alt="TView" shape="rect" coords="48,56,135,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,87,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="97,0,184,24">
+<area href="classTMenuBar.html" alt="TMenuBar" shape="rect" coords="0,168,87,192">
+<area href="classTMenuBox.html" alt="TMenuBox" shape="rect" coords="97,168,184,192">
+<area href="classTMenuPopup.html" alt="TMenuPopup" shape="rect" coords="97,224,184,248">
+</map>
+<a href="classTMenuView-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTMenuView.html#a0">TMenuView</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;bounds, <a class="el" href="classTMenu.html">TMenu</a> *aMenu, TMenuView *aParent=0)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTMenuView.html#a1">TMenuView</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;bounds)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTMenuView.html#a2">setBounds</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;bounds)</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="classTMenuView.html#a3">execute</a> ()</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTMenuItem.html">TMenuItem</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTMenuView.html#a4">findItem</a> (char ch)</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="classTRect.html">TRect</a>&nbsp;</td><td valign=bottom><a class="el" href="classTMenuView.html#a5">getItemRect</a> (<a class="el" href="classTMenuItem.html">TMenuItem</a> *item)</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="classTMenuView.html#a6">getHelpCtx</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="classTPalette.html">TPalette</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="classTMenuView.html#a7">getPalette</a> () const</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTMenuView.html#a8">handleEvent</a> (<a class="el" href="structTEvent.html">TEvent</a> &amp;event)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTMenuItem.html">TMenuItem</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTMenuView.html#a9">hotKey</a> (<a class="el" href="ttypes_8h.html#a0">ushort</a> keyCode)</td></tr>
+<tr><td nowrap align=right valign=top>TMenuView *&nbsp;</td><td valign=bottom><a class="el" href="classTMenuView.html#a10">newSubView</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;bounds, <a class="el" href="classTMenu.html">TMenu</a> *aMenu, TMenuView *aParentMenu)</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStreamable.html">TStreamable</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTMenuView.html#d0">build</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>const char *const&nbsp;</td><td valign=bottom><a class="el" href="classTMenuView.html#p0">name</a></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTMenuView.html#b0">TMenuView</a> (<a class="el" href="ttypes_8h.html#a14">StreamableInit</a>)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTMenuView.html#b1">write</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void *&nbsp;</td><td valign=bottom><a class="el" href="classTMenuView.html#b2">read</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is)</td></tr>
+<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>TMenuView *&nbsp;</td><td valign=bottom><a class="el" href="classTMenuView.html#n0">parentMenu</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTMenu.html">TMenu</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTMenuView.html#n1">menu</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTMenuItem.html">TMenuItem</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTMenuView.html#n2">current</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+TMenuView provides an abstract base from which menu bar and menu box classes (either pull down or pop up) are derived. You cannot instantiate a TMenuView itself.
+<p>
+
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00249">249</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TMenuView::TMenuView"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TMenuView::TMenuView </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>bounds</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTMenu.html">TMenu</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aMenu</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>TMenuView *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aParent</em> = 0</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00401">401</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>.
+<p>
+References <a class="el" href="system_8h.html#a6">evBroadcast</a>, and <a class="el" href="views_8h-source.html#l01589">TView::eventMask</a>. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TMenuView::TMenuView"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TMenuView::TMenuView </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>bounds</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Calls <a class="el" href="classTView.html">TView</a> constructor to create a TMenuView object of size `bounds'. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#a0">TView::TView</a></dl>The current <a class="el" href="classTMenuView.html#n0">parentMenu</a> and menu pointers are set to 0. The default <a class="el" href="classTView.html#m3">eventMask</a> is set to <a class="el" href="system_8h.html#a6">evBroadcast</a>.
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00413">413</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>.
+<p>
+References <a class="el" href="system_8h.html#a6">evBroadcast</a>, and <a class="el" href="views_8h-source.html#l01589">TView::eventMask</a>. </td>
+ </tr>
+</table>
+<a name="b0" doxytag="TMenuView::TMenuView"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TMenuView::TMenuView </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a14">StreamableInit</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Each streamable class needs a "builder" to allocate the correct memory for its objects together with the initialized virtual table pointers. This is achieved by calling this constructor with an argument of type <a class="el" href="ttypes_8h.html#a14">StreamableInit</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="d0" doxytag="TMenuView::build"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStreamable.html">TStreamable</a>* TMenuView::build </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called to create an object in certain stream-reading situations.
+<p>
+Reimplemented from <a class="el" href="classTView.html#d8">TView</a>.
+<p>
+Reimplemented in <a class="el" href="classTMenuBar.html#d0">TMenuBar</a>, and <a class="el" href="classTMenuBox.html#d0">TMenuBox</a>. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="TMenuView::execute"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a0">ushort</a> TMenuView::execute </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Executes a menu view until the user selects a menu item or cancels the process. Returns the command assigned to the selected menu item, or zero if the menu was canceled.
+<p>
+Should never be called except by <a class="el" href="classTGroup.html#a3">TGroup::execView()</a>.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a44">TView</a>. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="TMenuView::findItem"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTMenuItem.html">TMenuItem</a>* TMenuView::findItem </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">char&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>ch</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns a pointer to the menu item that has toupper(ch) as its hot key (the highlighted character). Returns 0 if no such menu item is found or if the menu item is disabled. Note that <a class="el" href="classTMenuView.html#a4">findItem()</a> is case insensitive. </td>
+ </tr>
+</table>
+<a name="a6" doxytag="TMenuView::getHelpCtx"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a0">ushort</a> TMenuView::getHelpCtx </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+By default, this member function returns the help context of the current menu selection. If this is <a class="el" href="views_8h.html#a64">hcNoContext</a>, the parent menu's current context is checked. If there is no parent menu, <a class="el" href="classTMenuView.html#a6">getHelpCtx()</a> returns <a class="el" href="views_8h.html#a64">hcNoContext</a>. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#m9">helpCtx</a> </dl>
+<p>
+Reimplemented from <a class="el" href="classTView.html#a15">TView</a>. </td>
+ </tr>
+</table>
+<a name="a5" doxytag="TMenuView::getItemRect"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="classTRect.html">TRect</a> TMenuView::getItemRect </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTMenuItem.html">TMenuItem</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>item</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Classes derived from TMenuView must override this member function in order to respond to mouse events. Your overriding functions in derived classes must return the rectangle occupied by the given menu item.
+<p>
+Reimplemented in <a class="el" href="classTMenuBar.html#a4">TMenuBar</a>, and <a class="el" href="classTMenuBox.html#a2">TMenuBox</a>. </td>
+ </tr>
+</table>
+<a name="a7" doxytag="TMenuView::getPalette"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="classTPalette.html">TPalette</a>&amp; TMenuView::getPalette </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the default palette string.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a46">TView</a>. </td>
+ </tr>
+</table>
+<a name="a8" doxytag="TMenuView::handleEvent"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TMenuView::handleEvent </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="structTEvent.html">TEvent</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>event</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called whenever a menu event needs to be handled. Determines which menu item has been mouse or keyboard selected (including hot keys) and generates the appropriate command event with <a class="el" href="classTView.html#a42">putEvent()</a>.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a41">TView</a>. </td>
+ </tr>
+</table>
+<a name="a9" doxytag="TMenuView::hotKey"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTMenuItem.html">TMenuItem</a>* TMenuView::hotKey </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>keyCode</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns a pointer to the menu item associated with the hot key given by `keyCode'. Returns 0 if no such menu item exists, or if the item is disabled. <a class="el" href="classTMenuView.html#a9">hotKey()</a> is used by <a class="el" href="classTMenuView.html#a8">handleEvent()</a> to determine whether a keystroke event selects an item in the menu. </td>
+ </tr>
+</table>
+<a name="a10" doxytag="TMenuView::newSubView"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TMenuView* TMenuView::newSubView </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>bounds</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTMenu.html">TMenu</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aMenu</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>TMenuView *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aParentMenu</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="b2" doxytag="TMenuView::read"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void* TMenuView::read </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>is</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Reads from the input stream `is'.
+<p>
+Reimplemented from <a class="el" href="classTView.html#b2">TView</a>. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="TMenuView::setBounds"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TMenuView::setBounds </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>bounds</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a14">TView</a>. </td>
+ </tr>
+</table>
+<a name="b1" doxytag="TMenuView::write"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TMenuView::write </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>os</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Writes to the output stream `os'.
+<p>
+Reimplemented from <a class="el" href="classTView.html#b1">TView</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="n2" doxytag="TMenuView::current"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTMenuItem.html">TMenuItem</a>* TMenuView::current<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+A pointer to the currently selected menu item.
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00335">335</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>. </td>
+ </tr>
+</table>
+<a name="n1" doxytag="TMenuView::menu"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTMenu.html">TMenu</a>* TMenuView::menu<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+A pointer to the <a class="el" href="classTMenu.html">TMenu</a> object for this menu, which provides a linked list of menu items. The menu pointer allows access to all the data members of the menu items in this menu view.
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00331">331</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>. </td>
+ </tr>
+</table>
+<a name="p0" doxytag="TMenuView::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* const TMenuView::name<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTView.html#p4">TView</a>.
+<p>
+Reimplemented in <a class="el" href="classTMenuBar.html#p0">TMenuBar</a>, <a class="el" href="classTMenuBox.html#p1">TMenuBox</a>, and <a class="el" href="classTMenuPopup.html#p0">TMenuPopup</a>.
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00372">372</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>. </td>
+ </tr>
+</table>
+<a name="n0" doxytag="TMenuView::parentMenu"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TMenuView* TMenuView::parentMenu<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+A pointer to the TMenuView object (or any class derived from TMenuView) that owns this menu.
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00325">325</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="menus_8h-source.html">menus.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:15 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTMenuView.png b/freebsdtvision/doc/html/classTMenuView.png
new file mode 100644
index 0000000..d32a033
--- /dev/null
+++ b/freebsdtvision/doc/html/classTMenuView.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTMonoSelector-members.html b/freebsdtvision/doc/html/classTMonoSelector-members.html
new file mode 100644
index 0000000..d2d25f6
--- /dev/null
+++ b/freebsdtvision/doc/html/classTMonoSelector-members.html
@@ -0,0 +1,139 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TMonoSelector Member List</h1>This is the complete list of members for <a class="el" href="classTMonoSelector.html">TMonoSelector</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a31">awaken</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a32">blockCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMonoSelector.html#d0">build</a>()</td><td><a class="el" href="classTMonoSelector.html">TMonoSelector</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a16">buttonState</a>(int item)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a10">calcBounds</a>(TRect &amp;bounds, TPoint delta)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a11">changeBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a38">clearEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d0">commandEnabled</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p0">commandSetChanged</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a7">containsMouse</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p1">curCommandSet</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m6">cursor</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a2">dataSize</a>()</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d3">disableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d1">disableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m8">dragMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a9">dragView</a>(TEvent &amp;event, uchar mode, TRect &amp;limits, TPoint minSize, TPoint maxSize)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMonoSelector.html#a1">draw</a>()</td><td><a class="el" href="classTMonoSelector.html">TMonoSelector</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a3">drawBox</a>(const char *icon, char marker)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a37">drawCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a24">drawHide</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a4">drawMultiBox</a>(const char *icon, const char *marker)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a25">drawShow</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a26">drawUnderRect</a>(TRect &amp;r, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a27">drawUnderView</a>(Boolean doShadow, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a20">drawView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d4">enableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d2">enableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#n1">enableMask</a></td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a43">endModal</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>enterSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p3">errorAttr</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a39">eventAvail</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m3">eventMask</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a44">execute</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a21">exposed</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a22">focus</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a3">getBounds</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a5">getClipRect</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a45">getColor</a>(ushort color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d5">getCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a5">getData</a>(void *rec)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a40">getEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a4">getExtent</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a6">getHelpCtx</a>()</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a7">getPalette</a>() const</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a48">getState</a>(ushort aState)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m7">growMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a12">growTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMonoSelector.html#a2">handleEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTMonoSelector.html">TMonoSelector</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m9">helpCtx</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a17">hide</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a23">hideCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a51">keyEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>leaveSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a8">locate</a>(TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a58">makeFirst</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a53">makeGlobal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a54">makeLocal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a47">mapColor</a>(uchar)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMonoSelector.html#a3">mark</a>(int item)</td><td><a class="el" href="classTMonoSelector.html">TMonoSelector</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a52">mouseEvent</a>(TEvent &amp;event, ushort mask)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a6">mouseInView</a>(TPoint mouse)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMonoSelector.html#a6">movedTo</a>(int item)</td><td><a class="el" href="classTMonoSelector.html">TMonoSelector</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a13">moveTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a10">multiMark</a>(int item)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMonoSelector.html#p0">name</a></td><td><a class="el" href="classTMonoSelector.html">TMonoSelector</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMonoSelector.html#a4">newColor</a>()</td><td><a class="el" href="classTMonoSelector.html">TMonoSelector</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m0">next</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a55">nextView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a33">normalCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>normalSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m2">options</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m5">origin</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m10">owner</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s6">phaseType</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phFocused</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPostProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPreProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMonoSelector.html#a5">press</a>(int item)</td><td><a class="el" href="classTMonoSelector.html">TMonoSelector</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a57">prev</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a56">prevView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a42">putEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a59">putInFrontOf</a>(TView *Target)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#b2">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a34">resetCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#n2">sel</a></td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a49">select</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s7">selectMode</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a14">setBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a15">setButtonState</a>(unsigned long aMask, Boolean enable)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d7">setCmdState</a>(TCommandSet &amp;commands, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d6">setCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a35">setCursor</a>(int x, int y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a13">setData</a>(void *rec)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a14">setState</a>(ushort aState, Boolean enable)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a18">show</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a36">showCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p2">showMarkers</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a67">shutDown</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m1">size</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a2">sizeLimits</a>(TPoint &amp;min, TPoint &amp;max)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m4">state</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#n3">strings</a></td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a0">TCluster</a>(const TRect &amp;bounds, TSItem *aStrings)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#b0">TCluster</a>(StreamableInit)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMonoSelector.html#a0">TMonoSelector</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTMonoSelector.html">TMonoSelector</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMonoSelector.html#b0">TMonoSelector</a>(StreamableInit)</td><td><a class="el" href="classTMonoSelector.html">TMonoSelector</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a60">TopView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a0">TView</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#b0">TView</a>(StreamableInit)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a16">valid</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#n0">value</a></td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#b1">write</a>(opstream &amp;os)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a61">writeBuf</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a62">writeBuf</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a63">writeChar</a>(short x, short y, char c, uchar color, short count)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a64">writeLine</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a65">writeLine</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a66">writeStr</a>(short x, short y, const char *str, uchar color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a1">~TCluster</a>()</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a1">~TView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:15 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTMonoSelector.html b/freebsdtvision/doc/html/classTMonoSelector.html
new file mode 100644
index 0000000..13728cc
--- /dev/null
+++ b/freebsdtvision/doc/html/classTMonoSelector.html
@@ -0,0 +1,359 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TMonoSelector class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TMonoSelector Class Reference</h1>Monochrome color selector.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="colorsel_8h-source.html">colorsel.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TMonoSelector:
+<p><center><img src="classTMonoSelector.png" usemap="#TMonoSelector_map" border="0" alt=""></center>
+<map name="TMonoSelector_map">
+<area href="classTCluster.html" alt="TCluster" shape="rect" coords="54,112,152,136">
+<area href="classTView.html" alt="TView" shape="rect" coords="54,56,152,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,98,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="108,0,206,24">
+</map>
+<a href="classTMonoSelector-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTMonoSelector.html#a0">TMonoSelector</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;bounds)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTMonoSelector.html#a1">draw</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTMonoSelector.html#a2">handleEvent</a> (<a class="el" href="structTEvent.html">TEvent</a> &amp;event)</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTMonoSelector.html#a3">mark</a> (int item)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTMonoSelector.html#a4">newColor</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTMonoSelector.html#a5">press</a> (int item)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTMonoSelector.html#a6">movedTo</a> (int item)</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStreamable.html">TStreamable</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTMonoSelector.html#d0">build</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>const char *const&nbsp;</td><td valign=bottom><a class="el" href="classTMonoSelector.html#p0">name</a></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTMonoSelector.html#b0">TMonoSelector</a> (<a class="el" href="ttypes_8h.html#a14">StreamableInit</a>)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+The interrelated classes <a class="el" href="classTColorItem.html">TColorItem</a>, <a class="el" href="classTColorGroup.html">TColorGroup</a>, <a class="el" href="classTColorSelector.html">TColorSelector</a>, TMonoSelector, <a class="el" href="classTColorDisplay.html">TColorDisplay</a>, <a class="el" href="classTColorGroupList.html">TColorGroupList</a>, <a class="el" href="classTColorItemList.html">TColorItemList</a> and <a class="el" href="classTColorDialog.html">TColorDialog</a> are used to provide viewers and dialog boxes from which the user can select and change the color assignments from available palettes with immediate effect on the screen.
+<p>
+TMonoSelector implements a cluster from which you can select normal, highlight, underline, or inverse video attributes on monochrome screens.
+<p>
+
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00341">341</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TMonoSelector::TMonoSelector"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TMonoSelector::TMonoSelector </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>bounds</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructor.
+<p>
+Creates a cluster by calling the <a class="el" href="classTCluster.html">TCluster</a> constructor with four buttons labeled: "Normal", "Highlight", "Underline", and "Inverse". The <a class="el" href="system_8h.html#a6">evBroadcast</a> flag is set in <a class="el" href="classTView.html#m3">eventMask</a>. `bounds' is the bounding rectangle of the view. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTCluster.html#a0">TCluster::TCluster</a> </dl> </td>
+ </tr>
+</table>
+<a name="b0" doxytag="TMonoSelector::TMonoSelector"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TMonoSelector::TMonoSelector </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a14">StreamableInit</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructor.
+<p>
+Used to recover the view from a stream. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="d0" doxytag="TMonoSelector::build"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStreamable.html">TStreamable</a>* TMonoSelector::build </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a new TMonoSelector.
+<p>
+Used to recover the view from a stream. Called to create an object in certain stream-reading situations.
+<p>
+Reimplemented from <a class="el" href="classTCluster.html#d0">TCluster</a>. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TMonoSelector::draw"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TMonoSelector::draw </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Draws the selector cluster.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a19">TView</a>. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="TMonoSelector::handleEvent"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TMonoSelector::handleEvent </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="structTEvent.html">TEvent</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>event</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Calls <a class="el" href="classTCluster.html#a8">TCluster::handleEvent()</a> and responds to cmColorSet events by changing the data member value accordingly. The view is redrawn if necessary. value holds a video attribute corresponding to the selected attribute.
+<p>
+Reimplemented from <a class="el" href="classTCluster.html#a8">TCluster</a>. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="TMonoSelector::mark"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a> TMonoSelector::mark </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>item</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns True if the item'th button has been selected; otherwise returns False.
+<p>
+Reimplemented from <a class="el" href="classTCluster.html#a9">TCluster</a>. </td>
+ </tr>
+</table>
+<a name="a6" doxytag="TMonoSelector::movedTo"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TMonoSelector::movedTo </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>item</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Sets value to the item'th attribute (same effect as <a class="el" href="classTMonoSelector.html#a5">press()</a>).
+<p>
+Reimplemented from <a class="el" href="classTCluster.html#a12">TCluster</a>. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="TMonoSelector::newColor"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TMonoSelector::newColor </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Informs the owning group if the attribute has changed. </td>
+ </tr>
+</table>
+<a name="a5" doxytag="TMonoSelector::press"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TMonoSelector::press </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>item</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+"Presses" the item'th button and calls <a class="el" href="classTMonoSelector.html#a4">newColor()</a>.
+<p>
+Reimplemented from <a class="el" href="classTCluster.html#a11">TCluster</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="p0" doxytag="TMonoSelector::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* const TMonoSelector::name<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTCluster.html#p0">TCluster</a>.
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00401">401</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="colorsel_8h-source.html">colorsel.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:15 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTMonoSelector.png b/freebsdtvision/doc/html/classTMonoSelector.png
new file mode 100644
index 0000000..7b827cf
--- /dev/null
+++ b/freebsdtvision/doc/html/classTMonoSelector.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTMultiCheckBoxes-members.html b/freebsdtvision/doc/html/classTMultiCheckBoxes-members.html
new file mode 100644
index 0000000..035d779
--- /dev/null
+++ b/freebsdtvision/doc/html/classTMultiCheckBoxes-members.html
@@ -0,0 +1,139 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TMultiCheckBoxes Member List</h1>This is the complete list of members for <a class="el" href="classTMultiCheckBoxes.html">TMultiCheckBoxes</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a31">awaken</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a32">blockCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMultiCheckBoxes.html#d0">build</a>()</td><td><a class="el" href="classTMultiCheckBoxes.html">TMultiCheckBoxes</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a16">buttonState</a>(int item)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a10">calcBounds</a>(TRect &amp;bounds, TPoint delta)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a11">changeBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a38">clearEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d0">commandEnabled</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p0">commandSetChanged</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a7">containsMouse</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p1">curCommandSet</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m6">cursor</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMultiCheckBoxes.html#a2">dataSize</a>()</td><td><a class="el" href="classTMultiCheckBoxes.html">TMultiCheckBoxes</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d3">disableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d1">disableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m8">dragMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a9">dragView</a>(TEvent &amp;event, uchar mode, TRect &amp;limits, TPoint minSize, TPoint maxSize)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMultiCheckBoxes.html#a3">draw</a>()</td><td><a class="el" href="classTMultiCheckBoxes.html">TMultiCheckBoxes</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a3">drawBox</a>(const char *icon, char marker)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a37">drawCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a24">drawHide</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a4">drawMultiBox</a>(const char *icon, const char *marker)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a25">drawShow</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a26">drawUnderRect</a>(TRect &amp;r, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a27">drawUnderView</a>(Boolean doShadow, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a20">drawView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d4">enableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d2">enableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#n1">enableMask</a></td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a43">endModal</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>enterSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p3">errorAttr</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a39">eventAvail</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m3">eventMask</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a44">execute</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a21">exposed</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a22">focus</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a3">getBounds</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a5">getClipRect</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a45">getColor</a>(ushort color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d5">getCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMultiCheckBoxes.html#a4">getData</a>(void *rec)</td><td><a class="el" href="classTMultiCheckBoxes.html">TMultiCheckBoxes</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a40">getEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a4">getExtent</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a6">getHelpCtx</a>()</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a7">getPalette</a>() const</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a48">getState</a>(ushort aState)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m7">growMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a12">growTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a8">handleEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m9">helpCtx</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a17">hide</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a23">hideCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a51">keyEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>leaveSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a8">locate</a>(TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a58">makeFirst</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a53">makeGlobal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a54">makeLocal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a47">mapColor</a>(uchar)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a9">mark</a>(int item)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a52">mouseEvent</a>(TEvent &amp;event, ushort mask)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a6">mouseInView</a>(TPoint mouse)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a12">movedTo</a>(int item)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a13">moveTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMultiCheckBoxes.html#a5">multiMark</a>(int item)</td><td><a class="el" href="classTMultiCheckBoxes.html">TMultiCheckBoxes</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMultiCheckBoxes.html#p0">name</a></td><td><a class="el" href="classTMultiCheckBoxes.html">TMultiCheckBoxes</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m0">next</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a55">nextView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a33">normalCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>normalSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m2">options</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m5">origin</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m10">owner</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s6">phaseType</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phFocused</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPostProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPreProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMultiCheckBoxes.html#a6">press</a>(int item)</td><td><a class="el" href="classTMultiCheckBoxes.html">TMultiCheckBoxes</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a57">prev</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a56">prevView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a42">putEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a59">putInFrontOf</a>(TView *Target)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMultiCheckBoxes.html#b2">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTMultiCheckBoxes.html">TMultiCheckBoxes</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a34">resetCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#n2">sel</a></td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a49">select</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s7">selectMode</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a14">setBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a15">setButtonState</a>(unsigned long aMask, Boolean enable)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d7">setCmdState</a>(TCommandSet &amp;commands, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d6">setCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a35">setCursor</a>(int x, int y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMultiCheckBoxes.html#a7">setData</a>(void *)</td><td><a class="el" href="classTMultiCheckBoxes.html">TMultiCheckBoxes</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a14">setState</a>(ushort aState, Boolean enable)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a18">show</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a36">showCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p2">showMarkers</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a67">shutDown</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m1">size</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a2">sizeLimits</a>(TPoint &amp;min, TPoint &amp;max)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m4">state</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#n3">strings</a></td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a0">TCluster</a>(const TRect &amp;bounds, TSItem *aStrings)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#b0">TCluster</a>(StreamableInit)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMultiCheckBoxes.html#a0">TMultiCheckBoxes</a>(TRect &amp;bounds, TSItem *aStrings, uchar aSelRange, ushort aFlags, const char *aStates)</td><td><a class="el" href="classTMultiCheckBoxes.html">TMultiCheckBoxes</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMultiCheckBoxes.html#b0">TMultiCheckBoxes</a>(StreamableInit)</td><td><a class="el" href="classTMultiCheckBoxes.html">TMultiCheckBoxes</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a60">TopView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a0">TView</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#b0">TView</a>(StreamableInit)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a16">valid</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#n0">value</a></td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMultiCheckBoxes.html#b1">write</a>(opstream &amp;os)</td><td><a class="el" href="classTMultiCheckBoxes.html">TMultiCheckBoxes</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a61">writeBuf</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a62">writeBuf</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a63">writeChar</a>(short x, short y, char c, uchar color, short count)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a64">writeLine</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a65">writeLine</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a66">writeStr</a>(short x, short y, const char *str, uchar color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a1">~TCluster</a>()</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMultiCheckBoxes.html#a1">~TMultiCheckBoxes</a>()</td><td><a class="el" href="classTMultiCheckBoxes.html">TMultiCheckBoxes</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a1">~TView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:15 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTMultiCheckBoxes.html b/freebsdtvision/doc/html/classTMultiCheckBoxes.html
new file mode 100644
index 0000000..322cafd
--- /dev/null
+++ b/freebsdtvision/doc/html/classTMultiCheckBoxes.html
@@ -0,0 +1,475 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TMultiCheckBoxes class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TMultiCheckBoxes Class Reference</h1>Implements a cluster of multistate check boxes.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="dialogs_8h-source.html">dialogs.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TMultiCheckBoxes:
+<p><center><img src="classTMultiCheckBoxes.png" usemap="#TMultiCheckBoxes_map" border="0" alt=""></center>
+<map name="TMultiCheckBoxes_map">
+<area href="classTCluster.html" alt="TCluster" shape="rect" coords="63,112,179,136">
+<area href="classTView.html" alt="TView" shape="rect" coords="63,56,179,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,116,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="126,0,242,24">
+</map>
+<a href="classTMultiCheckBoxes-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTMultiCheckBoxes.html#a0">TMultiCheckBoxes</a> (<a class="el" href="classTRect.html">TRect</a> &amp;bounds, <a class="el" href="classTSItem.html">TSItem</a> *aStrings, <a class="el" href="ttypes_8h.html#a1">uchar</a> aSelRange, <a class="el" href="ttypes_8h.html#a0">ushort</a> aFlags, const char *aStates)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTMultiCheckBoxes.html#a1">~TMultiCheckBoxes</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="classTMultiCheckBoxes.html#a2">dataSize</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTMultiCheckBoxes.html#a3">draw</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTMultiCheckBoxes.html#a4">getData</a> (void *rec)</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a1">uchar</a>&nbsp;</td><td valign=bottom><a class="el" href="classTMultiCheckBoxes.html#a5">multiMark</a> (int item)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTMultiCheckBoxes.html#a6">press</a> (int item)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTMultiCheckBoxes.html#a7">setData</a> (void *)</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStreamable.html">TStreamable</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTMultiCheckBoxes.html#d0">build</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>const char *const&nbsp;</td><td valign=bottom><a class="el" href="classTMultiCheckBoxes.html#p0">name</a></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTMultiCheckBoxes.html#b0">TMultiCheckBoxes</a> (<a class="el" href="ttypes_8h.html#a14">StreamableInit</a>)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTMultiCheckBoxes.html#b1">write</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void *&nbsp;</td><td valign=bottom><a class="el" href="classTMultiCheckBoxes.html#b2">read</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+A cluster of multistate check boxes.
+<p>
+
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l01466">1466</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TMultiCheckBoxes::TMultiCheckBoxes"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TMultiCheckBoxes::TMultiCheckBoxes </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>bounds</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTSItem.html">TSItem</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aStrings</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a1">uchar</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aSelRange</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aFlags</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>const char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aStates</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructs a cluster of multistate check boxes by first calling the constructor inherited from <a class="el" href="classTCluster.html">TCluster</a>, then setting the private data members selRange and flags to the values passed in `aSelRange' and `aFlags', respectively, and allocating a dynamic copy of `aStates' and assigning it to private data member states. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TMultiCheckBoxes::~TMultiCheckBoxes"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TMultiCheckBoxes::~TMultiCheckBoxes </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Disposes of the multistate check boxes object by deallocating the dynamic string states and calling the destructor inherited from <a class="el" href="classTCluster.html">TCluster</a>. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTCluster.html#a1">TCluster::~TCluster</a> </dl> </td>
+ </tr>
+</table>
+<a name="b0" doxytag="TMultiCheckBoxes::TMultiCheckBoxes"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TMultiCheckBoxes::TMultiCheckBoxes </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a14">StreamableInit</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Each streamable class needs a "builder" to allocate the correct memory for its objects together with the initialized virtual table pointers. This is achieved by calling this constructor with an argument of type <a class="el" href="ttypes_8h.html#a14">StreamableInit</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="d0" doxytag="TMultiCheckBoxes::build"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStreamable.html">TStreamable</a>* TMultiCheckBoxes::build </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called to create an object in certain stream-reading situations.
+<p>
+Reimplemented from <a class="el" href="classTCluster.html#d0">TCluster</a>. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="TMultiCheckBoxes::dataSize"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a0">ushort</a> TMultiCheckBoxes::dataSize </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the size of the data transferred by <a class="el" href="classTMultiCheckBoxes.html#a4">getData()</a> and <a class="el" href="classTMultiCheckBoxes.html#a7">setData()</a>, which is sizeof(long int).
+<p>
+Reimplemented from <a class="el" href="classTCluster.html#a2">TCluster</a>. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="TMultiCheckBoxes::draw"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TMultiCheckBoxes::draw </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Draws the cluster of multistate check boxes by drawing each check box in turn, using the same box as a regular check box, but using the characters in states data member to represent the state of each box instead of the standard blank and "X".
+<p>
+Reimplemented from <a class="el" href="classTView.html#a19">TView</a>. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="TMultiCheckBoxes::getData"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TMultiCheckBoxes::getData </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>rec</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Typecasts `rec' into a long int and copies value into it, then calls <a class="el" href="classTView.html#a20">drawView()</a> to redraw the cluster to reflect the current state of the check boxes. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTMultiCheckBoxes.html#a2">TMultiCheckBoxes::dataSize</a> , <a class="el" href="classTMultiCheckBoxes.html#a7">TMultiCheckBoxes::setData</a> </dl>
+<p>
+Reimplemented from <a class="el" href="classTCluster.html#a5">TCluster</a>. </td>
+ </tr>
+</table>
+<a name="a5" doxytag="TMultiCheckBoxes::multiMark"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a1">uchar</a> TMultiCheckBoxes::multiMark </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>item</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the state of the item'th check box in the cluster.
+<p>
+Reimplemented from <a class="el" href="classTCluster.html#a10">TCluster</a>. </td>
+ </tr>
+</table>
+<a name="a6" doxytag="TMultiCheckBoxes::press"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TMultiCheckBoxes::press </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>item</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Changes the state of the item'th check box in the cluster. Unlike regular check boxes that simply toggle on and off, multistate check boxes cycle through all the states available to them.
+<p>
+Reimplemented from <a class="el" href="classTCluster.html#a11">TCluster</a>. </td>
+ </tr>
+</table>
+<a name="b2" doxytag="TMultiCheckBoxes::read"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void* TMultiCheckBoxes::read </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>is</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Reads from the input stream `is'.
+<p>
+Reimplemented from <a class="el" href="classTCluster.html#b2">TCluster</a>. </td>
+ </tr>
+</table>
+<a name="a7" doxytag="TMultiCheckBoxes::setData"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TMultiCheckBoxes::setData </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Typecasts `rec' into a long int, and copies its value into value, then calls <a class="el" href="classTView.html#a20">drawView()</a> to redraw the checkboxes to reflect their new states. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTMultiCheckBoxes.html#a2">TMultiCheckBoxes::dataSize</a> , <a class="el" href="classTMultiCheckBoxes.html#a4">TMultiCheckBoxes::getData</a> </dl>
+<p>
+Reimplemented from <a class="el" href="classTCluster.html#a13">TCluster</a>. </td>
+ </tr>
+</table>
+<a name="b1" doxytag="TMultiCheckBoxes::write"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TMultiCheckBoxes::write </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>os</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Writes to the output stream `os'.
+<p>
+Reimplemented from <a class="el" href="classTCluster.html#b1">TCluster</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="p0" doxytag="TMultiCheckBoxes::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* const TMultiCheckBoxes::name<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTCluster.html#p0">TCluster</a>.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l01575">1575</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="dialogs_8h-source.html">dialogs.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:15 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTMultiCheckBoxes.png b/freebsdtvision/doc/html/classTMultiCheckBoxes.png
new file mode 100644
index 0000000..da13a26
--- /dev/null
+++ b/freebsdtvision/doc/html/classTMultiCheckBoxes.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTNSCollection-members.html b/freebsdtvision/doc/html/classTNSCollection-members.html
new file mode 100644
index 0000000..a9c4095
--- /dev/null
+++ b/freebsdtvision/doc/html/classTNSCollection-members.html
@@ -0,0 +1,45 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TNSCollection Member List</h1>This is the complete list of members for <a class="el" href="classTNSCollection.html">TNSCollection</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a3">at</a>(ccIndex index)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a5">atFree</a>(ccIndex index)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a11">atInsert</a>(ccIndex index, void *item)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a12">atPut</a>(ccIndex index, void *item)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a6">atRemove</a>(ccIndex index)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#n1">count</a></td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#n3">delta</a></td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a14">error</a>(ccIndex code, ccIndex info)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#d0">error</a>(ccIndex code, ccIndex info)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a15">firstThat</a>(ccTestFunc Test, void *arg)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a17">forEach</a>(ccAppFunc action, void *arg)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a9">free</a>(void *item)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a10">freeAll</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a20">getCount</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a4">indexOf</a>(void *item)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a13">insert</a>(void *item)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#n0">items</a></td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a16">lastThat</a>(ccTestFunc Test, void *arg)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#n2">limit</a></td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a18">pack</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a7">remove</a>(void *item)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a8">removeAll</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a19">setLimit</a>(ccIndex aLimit)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#n4">shouldDelete</a></td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a2">shutDown</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a0">TNSCollection</a>(ccIndex aLimit, ccIndex aDelta)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#b0">TNSCollection</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a1">~TNSCollection</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:15 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTNSCollection.html b/freebsdtvision/doc/html/classTNSCollection.html
new file mode 100644
index 0000000..a3da129
--- /dev/null
+++ b/freebsdtvision/doc/html/classTNSCollection.html
@@ -0,0 +1,1102 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TNSCollection class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TNSCollection Class Reference</h1>Handles a non-streamable collection of objects.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="tvobjs_8h-source.html">tvobjs.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TNSCollection:
+<p><center><img src="classTNSCollection.png" usemap="#TNSCollection_map" border="0" alt=""></center>
+<map name="TNSCollection_map">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="417,0,546,24">
+<area href="classTCollection.html" alt="TCollection" shape="rect" coords="69,112,198,136">
+<area href="classTNSSortedCollection.html" alt="TNSSortedCollection" shape="rect" coords="417,112,546,136">
+<area href="classTPReadObjects.html" alt="TPReadObjects" shape="rect" coords="556,112,685,136">
+<area href="classTDirCollection.html" alt="TDirCollection" shape="rect" coords="0,168,129,192">
+<area href="classTSortedCollection.html" alt="TSortedCollection" shape="rect" coords="139,168,268,192">
+<area href="classTPWrittenObjects.html" alt="TPWrittenObjects" shape="rect" coords="278,168,407,192">
+<area href="classTSortedCollection.html" alt="TSortedCollection" shape="rect" coords="417,168,546,192">
+<area href="classTStreamableTypes.html" alt="TStreamableTypes" shape="rect" coords="556,168,685,192">
+<area href="classTFileCollection.html" alt="TFileCollection" shape="rect" coords="69,224,198,248">
+<area href="classTStringCollection.html" alt="TStringCollection" shape="rect" coords="208,224,337,248">
+<area href="classTFileCollection.html" alt="TFileCollection" shape="rect" coords="347,224,476,248">
+<area href="classTStringCollection.html" alt="TStringCollection" shape="rect" coords="486,224,615,248">
+<area href="classTResourceCollection.html" alt="TResourceCollection" shape="rect" coords="208,280,337,304">
+<area href="classTResourceCollection.html" alt="TResourceCollection" shape="rect" coords="486,280,615,304">
+</map>
+<a href="classTNSCollection-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTNSCollection.html#a0">TNSCollection</a> (<a class="el" href="ttypes_8h.html#a5">ccIndex</a> aLimit, <a class="el" href="ttypes_8h.html#a5">ccIndex</a> aDelta)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTNSCollection.html#a1">~TNSCollection</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTNSCollection.html#a2">shutDown</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void *&nbsp;</td><td valign=bottom><a class="el" href="classTNSCollection.html#a3">at</a> (<a class="el" href="ttypes_8h.html#a5">ccIndex</a> index)</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a5">ccIndex</a>&nbsp;</td><td valign=bottom><a class="el" href="classTNSCollection.html#a4">indexOf</a> (void *item)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTNSCollection.html#a5">atFree</a> (<a class="el" href="ttypes_8h.html#a5">ccIndex</a> index)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTNSCollection.html#a6">atRemove</a> (<a class="el" href="ttypes_8h.html#a5">ccIndex</a> index)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTNSCollection.html#a7">remove</a> (void *item)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTNSCollection.html#a8">removeAll</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTNSCollection.html#a9">free</a> (void *item)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTNSCollection.html#a10">freeAll</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTNSCollection.html#a11">atInsert</a> (<a class="el" href="ttypes_8h.html#a5">ccIndex</a> index, void *item)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTNSCollection.html#a12">atPut</a> (<a class="el" href="ttypes_8h.html#a5">ccIndex</a> index, void *item)</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a5">ccIndex</a>&nbsp;</td><td valign=bottom><a class="el" href="classTNSCollection.html#a13">insert</a> (void *item)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTNSCollection.html#a14">error</a> (<a class="el" href="ttypes_8h.html#a5">ccIndex</a> code, <a class="el" href="ttypes_8h.html#a5">ccIndex</a> info)</td></tr>
+<tr><td nowrap align=right valign=top>void *&nbsp;</td><td valign=bottom><a class="el" href="classTNSCollection.html#a15">firstThat</a> (<a class="el" href="ttypes_8h.html#a6">ccTestFunc</a> Test, void *arg)</td></tr>
+<tr><td nowrap align=right valign=top>void *&nbsp;</td><td valign=bottom><a class="el" href="classTNSCollection.html#a16">lastThat</a> (<a class="el" href="ttypes_8h.html#a6">ccTestFunc</a> Test, void *arg)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTNSCollection.html#a17">forEach</a> (<a class="el" href="ttypes_8h.html#a7">ccAppFunc</a> action, void *arg)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTNSCollection.html#a18">pack</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTNSCollection.html#a19">setLimit</a> (<a class="el" href="ttypes_8h.html#a5">ccIndex</a> aLimit)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a5">ccIndex</a>&nbsp;</td><td valign=bottom><a class="el" href="classTNSCollection.html#a20">getCount</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTNSCollection.html#d0">error</a> (<a class="el" href="ttypes_8h.html#a5">ccIndex</a> code, <a class="el" href="ttypes_8h.html#a5">ccIndex</a> info)</td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTNSCollection.html#b0">TNSCollection</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>void **&nbsp;</td><td valign=bottom><a class="el" href="classTNSCollection.html#n0">items</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a5">ccIndex</a>&nbsp;</td><td valign=bottom><a class="el" href="classTNSCollection.html#n1">count</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a5">ccIndex</a>&nbsp;</td><td valign=bottom><a class="el" href="classTNSCollection.html#n2">limit</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a5">ccIndex</a>&nbsp;</td><td valign=bottom><a class="el" href="classTNSCollection.html#n3">delta</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTNSCollection.html#n4">shouldDelete</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+TNSCollection implements a nonstreamable collection of items. It provides a base class for the streamable collection class, <a class="el" href="classTCollection.html">TCollection</a>. TNSCollection provides <a class="el" href="classTCollection.html">TCollection</a> with the functions for adding, accessing, and removing items from a collection.
+<p>
+This class stores an array of pointers to generic objects. This array may grow or shrink at run-time.
+<p>
+Note: type ccIndex is defined in file `<a class="el" href="ttypes_8h.html">ttypes.h</a>' as int.
+<p>
+
+<p>
+Definition at line <a class="el" href="tvobjs_8h-source.html#l00089">89</a> of file <a class="el" href="tvobjs_8h-source.html">tvobjs.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TNSCollection::TNSCollection"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TNSCollection::TNSCollection </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a5">ccIndex</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aLimit</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a5">ccIndex</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aDelta</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructor.
+<p>
+Creates a collection with limit set to `aLimit' and delta set to `aDelta'. count and items data members are both set to 0. <a class="el" href="classTNSCollection.html#n4">shouldDelete</a> is set True.
+<p>
+The initial number of items will be limited to `aLimit', but the collection is allowed to grow in increments of `aDelta' until memory runs out or the number of items reaches <a class="el" href="tvconfig_8h.html#a1">maxCollectionSize</a>.
+<p>
+<a class="el" href="tvconfig_8h.html#a1">maxCollectionSize</a> is defined in `<a class="el" href="tvconfig_8h.html">tvconfig.h</a>' as:
+<p>
+<pre>
+ const int maxCollectionSize = INT_MAX / sizeof(void *);
+ </pre> <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="tvconfig_8h.html#a1">maxCollectionSize</a> </dl> </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TNSCollection::~TNSCollection"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TNSCollection::~TNSCollection </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Destructor.
+<p>
+If <a class="el" href="classTNSCollection.html#n4">shouldDelete</a> is True, the destructor removes and destroys all items in the collection by calling <a class="el" href="classTNSCollection.html#a10">freeAll</a> and setting limit to 0.
+<p>
+If <a class="el" href="classTNSCollection.html#n4">shouldDelete</a> is False, the destructor sets limit to 0 but does not destroy the collection. </td>
+ </tr>
+</table>
+<a name="b0" doxytag="TNSCollection::TNSCollection"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TNSCollection::TNSCollection </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructor.
+<p>
+This constructor sets variable <a class="el" href="classTNSCollection.html#n4">shouldDelete</a> to True and variables count, limit and delta to 0. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="a3" doxytag="TNSCollection::at"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void* TNSCollection::at </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a5">ccIndex</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>index</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns a pointer to the item indexed by `index' in the collection. If `index' is less than 0 or greater than or equal to count, <a class="el" href="classTNSCollection.html#a14">error()</a> is called with an argument of coIndexError, and 0 is then returned.
+<p>
+Reimplemented in <a class="el" href="classTFileCollection.html#a1">TFileCollection</a>, and <a class="el" href="classTDirCollection.html#a1">TDirCollection</a>.
+<p>
+Referenced by <a class="el" href="stddlg_8h-source.html#l01009">TDirCollection::at()</a>, and <a class="el" href="stddlg_8h-source.html#l00209">TFileCollection::at()</a>. </td>
+ </tr>
+</table>
+<a name="a5" doxytag="TNSCollection::atFree"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TNSCollection::atFree </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a5">ccIndex</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>index</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Removes the object at position `index' from the array.
+<p>
+Then calls delete on the object. </td>
+ </tr>
+</table>
+<a name="a11" doxytag="TNSCollection::atInsert"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TNSCollection::atInsert </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a5">ccIndex</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>index</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>void *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>item</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Inserts a new object at position `index'.
+<p>
+Moves the following items down by one position, then inserts `item' at the `index' position. If `index' is less than 0 or greater than count data member, <a class="el" href="classTNSCollection.html#a14">error()</a> is called with an argument of coIndexError and the new item is not inserted.
+<p>
+If count is equal to limit data member before the call to <a class="el" href="classTNSCollection.html#a11">atInsert()</a>, the allocated size of the collection is expanded by delta items using a call to <a class="el" href="classTNSCollection.html#a19">setLimit()</a>.
+<p>
+If the <a class="el" href="classTNSCollection.html#a19">setLimit()</a> call fails to expand the collection, the <a class="el" href="classTNSCollection.html#a14">error()</a> member function is called with an argument of coOverflow and the new item is not inserted.
+<p>
+Referenced by <a class="el" href="stddlg_8h-source.html#l01038">TDirCollection::atInsert()</a>, and <a class="el" href="stddlg_8h-source.html#l00237">TFileCollection::atInsert()</a>. </td>
+ </tr>
+</table>
+<a name="a12" doxytag="TNSCollection::atPut"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TNSCollection::atPut </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a5">ccIndex</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>index</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>void *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>item</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Replaces the object at position `index'.
+<p>
+Replaces the item at position `index' with the given `item'. If `index' is less than 0 or greater than or equal to count, <a class="el" href="classTNSCollection.html#a14">error()</a> is called with an argument of coIndexError.
+<p>
+Old object is lost.
+<p>
+Referenced by <a class="el" href="stddlg_8h-source.html#l01044">TDirCollection::atPut()</a>, and <a class="el" href="stddlg_8h-source.html#l00242">TFileCollection::atPut()</a>. </td>
+ </tr>
+</table>
+<a name="a6" doxytag="TNSCollection::atRemove"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TNSCollection::atRemove </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a5">ccIndex</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>index</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Removes the object at position `index' from the array.
+<p>
+Removes the item at the position `index' by moving the following items up by one position. count is decremented by 1, but the memory allocated to the collection is not reduced. If `index' is greater than or equal to count, <a class="el" href="classTNSCollection.html#a14">error()</a> is called.
+<p>
+The item itself is not destroyed. </td>
+ </tr>
+</table>
+<a name="d0" doxytag="TNSCollection::error"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TNSCollection::error </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a5">ccIndex</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>code</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a5">ccIndex</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>info</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called whenever a collection error is encountered. By default, this member function produces a run-time error of (212 - `code'). </td>
+ </tr>
+</table>
+<a name="a14" doxytag="TNSCollection::error"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TNSCollection::error </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a5">ccIndex</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>code</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a5">ccIndex</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>info</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This function is called on error conditions.
+<p>
+By default calls function exit() to terminate the program. </td>
+ </tr>
+</table>
+<a name="a15" doxytag="TNSCollection::firstThat"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void* TNSCollection::firstThat </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a6">ccTestFunc</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>Test</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>void *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>arg</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<a class="el" href="classTNSCollection.html#a15">firstThat()</a> applies a <a class="el" href="ttypes_8h.html#a13">Boolean</a> function `Test', along with an argument list given by `arg' to each item in the collection until the tested function returns True. The result is the item pointer for which the call returns True, or 0 if the call returned False for all items.
+<p>
+`Test' is a pointer to a function whose type ccTestFunc is defined as:
+<p>
+<pre>
+ typedef Boolean (*ccTestFunc)(void *, void *)
+ </pre>
+<p>
+This method returns when one object of the array passes the test or when each object is tested without success. In the first case it returns the address of the object. In the latter case it returns 0. `arg' stores the argument of the function (if any).
+<p>
+This method scans the array forward. This is an example:
+<p>
+<pre>
+ define Uses_TNSCollection
+
+ include "<a class="el" href="tv_8h.html">tv.h</a>"
+
+ class XObject {
+ int value;
+ public:
+ XObject(int aValue): value(aValue) {}
+ int getValue() { return value; }
+ };
+
+ Boolean matchTest(void *obj, void *value)
+ {
+ if (((XObject *) obj)-&gt;getValue() == *((int *) value)) return True;
+ return False;
+ }
+
+ void main()
+ {
+ TNSCollection array(10, 5);
+ array.insert(new XObject(14));
+ array.insert(new XObject(32));
+ array.insert(new XObject(23));
+ array.insert(new XObject(41));
+ int find = 23;
+ XObject *p = (XObject *) array.firstThat(&amp;matchTest, &amp;find);
+ if (p != 0) array.free(p);
+ }
+ </pre> <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTNSCollection.html#a17">TNSCollection::forEach</a> , <a class="el" href="classTNSCollection.html#a16">TNSCollection::lastThat</a> </dl>
+<p>
+Reimplemented in <a class="el" href="classTFileCollection.html#a8">TFileCollection</a>, and <a class="el" href="classTDirCollection.html#a8">TDirCollection</a>.
+<p>
+Referenced by <a class="el" href="stddlg_8h-source.html#l01129">TDirCollection::firstThat()</a>, and <a class="el" href="stddlg_8h-source.html#l00335">TFileCollection::firstThat()</a>. </td>
+ </tr>
+</table>
+<a name="a17" doxytag="TNSCollection::forEach"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TNSCollection::forEach </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a7">ccAppFunc</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>action</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>void *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>arg</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The <a class="el" href="classTNSCollection.html#a17">forEach()</a> iterator applies an action, given by the function `action', to each item in the collection. The `arg' pointer can be used to pass additional arguments to the action.
+<p>
+`action' is a pointer to a function whose type ccAppFunc is defined as:
+<p>
+<pre>
+ typedef void (*ccAppFunc)(void *, void *);
+ </pre>
+<p>
+This method scans the array forward. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTNSCollection.html#a15">TNSCollection::firstThat</a> , <a class="el" href="classTNSCollection.html#a16">TNSCollection::lastThat</a> </dl> </td>
+ </tr>
+</table>
+<a name="a9" doxytag="TNSCollection::free"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TNSCollection::free </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>item</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Removes and destroys the given item.
+<p>
+It just does `atRemove(indexOf(item))'. Then calls delete on the object. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTNSCollection.html#a6">TNSCollection::atRemove</a> , <a class="el" href="classTNSCollection.html#a4">TNSCollection::indexOf</a> </dl>
+<p>
+Referenced by <a class="el" href="stddlg_8h-source.html#l01029">TDirCollection::free()</a>, and <a class="el" href="stddlg_8h-source.html#l00227">TFileCollection::free()</a>. </td>
+ </tr>
+</table>
+<a name="a10" doxytag="TNSCollection::freeAll"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TNSCollection::freeAll </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Removes and destroys all items in the collection and sets count to 0.
+<p>
+The array is cleared out but not deleted.
+<p>
+Referenced by <a class="el" href="tobjstrm_8h-source.html#l00294">TPWrittenObjects::removeAll()</a>. </td>
+ </tr>
+</table>
+<a name="a20" doxytag="TNSCollection::getCount"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a5">ccIndex</a> TNSCollection::getCount </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the number of items stored in the collection, up to <a class="el" href="tvconfig_8h.html#a1">maxCollectionSize</a>.
+<p>
+Definition at line <a class="el" href="tvobjs_8h-source.html#l00351">351</a> of file <a class="el" href="tvobjs_8h-source.html">tvobjs.h</a>.
+<p>
+References <a class="el" href="ttypes_8h-source.html#l00072">ccIndex</a>, and <a class="el" href="tvobjs_8h-source.html#l00371">count</a>. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="TNSCollection::indexOf"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a5">ccIndex</a> TNSCollection::indexOf </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>item</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the index of the given item; that is, the converse operation to <a class="el" href="classTNSCollection.html#a3">at()</a>. If the item is not in the collection, <a class="el" href="classTNSCollection.html#a4">indexOf()</a> calls <a class="el" href="classTNSCollection.html#a14">error()</a>.
+<p>
+The address of the item is passed in the `item' parameter.
+<p>
+Reimplemented in <a class="el" href="classTNSSortedCollection.html#a2">TNSSortedCollection</a>.
+<p>
+Referenced by <a class="el" href="stddlg_8h-source.html#l01015">TDirCollection::indexOf()</a>. </td>
+ </tr>
+</table>
+<a name="a13" doxytag="TNSCollection::insert"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a5">ccIndex</a> TNSCollection::insert </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>item</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Inserts `item' into the collection, and adjusts other indexes if necessary. By default, insertions are made at the end of the collection by calling <a class="el" href="classTNSCollection.html#a11">atInsert()</a>.
+<p>
+Reimplemented in <a class="el" href="classTNSSortedCollection.html#a3">TNSSortedCollection</a>.
+<p>
+Referenced by <a class="el" href="stddlg_8h-source.html#l01052">TDirCollection::insert()</a>. </td>
+ </tr>
+</table>
+<a name="a16" doxytag="TNSCollection::lastThat"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void* TNSCollection::lastThat </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a6">ccTestFunc</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>Test</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>void *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>arg</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<a class="el" href="classTNSCollection.html#a16">lastThat()</a> applies the <a class="el" href="ttypes_8h.html#a13">Boolean</a> function `Test', together with the `arg' argument list to each item in the collection, starting at the last item, and scanning in reverse order until the tested function returns True. The result is the item pointer for which the call returns True, or 0 if the call returned False for all items.
+<p>
+This method scans the array backward. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTNSCollection.html#a15">TNSCollection::firstThat</a> , <a class="el" href="classTNSCollection.html#a17">TNSCollection::forEach</a> </dl>
+<p>
+Reimplemented in <a class="el" href="classTFileCollection.html#a9">TFileCollection</a>, and <a class="el" href="classTDirCollection.html#a9">TDirCollection</a>.
+<p>
+Referenced by <a class="el" href="stddlg_8h-source.html#l01134">TDirCollection::lastThat()</a>, and <a class="el" href="stddlg_8h-source.html#l00340">TFileCollection::lastThat()</a>. </td>
+ </tr>
+</table>
+<a name="a18" doxytag="TNSCollection::pack"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TNSCollection::pack </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Packs the array by removing null pointers from it.
+<p>
+Deletes all null pointers in the collection and moves items up to fill any gaps. </td>
+ </tr>
+</table>
+<a name="a7" doxytag="TNSCollection::remove"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TNSCollection::remove </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>item</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Removes the item given by `item' from the collection.
+<p>
+Equivalent to `atRemove(indexOf(item))'. Does not call delete on the object. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTNSCollection.html#a6">TNSCollection::atRemove</a> , <a class="el" href="classTNSCollection.html#a4">TNSCollection::indexOf</a> </dl>
+<p>
+Referenced by <a class="el" href="stddlg_8h-source.html#l01022">TDirCollection::remove()</a>, and <a class="el" href="stddlg_8h-source.html#l00221">TFileCollection::remove()</a>. </td>
+ </tr>
+</table>
+<a name="a8" doxytag="TNSCollection::removeAll"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TNSCollection::removeAll </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Removes all items from the collection by just setting count to 0. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTNSCollection.html#n1">TNSCollection::count</a> </dl>
+<p>
+Reimplemented in <a class="el" href="classTPWrittenObjects.html#a0">TPWrittenObjects</a>, and <a class="el" href="classTPReadObjects.html#a0">TPReadObjects</a>.
+<p>
+Referenced by <a class="el" href="tobjstrm_8h-source.html#l00383">TPReadObjects::removeAll()</a>. </td>
+ </tr>
+</table>
+<a name="a19" doxytag="TNSCollection::setLimit"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TNSCollection::setLimit </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a5">ccIndex</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>aLimit</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Expands or shrinks the collection by changing the allocated size to `aLimit'.
+<p>
+<ol>
+<li>If `aLimit' is less than count, it is set to count.<li>if `aLimit' is greater than <a class="el" href="tvconfig_8h.html#a1">maxCollectionSize</a>, it is set to <a class="el" href="tvconfig_8h.html#a1">maxCollectionSize</a>. Integer constant maxCollectionSize is defined in file `<a class="el" href="tvconfig_8h.html">tvconfig.h</a>' as:</ol>
+<pre>
+ const int maxCollectionSize = INT_MAX / sizeof(void *);
+ </pre>
+<p>
+Then, if `aLimit' is different from the current limit, a new items array of `aLimit' elements is allocated, the old items array is copied into the new array, and the old array is deleted.
+<p>
+Referenced by <a class="el" href="objects_8h-source.html#l00365">TCollection::TCollection()</a>, and <a class="el" href="tvobjs_8h-source.html#l00427">TNSSortedCollection::TNSSortedCollection()</a>. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="TNSCollection::shutDown"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TNSCollection::shutDown </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Releases all the resources allocated by this class.
+<p>
+If class flag <a class="el" href="classTNSCollection.html#n4">shouldDelete</a> is True the function <a class="el" href="classTNSCollection.html#a10">freeAll()</a> is called. This will delete each object of the array.
+<p>
+Reimplemented from <a class="el" href="classTObject.html#a1">TObject</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="n1" doxytag="TNSCollection::count"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a5">ccIndex</a> TNSCollection::count<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This variable stores the number of objects in the array. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTNSCollection.html#n0">TNSCollection::items</a> , <a class="el" href="classTNSCollection.html#n2">TNSCollection::limit</a> </dl>
+<p>
+Definition at line <a class="el" href="tvobjs_8h-source.html#l00371">371</a> of file <a class="el" href="tvobjs_8h-source.html">tvobjs.h</a>.
+<p>
+Referenced by <a class="el" href="tvobjs_8h-source.html#l00351">getCount()</a>. </td>
+ </tr>
+</table>
+<a name="n3" doxytag="TNSCollection::delta"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a5">ccIndex</a> TNSCollection::delta<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This value is used every time the array must be enlarged. In this case a number of delta pointers will be added to the array.
+<p>
+delta is the number of items by which to increase the items list whenever it becomes full. If delta is zero, the collection cannot grow beyond the size set by limit.
+<p>
+Definition at line <a class="el" href="tvobjs_8h-source.html#l00385">385</a> of file <a class="el" href="tvobjs_8h-source.html">tvobjs.h</a>.
+<p>
+Referenced by <a class="el" href="objects_8h-source.html#l00365">TCollection::TCollection()</a>, and <a class="el" href="tvobjs_8h-source.html#l00427">TNSSortedCollection::TNSSortedCollection()</a>. </td>
+ </tr>
+</table>
+<a name="n0" doxytag="TNSCollection::items"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void** TNSCollection::items<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+A pointer to an array of generic item pointers. This variable stores the array starting address.
+<p>
+Definition at line <a class="el" href="tvobjs_8h-source.html#l00365">365</a> of file <a class="el" href="tvobjs_8h-source.html">tvobjs.h</a>. </td>
+ </tr>
+</table>
+<a name="n2" doxytag="TNSCollection::limit"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a5">ccIndex</a> TNSCollection::limit<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The currently allocated size (in elements) of the items list. Current size of the array. Greater or equal than count.
+<p>
+Definition at line <a class="el" href="tvobjs_8h-source.html#l00376">376</a> of file <a class="el" href="tvobjs_8h-source.html">tvobjs.h</a>. </td>
+ </tr>
+</table>
+<a name="n4" doxytag="TNSCollection::shouldDelete"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a13">Boolean</a> TNSCollection::shouldDelete<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+If set True (the default), the TNSCollection destructor will call <a class="el" href="classTNSCollection.html#a10">freeAll()</a> before setting limit to 0. All objects will be deleted when method <a class="el" href="classTNSCollection.html#a2">shutDown()</a> is called.
+<p>
+If set False, the destructor simply sets limit to 0.
+<p>
+Definition at line <a class="el" href="tvobjs_8h-source.html#l00393">393</a> of file <a class="el" href="tvobjs_8h-source.html">tvobjs.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="tvobjs_8h-source.html">tvobjs.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:15 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTNSCollection.png b/freebsdtvision/doc/html/classTNSCollection.png
new file mode 100644
index 0000000..24c00cf
--- /dev/null
+++ b/freebsdtvision/doc/html/classTNSCollection.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTNSSortedCollection-members.html b/freebsdtvision/doc/html/classTNSSortedCollection-members.html
new file mode 100644
index 0000000..1b7fd4b
--- /dev/null
+++ b/freebsdtvision/doc/html/classTNSSortedCollection-members.html
@@ -0,0 +1,50 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TNSSortedCollection Member List</h1>This is the complete list of members for <a class="el" href="classTNSSortedCollection.html">TNSSortedCollection</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a3">at</a>(ccIndex index)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a5">atFree</a>(ccIndex index)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a11">atInsert</a>(ccIndex index, void *item)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a12">atPut</a>(ccIndex index, void *item)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a6">atRemove</a>(ccIndex index)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#n1">count</a></td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#n3">delta</a></td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSSortedCollection.html#m0">duplicates</a></td><td><a class="el" href="classTNSSortedCollection.html">TNSSortedCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a14">error</a>(ccIndex code, ccIndex info)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#d0">error</a>(ccIndex code, ccIndex info)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a15">firstThat</a>(ccTestFunc Test, void *arg)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a17">forEach</a>(ccAppFunc action, void *arg)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a9">free</a>(void *item)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a10">freeAll</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a20">getCount</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSSortedCollection.html#a2">indexOf</a>(void *item)</td><td><a class="el" href="classTNSSortedCollection.html">TNSSortedCollection</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSSortedCollection.html#a3">insert</a>(void *item)</td><td><a class="el" href="classTNSSortedCollection.html">TNSSortedCollection</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#n0">items</a></td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSSortedCollection.html#a4">keyOf</a>(void *item)</td><td><a class="el" href="classTNSSortedCollection.html">TNSSortedCollection</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a16">lastThat</a>(ccTestFunc Test, void *arg)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#n2">limit</a></td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a18">pack</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a7">remove</a>(void *item)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a8">removeAll</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSSortedCollection.html#a1">search</a>(void *key, ccIndex &amp;index)</td><td><a class="el" href="classTNSSortedCollection.html">TNSSortedCollection</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a19">setLimit</a>(ccIndex aLimit)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#n4">shouldDelete</a></td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a2">shutDown</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a0">TNSCollection</a>(ccIndex aLimit, ccIndex aDelta)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#b0">TNSCollection</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSSortedCollection.html#a0">TNSSortedCollection</a>(ccIndex aLimit, ccIndex aDelta)</td><td><a class="el" href="classTNSSortedCollection.html">TNSSortedCollection</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSSortedCollection.html#b0">TNSSortedCollection</a>()</td><td><a class="el" href="classTNSSortedCollection.html">TNSSortedCollection</a></td><td><code> [inline, protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a1">~TNSCollection</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:15 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTNSSortedCollection.html b/freebsdtvision/doc/html/classTNSSortedCollection.html
new file mode 100644
index 0000000..34dfd66
--- /dev/null
+++ b/freebsdtvision/doc/html/classTNSSortedCollection.html
@@ -0,0 +1,296 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TNSSortedCollection class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TNSSortedCollection Class Reference</h1>Handles a non-streamable collection sorted by a key (with or without duplicates).
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="tvobjs_8h-source.html">tvobjs.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TNSSortedCollection:
+<p><center><img src="classTNSSortedCollection.png" usemap="#TNSSortedCollection_map" border="0" alt=""></center>
+<map name="TNSSortedCollection_map">
+<area href="classTNSCollection.html" alt="TNSCollection" shape="rect" coords="139,56,268,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="139,0,268,24">
+<area href="classTPWrittenObjects.html" alt="TPWrittenObjects" shape="rect" coords="0,168,129,192">
+<area href="classTSortedCollection.html" alt="TSortedCollection" shape="rect" coords="139,168,268,192">
+<area href="classTStreamableTypes.html" alt="TStreamableTypes" shape="rect" coords="278,168,407,192">
+<area href="classTFileCollection.html" alt="TFileCollection" shape="rect" coords="69,224,198,248">
+<area href="classTStringCollection.html" alt="TStringCollection" shape="rect" coords="208,224,337,248">
+<area href="classTResourceCollection.html" alt="TResourceCollection" shape="rect" coords="208,280,337,304">
+</map>
+<a href="classTNSSortedCollection-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTNSSortedCollection.html#a0">TNSSortedCollection</a> (<a class="el" href="ttypes_8h.html#a5">ccIndex</a> aLimit, <a class="el" href="ttypes_8h.html#a5">ccIndex</a> aDelta)</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTNSSortedCollection.html#a1">search</a> (void *key, <a class="el" href="ttypes_8h.html#a5">ccIndex</a> &amp;index)</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a5">ccIndex</a>&nbsp;</td><td valign=bottom><a class="el" href="classTNSSortedCollection.html#a2">indexOf</a> (void *item)</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a5">ccIndex</a>&nbsp;</td><td valign=bottom><a class="el" href="classTNSSortedCollection.html#a3">insert</a> (void *item)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void *&nbsp;</td><td valign=bottom><a class="el" href="classTNSSortedCollection.html#a4">keyOf</a> (void *item)</td></tr>
+<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTNSSortedCollection.html#m0">duplicates</a></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTNSSortedCollection.html#b0">TNSSortedCollection</a> ()</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+The abstract class TNSSortedCollection is a specialized derivative of <a class="el" href="classTNSCollection.html">TNSCollection</a> implementing non-streamable collections sorted by a key (with or without duplicates). No instances of TNSSortedCollection are allowed. It exists solely as a base for other standard or user-defined derived classes.
+<p>
+
+<p>
+Definition at line <a class="el" href="tvobjs_8h-source.html#l00415">415</a> of file <a class="el" href="tvobjs_8h-source.html">tvobjs.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TNSSortedCollection::TNSSortedCollection"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TNSSortedCollection::TNSSortedCollection </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a5">ccIndex</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aLimit</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a5">ccIndex</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aDelta</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Invokes the <a class="el" href="classTNSCollection.html">TNSCollection</a> constructor to set count, items and limit to 0; calls setLimit(aLimit) to set the collection limit to `aLimit', then sets delta to `aDelta'. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTNSCollection.html#a19">TNSCollection::setLimit</a></dl>Sets duplicates data member to False. If you want to allow duplicate keys, you must set duplicates to True.
+<p>
+Definition at line <a class="el" href="tvobjs_8h-source.html#l00427">427</a> of file <a class="el" href="tvobjs_8h-source.html">tvobjs.h</a>.
+<p>
+References <a class="el" href="ttypes_8h-source.html#l00072">ccIndex</a>, <a class="el" href="tvobjs_8h-source.html#l00385">TNSCollection::delta</a>, <a class="el" href="tvobjs_8h-source.html#l00455">duplicates</a>, and <a class="el" href="classTNSCollection.html#a19">TNSCollection::setLimit()</a>. </td>
+ </tr>
+</table>
+<a name="b0" doxytag="TNSSortedCollection::TNSSortedCollection"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TNSSortedCollection::TNSSortedCollection </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="tvobjs_8h-source.html#l00464">464</a> of file <a class="el" href="tvobjs_8h-source.html">tvobjs.h</a>.
+<p>
+References <a class="el" href="tvobjs_8h-source.html#l00455">duplicates</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="a2" doxytag="TNSSortedCollection::indexOf"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a5">ccIndex</a> TNSSortedCollection::indexOf </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>item</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the index of the given item; that is, the converse operation to <a class="el" href="classTNSCollection.html#a3">at()</a>. If the item is not in the collection, <a class="el" href="classTNSSortedCollection.html#a2">indexOf()</a> calls <a class="el" href="classTNSCollection.html#a14">error()</a>.
+<p>
+The address of the item is passed in the `item' parameter.
+<p>
+Reimplemented from <a class="el" href="classTNSCollection.html#a4">TNSCollection</a>.
+<p>
+Referenced by <a class="el" href="stddlg_8h-source.html#l00215">TFileCollection::indexOf()</a>. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="TNSSortedCollection::insert"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a5">ccIndex</a> TNSSortedCollection::insert </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>item</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+If duplicates data member is False, insert works as follows: if the target item is not found in the sorted collection, it is inserted at the correct index position. Calls <a class="el" href="classTNSSortedCollection.html#a1">search()</a> to determine if the item exists, and if not, where to insert it.
+<p>
+If duplicates is True, the item is inserted ahead of any items (if any) with the same key.
+<p>
+Reimplemented from <a class="el" href="classTNSCollection.html#a13">TNSCollection</a>.
+<p>
+Referenced by <a class="el" href="stddlg_8h-source.html#l00251">TFileCollection::insert()</a>. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="TNSSortedCollection::keyOf"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void* TNSSortedCollection::keyOf </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>item</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented in <a class="el" href="classTResourceCollection.html#a2">TResourceCollection</a>. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TNSSortedCollection::search"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a> TNSSortedCollection::search </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>key</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a5">ccIndex</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>index</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns True if the item identified by `key' is found in the sorted collection. If the item is found, `index' is set to the found index; otherwise `index' is set to the index where the item would be placed if inserted and False is returned. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="m0" doxytag="TNSSortedCollection::duplicates"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a13">Boolean</a> TNSSortedCollection::duplicates
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set to True if duplicate indexes are allowed; otherwise set to False. The default is False.
+<p>
+If duplicates data member is True methods <a class="el" href="classTNSSortedCollection.html#a1">search()</a>, <a class="el" href="classTNSSortedCollection.html#a3">insert()</a> and <a class="el" href="classTNSSortedCollection.html#a2">indexOf()</a> work differently.
+<p>
+Definition at line <a class="el" href="tvobjs_8h-source.html#l00455">455</a> of file <a class="el" href="tvobjs_8h-source.html">tvobjs.h</a>.
+<p>
+Referenced by <a class="el" href="tvobjs_8h-source.html#l00427">TNSSortedCollection()</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="tvobjs_8h-source.html">tvobjs.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:15 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTNSSortedCollection.png b/freebsdtvision/doc/html/classTNSSortedCollection.png
new file mode 100644
index 0000000..3b2180a
--- /dev/null
+++ b/freebsdtvision/doc/html/classTNSSortedCollection.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTNode-members.html b/freebsdtvision/doc/html/classTNode-members.html
new file mode 100644
index 0000000..b4e9645
--- /dev/null
+++ b/freebsdtvision/doc/html/classTNode-members.html
@@ -0,0 +1,22 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TNode Member List</h1>This is the complete list of members for <a class="el" href="classTNode.html">TNode</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNode.html#m2">childList</a></td><td><a class="el" href="classTNode.html">TNode</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNode.html#m3">expanded</a></td><td><a class="el" href="classTNode.html">TNode</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNode.html#m0">next</a></td><td><a class="el" href="classTNode.html">TNode</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNode.html#m1">text</a></td><td><a class="el" href="classTNode.html">TNode</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNode.html#a0">TNode</a>(char *aText)</td><td><a class="el" href="classTNode.html">TNode</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNode.html#a1">TNode</a>(char *aText, TNode *aChildren, TNode *aNext, Boolean initialState=True)</td><td><a class="el" href="classTNode.html">TNode</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNode.html#a2">~TNode</a>()</td><td><a class="el" href="classTNode.html">TNode</a></td><td><code> [inline, virtual]</code></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:15 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTNode.html b/freebsdtvision/doc/html/classTNode.html
new file mode 100644
index 0000000..5ac5c5e
--- /dev/null
+++ b/freebsdtvision/doc/html/classTNode.html
@@ -0,0 +1,258 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TNode class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TNode Class Reference</h1>Implements a node of the outline.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="outline_8h-source.html">outline.h</a>&gt;</code>
+<p>
+<a href="classTNode-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTNode.html#a0">TNode</a> (char *aText)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTNode.html#a1">TNode</a> (char *aText, TNode *aChildren, TNode *aNext, <a class="el" href="ttypes_8h.html#a13">Boolean</a> initialState=True)</td></tr>
+<tr><td nowrap align=right valign=top>virtual&nbsp;</td><td valign=bottom><a class="el" href="classTNode.html#a2">~TNode</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>TNode *&nbsp;</td><td valign=bottom><a class="el" href="classTNode.html#m0">next</a></td></tr>
+<tr><td nowrap align=right valign=top>char *&nbsp;</td><td valign=bottom><a class="el" href="classTNode.html#m1">text</a></td></tr>
+<tr><td nowrap align=right valign=top>TNode *&nbsp;</td><td valign=bottom><a class="el" href="classTNode.html#m2">childList</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTNode.html#m3">expanded</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<a class="el" href="classTOutline.html">TOutline</a> objects use records of type TNode to hold the lists of linked strings that form the outline. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTOutlineViewer.html">TOutlineViewer</a> </dl>
+<p>
+
+<p>
+Definition at line <a class="el" href="outline_8h-source.html#l00033">33</a> of file <a class="el" href="outline_8h-source.html">outline.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TNode::TNode"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TNode::TNode </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">char *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>aText</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a node for an outline list.
+<p>
+Definition at line <a class="el" href="outline_8h-source.html#l00073">73</a> of file <a class="el" href="outline_8h-source.html">outline.h</a>.
+<p>
+References <a class="el" href="util_8h.html#a15">newStr()</a>. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TNode::TNode"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TNode::TNode </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aText</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>TNode *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aChildren</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>TNode *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aNext</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>initialState</em> = True</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a node for an outline list. Sets the new node's text, <a class="el" href="classTNode.html#m2">childList</a>, and next fields to `aText', `aChildren', and `aNext', respectively.
+<p>
+Definition at line <a class="el" href="outline_8h-source.html#l00078">78</a> of file <a class="el" href="outline_8h-source.html">outline.h</a>.
+<p>
+References <a class="el" href="ttypes_8h-source.html#l00030">Boolean</a>, and <a class="el" href="util_8h.html#a15">newStr()</a>. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="TNode::~TNode"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TNode::~TNode </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Disposes of an outline node.
+<p>
+Definition at line <a class="el" href="outline_8h-source.html#l00085">85</a> of file <a class="el" href="outline_8h-source.html">outline.h</a>.
+<p>
+References <a class="el" href="outline_8h-source.html#l00060">text</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="m2" doxytag="TNode::childList"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TNode* TNode::childList
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Field childList points to the first in a list of subordinate nodes, or holds 0 if there are no items subordinate to the node.
+<p>
+Definition at line <a class="el" href="outline_8h-source.html#l00065">65</a> of file <a class="el" href="outline_8h-source.html">outline.h</a>. </td>
+ </tr>
+</table>
+<a name="m3" doxytag="TNode::expanded"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a13">Boolean</a> TNode::expanded
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Field expanded is True if the outline view shows the subordinate views listed in <a class="el" href="classTNode.html#m2">childList</a> or False if the subordinate nodes are hidden.
+<p>
+Definition at line <a class="el" href="outline_8h-source.html#l00070">70</a> of file <a class="el" href="outline_8h-source.html">outline.h</a>. </td>
+ </tr>
+</table>
+<a name="m0" doxytag="TNode::next"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TNode* TNode::next
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Field next points to the next node at the same outline level as the current node.
+<p>
+Definition at line <a class="el" href="outline_8h-source.html#l00055">55</a> of file <a class="el" href="outline_8h-source.html">outline.h</a>. </td>
+ </tr>
+</table>
+<a name="m1" doxytag="TNode::text"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> char* TNode::text
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Each node record holds the text for that item in the outline in its text field.
+<p>
+Definition at line <a class="el" href="outline_8h-source.html#l00060">60</a> of file <a class="el" href="outline_8h-source.html">outline.h</a>.
+<p>
+Referenced by <a class="el" href="outline_8h-source.html#l00085">~TNode()</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="outline_8h-source.html">outline.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:15 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTObject-members.html b/freebsdtvision/doc/html/classTObject-members.html
new file mode 100644
index 0000000..8994031
--- /dev/null
+++ b/freebsdtvision/doc/html/classTObject-members.html
@@ -0,0 +1,18 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TObject Member List</h1>This is the complete list of members for <a class="el" href="classTObject.html">TObject</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a1">shutDown</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:15 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTObject.html b/freebsdtvision/doc/html/classTObject.html
new file mode 100644
index 0000000..24c9161
--- /dev/null
+++ b/freebsdtvision/doc/html/classTObject.html
@@ -0,0 +1,155 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TObject class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TObject Class Reference</h1>The fundamental class.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="tvobjs_8h-source.html">tvobjs.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TObject:
+<p><center><img src="classTObject.png" usemap="#TObject_map" border="0" alt=""></center>
+<map name="TObject_map">
+<area href="classTHelpFile.html" alt="THelpFile" shape="rect" coords="104,56,198,80">
+<area href="classTHelpIndex.html" alt="THelpIndex" shape="rect" coords="104,112,198,136">
+<area href="classTHelpTopic.html" alt="THelpTopic" shape="rect" coords="104,168,198,192">
+<area href="classTNSCollection.html" alt="TNSCollection" shape="rect" coords="104,224,198,248">
+<area href="classTResourceFile.html" alt="TResourceFile" shape="rect" coords="104,280,198,304">
+<area href="classTStringList.html" alt="TStringList" shape="rect" coords="104,336,198,360">
+<area href="classTStrListMaker.html" alt="TStrListMaker" shape="rect" coords="104,392,198,416">
+<area href="classTValidator.html" alt="TValidator" shape="rect" coords="104,448,198,472">
+<area href="classTView.html" alt="TView" shape="rect" coords="104,504,198,528">
+</map>
+<a href="classTObject-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>virtual&nbsp;</td><td valign=bottom><a class="el" href="classTObject.html#a0">~TObject</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTObject.html#a1">shutDown</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTObject.html#d0">destroy</a> (TObject *o)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+TObject is the starting point for much of TVision's class hierarchy. It has no parents but many descendants. Apart from <a class="el" href="classTPoint.html">TPoint</a> and <a class="el" href="classTRect.html">TRect</a>, most of TVision's standard classes are ultimately derived from TObject.
+<p>
+Any object that uses TVision's stream facilities must trace its ancestry back to TObject. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html">TView</a> </dl>
+<p>
+
+<p>
+Definition at line <a class="el" href="tvobjs_8h-source.html#l00031">31</a> of file <a class="el" href="tvobjs_8h-source.html">tvobjs.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TObject::~TObject"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual TObject::~TObject </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Destructor.
+<p>
+Performs the necessary cleanup and disposal for dynamic objects. Does nothing. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="d0" doxytag="TObject::destroy"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TObject::destroy </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">TObject *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>o</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Destroys the object pointed by `o'.
+<p>
+<a class="el" href="classTObject.html#d0">destroy()</a> deletes an object `o' of a type derived from TObject; that is, any object created with operator new(). <a class="el" href="classTObject.html#d0">destroy()</a> terminates the object, correctly freeing the memory that it occupies.
+<p>
+It calls `o-&gt;<a class="el" href="classTObject.html#a1">shutDown()</a>' and after does `delete o'. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTObject.html#a1">shutDown</a> </dl>
+<p>
+Definition at line <a class="el" href="tvobjs_8h-source.html#l00065">65</a> of file <a class="el" href="tvobjs_8h-source.html">tvobjs.h</a>.
+<p>
+References <a class="el" href="classTObject.html#a1">shutDown()</a>. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TObject::shutDown"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TObject::shutDown </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Releases TObject resources.
+<p>
+Used internally by <a class="el" href="classTObject.html#d0">TObject::destroy()</a> to ensure correct destruction of derived and related objects. <a class="el" href="classTObject.html#a1">shutDown()</a> is overridden in many classes to ensure the proper setting of related data members when destroy is called. Does nothing. <dl compact><dt><b>See also: </b></dt><dd>
+destroy </dl>
+<p>
+Reimplemented in <a class="el" href="classTDeskTop.html#a5">TDeskTop</a>, <a class="el" href="classTProgram.html#a15">TProgram</a>, <a class="el" href="classTLabel.html#a4">TLabel</a>, <a class="el" href="classTHistory.html#a6">THistory</a>, <a class="el" href="classTEditor.html#a2">TEditor</a>, <a class="el" href="classTFileEditor.html#a9">TFileEditor</a>, <a class="el" href="classTFileDialog.html#a7">TFileDialog</a>, <a class="el" href="classTChDirDialog.html#a6">TChDirDialog</a>, <a class="el" href="classTNSCollection.html#a2">TNSCollection</a>, <a class="el" href="classTView.html#a67">TView</a>, <a class="el" href="classTScroller.html#a9">TScroller</a>, <a class="el" href="classTListViewer.html#a12">TListViewer</a>, <a class="el" href="classTGroup.html#a2">TGroup</a>, and <a class="el" href="classTWindow.html#a10">TWindow</a>.
+<p>
+Referenced by <a class="el" href="tvobjs_8h-source.html#l00065">destroy()</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="tvobjs_8h-source.html">tvobjs.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:15 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTObject.png b/freebsdtvision/doc/html/classTObject.png
new file mode 100644
index 0000000..c5a5d5e
--- /dev/null
+++ b/freebsdtvision/doc/html/classTObject.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTOutline-members.html b/freebsdtvision/doc/html/classTOutline-members.html
new file mode 100644
index 0000000..8fefae2
--- /dev/null
+++ b/freebsdtvision/doc/html/classTOutline-members.html
@@ -0,0 +1,161 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TOutline Member List</h1>This is the complete list of members for <a class="el" href="classTOutline.html">TOutline</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutline.html#a2">adjust</a>(TNode *node, Boolean expand)</td><td><a class="el" href="classTOutline.html">TOutline</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a31">awaken</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a32">blockCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutline.html#d0">build</a>()</td><td><a class="el" href="classTOutline.html">TOutline</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a10">calcBounds</a>(TRect &amp;bounds, TPoint delta)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#a1">changeBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#a8">checkDraw</a>()</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a38">clearEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d0">commandEnabled</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p0">commandSetChanged</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a7">containsMouse</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutlineViewer.html#a22">createGraph</a>(int level, long lines, ushort flags, int levWidth, int endWidth, const char *chars)</td><td><a class="el" href="classTOutlineViewer.html">TOutlineViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p1">curCommandSet</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m6">cursor</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a28">dataSize</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#m0">delta</a></td><td><a class="el" href="classTScroller.html">TScroller</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d3">disableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d1">disableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutlineViewer.html#e0">disposeNode</a>(TNode *node)</td><td><a class="el" href="classTOutlineViewer.html">TOutlineViewer</a></td><td><code> [protected, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m8">dragMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a9">dragView</a>(TEvent &amp;event, uchar mode, TRect &amp;limits, TPoint minSize, TPoint maxSize)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutlineViewer.html#a3">draw</a>()</td><td><a class="el" href="classTOutlineViewer.html">TOutlineViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a37">drawCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#n1">drawFlag</a></td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a24">drawHide</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#n0">drawLock</a></td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a25">drawShow</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a26">drawUnderRect</a>(TRect &amp;r, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a27">drawUnderView</a>(Boolean doShadow, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a20">drawView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d4">enableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d2">enableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a43">endModal</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>enterSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p3">errorAttr</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a39">eventAvail</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m3">eventMask</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a44">execute</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutlineViewer.html#a19">expandAll</a>(TNode *node)</td><td><a class="el" href="classTOutlineViewer.html">TOutlineViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a21">exposed</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutlineViewer.html#a20">firstThat</a>(Boolean(*test)(TOutlineViewer *ov, TNode *node, int level, int position, long lines, ushort flags))</td><td><a class="el" href="classTOutlineViewer.html">TOutlineViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutlineViewer.html#m0">foc</a></td><td><a class="el" href="classTOutlineViewer.html">TOutlineViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a22">focus</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutlineViewer.html#a4">focused</a>(int i)</td><td><a class="el" href="classTOutlineViewer.html">TOutlineViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutlineViewer.html#a21">forEach</a>(Boolean(*action)(TOutlineViewer *ov, TNode *cur, int level, int position, long lines, ushort flags))</td><td><a class="el" href="classTOutlineViewer.html">TOutlineViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a3">getBounds</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutline.html#a5">getChild</a>(TNode *node, int i)</td><td><a class="el" href="classTOutline.html">TOutline</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a5">getClipRect</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a45">getColor</a>(ushort color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d5">getCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a29">getData</a>(void *rec)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a40">getEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a4">getExtent</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutlineViewer.html#a6">getGraph</a>(int level, long lines, ushort flags)</td><td><a class="el" href="classTOutlineViewer.html">TOutlineViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a15">getHelpCtx</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutlineViewer.html#a8">getNode</a>(int i)</td><td><a class="el" href="classTOutlineViewer.html">TOutlineViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutline.html#a4">getNumChildren</a>(TNode *node)</td><td><a class="el" href="classTOutline.html">TOutline</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutlineViewer.html#a9">getPalette</a>() const</td><td><a class="el" href="classTOutlineViewer.html">TOutlineViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutline.html#a3">getRoot</a>()</td><td><a class="el" href="classTOutline.html">TOutline</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a48">getState</a>(ushort aState)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutline.html#a6">getText</a>(TNode *node)</td><td><a class="el" href="classTOutline.html">TOutline</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutlineViewer.html#p0">graphChars</a></td><td><a class="el" href="classTOutlineViewer.html">TOutlineViewer</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m7">growMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a12">growTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutlineViewer.html#a12">handleEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTOutlineViewer.html">TOutlineViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutline.html#a8">hasChildren</a>(TNode *node)</td><td><a class="el" href="classTOutline.html">TOutline</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m9">helpCtx</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a17">hide</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a23">hideCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#n2">hScrollBar</a></td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutline.html#a7">isExpanded</a>(TNode *node)</td><td><a class="el" href="classTOutline.html">TOutline</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutlineViewer.html#a15">isSelected</a>(int i)</td><td><a class="el" href="classTOutlineViewer.html">TOutlineViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a51">keyEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>leaveSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#n4">limit</a></td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a8">locate</a>(TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a58">makeFirst</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a53">makeGlobal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a54">makeLocal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a47">mapColor</a>(uchar)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a52">mouseEvent</a>(TEvent &amp;event, ushort mask)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a6">mouseInView</a>(TPoint mouse)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a13">moveTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutline.html#p0">name</a></td><td><a class="el" href="classTOutline.html">TOutline</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m0">next</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a55">nextView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a33">normalCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>normalSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m2">options</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m5">origin</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m10">owner</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s6">phaseType</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phFocused</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPostProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPreProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a57">prev</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a56">prevView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a42">putEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a59">putInFrontOf</a>(TView *Target)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutline.html#b1">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTOutline.html">TOutline</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutline.html#b3">readNode</a>(ipstream &amp;)</td><td><a class="el" href="classTOutline.html">TOutline</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a34">resetCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutline.html#m0">root</a></td><td><a class="el" href="classTOutline.html">TOutline</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#a4">scrollDraw</a>()</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#a5">scrollTo</a>(int x, int y)</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a49">select</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutlineViewer.html#a16">selected</a>(int i)</td><td><a class="el" href="classTOutlineViewer.html">TOutlineViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s7">selectMode</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a14">setBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d7">setCmdState</a>(TCommandSet &amp;commands, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d6">setCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a35">setCursor</a>(int x, int y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a30">setData</a>(void *rec)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#a6">setLimit</a>(int x, int y)</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutlineViewer.html#a17">setState</a>(ushort aState, Boolean enable)</td><td><a class="el" href="classTOutlineViewer.html">TOutlineViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a18">show</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a36">showCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p2">showMarkers</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#a9">shutDown</a>()</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m1">size</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a2">sizeLimits</a>(TPoint &amp;min, TPoint &amp;max)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m4">state</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a60">TopView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutline.html#a0">TOutline</a>(const TRect &amp;bounds, TScrollBar *aHScrollBar, TScrollBar *aVScrollBar, TNode *aRoot)</td><td><a class="el" href="classTOutline.html">TOutline</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutline.html#b4">TOutline</a>(StreamableInit)</td><td><a class="el" href="classTOutline.html">TOutline</a></td><td><code> [inline, protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutlineViewer.html#a0">TOutlineViewer</a>(const TRect &amp;bounds, TScrollBar *aHScrollBar, TScrollBar *aVScrollBar)</td><td><a class="el" href="classTOutlineViewer.html">TOutlineViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutlineViewer.html#a1">TOutlineViewer</a>(StreamableInit s)</td><td><a class="el" href="classTOutlineViewer.html">TOutlineViewer</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#a0">TScroller</a>(const TRect &amp;bounds, TScrollBar *aHScrollBar, TScrollBar *aVScrollBar)</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#b0">TScroller</a>(StreamableInit)</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a0">TView</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#b0">TView</a>(StreamableInit)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutlineViewer.html#a18">update</a>()</td><td><a class="el" href="classTOutlineViewer.html">TOutlineViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a16">valid</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#n3">vScrollBar</a></td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutline.html#b0">write</a>(opstream &amp;os)</td><td><a class="el" href="classTOutline.html">TOutline</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a61">writeBuf</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a62">writeBuf</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a63">writeChar</a>(short x, short y, char c, uchar color, short count)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a64">writeLine</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a65">writeLine</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutline.html#b2">writeNode</a>(TNode *, opstream &amp;)</td><td><a class="el" href="classTOutline.html">TOutline</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a66">writeStr</a>(short x, short y, const char *str, uchar color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutline.html#a1">~TOutline</a>()</td><td><a class="el" href="classTOutline.html">TOutline</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a1">~TView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:16 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTOutline.html b/freebsdtvision/doc/html/classTOutline.html
new file mode 100644
index 0000000..3298c97
--- /dev/null
+++ b/freebsdtvision/doc/html/classTOutline.html
@@ -0,0 +1,621 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TOutline class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TOutline Class Reference</h1>Implements a simple outline viewer.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="outline_8h-source.html">outline.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TOutline:
+<p><center><img src="classTOutline.png" usemap="#TOutline_map" border="0" alt=""></center>
+<map name="TOutline_map">
+<area href="classTOutlineViewer.html" alt="TOutlineViewer" shape="rect" coords="54,168,153,192">
+<area href="classTScroller.html" alt="TScroller" shape="rect" coords="54,112,153,136">
+<area href="classTView.html" alt="TView" shape="rect" coords="54,56,153,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,99,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="109,0,208,24">
+</map>
+<a href="classTOutline-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTOutline.html#a0">TOutline</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;bounds, <a class="el" href="classTScrollBar.html">TScrollBar</a> *aHScrollBar, <a class="el" href="classTScrollBar.html">TScrollBar</a> *aVScrollBar, <a class="el" href="classTNode.html">TNode</a> *aRoot)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTOutline.html#a1">~TOutline</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTOutline.html#a2">adjust</a> (<a class="el" href="classTNode.html">TNode</a> *node, <a class="el" href="ttypes_8h.html#a13">Boolean</a> expand)</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="classTNode.html">TNode</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTOutline.html#a3">getRoot</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual int&nbsp;</td><td valign=bottom><a class="el" href="classTOutline.html#a4">getNumChildren</a> (<a class="el" href="classTNode.html">TNode</a> *node)</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="classTNode.html">TNode</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTOutline.html#a5">getChild</a> (<a class="el" href="classTNode.html">TNode</a> *node, int i)</td></tr>
+<tr><td nowrap align=right valign=top>virtual char *&nbsp;</td><td valign=bottom><a class="el" href="classTOutline.html#a6">getText</a> (<a class="el" href="classTNode.html">TNode</a> *node)</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTOutline.html#a7">isExpanded</a> (<a class="el" href="classTNode.html">TNode</a> *node)</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTOutline.html#a8">hasChildren</a> (<a class="el" href="classTNode.html">TNode</a> *node)</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStreamable.html">TStreamable</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTOutline.html#d0">build</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTNode.html">TNode</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTOutline.html#m0">root</a></td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>const char *const&nbsp;</td><td valign=bottom><a class="el" href="classTOutline.html#p0">name</a></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTOutline.html#b0">write</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void *&nbsp;</td><td valign=bottom><a class="el" href="classTOutline.html#b1">read</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTOutline.html#b2">writeNode</a> (<a class="el" href="classTNode.html">TNode</a> *, <a class="el" href="classopstream.html">opstream</a> &amp;)</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="classTNode.html">TNode</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTOutline.html#b3">readNode</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTOutline.html#b4">TOutline</a> (<a class="el" href="ttypes_8h.html#a14">StreamableInit</a>)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+TOutline implements a simple but useful type of outline viewer.
+<p>
+It assumes that the outline is a linked list of records of type <a class="el" href="classTNode.html">TNode</a>, so each node consists of a text string (<a class="el" href="classTNode.html#m1">TNode::text</a>), a pointer to any child nodes (<a class="el" href="classTNode.html#m2">TNode::childList</a>), and a pointer to the next node at the same level (<a class="el" href="classTNode.html#m0">TNode::next</a>).
+<p>
+
+<p>
+Definition at line <a class="el" href="outline_8h-source.html#l00392">392</a> of file <a class="el" href="outline_8h-source.html">outline.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TOutline::TOutline"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TOutline::TOutline </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>bounds</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTScrollBar.html">TScrollBar</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aHScrollBar</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTScrollBar.html">TScrollBar</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aVScrollBar</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTNode.html">TNode</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aRoot</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructs an outline view by passing `bounds', `aHScrollBar' and `aVScrollBar' to the constructor inherited from <a class="el" href="classTOutlineViewer.html">TOutlineViewer</a>.
+<p>
+Sets root to `aRoot', then calls <a class="el" href="classTOutlineViewer.html#a18">update()</a> to set the scrolling limits of the view based on the data in the outline. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TOutline::~TOutline"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TOutline::~TOutline </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Disposes of the outline view by first disposing of the root node, which recursively disposes of all child nodes, then calling the destructor inherited from <a class="el" href="classTView.html">TView</a>. </td>
+ </tr>
+</table>
+<a name="b4" doxytag="TOutline::TOutline"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TOutline::TOutline </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a14">StreamableInit</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Each streamable class needs a "builder" to allocate the correct memory for its objects together with the initialized virtual table pointers. This is achieved by calling this constructor with an argument of type <a class="el" href="ttypes_8h.html#a14">StreamableInit</a>.
+<p>
+Definition at line <a class="el" href="outline_8h-source.html#l00485">485</a> of file <a class="el" href="outline_8h-source.html">outline.h</a>.
+<p>
+References <a class="el" href="ttypes_8h-source.html#l00062">StreamableInit</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="a2" doxytag="TOutline::adjust"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TOutline::adjust </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTNode.html">TNode</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>node</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>expand</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Sets the expanded field of `node' to the value passed in `expand'. If `expand' is True, this causes the child nodes linked to `node' to be displayed. If `expand' is False, node's child nodes are hidden.
+<p>
+Implements <a class="el" href="classTOutlineViewer.html#a2">TOutlineViewer</a>. </td>
+ </tr>
+</table>
+<a name="d0" doxytag="TOutline::build"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStreamable.html">TStreamable</a>* TOutline::build </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called to create an object in certain stream-reading situations.
+<p>
+Reimplemented from <a class="el" href="classTOutlineViewer.html#d0">TOutlineViewer</a>. </td>
+ </tr>
+</table>
+<a name="a5" doxytag="TOutline::getChild"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="classTNode.html">TNode</a>* TOutline::getChild </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTNode.html">TNode</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>node</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>i</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns a pointer to the i-th child in node's <a class="el" href="classTNode.html#m2">TNode::childList</a>.
+<p>
+Implements <a class="el" href="classTOutlineViewer.html#a5">TOutlineViewer</a>. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="TOutline::getNumChildren"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual int TOutline::getNumChildren </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTNode.html">TNode</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>node</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the number of nodes in node's <a class="el" href="classTNode.html#m2">TNode::childList</a>, or zero if <a class="el" href="classTNode.html#m2">TNode::childList</a> is 0.
+<p>
+Implements <a class="el" href="classTOutlineViewer.html#a7">TOutlineViewer</a>. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="TOutline::getRoot"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="classTNode.html">TNode</a>* TOutline::getRoot </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns root, which points to the top of the list of nodes for the outline.
+<p>
+Implements <a class="el" href="classTOutlineViewer.html#a10">TOutlineViewer</a>. </td>
+ </tr>
+</table>
+<a name="a6" doxytag="TOutline::getText"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual char* TOutline::getText </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTNode.html">TNode</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>node</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the string pointed to by node's <a class="el" href="classTNode.html#m1">TNode::text</a> field.
+<p>
+Implements <a class="el" href="classTOutlineViewer.html#a11">TOutlineViewer</a>. </td>
+ </tr>
+</table>
+<a name="a8" doxytag="TOutline::hasChildren"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a> TOutline::hasChildren </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTNode.html">TNode</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>node</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns True if node's <a class="el" href="classTNode.html#m2">TNode::childList</a> is non-0; otherwise returns False.
+<p>
+Implements <a class="el" href="classTOutlineViewer.html#a13">TOutlineViewer</a>. </td>
+ </tr>
+</table>
+<a name="a7" doxytag="TOutline::isExpanded"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a> TOutline::isExpanded </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTNode.html">TNode</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>node</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the value of node's <a class="el" href="classTNode.html#m3">TNode::expanded</a> field.
+<p>
+Implements <a class="el" href="classTOutlineViewer.html#a14">TOutlineViewer</a>. </td>
+ </tr>
+</table>
+<a name="b1" doxytag="TOutline::read"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void* TOutline::read </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>is</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Reads from the input stream `is'.
+<p>
+Reimplemented from <a class="el" href="classTOutlineViewer.html#b1">TOutlineViewer</a>. </td>
+ </tr>
+</table>
+<a name="b3" doxytag="TOutline::readNode"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="classTNode.html">TNode</a>* TOutline::readNode </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="b0" doxytag="TOutline::write"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TOutline::write </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>os</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Writes to the output stream `os'.
+<p>
+Reimplemented from <a class="el" href="classTOutlineViewer.html#b0">TOutlineViewer</a>. </td>
+ </tr>
+</table>
+<a name="b2" doxytag="TOutline::writeNode"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TOutline::writeNode </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTNode.html">TNode</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="p0" doxytag="TOutline::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* const TOutline::name<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTOutlineViewer.html#p1">TOutlineViewer</a>.
+<p>
+Definition at line <a class="el" href="outline_8h-source.html#l00479">479</a> of file <a class="el" href="outline_8h-source.html">outline.h</a>. </td>
+ </tr>
+</table>
+<a name="m0" doxytag="TOutline::root"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTNode.html">TNode</a>* TOutline::root
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Points to the root node of the outline tree.
+<p>
+Definition at line <a class="el" href="outline_8h-source.html#l00446">446</a> of file <a class="el" href="outline_8h-source.html">outline.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="outline_8h-source.html">outline.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:16 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTOutline.png b/freebsdtvision/doc/html/classTOutline.png
new file mode 100644
index 0000000..7be4e74
--- /dev/null
+++ b/freebsdtvision/doc/html/classTOutline.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTOutlineViewer-members.html b/freebsdtvision/doc/html/classTOutlineViewer-members.html
new file mode 100644
index 0000000..792464e
--- /dev/null
+++ b/freebsdtvision/doc/html/classTOutlineViewer-members.html
@@ -0,0 +1,155 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TOutlineViewer Member List</h1>This is the complete list of members for <a class="el" href="classTOutlineViewer.html">TOutlineViewer</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutlineViewer.html#a2">adjust</a>(TNode *node, Boolean expand)=0</td><td><a class="el" href="classTOutlineViewer.html">TOutlineViewer</a></td><td><code> [pure virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a31">awaken</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a32">blockCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutlineViewer.html#d0">build</a>()</td><td><a class="el" href="classTOutlineViewer.html">TOutlineViewer</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a10">calcBounds</a>(TRect &amp;bounds, TPoint delta)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#a1">changeBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#a8">checkDraw</a>()</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a38">clearEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d0">commandEnabled</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p0">commandSetChanged</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a7">containsMouse</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutlineViewer.html#a22">createGraph</a>(int level, long lines, ushort flags, int levWidth, int endWidth, const char *chars)</td><td><a class="el" href="classTOutlineViewer.html">TOutlineViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p1">curCommandSet</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m6">cursor</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a28">dataSize</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#m0">delta</a></td><td><a class="el" href="classTScroller.html">TScroller</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d3">disableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d1">disableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutlineViewer.html#e0">disposeNode</a>(TNode *node)</td><td><a class="el" href="classTOutlineViewer.html">TOutlineViewer</a></td><td><code> [protected, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m8">dragMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a9">dragView</a>(TEvent &amp;event, uchar mode, TRect &amp;limits, TPoint minSize, TPoint maxSize)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutlineViewer.html#a3">draw</a>()</td><td><a class="el" href="classTOutlineViewer.html">TOutlineViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a37">drawCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#n1">drawFlag</a></td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a24">drawHide</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#n0">drawLock</a></td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a25">drawShow</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a26">drawUnderRect</a>(TRect &amp;r, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a27">drawUnderView</a>(Boolean doShadow, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a20">drawView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d4">enableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d2">enableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a43">endModal</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>enterSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p3">errorAttr</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a39">eventAvail</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m3">eventMask</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a44">execute</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutlineViewer.html#a19">expandAll</a>(TNode *node)</td><td><a class="el" href="classTOutlineViewer.html">TOutlineViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a21">exposed</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutlineViewer.html#a20">firstThat</a>(Boolean(*test)(TOutlineViewer *ov, TNode *node, int level, int position, long lines, ushort flags))</td><td><a class="el" href="classTOutlineViewer.html">TOutlineViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutlineViewer.html#m0">foc</a></td><td><a class="el" href="classTOutlineViewer.html">TOutlineViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a22">focus</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutlineViewer.html#a4">focused</a>(int i)</td><td><a class="el" href="classTOutlineViewer.html">TOutlineViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutlineViewer.html#a21">forEach</a>(Boolean(*action)(TOutlineViewer *ov, TNode *cur, int level, int position, long lines, ushort flags))</td><td><a class="el" href="classTOutlineViewer.html">TOutlineViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a3">getBounds</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutlineViewer.html#a5">getChild</a>(TNode *node, int i)=0</td><td><a class="el" href="classTOutlineViewer.html">TOutlineViewer</a></td><td><code> [pure virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a5">getClipRect</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a45">getColor</a>(ushort color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d5">getCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a29">getData</a>(void *rec)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a40">getEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a4">getExtent</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutlineViewer.html#a6">getGraph</a>(int level, long lines, ushort flags)</td><td><a class="el" href="classTOutlineViewer.html">TOutlineViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a15">getHelpCtx</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutlineViewer.html#a8">getNode</a>(int i)</td><td><a class="el" href="classTOutlineViewer.html">TOutlineViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutlineViewer.html#a7">getNumChildren</a>(TNode *node)=0</td><td><a class="el" href="classTOutlineViewer.html">TOutlineViewer</a></td><td><code> [pure virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutlineViewer.html#a9">getPalette</a>() const</td><td><a class="el" href="classTOutlineViewer.html">TOutlineViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutlineViewer.html#a10">getRoot</a>()=0</td><td><a class="el" href="classTOutlineViewer.html">TOutlineViewer</a></td><td><code> [pure virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a48">getState</a>(ushort aState)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutlineViewer.html#a11">getText</a>(TNode *node)=0</td><td><a class="el" href="classTOutlineViewer.html">TOutlineViewer</a></td><td><code> [pure virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutlineViewer.html#p0">graphChars</a></td><td><a class="el" href="classTOutlineViewer.html">TOutlineViewer</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m7">growMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a12">growTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutlineViewer.html#a12">handleEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTOutlineViewer.html">TOutlineViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutlineViewer.html#a13">hasChildren</a>(TNode *node)=0</td><td><a class="el" href="classTOutlineViewer.html">TOutlineViewer</a></td><td><code> [pure virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m9">helpCtx</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a17">hide</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a23">hideCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#n2">hScrollBar</a></td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutlineViewer.html#a14">isExpanded</a>(TNode *node)=0</td><td><a class="el" href="classTOutlineViewer.html">TOutlineViewer</a></td><td><code> [pure virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutlineViewer.html#a15">isSelected</a>(int i)</td><td><a class="el" href="classTOutlineViewer.html">TOutlineViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a51">keyEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>leaveSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#n4">limit</a></td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a8">locate</a>(TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a58">makeFirst</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a53">makeGlobal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a54">makeLocal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a47">mapColor</a>(uchar)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a52">mouseEvent</a>(TEvent &amp;event, ushort mask)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a6">mouseInView</a>(TPoint mouse)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a13">moveTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutlineViewer.html#p1">name</a></td><td><a class="el" href="classTOutlineViewer.html">TOutlineViewer</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m0">next</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a55">nextView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a33">normalCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>normalSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m2">options</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m5">origin</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m10">owner</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s6">phaseType</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phFocused</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPostProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPreProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a57">prev</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a56">prevView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a42">putEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a59">putInFrontOf</a>(TView *Target)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutlineViewer.html#b1">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTOutlineViewer.html">TOutlineViewer</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a34">resetCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#a4">scrollDraw</a>()</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#a5">scrollTo</a>(int x, int y)</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a49">select</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutlineViewer.html#a16">selected</a>(int i)</td><td><a class="el" href="classTOutlineViewer.html">TOutlineViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s7">selectMode</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a14">setBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d7">setCmdState</a>(TCommandSet &amp;commands, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d6">setCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a35">setCursor</a>(int x, int y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a30">setData</a>(void *rec)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#a6">setLimit</a>(int x, int y)</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutlineViewer.html#a17">setState</a>(ushort aState, Boolean enable)</td><td><a class="el" href="classTOutlineViewer.html">TOutlineViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a18">show</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a36">showCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p2">showMarkers</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#a9">shutDown</a>()</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m1">size</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a2">sizeLimits</a>(TPoint &amp;min, TPoint &amp;max)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m4">state</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a60">TopView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutlineViewer.html#a0">TOutlineViewer</a>(const TRect &amp;bounds, TScrollBar *aHScrollBar, TScrollBar *aVScrollBar)</td><td><a class="el" href="classTOutlineViewer.html">TOutlineViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutlineViewer.html#a1">TOutlineViewer</a>(StreamableInit s)</td><td><a class="el" href="classTOutlineViewer.html">TOutlineViewer</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#a0">TScroller</a>(const TRect &amp;bounds, TScrollBar *aHScrollBar, TScrollBar *aVScrollBar)</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#b0">TScroller</a>(StreamableInit)</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a0">TView</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#b0">TView</a>(StreamableInit)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutlineViewer.html#a18">update</a>()</td><td><a class="el" href="classTOutlineViewer.html">TOutlineViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a16">valid</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#n3">vScrollBar</a></td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTOutlineViewer.html#b0">write</a>(opstream &amp;os)</td><td><a class="el" href="classTOutlineViewer.html">TOutlineViewer</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a61">writeBuf</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a62">writeBuf</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a63">writeChar</a>(short x, short y, char c, uchar color, short count)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a64">writeLine</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a65">writeLine</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a66">writeStr</a>(short x, short y, const char *str, uchar color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a1">~TView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:16 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTOutlineViewer.html b/freebsdtvision/doc/html/classTOutlineViewer.html
new file mode 100644
index 0000000..14f8b2a
--- /dev/null
+++ b/freebsdtvision/doc/html/classTOutlineViewer.html
@@ -0,0 +1,1106 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TOutlineViewer class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TOutlineViewer Class Reference</h1>Implements an outline viewer.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="outline_8h-source.html">outline.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TOutlineViewer:
+<p><center><img src="classTOutlineViewer.png" usemap="#TOutlineViewer_map" border="0" alt=""></center>
+<map name="TOutlineViewer_map">
+<area href="classTScroller.html" alt="TScroller" shape="rect" coords="54,112,153,136">
+<area href="classTView.html" alt="TView" shape="rect" coords="54,56,153,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,99,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="109,0,208,24">
+<area href="classTOutline.html" alt="TOutline" shape="rect" coords="54,224,153,248">
+</map>
+<a href="classTOutlineViewer-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTOutlineViewer.html#a0">TOutlineViewer</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;bounds, <a class="el" href="classTScrollBar.html">TScrollBar</a> *aHScrollBar, <a class="el" href="classTScrollBar.html">TScrollBar</a> *aVScrollBar)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTOutlineViewer.html#a1">TOutlineViewer</a> (<a class="el" href="ttypes_8h.html#a14">StreamableInit</a> s)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTOutlineViewer.html#a2">adjust</a> (<a class="el" href="classTNode.html">TNode</a> *node, <a class="el" href="ttypes_8h.html#a13">Boolean</a> expand)=0</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTOutlineViewer.html#a3">draw</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTOutlineViewer.html#a4">focused</a> (int i)</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="classTNode.html">TNode</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTOutlineViewer.html#a5">getChild</a> (<a class="el" href="classTNode.html">TNode</a> *node, int i)=0</td></tr>
+<tr><td nowrap align=right valign=top>virtual char *&nbsp;</td><td valign=bottom><a class="el" href="classTOutlineViewer.html#a6">getGraph</a> (int level, long lines, <a class="el" href="ttypes_8h.html#a0">ushort</a> flags)</td></tr>
+<tr><td nowrap align=right valign=top>virtual int&nbsp;</td><td valign=bottom><a class="el" href="classTOutlineViewer.html#a7">getNumChildren</a> (<a class="el" href="classTNode.html">TNode</a> *node)=0</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="classTNode.html">TNode</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTOutlineViewer.html#a8">getNode</a> (int i)</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="classTPalette.html">TPalette</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="classTOutlineViewer.html#a9">getPalette</a> () const</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="classTNode.html">TNode</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTOutlineViewer.html#a10">getRoot</a> ()=0</td></tr>
+<tr><td nowrap align=right valign=top>virtual char *&nbsp;</td><td valign=bottom><a class="el" href="classTOutlineViewer.html#a11">getText</a> (<a class="el" href="classTNode.html">TNode</a> *node)=0</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTOutlineViewer.html#a12">handleEvent</a> (<a class="el" href="structTEvent.html">TEvent</a> &amp;event)</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTOutlineViewer.html#a13">hasChildren</a> (<a class="el" href="classTNode.html">TNode</a> *node)=0</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTOutlineViewer.html#a14">isExpanded</a> (<a class="el" href="classTNode.html">TNode</a> *node)=0</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTOutlineViewer.html#a15">isSelected</a> (int i)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTOutlineViewer.html#a16">selected</a> (int i)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTOutlineViewer.html#a17">setState</a> (<a class="el" href="ttypes_8h.html#a0">ushort</a> aState, <a class="el" href="ttypes_8h.html#a13">Boolean</a> enable)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTOutlineViewer.html#a18">update</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTOutlineViewer.html#a19">expandAll</a> (<a class="el" href="classTNode.html">TNode</a> *node)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTNode.html">TNode</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTOutlineViewer.html#a20">firstThat</a> (<a class="el" href="ttypes_8h.html#a13">Boolean</a>(*test)(TOutlineViewer *ov, <a class="el" href="classTNode.html">TNode</a> *node, int level, int position, long lines, <a class="el" href="ttypes_8h.html#a0">ushort</a> flags))</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTNode.html">TNode</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTOutlineViewer.html#a21">forEach</a> (<a class="el" href="ttypes_8h.html#a13">Boolean</a>(*action)(TOutlineViewer *ov, <a class="el" href="classTNode.html">TNode</a> *cur, int level, int position, long lines, <a class="el" href="ttypes_8h.html#a0">ushort</a> flags))</td></tr>
+<tr><td nowrap align=right valign=top>char *&nbsp;</td><td valign=bottom><a class="el" href="classTOutlineViewer.html#a22">createGraph</a> (int level, long lines, <a class="el" href="ttypes_8h.html#a0">ushort</a> flags, int levWidth, int endWidth, const char *chars)</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStreamable.html">TStreamable</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTOutlineViewer.html#d0">build</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classTOutlineViewer.html#m0">foc</a></td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>const char *&nbsp;</td><td valign=bottom><a class="el" href="classTOutlineViewer.html#p0">graphChars</a></td></tr>
+<tr><td nowrap align=right valign=top>const char *const&nbsp;</td><td valign=bottom><a class="el" href="classTOutlineViewer.html#p1">name</a></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTOutlineViewer.html#b0">write</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void *&nbsp;</td><td valign=bottom><a class="el" href="classTOutlineViewer.html#b1">read</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is)</td></tr>
+<tr><td colspan=2><br><h2>Static Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTOutlineViewer.html#e0">disposeNode</a> (<a class="el" href="classTNode.html">TNode</a> *node)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+The outline viewer object type provides the abstract methods for displaying, expanding, and iterating the items in an outline.
+<p>
+TOutlineViewer, however, makes no assumptions about the actual items in the outline. Descendants of TOutlineViewer, such as <a class="el" href="classTOutline.html">TOutline</a>, display outlines of specific kinds of items.
+<p>
+
+<p>
+Definition at line <a class="el" href="outline_8h-source.html#l00112">112</a> of file <a class="el" href="outline_8h-source.html">outline.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TOutlineViewer::TOutlineViewer"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TOutlineViewer::TOutlineViewer </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>bounds</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTScrollBar.html">TScrollBar</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aHScrollBar</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTScrollBar.html">TScrollBar</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aVScrollBar</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructs an outline viewer object by first calling the constructor inherited from <a class="el" href="classTScroller.html">TScroller</a>, passing `bounds', `aHScrollBar' and `aVScrollBar'. Sets <a class="el" href="classTView.html#m7">growMode</a> to <a class="el" href="views_8h.html#a52">gfGrowHiX</a> + <a class="el" href="views_8h.html#a53">gfGrowHiY</a> and sets foc data member to zero. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TOutlineViewer::TOutlineViewer"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TOutlineViewer::TOutlineViewer </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a14">StreamableInit</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>s</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Each streamable class needs a "builder" to allocate the correct memory for its objects together with the initialized virtual table pointers. This is achieved by calling this constructor with an argument of type <a class="el" href="ttypes_8h.html#a14">StreamableInit</a>.
+<p>
+Definition at line <a class="el" href="outline_8h-source.html#l00359">359</a> of file <a class="el" href="outline_8h-source.html">outline.h</a>.
+<p>
+References <a class="el" href="ttypes_8h-source.html#l00062">StreamableInit</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="a2" doxytag="TOutlineViewer::adjust"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TOutlineViewer::adjust </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTNode.html">TNode</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>node</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>expand</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [pure virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<a class="el" href="classTOutlineViewer.html#a2">adjust()</a> is an abstract method that descendant outline viewer types must override to show the child nodes of `node' if `expand' is True, or hide them if `expand' is False. Called when the user expands or collapses `node'. If <a class="el" href="classTOutlineViewer.html#a13">hasChildren()</a> returns False for `node', <a class="el" href="classTOutlineViewer.html#a2">adjust()</a> will never be called for that node.
+<p>
+Implemented in <a class="el" href="classTOutline.html#a2">TOutline</a>. </td>
+ </tr>
+</table>
+<a name="d0" doxytag="TOutlineViewer::build"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStreamable.html">TStreamable</a>* TOutlineViewer::build </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called to create an object in certain stream-reading situations.
+<p>
+Reimplemented from <a class="el" href="classTScroller.html#d0">TScroller</a>.
+<p>
+Reimplemented in <a class="el" href="classTOutline.html#d0">TOutline</a>. </td>
+ </tr>
+</table>
+<a name="a22" doxytag="TOutlineViewer::createGraph"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> char* TOutlineViewer::createGraph </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>level</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>long&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>lines</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>flags</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>levWidth</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>endWidth</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>const char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>chars</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="e0" doxytag="TOutlineViewer::disposeNode"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TOutlineViewer::disposeNode </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTNode.html">TNode</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>node</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static, protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="TOutlineViewer::draw"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TOutlineViewer::draw </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called to draw the outline view. Essentially, <a class="el" href="classTOutlineViewer.html#a3">draw()</a> calls <a class="el" href="classTOutlineViewer.html#a6">getGraph()</a> to get the graphical part of the outline, then appends the string returned from <a class="el" href="classTOutlineViewer.html#a11">getText()</a>. The line containing the focused node in the outline displays in a distinct color. Nodes whose child nodes are not displayed are highlighted.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a19">TView</a>. </td>
+ </tr>
+</table>
+<a name="a19" doxytag="TOutlineViewer::expandAll"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TOutlineViewer::expandAll </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTNode.html">TNode</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>node</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+If `node' has child nodes, <a class="el" href="classTOutlineViewer.html#a19">expandAll()</a> recursively expands `node' by calling <a class="el" href="classTOutlineViewer.html#a2">adjust()</a> with the expand parameter True, then expands all its child nodes by calling <a class="el" href="classTOutlineViewer.html#a19">expandAll()</a> for each of them. </td>
+ </tr>
+</table>
+<a name="a20" doxytag="TOutlineViewer::firstThat"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTNode.html">TNode</a>* TOutlineViewer::firstThat </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a13">Boolean</a>(*&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>test</em>)(TOutlineViewer *ov, <a class="el" href="classTNode.html">TNode</a> *node, int level, int position, long lines, <a class="el" href="ttypes_8h.html#a0">ushort</a> flags) </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<a class="el" href="classTOutlineViewer.html#a20">firstThat()</a> iterates over the nodes of the outline, calling the function pointed to by `test' until `test' returns True. `test' must point to a function with the following syntax:
+<p>
+<pre>
+ Boolean myIter(TOutlineViewer* ov, <a class="el" href="classTNode.html">TNode</a>* cur, int level, int position,
+ long lines, ushort flags);
+ </pre>
+<p>
+The parameters are documented in <a class="el" href="classTOutlineViewer.html#a21">forEach()</a>. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="TOutlineViewer::focused"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TOutlineViewer::focused </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>i</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called whenever a node receives focus. The `i' parameter indicates the position of the newly focused node in the outline. By default, <a class="el" href="classTOutlineViewer.html#a4">focused()</a> just sets foc data member to `i'. </td>
+ </tr>
+</table>
+<a name="a21" doxytag="TOutlineViewer::forEach"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTNode.html">TNode</a>* TOutlineViewer::forEach </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a13">Boolean</a>(*&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>action</em>)(TOutlineViewer *ov, <a class="el" href="classTNode.html">TNode</a> *cur, int level, int position, long lines, <a class="el" href="ttypes_8h.html#a0">ushort</a> flags) </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Iterates over all the nodes. `action' points to a function that <a class="el" href="classTOutlineViewer.html#a21">forEach()</a> calls for each node in the outline. The syntax for the iterator function is as follows:
+<p>
+<pre>
+ Boolean myIter(TOutlineViewer* ov, <a class="el" href="classTNode.html">TNode</a>* cur, int level, int position,
+ long lines, ushort flags);
+ </pre>
+<p>
+The parameters are as follows:
+<p>
+<pre>
+ Name Description
+
+ cur A pointer to the node being checked.
+
+ level The level of the node (how many nodes are above it),
+ zero-based. This can be used to a call to either
+ <a class="el" href="classTOutlineViewer.html#a6">getGraph()</a> or <a class="el" href="classTOutlineViewer.html#a22">createGraph()</a>.
+
+ position The display order position of the node in the list. This can
+ be used in a call to <a class="el" href="classTOutlineViewer.html#a4">focused()</a> or <a class="el" href="classTOutlineViewer.html#a16">selected()</a>. If in
+ range, position - delta.Y is location the node is displayed
+ on the view.
+
+ lines Bits indicating the active levels. This can be used in a call
+ to <a class="el" href="classTOutlineViewer.html#a6">getGraph()</a> or <a class="el" href="classTOutlineViewer.html#a22">createGraph()</a>. It dicatates which
+ horizontal lines need to be drawn.
+
+ flags Various flags for drawing. Can be used in a call to
+ <a class="el" href="classTOutlineViewer.html#a6">getGraph()</a> or <a class="el" href="classTOutlineViewer.html#a22">createGraph()</a>.
+ </pre> <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTOutlineViewer.html#a20">TOutlineViewer::firstThat</a> </dl> </td>
+ </tr>
+</table>
+<a name="a5" doxytag="TOutlineViewer::getChild"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="classTNode.html">TNode</a>* TOutlineViewer::getChild </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTNode.html">TNode</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>node</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>i</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [pure virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<a class="el" href="classTOutlineViewer.html#a5">getChild()</a> is an abstract method (pure virtual) that descendant outline viewer types must override to return a pointer to the i-th child of the given `node'. If <a class="el" href="classTOutlineViewer.html#a13">hasChildren()</a> returns False, indicating that `node' has no child nodes, <a class="el" href="classTOutlineViewer.html#a5">getChild()</a> will not be called for that node. You can safely assume that when an outline viewer calls <a class="el" href="classTOutlineViewer.html#a5">getChild()</a>, the given node has at least `i' child nodes.
+<p>
+Implemented in <a class="el" href="classTOutline.html#a5">TOutline</a>. </td>
+ </tr>
+</table>
+<a name="a6" doxytag="TOutlineViewer::getGraph"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual char* TOutlineViewer::getGraph </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>level</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>long&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>lines</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>flags</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns a string of graphics characters to display to the left of the text returned by <a class="el" href="classTOutlineViewer.html#a11">getText()</a>. By default, <a class="el" href="classTOutlineViewer.html#a6">getGraph()</a> calls <a class="el" href="classTOutlineViewer.html#a22">createGraph()</a> with the default character values. You only need to override <a class="el" href="classTOutlineViewer.html#a6">getGraph()</a> if you want to change the appearance of the outline. For example, instead of calling <a class="el" href="classTOutlineViewer.html#a22">createGraph()</a> to show the hierarchy, you might return a string of characters to merely indent the text by a given amount for each level. </td>
+ </tr>
+</table>
+<a name="a8" doxytag="TOutlineViewer::getNode"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="classTNode.html">TNode</a>* TOutlineViewer::getNode </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>i</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns a pointer to the i-th node in the outline; that is, the node shown `i' lines from the top of the complete outline. </td>
+ </tr>
+</table>
+<a name="a7" doxytag="TOutlineViewer::getNumChildren"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual int TOutlineViewer::getNumChildren </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTNode.html">TNode</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>node</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [pure virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<a class="el" href="classTOutlineViewer.html#a7">getNumChildren()</a> is an abstract method (pure virtual) that descendant outline viewer types must override to return the number of child nodes in `node'. If <a class="el" href="classTOutlineViewer.html#a13">hasChildren()</a> returns False for `node', <a class="el" href="classTOutlineViewer.html#a7">getNumChildren()</a> will never be called.
+<p>
+Implemented in <a class="el" href="classTOutline.html#a4">TOutline</a>. </td>
+ </tr>
+</table>
+<a name="a9" doxytag="TOutlineViewer::getPalette"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="classTPalette.html">TPalette</a>&amp; TOutlineViewer::getPalette </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns a reference to the default outline palette.
+<p>
+Reimplemented from <a class="el" href="classTScroller.html#a2">TScroller</a>. </td>
+ </tr>
+</table>
+<a name="a10" doxytag="TOutlineViewer::getRoot"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="classTNode.html">TNode</a>* TOutlineViewer::getRoot </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [pure virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<a class="el" href="classTOutlineViewer.html#a10">getRoot()</a> is an abstract method that descendant outline viewer types must override to return a pointer to the root node of the outline.
+<p>
+Implemented in <a class="el" href="classTOutline.html#a3">TOutline</a>. </td>
+ </tr>
+</table>
+<a name="a11" doxytag="TOutlineViewer::getText"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual char* TOutlineViewer::getText </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTNode.html">TNode</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>node</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [pure virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<a class="el" href="classTOutlineViewer.html#a11">getText()</a> is an abstract method (pure virtual) that descendant outline viewer types must override to return the text of `node'.
+<p>
+Implemented in <a class="el" href="classTOutline.html#a6">TOutline</a>. </td>
+ </tr>
+</table>
+<a name="a12" doxytag="TOutlineViewer::handleEvent"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TOutlineViewer::handleEvent </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="structTEvent.html">TEvent</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>event</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Handles most events for the outline viewer by calling the <a class="el" href="classTOutlineViewer.html#a12">handleEvent()</a> method inherited from <a class="el" href="classTScroller.html">TScroller</a>, then handles certain mouse and keyboard events. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTScroller.html#a3">TScroller::handleEvent</a> </dl>
+<p>
+Reimplemented from <a class="el" href="classTScroller.html#a3">TScroller</a>. </td>
+ </tr>
+</table>
+<a name="a13" doxytag="TOutlineViewer::hasChildren"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a> TOutlineViewer::hasChildren </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTNode.html">TNode</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>node</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [pure virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<a class="el" href="classTOutlineViewer.html#a13">hasChildren()</a> is an abstract method (pure virtual) that descendant outline viewers must override to return True if the given `node' has child nodes and False if `node' has no child nodes.
+<p>
+If <a class="el" href="classTOutlineViewer.html#a13">hasChildren()</a> returns False for a particular node, the following functions are never called for that node: <a class="el" href="classTOutlineViewer.html#a2">adjust()</a>, <a class="el" href="classTOutlineViewer.html#a19">expandAll()</a>, <a class="el" href="classTOutlineViewer.html#a5">getChild()</a>, <a class="el" href="classTOutlineViewer.html#a7">getNumChildren()</a> and <a class="el" href="classTOutlineViewer.html#a14">isExpanded()</a>. Those methods can assume that if they are called, there are child nodes for them to act on.
+<p>
+Implemented in <a class="el" href="classTOutline.html#a8">TOutline</a>. </td>
+ </tr>
+</table>
+<a name="a14" doxytag="TOutlineViewer::isExpanded"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a> TOutlineViewer::isExpanded </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTNode.html">TNode</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>node</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [pure virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<a class="el" href="classTOutlineViewer.html#a14">isExpanded()</a> is an abstract method (pure virtual) that descendant outline viewer types must override to return True if node's child nodes should be displayed. If <a class="el" href="classTOutlineViewer.html#a13">hasChildren()</a> returns False for `node', <a class="el" href="classTOutlineViewer.html#a14">isExpanded()</a> will never be called for that node.
+<p>
+Implemented in <a class="el" href="classTOutline.html#a7">TOutline</a>. </td>
+ </tr>
+</table>
+<a name="a15" doxytag="TOutlineViewer::isSelected"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a> TOutlineViewer::isSelected </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>i</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns True if node `i' is selected. By default, TOutlineViewer assumes a single-selection outline, so it returns True if that node is focused. You can override <a class="el" href="classTOutlineViewer.html#a15">isSelected()</a> to handle multiple selections. </td>
+ </tr>
+</table>
+<a name="b1" doxytag="TOutlineViewer::read"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void* TOutlineViewer::read </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>is</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Reads from the input stream `is'.
+<p>
+Reimplemented from <a class="el" href="classTScroller.html#b2">TScroller</a>.
+<p>
+Reimplemented in <a class="el" href="classTOutline.html#b1">TOutline</a>. </td>
+ </tr>
+</table>
+<a name="a16" doxytag="TOutlineViewer::selected"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TOutlineViewer::selected </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>i</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called whenever a node is selected by the user, either by keyboard control or by the mouse. The `i' parameter indicates the position in the outline of the newly selected node. By default, <a class="el" href="classTOutlineViewer.html#a16">selected()</a> does nothing; descendant types can override <a class="el" href="classTOutlineViewer.html#a16">selected()</a> to perform some action in response to selection. </td>
+ </tr>
+</table>
+<a name="a17" doxytag="TOutlineViewer::setState"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TOutlineViewer::setState </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aState</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>enable</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Sets or clears the `aState' state flags for the view by calling the <a class="el" href="classTOutlineViewer.html#a17">setState()</a> method inherited from <a class="el" href="classTScroller.html">TScroller</a>. If the new state includes a focus change, <a class="el" href="classTOutlineViewer.html#a17">setState()</a> calls <a class="el" href="classTView.html#a20">drawView()</a> to redraw the outline. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTScroller.html#a7">TScroller::setState</a> </dl>
+<p>
+Reimplemented from <a class="el" href="classTScroller.html#a7">TScroller</a>. </td>
+ </tr>
+</table>
+<a name="a18" doxytag="TOutlineViewer::update"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TOutlineViewer::update </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Updates the limits of the outline viewer. The limit in the vertical direction is number of nodes in the outline. The limit in the horizontal direction is the length of the longest displayed line.
+<p>
+Your program should call <a class="el" href="classTOutlineViewer.html#a18">update()</a> whenever the data in the outline changes. TOutlineViewer assumes that the outline is empty, so if the outline becomes non-empty during initialization, you must explicitly call <a class="el" href="classTOutlineViewer.html#a18">update()</a>.
+<p>
+Also, if during the operation of the outline viewer the data being displayed change, you must call <a class="el" href="classTOutlineViewer.html#a18">update()</a> and the inherited <a class="el" href="classTView.html#a20">drawView()</a>. </td>
+ </tr>
+</table>
+<a name="b0" doxytag="TOutlineViewer::write"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TOutlineViewer::write </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>os</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Writes to the output stream `os'.
+<p>
+Reimplemented from <a class="el" href="classTScroller.html#b1">TScroller</a>.
+<p>
+Reimplemented in <a class="el" href="classTOutline.html#b0">TOutline</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="m0" doxytag="TOutlineViewer::foc"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> int TOutlineViewer::foc
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Indicates the item number of the focused node in the outline.
+<p>
+Definition at line <a class="el" href="outline_8h-source.html#l00326">326</a> of file <a class="el" href="outline_8h-source.html">outline.h</a>. </td>
+ </tr>
+</table>
+<a name="p0" doxytag="TOutlineViewer::graphChars"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* TOutlineViewer::graphChars<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="outline_8h-source.html#l00330">330</a> of file <a class="el" href="outline_8h-source.html">outline.h</a>. </td>
+ </tr>
+</table>
+<a name="p1" doxytag="TOutlineViewer::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* const TOutlineViewer::name<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTScroller.html#p0">TScroller</a>.
+<p>
+Reimplemented in <a class="el" href="classTOutline.html#p0">TOutline</a>.
+<p>
+Definition at line <a class="el" href="outline_8h-source.html#l00352">352</a> of file <a class="el" href="outline_8h-source.html">outline.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="outline_8h-source.html">outline.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:16 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTOutlineViewer.png b/freebsdtvision/doc/html/classTOutlineViewer.png
new file mode 100644
index 0000000..c571385
--- /dev/null
+++ b/freebsdtvision/doc/html/classTOutlineViewer.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTPReadObjects-members.html b/freebsdtvision/doc/html/classTPReadObjects-members.html
new file mode 100644
index 0000000..a286e66
--- /dev/null
+++ b/freebsdtvision/doc/html/classTPReadObjects-members.html
@@ -0,0 +1,45 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TPReadObjects Member List</h1>This is the complete list of members for <a class="el" href="classTPReadObjects.html">TPReadObjects</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a3">at</a>(ccIndex index)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a5">atFree</a>(ccIndex index)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a11">atInsert</a>(ccIndex index, void *item)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a12">atPut</a>(ccIndex index, void *item)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a6">atRemove</a>(ccIndex index)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#n1">count</a></td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#n3">delta</a></td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a14">error</a>(ccIndex code, ccIndex info)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#d0">error</a>(ccIndex code, ccIndex info)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a15">firstThat</a>(ccTestFunc Test, void *arg)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a17">forEach</a>(ccAppFunc action, void *arg)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a9">free</a>(void *item)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a10">freeAll</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a20">getCount</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a4">indexOf</a>(void *item)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a13">insert</a>(void *item)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#n0">items</a></td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a16">lastThat</a>(ccTestFunc Test, void *arg)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#n2">limit</a></td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a18">pack</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a7">remove</a>(void *item)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTPReadObjects.html#a0">removeAll</a>()</td><td><a class="el" href="classTPReadObjects.html">TPReadObjects</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a19">setLimit</a>(ccIndex aLimit)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#n4">shouldDelete</a></td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a2">shutDown</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a0">TNSCollection</a>(ccIndex aLimit, ccIndex aDelta)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#b0">TNSCollection</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a1">~TNSCollection</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:16 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTPReadObjects.html b/freebsdtvision/doc/html/classTPReadObjects.html
new file mode 100644
index 0000000..ef0a40e
--- /dev/null
+++ b/freebsdtvision/doc/html/classTPReadObjects.html
@@ -0,0 +1,72 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TPReadObjects class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TPReadObjects Class Reference</h1>Maintains a database of all objects that have been read from the current object stream.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="tobjstrm_8h-source.html">tobjstrm.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TPReadObjects:
+<p><center><img src="classTPReadObjects.png" usemap="#TPReadObjects_map" border="0" alt=""></center>
+<map name="TPReadObjects_map">
+<area href="classTNSCollection.html" alt="TNSCollection" shape="rect" coords="0,56,99,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,99,24">
+</map>
+<a href="classTPReadObjects-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTPReadObjects.html#a0">removeAll</a> ()</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+TPReadObjects maintains a database of all objects that have been read from the current object stream. This is used by ipstream when it reads a pointer from a stream to determine if other addresses for that objects exist.
+<p>
+
+<p>
+Definition at line <a class="el" href="tobjstrm_8h-source.html#l00376">376</a> of file <a class="el" href="tobjstrm_8h-source.html">tobjstrm.h</a>.<hr><h2>Member Function Documentation</h2>
+<a name="a0" doxytag="TPReadObjects::removeAll"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TPReadObjects::removeAll </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTNSCollection.html#a8">TNSCollection</a>.
+<p>
+Definition at line <a class="el" href="tobjstrm_8h-source.html#l00383">383</a> of file <a class="el" href="tobjstrm_8h-source.html">tobjstrm.h</a>.
+<p>
+References <a class="el" href="classTNSCollection.html#a8">TNSCollection::removeAll()</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="tobjstrm_8h-source.html">tobjstrm.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:16 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTPReadObjects.png b/freebsdtvision/doc/html/classTPReadObjects.png
new file mode 100644
index 0000000..c43d698
--- /dev/null
+++ b/freebsdtvision/doc/html/classTPReadObjects.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTPWObj-members.html b/freebsdtvision/doc/html/classTPWObj-members.html
new file mode 100644
index 0000000..8648b61
--- /dev/null
+++ b/freebsdtvision/doc/html/classTPWObj-members.html
@@ -0,0 +1,15 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TPWObj Member List</h1>This is the complete list of members for <a class="el" href="classTPWObj.html">TPWObj</a>, including all inherited members.<table>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:16 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTPWObj.html b/freebsdtvision/doc/html/classTPWObj.html
new file mode 100644
index 0000000..9e3c03b
--- /dev/null
+++ b/freebsdtvision/doc/html/classTPWObj.html
@@ -0,0 +1,29 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TPWObj class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TPWObj Class Reference</h1>Used internally by <a class="el" href="classTPWrittenObjects.html">TPWrittenObjects</a>.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="tobjstrm_8h-source.html">tobjstrm.h</a>&gt;</code>
+<p>
+<a href="classTPWObj-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+TPWObj is used internally by <a class="el" href="classTPWrittenObjects.html">TPWrittenObjects</a>. The class <a class="el" href="classTPWrittenObjects.html">TPWrittenObjects</a> is a friend of TPWobj, so all its member functions can access the private members of TPWObj.
+<p>
+
+<p>
+Definition at line <a class="el" href="tobjstrm_8h-source.html#l00342">342</a> of file <a class="el" href="tobjstrm_8h-source.html">tobjstrm.h</a>.<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="tobjstrm_8h-source.html">tobjstrm.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:16 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTPWrittenObjects-members.html b/freebsdtvision/doc/html/classTPWrittenObjects-members.html
new file mode 100644
index 0000000..ffa2ab0
--- /dev/null
+++ b/freebsdtvision/doc/html/classTPWrittenObjects-members.html
@@ -0,0 +1,49 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TPWrittenObjects Member List</h1>This is the complete list of members for <a class="el" href="classTPWrittenObjects.html">TPWrittenObjects</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a3">at</a>(ccIndex index)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a5">atFree</a>(ccIndex index)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a11">atInsert</a>(ccIndex index, void *item)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a12">atPut</a>(ccIndex index, void *item)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a6">atRemove</a>(ccIndex index)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#n1">count</a></td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#n3">delta</a></td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSSortedCollection.html#m0">duplicates</a></td><td><a class="el" href="classTNSSortedCollection.html">TNSSortedCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a14">error</a>(ccIndex code, ccIndex info)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#d0">error</a>(ccIndex code, ccIndex info)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a15">firstThat</a>(ccTestFunc Test, void *arg)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a17">forEach</a>(ccAppFunc action, void *arg)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a9">free</a>(void *item)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a10">freeAll</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a20">getCount</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSSortedCollection.html#a2">indexOf</a>(void *item)</td><td><a class="el" href="classTNSSortedCollection.html">TNSSortedCollection</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSSortedCollection.html#a3">insert</a>(void *item)</td><td><a class="el" href="classTNSSortedCollection.html">TNSSortedCollection</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#n0">items</a></td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a16">lastThat</a>(ccTestFunc Test, void *arg)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#n2">limit</a></td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a18">pack</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a7">remove</a>(void *item)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTPWrittenObjects.html#a0">removeAll</a>()</td><td><a class="el" href="classTPWrittenObjects.html">TPWrittenObjects</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSSortedCollection.html#a1">search</a>(void *key, ccIndex &amp;index)</td><td><a class="el" href="classTNSSortedCollection.html">TNSSortedCollection</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a19">setLimit</a>(ccIndex aLimit)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#n4">shouldDelete</a></td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a2">shutDown</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a0">TNSCollection</a>(ccIndex aLimit, ccIndex aDelta)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#b0">TNSCollection</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSSortedCollection.html#a0">TNSSortedCollection</a>(ccIndex aLimit, ccIndex aDelta)</td><td><a class="el" href="classTNSSortedCollection.html">TNSSortedCollection</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSSortedCollection.html#b0">TNSSortedCollection</a>()</td><td><a class="el" href="classTNSSortedCollection.html">TNSSortedCollection</a></td><td><code> [inline, protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a1">~TNSCollection</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:16 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTPWrittenObjects.html b/freebsdtvision/doc/html/classTPWrittenObjects.html
new file mode 100644
index 0000000..f96adcb
--- /dev/null
+++ b/freebsdtvision/doc/html/classTPWrittenObjects.html
@@ -0,0 +1,73 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TPWrittenObjects class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TPWrittenObjects Class Reference</h1>Maintains a database of all objects that have been written to the current object stream.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="tobjstrm_8h-source.html">tobjstrm.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TPWrittenObjects:
+<p><center><img src="classTPWrittenObjects.png" usemap="#TPWrittenObjects_map" border="0" alt=""></center>
+<map name="TPWrittenObjects_map">
+<area href="classTNSSortedCollection.html" alt="TNSSortedCollection" shape="rect" coords="0,112,129,136">
+<area href="classTNSCollection.html" alt="TNSCollection" shape="rect" coords="0,56,129,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,129,24">
+</map>
+<a href="classTPWrittenObjects-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTPWrittenObjects.html#a0">removeAll</a> ()</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+TPWrittenObjects maintains a database of all objects that have been written to the current object stream. This is used by opstream when it writes a pointer onto a stream.
+<p>
+
+<p>
+Definition at line <a class="el" href="tobjstrm_8h-source.html#l00287">287</a> of file <a class="el" href="tobjstrm_8h-source.html">tobjstrm.h</a>.<hr><h2>Member Function Documentation</h2>
+<a name="a0" doxytag="TPWrittenObjects::removeAll"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TPWrittenObjects::removeAll </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTNSCollection.html#a8">TNSCollection</a>.
+<p>
+Definition at line <a class="el" href="tobjstrm_8h-source.html#l00294">294</a> of file <a class="el" href="tobjstrm_8h-source.html">tobjstrm.h</a>.
+<p>
+References <a class="el" href="classTNSCollection.html#a10">TNSCollection::freeAll()</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="tobjstrm_8h-source.html">tobjstrm.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:16 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTPWrittenObjects.png b/freebsdtvision/doc/html/classTPWrittenObjects.png
new file mode 100644
index 0000000..96a8d81
--- /dev/null
+++ b/freebsdtvision/doc/html/classTPWrittenObjects.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTPXPictureValidator-members.html b/freebsdtvision/doc/html/classTPXPictureValidator-members.html
new file mode 100644
index 0000000..70245c6
--- /dev/null
+++ b/freebsdtvision/doc/html/classTPXPictureValidator-members.html
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TPXPictureValidator Member List</h1>This is the complete list of members for <a class="el" href="classTPXPictureValidator.html">TPXPictureValidator</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTPXPictureValidator.html#d0">build</a>()</td><td><a class="el" href="classTPXPictureValidator.html">TPXPictureValidator</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTPXPictureValidator.html#a2">error</a>()</td><td><a class="el" href="classTPXPictureValidator.html">TPXPictureValidator</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTPXPictureValidator.html#a4">isValid</a>(const char *s)</td><td><a class="el" href="classTPXPictureValidator.html">TPXPictureValidator</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTPXPictureValidator.html#a3">isValidInput</a>(char *s, Boolean suppressFill)</td><td><a class="el" href="classTPXPictureValidator.html">TPXPictureValidator</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTPXPictureValidator.html#p0">name</a></td><td><a class="el" href="classTPXPictureValidator.html">TPXPictureValidator</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTValidator.html#m1">options</a></td><td><a class="el" href="classTValidator.html">TValidator</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTPXPictureValidator.html#n0">pic</a></td><td><a class="el" href="classTPXPictureValidator.html">TPXPictureValidator</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTPXPictureValidator.html#a5">picture</a>(char *input, Boolean autoFill)</td><td><a class="el" href="classTPXPictureValidator.html">TPXPictureValidator</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTPXPictureValidator.html#b2">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTPXPictureValidator.html">TPXPictureValidator</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a1">shutDown</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTValidator.html#m0">status</a></td><td><a class="el" href="classTValidator.html">TValidator</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTPXPictureValidator.html#a0">TPXPictureValidator</a>(const char *aPic, Boolean autoFill)</td><td><a class="el" href="classTPXPictureValidator.html">TPXPictureValidator</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTPXPictureValidator.html#b0">TPXPictureValidator</a>(StreamableInit)</td><td><a class="el" href="classTPXPictureValidator.html">TPXPictureValidator</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTValidator.html#a4">transfer</a>(char *s, void *buffer, TVTransfer flag)</td><td><a class="el" href="classTValidator.html">TValidator</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTValidator.html#a0">TValidator</a>()</td><td><a class="el" href="classTValidator.html">TValidator</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTValidator.html#b0">TValidator</a>(StreamableInit)</td><td><a class="el" href="classTValidator.html">TValidator</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTValidator.html#a5">validate</a>(const char *s)</td><td><a class="el" href="classTValidator.html">TValidator</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTPXPictureValidator.html#b1">write</a>(opstream &amp;os)</td><td><a class="el" href="classTPXPictureValidator.html">TPXPictureValidator</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTPXPictureValidator.html#a1">~TPXPictureValidator</a>()</td><td><a class="el" href="classTPXPictureValidator.html">TPXPictureValidator</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:16 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTPXPictureValidator.html b/freebsdtvision/doc/html/classTPXPictureValidator.html
new file mode 100644
index 0000000..bc4cb1c
--- /dev/null
+++ b/freebsdtvision/doc/html/classTPXPictureValidator.html
@@ -0,0 +1,501 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TPXPictureValidator class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TPXPictureValidator Class Reference</h1>Compare user input with a picture of a data format to determine the validity of entered data.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="validate_8h-source.html">validate.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TPXPictureValidator:
+<p><center><img src="classTPXPictureValidator.png" usemap="#TPXPictureValidator_map" border="0" alt=""></center>
+<map name="TPXPictureValidator_map">
+<area href="classTValidator.html" alt="TValidator" shape="rect" coords="68,56,195,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,127,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="137,0,264,24">
+</map>
+<a href="classTPXPictureValidator-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTPXPictureValidator.html#a0">TPXPictureValidator</a> (const char *aPic, <a class="el" href="ttypes_8h.html#a13">Boolean</a> autoFill)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTPXPictureValidator.html#a1">~TPXPictureValidator</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTPXPictureValidator.html#a2">error</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTPXPictureValidator.html#a3">isValidInput</a> (char *s, <a class="el" href="ttypes_8h.html#a13">Boolean</a> suppressFill)</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTPXPictureValidator.html#a4">isValid</a> (const char *s)</td></tr>
+<tr><td nowrap align=right valign=top>virtual TPicResult&nbsp;</td><td valign=bottom><a class="el" href="classTPXPictureValidator.html#a5">picture</a> (char *input, <a class="el" href="ttypes_8h.html#a13">Boolean</a> autoFill)</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStreamable.html">TStreamable</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTPXPictureValidator.html#d0">build</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>const char *const&nbsp;</td><td valign=bottom><a class="el" href="classTPXPictureValidator.html#p0">name</a></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTPXPictureValidator.html#b0">TPXPictureValidator</a> (<a class="el" href="ttypes_8h.html#a14">StreamableInit</a>)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTPXPictureValidator.html#b1">write</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void *&nbsp;</td><td valign=bottom><a class="el" href="classTPXPictureValidator.html#b2">read</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is)</td></tr>
+<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>char *&nbsp;</td><td valign=bottom><a class="el" href="classTPXPictureValidator.html#n0">pic</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Picture validator objects compare user input with a picture of a data format to determine the validity of entered data. The pictures are compatible with the pictures Borland's Paradox relational database uses to control data entry.
+<p>
+For a complete description of picture specifiers see method <a class="el" href="classTPXPictureValidator.html#a5">TPXPictureValidator::picture()</a>
+<p>
+
+<p>
+Definition at line <a class="el" href="validate_8h-source.html#l00254">254</a> of file <a class="el" href="validate_8h-source.html">validate.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TPXPictureValidator::TPXPictureValidator"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TPXPictureValidator::TPXPictureValidator </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aPic</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>autoFill</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructs a picture validator object by first calling the constructor inherited from <a class="el" href="classTValidator.html">TValidator</a>, then allocating a copy of `aPic' on the heap and setting pic data member to point to it, then setting the voFill bit in <a class="el" href="classTValidator.html#m1">TValidator::options</a> data member if `autoFill' is True. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TPXPictureValidator::~TPXPictureValidator"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TPXPictureValidator::~TPXPictureValidator </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Disposes of the string pointed to by pic data member, then disposes of the picture validator object by calling the destructor inherited from <a class="el" href="classTValidator.html">TValidator</a>. </td>
+ </tr>
+</table>
+<a name="b0" doxytag="TPXPictureValidator::TPXPictureValidator"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TPXPictureValidator::TPXPictureValidator </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a14">StreamableInit</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Each streamable class needs a "builder" to allocate the correct memory for its objects together with the initialized virtual table pointers. This is achieved by calling this constructor with an argument of type <a class="el" href="ttypes_8h.html#a14">StreamableInit</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="d0" doxytag="TPXPictureValidator::build"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStreamable.html">TStreamable</a>* TPXPictureValidator::build </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called to create an object in certain stream-reading situations.
+<p>
+Reimplemented from <a class="el" href="classTValidator.html#d0">TValidator</a>. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="TPXPictureValidator::error"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TPXPictureValidator::error </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Displays a message box indicating an error in the picture format, displaying the string pointed to by pic data member.
+<p>
+Reimplemented from <a class="el" href="classTValidator.html#a1">TValidator</a>. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="TPXPictureValidator::isValid"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a> TPXPictureValidator::isValid </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>s</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Compares the string passed in `s' with the format picture specified in pic data member and returns True if pic is null or if <a class="el" href="classTPXPictureValidator.html#a5">picture()</a> returns prComplete for `s', indicating that `s' needs no further input to meet the specified format.
+<p>
+Reimplemented from <a class="el" href="classTValidator.html#a3">TValidator</a>. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="TPXPictureValidator::isValidInput"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a> TPXPictureValidator::isValidInput </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>s</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>suppressFill</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Checks the string passed in `s' against the format picture specified in pic data member and returns True if pic is null or <a class="el" href="classTPXPictureValidator.html#a5">picture()</a> does not return prError for `s'; otherwise returns False.
+<p>
+The `suppressFill' parameter overrides the value in voFill for the duration of the call to <a class="el" href="classTPXPictureValidator.html#a3">isValidInput()</a>.
+<p>
+`s' is a pointer to string, so <a class="el" href="classTPXPictureValidator.html#a3">isValidInput()</a> can modify its value. For example, if `suppressFill' is False and voFill is set, the call to <a class="el" href="classTPXPictureValidator.html#a5">picture()</a> returns a filled string based on `s', so the image in the input line automatically reflects the format specified in pic.
+<p>
+Reimplemented from <a class="el" href="classTValidator.html#a2">TValidator</a>. </td>
+ </tr>
+</table>
+<a name="a5" doxytag="TPXPictureValidator::picture"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual TPicResult TPXPictureValidator::picture </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>input</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>autoFill</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Formats the string passed in `input' according to the format specified by the picture string pointed to by pic data member. Returns prError if there is an error in the picture string or if `input' contains data that cannot fit the specified picture.
+<p>
+Returns prComplete if `input' can fully satisfy the specifed picture. Returns prIncomplete if `input' contains data that fits the specified picture but not completely.
+<p>
+The following table shows the characters used in creating format pictures.
+<p>
+<pre>
+ Type of character Character Description
+
+ Special # Accept only a digit
+ ? Accept only a letter (case-insensitive)
+ &amp; Accept only a letter, force to uppercase
+ @ Accept any character
+ ! Accept any character, force to uppercase
+
+ Match ; Take next character literally
+ * Repetition count
+ [] Option
+ {} Grouping operators
+ , Set of alternatives
+
+ All others Taken literally
+ </pre>
+<p>
+Here are some advanced pictures, which show the power of TPXPictureValidator; these examples come from an old Pascal FAQ written by Berend de Boer, &lt;<a href="mailto:berend@beard.nest.nl">berend@beard.nest.nl</a>&gt;.
+<p>
+<pre>
+ Name Value Description
+
+ UnsignedPic1 #[#][#]*{[;,]###} unsigned int with optional commas
+ UnsignedPic2 #[#][#]*{;,###} unsigned int with commas
+ SignedPic1 [-]#[#][#]*{[;,]###} signed int with optional commas
+ SignedPic2 [-]#[#][#]*{;,###} signed int with commas
+ MoneyPic1 [$]*#.{##,00} dollars, with comma and optinal dollar sign
+ MoneyPic2 $*#{.##,.00} dollars, with comma and dollar sign
+ DatePic1 #[#]/#[#]/## date with 2 digit year (dd/mm/yy or mm/dd/yy)
+ DatePic2 #[#]/#[#]/##[##] date with 2 or 4 digit year (mm/dd/yy or mm/dd/yyyy)
+ DatePic3 #[#]/#[#]/#### date with 4 digit year (mm/dd/yyyy)
+ TimePic1 {##}:{##}[:{##}] HH:MM:SS with optional seconds
+ TimePic2 {##}:{##}:{##} HH:MM:SS
+ PhonePic1 [(###) ]###-#### phone number with optional area code
+ PhonePic2 (###) ###-#### phone number with area code
+ SSNPic ###-##-####
+ FirstCharUpPic *{&amp;*? } uppercase the first char of every word
+ FilenamePic {&amp;*7[&amp;]}.{*3[&amp;]} filename (no path) with extension
+ </pre>
+<p>
+Note the *7 and *3 in this last example. A number after a `*' says how many times the next sequence should be repeated; uncovered in the manuals. But this example is not completely correct (is this a bug?), because the `*' is interpreted as that there should be exactly 8 characters! No more, no less. Correct is:
+<p>
+<pre>
+ FilenamePic {&amp;[&amp;][&amp;][&amp;][&amp;][&amp;][&amp;][&amp;]}.{[&amp;][&amp;][&amp;]}
+ </pre>
+<p>
+The following examples were given by Sean Wenzel in the Borland Turbo Vision forum on CompuServe:
+<p>
+<ul>
+<li>US Phone with optional area code: [(*3{#})]*3{#}-*4{#}</ul>
+<ul>
+<li>Colors with autofill-in: {Red,Gr{ay,een},B{l{ack,ue},rown},White,Yellow}</ul>
+<ul>
+<li>A date in the format "Jan, 31, 1999" with auto fill-in: {J{AN ,U{N ,L }},FEB ,MA{R ,Y },A{PR ,UG },SEP ,OCT ,NOV ,DEC} {1[#],2[#],30,31,#};, 19##</ul>
+Finally, here my solution for a real validator, for the format "1.234E-6" or "3.14159":
+<p>
+[-]#[*#][[.]#[*#]][E[-]#[#]] </td>
+ </tr>
+</table>
+<a name="b2" doxytag="TPXPictureValidator::read"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void* TPXPictureValidator::read </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>is</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Reads from the input stream `is'.
+<p>
+Reimplemented from <a class="el" href="classTValidator.html#b2">TValidator</a>. </td>
+ </tr>
+</table>
+<a name="b1" doxytag="TPXPictureValidator::write"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TPXPictureValidator::write </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>os</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Writes to the output stream `os'.
+<p>
+Reimplemented from <a class="el" href="classTValidator.html#b1">TValidator</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="p0" doxytag="TPXPictureValidator::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* const TPXPictureValidator::name<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTValidator.html#p0">TValidator</a>.
+<p>
+Definition at line <a class="el" href="validate_8h-source.html#l00459">459</a> of file <a class="el" href="validate_8h-source.html">validate.h</a>. </td>
+ </tr>
+</table>
+<a name="n0" doxytag="TPXPictureValidator::pic"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> char* TPXPictureValidator::pic<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Points to a string containing the picture that specifies the format for data in the associated input line. The constructor sets pic to the string passed as one of its parameters.
+<p>
+Definition at line <a class="el" href="validate_8h-source.html#l00401">401</a> of file <a class="el" href="validate_8h-source.html">validate.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="validate_8h-source.html">validate.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:16 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTPXPictureValidator.png b/freebsdtvision/doc/html/classTPXPictureValidator.png
new file mode 100644
index 0000000..891e28d
--- /dev/null
+++ b/freebsdtvision/doc/html/classTPXPictureValidator.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTPalette-members.html b/freebsdtvision/doc/html/classTPalette-members.html
new file mode 100644
index 0000000..ef31f2b
--- /dev/null
+++ b/freebsdtvision/doc/html/classTPalette-members.html
@@ -0,0 +1,21 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TPalette Member List</h1>This is the complete list of members for <a class="el" href="classTPalette.html">TPalette</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTPalette.html#m0">data</a></td><td><a class="el" href="classTPalette.html">TPalette</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTPalette.html#a3">operator=</a>(const TPalette &amp;tp)</td><td><a class="el" href="classTPalette.html">TPalette</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTPalette.html#a4">operator[]</a>(int index) const</td><td><a class="el" href="classTPalette.html">TPalette</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTPalette.html#a0">TPalette</a>(const char *d, ushort len)</td><td><a class="el" href="classTPalette.html">TPalette</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTPalette.html#a1">TPalette</a>(const TPalette &amp;tp)</td><td><a class="el" href="classTPalette.html">TPalette</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTPalette.html#a2">~TPalette</a>()</td><td><a class="el" href="classTPalette.html">TPalette</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:16 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTPalette.html b/freebsdtvision/doc/html/classTPalette.html
new file mode 100644
index 0000000..436dbae
--- /dev/null
+++ b/freebsdtvision/doc/html/classTPalette.html
@@ -0,0 +1,221 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TPalette class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TPalette Class Reference</h1>Simple class used to create and manipulate palette arrays.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="views_8h-source.html">views.h</a>&gt;</code>
+<p>
+<a href="classTPalette-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTPalette.html#a0">TPalette</a> (const char *d, <a class="el" href="ttypes_8h.html#a0">ushort</a> len)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTPalette.html#a1">TPalette</a> (const TPalette &amp;tp)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTPalette.html#a2">~TPalette</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>TPalette &amp;&nbsp;</td><td valign=bottom><a class="el" href="classTPalette.html#a3">operator=</a> (const TPalette &amp;tp)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a1">uchar</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="classTPalette.html#a4">operator[]</a> (int index) const</td></tr>
+<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a1">uchar</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTPalette.html#m0">data</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+TPalette is a simple class used to create and manipulate palette arrays.
+<p>
+Although palettes are arrays of char, and are often referred to as strings, they are not the conventional null-terminated strings found in C. Normal C string functions cannot be used.
+<p>
+The first byte of a palette string holds its length (not counting the first byte itself). Each basic view has a default palette that determines the usual colors assigned to the various parts of a view, such as scroll bars, frames, buttons, text, and so on.
+<p>
+
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00752">752</a> of file <a class="el" href="views_8h-source.html">views.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TPalette::TPalette"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TPalette::TPalette </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>d</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>len</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a TPalette object with string `d' and length `len'. The private member data is set with `len' in its first byte, following by the array `d'. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TPalette::TPalette"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TPalette::TPalette </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const TPalette &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>tp</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a new palette by copying the palette `tp'. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="TPalette::~TPalette"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TPalette::~TPalette </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Destroys the palette. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="a3" doxytag="TPalette::operator="></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TPalette&amp; TPalette::operator= </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const TPalette &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>tp</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The code p = tp; copies the palette `tp' to the palette `p'. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="TPalette::operator[]"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a1">uchar</a>&amp; TPalette::operator[] </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>index</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap> const</td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The subscripting operator returns the character at the index'th position. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="m0" doxytag="TPalette::data"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a1">uchar</a>* TPalette::data
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00781">781</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="views_8h-source.html">views.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:16 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTParagraph-members.html b/freebsdtvision/doc/html/classTParagraph-members.html
new file mode 100644
index 0000000..2e17c9c
--- /dev/null
+++ b/freebsdtvision/doc/html/classTParagraph-members.html
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TParagraph Member List</h1>This is the complete list of members for <a class="el" href="classTParagraph.html">TParagraph</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTParagraph.html#m0">next</a></td><td><a class="el" href="classTParagraph.html">TParagraph</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTParagraph.html#m2">size</a></td><td><a class="el" href="classTParagraph.html">TParagraph</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTParagraph.html#m3">text</a></td><td><a class="el" href="classTParagraph.html">TParagraph</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTParagraph.html#a0">TParagraph</a>()</td><td><a class="el" href="classTParagraph.html">TParagraph</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTParagraph.html#m1">wrap</a></td><td><a class="el" href="classTParagraph.html">TParagraph</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:16 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTParagraph.html b/freebsdtvision/doc/html/classTParagraph.html
new file mode 100644
index 0000000..b692936
--- /dev/null
+++ b/freebsdtvision/doc/html/classTParagraph.html
@@ -0,0 +1,164 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TParagraph class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TParagraph Class Reference</h1>Part of the help system.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="helpbase_8h-source.html">helpbase.h</a>&gt;</code>
+<p>
+<a href="classTParagraph-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTParagraph.html#a0">TParagraph</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>TParagraph *&nbsp;</td><td valign=bottom><a class="el" href="classTParagraph.html#m0">next</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTParagraph.html#m1">wrap</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="classTParagraph.html#m2">size</a></td></tr>
+<tr><td nowrap align=right valign=top>char *&nbsp;</td><td valign=bottom><a class="el" href="classTParagraph.html#m3">text</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Part of the help system.
+<p>
+
+<p>
+Definition at line <a class="el" href="helpbase_8h-source.html#l00030">30</a> of file <a class="el" href="helpbase_8h-source.html">helpbase.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TParagraph::TParagraph"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TParagraph::TParagraph </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="helpbase_8h-source.html#l00036">36</a> of file <a class="el" href="helpbase_8h-source.html">helpbase.h</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="m0" doxytag="TParagraph::next"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TParagraph* TParagraph::next
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="helpbase_8h-source.html#l00040">40</a> of file <a class="el" href="helpbase_8h-source.html">helpbase.h</a>. </td>
+ </tr>
+</table>
+<a name="m2" doxytag="TParagraph::size"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a0">ushort</a> TParagraph::size
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="helpbase_8h-source.html#l00048">48</a> of file <a class="el" href="helpbase_8h-source.html">helpbase.h</a>. </td>
+ </tr>
+</table>
+<a name="m3" doxytag="TParagraph::text"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> char* TParagraph::text
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="helpbase_8h-source.html#l00052">52</a> of file <a class="el" href="helpbase_8h-source.html">helpbase.h</a>. </td>
+ </tr>
+</table>
+<a name="m1" doxytag="TParagraph::wrap"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a13">Boolean</a> TParagraph::wrap
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="helpbase_8h-source.html#l00044">44</a> of file <a class="el" href="helpbase_8h-source.html">helpbase.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="helpbase_8h-source.html">helpbase.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:16 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTParamText-members.html b/freebsdtvision/doc/html/classTParamText-members.html
new file mode 100644
index 0000000..05f60a1
--- /dev/null
+++ b/freebsdtvision/doc/html/classTParamText-members.html
@@ -0,0 +1,132 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TParamText Member List</h1>This is the complete list of members for <a class="el" href="classTParamText.html">TParamText</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a31">awaken</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a32">blockCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTParamText.html#d0">build</a>()</td><td><a class="el" href="classTParamText.html">TParamText</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a10">calcBounds</a>(TRect &amp;bounds, TPoint delta)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a11">changeBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a38">clearEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d0">commandEnabled</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p0">commandSetChanged</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a7">containsMouse</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p1">curCommandSet</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m6">cursor</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a28">dataSize</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d3">disableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d1">disableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m8">dragMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a9">dragView</a>(TEvent &amp;event, uchar mode, TRect &amp;limits, TPoint minSize, TPoint maxSize)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStaticText.html#a2">draw</a>()</td><td><a class="el" href="classTStaticText.html">TStaticText</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a37">drawCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a24">drawHide</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a25">drawShow</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a26">drawUnderRect</a>(TRect &amp;r, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a27">drawUnderView</a>(Boolean doShadow, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a20">drawView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d4">enableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d2">enableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a43">endModal</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>enterSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p3">errorAttr</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a39">eventAvail</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m3">eventMask</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a44">execute</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a21">exposed</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a22">focus</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a3">getBounds</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a5">getClipRect</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a45">getColor</a>(ushort color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d5">getCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a29">getData</a>(void *rec)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a40">getEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a4">getExtent</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a15">getHelpCtx</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStaticText.html#a3">getPalette</a>() const</td><td><a class="el" href="classTStaticText.html">TStaticText</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a48">getState</a>(ushort aState)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTParamText.html#a2">getText</a>(char *s)</td><td><a class="el" href="classTParamText.html">TParamText</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTParamText.html#a4">getTextLen</a>()</td><td><a class="el" href="classTParamText.html">TParamText</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m7">growMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a12">growTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a41">handleEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m9">helpCtx</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a17">hide</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a23">hideCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a51">keyEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>leaveSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a8">locate</a>(TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a58">makeFirst</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a53">makeGlobal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a54">makeLocal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a47">mapColor</a>(uchar)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a52">mouseEvent</a>(TEvent &amp;event, ushort mask)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a6">mouseInView</a>(TPoint mouse)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a13">moveTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTParamText.html#p0">name</a></td><td><a class="el" href="classTParamText.html">TParamText</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m0">next</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a55">nextView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a33">normalCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>normalSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m2">options</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m5">origin</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m10">owner</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s6">phaseType</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phFocused</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPostProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPreProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a57">prev</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a56">prevView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a42">putEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a59">putInFrontOf</a>(TView *Target)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTParamText.html#b2">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTParamText.html">TParamText</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a34">resetCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a49">select</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s7">selectMode</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a14">setBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d7">setCmdState</a>(TCommandSet &amp;commands, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d6">setCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a35">setCursor</a>(int x, int y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a30">setData</a>(void *rec)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a50">setState</a>(ushort aState, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTParamText.html#a3">setText</a>(char *fmt,...)</td><td><a class="el" href="classTParamText.html">TParamText</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a18">show</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a36">showCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p2">showMarkers</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a67">shutDown</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m1">size</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a2">sizeLimits</a>(TPoint &amp;min, TPoint &amp;max)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m4">state</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTParamText.html#n0">str</a></td><td><a class="el" href="classTParamText.html">TParamText</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStaticText.html#n0">text</a></td><td><a class="el" href="classTStaticText.html">TStaticText</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a60">TopView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTParamText.html#a0">TParamText</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTParamText.html">TParamText</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTParamText.html#b0">TParamText</a>(StreamableInit)</td><td><a class="el" href="classTParamText.html">TParamText</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStaticText.html#a0">TStaticText</a>(const TRect &amp;bounds, const char *aText)</td><td><a class="el" href="classTStaticText.html">TStaticText</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStaticText.html#b0">TStaticText</a>(StreamableInit)</td><td><a class="el" href="classTStaticText.html">TStaticText</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a0">TView</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#b0">TView</a>(StreamableInit)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a16">valid</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTParamText.html#b1">write</a>(opstream &amp;os)</td><td><a class="el" href="classTParamText.html">TParamText</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a61">writeBuf</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a62">writeBuf</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a63">writeChar</a>(short x, short y, char c, uchar color, short count)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a64">writeLine</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a65">writeLine</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a66">writeStr</a>(short x, short y, const char *str, uchar color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTParamText.html#a1">~TParamText</a>()</td><td><a class="el" href="classTParamText.html">TParamText</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStaticText.html#a1">~TStaticText</a>()</td><td><a class="el" href="classTStaticText.html">TStaticText</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a1">~TView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:16 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTParamText.html b/freebsdtvision/doc/html/classTParamText.html
new file mode 100644
index 0000000..c286266
--- /dev/null
+++ b/freebsdtvision/doc/html/classTParamText.html
@@ -0,0 +1,390 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TParamText class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TParamText Class Reference</h1>Shows dynamic, parameterized text in a window.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="dialogs_8h-source.html">dialogs.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TParamText:
+<p><center><img src="classTParamText.png" usemap="#TParamText_map" border="0" alt=""></center>
+<map name="TParamText_map">
+<area href="classTStaticText.html" alt="TStaticText" shape="rect" coords="46,112,128,136">
+<area href="classTView.html" alt="TView" shape="rect" coords="46,56,128,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,82,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="92,0,174,24">
+</map>
+<a href="classTParamText-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTParamText.html#a0">TParamText</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;bounds)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTParamText.html#a1">~TParamText</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTParamText.html#a2">getText</a> (char *s)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTParamText.html#a3">setText</a> (char *fmt,...)</td></tr>
+<tr><td nowrap align=right valign=top>virtual int&nbsp;</td><td valign=bottom><a class="el" href="classTParamText.html#a4">getTextLen</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStreamable.html">TStreamable</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTParamText.html#d0">build</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>const char *const&nbsp;</td><td valign=bottom><a class="el" href="classTParamText.html#p0">name</a></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTParamText.html#b0">TParamText</a> (<a class="el" href="ttypes_8h.html#a14">StreamableInit</a>)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTParamText.html#b1">write</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void *&nbsp;</td><td valign=bottom><a class="el" href="classTParamText.html#b2">read</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is)</td></tr>
+<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>char *&nbsp;</td><td valign=bottom><a class="el" href="classTParamText.html#n0">str</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Used to show dynamic, parameterized text in a window.
+<p>
+TParamText is derived from <a class="el" href="classTStaticText.html">TStaticText</a>. It handles parameterized text strings for formatted output. Check <a class="el" href="classTStaticText.html">TStaticText</a> if you want to show only fixed text (non run-time selectable).
+<p>
+
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l01924">1924</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TParamText::TParamText"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TParamText::TParamText </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>bounds</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructor.
+<p>
+`bounds' is the bounding rectangle of the view. Creates and initializes a static text object by calling TStaticText::TStaticText(bounds, 0). The string is initially empty. Use <a class="el" href="classTParamText.html#a3">setText()</a> to assign the text. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTStaticText.html#a0">TStaticText::TStaticText</a> </dl> </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TParamText::~TParamText"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TParamText::~TParamText </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="b0" doxytag="TParamText::TParamText"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TParamText::TParamText </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a14">StreamableInit</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Each streamable class needs a "builder" to allocate the correct memory for its objects together with the initialized virtual table pointers. This is achieved by calling this constructor with an argument of type <a class="el" href="ttypes_8h.html#a14">StreamableInit</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="d0" doxytag="TParamText::build"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStreamable.html">TStreamable</a>* TParamText::build </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a new TParamText.
+<p>
+Called to create an object in certain stream-reading situations.
+<p>
+Reimplemented from <a class="el" href="classTStaticText.html#d0">TStaticText</a>. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="TParamText::getText"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TParamText::getText </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">char *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>s</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Writes a formatted text string at address `s'. If the text string is empty, *s is set to <a class="el" href="ttypes_8h.html#a4">EOS</a>.
+<p>
+Reimplemented from <a class="el" href="classTStaticText.html#a4">TStaticText</a>. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="TParamText::getTextLen"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual int TParamText::getTextLen </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the length of the string, expressed in characters. </td>
+ </tr>
+</table>
+<a name="b2" doxytag="TParamText::read"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void* TParamText::read </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>is</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Reads from the input stream `is'.
+<p>
+Reimplemented from <a class="el" href="classTStaticText.html#b2">TStaticText</a>. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="TParamText::setText"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TParamText::setText </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>fmt</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>...&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Sets a new value for the string.
+<p>
+Since this method calls vsprintf(), you can use a printf-like style for its arguments. </td>
+ </tr>
+</table>
+<a name="b1" doxytag="TParamText::write"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TParamText::write </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>os</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Writes to the output stream `os'.
+<p>
+Reimplemented from <a class="el" href="classTStaticText.html#b1">TStaticText</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="p0" doxytag="TParamText::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* const TParamText::name<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTStaticText.html#p0">TStaticText</a>.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l01986">1986</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="n0" doxytag="TParamText::str"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> char* TParamText::str<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Stores the pointer to the string.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l01960">1960</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="dialogs_8h-source.html">dialogs.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:16 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTParamText.png b/freebsdtvision/doc/html/classTParamText.png
new file mode 100644
index 0000000..1b63205
--- /dev/null
+++ b/freebsdtvision/doc/html/classTParamText.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTPoint-members.html b/freebsdtvision/doc/html/classTPoint-members.html
new file mode 100644
index 0000000..780e468
--- /dev/null
+++ b/freebsdtvision/doc/html/classTPoint-members.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TPoint Member List</h1>This is the complete list of members for <a class="el" href="classTPoint.html">TPoint</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTPoint.html#l3">operator!=</a>(const TPoint &amp;one, const TPoint &amp;two)</td><td><a class="el" href="classTPoint.html">TPoint</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTPoint.html#l1">operator+</a>(const TPoint &amp;one, const TPoint &amp;two)</td><td><a class="el" href="classTPoint.html">TPoint</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTPoint.html#a0">operator+=</a>(const TPoint &amp;adder)</td><td><a class="el" href="classTPoint.html">TPoint</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTPoint.html#l0">operator-</a>(const TPoint &amp;one, const TPoint &amp;two)</td><td><a class="el" href="classTPoint.html">TPoint</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTPoint.html#a1">operator-=</a>(const TPoint &amp;subber)</td><td><a class="el" href="classTPoint.html">TPoint</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTPoint.html#l2">operator==</a>(const TPoint &amp;one, const TPoint &amp;two)</td><td><a class="el" href="classTPoint.html">TPoint</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTPoint.html#m0">x</a></td><td><a class="el" href="classTPoint.html">TPoint</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTPoint.html#m1">y</a></td><td><a class="el" href="classTPoint.html">TPoint</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:16 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTPoint.html b/freebsdtvision/doc/html/classTPoint.html
new file mode 100644
index 0000000..de6b215
--- /dev/null
+++ b/freebsdtvision/doc/html/classTPoint.html
@@ -0,0 +1,316 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TPoint class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TPoint Class Reference</h1>Two-point screen coordinate.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="objects_8h-source.html">objects.h</a>&gt;</code>
+<p>
+<a href="classTPoint-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>TPoint &amp;&nbsp;</td><td valign=bottom><a class="el" href="classTPoint.html#a0">operator+=</a> (const TPoint &amp;adder)</td></tr>
+<tr><td nowrap align=right valign=top>TPoint &amp;&nbsp;</td><td valign=bottom><a class="el" href="classTPoint.html#a1">operator-=</a> (const TPoint &amp;subber)</td></tr>
+<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classTPoint.html#m0">x</a></td></tr>
+<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classTPoint.html#m1">y</a></td></tr>
+<tr><td colspan=2><br><h2>Friends</h2></td></tr>
+<tr><td nowrap align=right valign=top>TPoint&nbsp;</td><td valign=bottom><a class="el" href="classTPoint.html#l0">operator-</a> (const TPoint &amp;one, const TPoint &amp;two)</td></tr>
+<tr><td nowrap align=right valign=top>TPoint&nbsp;</td><td valign=bottom><a class="el" href="classTPoint.html#l1">operator+</a> (const TPoint &amp;one, const TPoint &amp;two)</td></tr>
+<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classTPoint.html#l2">operator==</a> (const TPoint &amp;one, const TPoint &amp;two)</td></tr>
+<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classTPoint.html#l3">operator!=</a> (const TPoint &amp;one, const TPoint &amp;two)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+A screen coordinate. TPoint implements points on the screen with several overloaded operators for point manipulation.
+<p>
+TPoint is a simple object that can be used to record a coordinate on the screen. For this, two public variables are available: `x' and `y'. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTRect.html">TRect</a> </dl>
+<p>
+
+<p>
+Definition at line <a class="el" href="objects_8h-source.html#l00028">28</a> of file <a class="el" href="objects_8h-source.html">objects.h</a>.<hr><h2>Member Function Documentation</h2>
+<a name="a0" doxytag="TPoint::operator+="></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TPoint &amp; TPoint::operator+= </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const TPoint &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>adder</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Adds the coordinate of another point to this point. Returns *this.
+<p>
+Definition at line <a class="el" href="objects_8h-source.html#l00071">71</a> of file <a class="el" href="objects_8h-source.html">objects.h</a>.
+<p>
+References <a class="el" href="objects_8h-source.html#l00064">x</a>, and <a class="el" href="objects_8h-source.html#l00068">y</a>. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TPoint::operator-="></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TPoint &amp; TPoint::operator-= </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const TPoint &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>subber</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Subtracts the coordinate of another point from this point. Returns *this.
+<p>
+Definition at line <a class="el" href="objects_8h-source.html#l00078">78</a> of file <a class="el" href="objects_8h-source.html">objects.h</a>.
+<p>
+References <a class="el" href="objects_8h-source.html#l00064">x</a>, and <a class="el" href="objects_8h-source.html#l00068">y</a>. </td>
+ </tr>
+</table>
+<hr><h2>Friends And Related Function Documentation</h2>
+<a name="l3" doxytag="TPoint::operator!="></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> int operator!= </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const TPoint &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>one</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>const TPoint &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>two</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [friend]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns True if two points are not equal (have different coordinate), returns False otherwise. </td>
+ </tr>
+</table>
+<a name="l1" doxytag="TPoint::operator+"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TPoint operator+ </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const TPoint &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>one</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>const TPoint &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>two</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [friend]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Calculates the sum of two points. Returns a point with the resulting sum. </td>
+ </tr>
+</table>
+<a name="l0" doxytag="TPoint::operator-"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TPoint operator- </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const TPoint &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>one</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>const TPoint &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>two</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [friend]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Calculates the distance between two points. Returns a point with the resulting difference. </td>
+ </tr>
+</table>
+<a name="l2" doxytag="TPoint::operator=="></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> int operator== </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const TPoint &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>one</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>const TPoint &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>two</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [friend]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns True if two points are equal (have the same coordinate), returns False otherwise. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="m0" doxytag="TPoint::x"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> int TPoint::x
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Is the screen column of the point.
+<p>
+Definition at line <a class="el" href="objects_8h-source.html#l00064">64</a> of file <a class="el" href="objects_8h-source.html">objects.h</a>.
+<p>
+Referenced by <a class="el" href="objects_8h-source.html#l00272">TRect::contains()</a>, <a class="el" href="objects_8h-source.html#l00248">TRect::grow()</a>, <a class="el" href="objects_8h-source.html#l00256">TRect::intersect()</a>, <a class="el" href="objects_8h-source.html#l00289">TRect::isEmpty()</a>, <a class="el" href="objects_8h-source.html#l00240">TRect::move()</a>, <a class="el" href="objects_8h-source.html#l00071">operator+=()</a>, <a class="el" href="objects_8h-source.html#l00078">operator-=()</a>, <a class="el" href="objects_8h-source.html#l00099">operator&lt;&lt;()</a>, <a class="el" href="objects_8h-source.html#l00088">operator&gt;&gt;()</a>, <a class="el" href="objects_8h-source.html#l00222">TRect::TRect()</a>, and <a class="el" href="objects_8h-source.html#l00264">TRect::Union()</a>. </td>
+ </tr>
+</table>
+<a name="m1" doxytag="TPoint::y"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> int TPoint::y
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Is the screen row of the point.
+<p>
+Definition at line <a class="el" href="objects_8h-source.html#l00068">68</a> of file <a class="el" href="objects_8h-source.html">objects.h</a>.
+<p>
+Referenced by <a class="el" href="objects_8h-source.html#l00272">TRect::contains()</a>, <a class="el" href="objects_8h-source.html#l00248">TRect::grow()</a>, <a class="el" href="objects_8h-source.html#l00256">TRect::intersect()</a>, <a class="el" href="objects_8h-source.html#l00289">TRect::isEmpty()</a>, <a class="el" href="objects_8h-source.html#l00240">TRect::move()</a>, <a class="el" href="objects_8h-source.html#l00071">operator+=()</a>, <a class="el" href="objects_8h-source.html#l00078">operator-=()</a>, <a class="el" href="objects_8h-source.html#l00099">operator&lt;&lt;()</a>, <a class="el" href="objects_8h-source.html#l00088">operator&gt;&gt;()</a>, <a class="el" href="objects_8h-source.html#l00222">TRect::TRect()</a>, and <a class="el" href="objects_8h-source.html#l00264">TRect::Union()</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="objects_8h-source.html">objects.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:16 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTProgInit-members.html b/freebsdtvision/doc/html/classTProgInit-members.html
new file mode 100644
index 0000000..4d7482b
--- /dev/null
+++ b/freebsdtvision/doc/html/classTProgInit-members.html
@@ -0,0 +1,19 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TProgInit Member List</h1>This is the complete list of members for <a class="el" href="classTProgInit.html">TProgInit</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgInit.html#n2">createDeskTop</a></td><td><a class="el" href="classTProgInit.html">TProgInit</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgInit.html#n1">createMenuBar</a></td><td><a class="el" href="classTProgInit.html">TProgInit</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgInit.html#n0">createStatusLine</a></td><td><a class="el" href="classTProgInit.html">TProgInit</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgInit.html#a0">TProgInit</a>(TStatusLine *(*cStatusLine)(TRect), TMenuBar *(*cMenuBar)(TRect), TDeskTop *(*cDeskTop)(TRect))</td><td><a class="el" href="classTProgInit.html">TProgInit</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:16 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTProgInit.html b/freebsdtvision/doc/html/classTProgInit.html
new file mode 100644
index 0000000..fc08f7f
--- /dev/null
+++ b/freebsdtvision/doc/html/classTProgInit.html
@@ -0,0 +1,162 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TProgInit class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TProgInit Class Reference</h1>Virtual base class for <a class="el" href="classTProgram.html">TProgram</a>.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="app_8h-source.html">app.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TProgInit:
+<p><center><img src="classTProgInit.png" usemap="#TProgInit_map" border="0" alt=""></center>
+<map name="TProgInit_map">
+<area href="classTProgram.html" alt="TProgram" shape="rect" coords="0,56,82,80">
+<area href="classTApplication.html" alt="TApplication" shape="rect" coords="0,112,82,136">
+</map>
+<a href="classTProgInit-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTProgInit.html#a0">TProgInit</a> (<a class="el" href="classTStatusLine.html">TStatusLine</a> *(*cStatusLine)(<a class="el" href="classTRect.html">TRect</a>), <a class="el" href="classTMenuBar.html">TMenuBar</a> *(*cMenuBar)(<a class="el" href="classTRect.html">TRect</a>), <a class="el" href="classTDeskTop.html">TDeskTop</a> *(*cDeskTop)(<a class="el" href="classTRect.html">TRect</a>))</td></tr>
+<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStatusLine.html">TStatusLine</a> *(*&nbsp;</td><td valign=bottom><a class="el" href="classTProgInit.html#n0">createStatusLine</a> )(<a class="el" href="classTRect.html">TRect</a>)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTMenuBar.html">TMenuBar</a> *(*&nbsp;</td><td valign=bottom><a class="el" href="classTProgInit.html#n1">createMenuBar</a> )(<a class="el" href="classTRect.html">TRect</a>)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTDeskTop.html">TDeskTop</a> *(*&nbsp;</td><td valign=bottom><a class="el" href="classTProgInit.html#n2">createDeskTop</a> )(<a class="el" href="classTRect.html">TRect</a>)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+TProgInit is a virtual base class for <a class="el" href="classTProgram.html">TProgram</a>.
+<p>
+The <a class="el" href="classTProgram.html">TProgram</a> constructor calls the TProgInit base constructor, passing to it the addresses of three initialization functions that create the status line, menu bar, and desk top.
+<p>
+
+<p>
+Definition at line <a class="el" href="app_8h-source.html#l00439">439</a> of file <a class="el" href="app_8h-source.html">app.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TProgInit::TProgInit"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TProgInit::TProgInit </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTStatusLine.html">TStatusLine</a> *(*&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cStatusLine</em>)(<a class="el" href="classTRect.html">TRect</a>), </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTMenuBar.html">TMenuBar</a> *(*&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cMenuBar</em>)(<a class="el" href="classTRect.html">TRect</a>), </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTDeskTop.html">TDeskTop</a> *(*&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cDeskTop</em>)(<a class="el" href="classTRect.html">TRect</a>)</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The <a class="el" href="classTProgram.html">TProgram</a> constructor calls the TProgInit constructor, passing to it the addresses of three init functions. The TProgInit constructor creates a status line, menu bar, and desk top. If these calls are successful, the three objects are inserted into the <a class="el" href="classTProgram.html">TProgram</a> group. Variables <a class="el" href="classTProgram.html#p1">TProgram::statusLine</a>, <a class="el" href="classTProgram.html#p2">TProgram::menuBar</a> and <a class="el" href="classTProgram.html#p3">TProgram::deskTop</a> are set to point at these new objects.
+<p>
+The <a class="el" href="classTGroup.html">TGroup</a> constructor is also invoked to create a full screen view: the video <a class="el" href="classTGroup.html#m4">TGroup::buffer</a> and default palettes are initialized and the following <a class="el" href="classTView.html#m4">TView::state</a> flags are set:
+<p>
+<pre>
+ state = <a class="el" href="views_8h.html#a26">sfVisible</a> | <a class="el" href="views_8h.html#a31">sfSelected</a> | <a class="el" href="views_8h.html#a32">sfFocused</a> |
+ <a class="el" href="views_8h.html#a35">sfModal</a> | <a class="el" href="views_8h.html#a37">sfExposed</a>;
+ </pre> </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="n2" doxytag="TProgInit::createDeskTop"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTDeskTop.html">TDeskTop</a>*(* TProgInit::createDeskTop)( <a class="el" href="classTRect.html">TRect</a> )<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates the desk top with the given size. </td>
+ </tr>
+</table>
+<a name="n1" doxytag="TProgInit::createMenuBar"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTMenuBar.html">TMenuBar</a>*(* TProgInit::createMenuBar)( <a class="el" href="classTRect.html">TRect</a> )<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates the menu bar with the given size. </td>
+ </tr>
+</table>
+<a name="n0" doxytag="TProgInit::createStatusLine"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStatusLine.html">TStatusLine</a>*(* TProgInit::createStatusLine)( <a class="el" href="classTRect.html">TRect</a> )<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates the status line with the given size. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="app_8h-source.html">app.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:16 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTProgInit.png b/freebsdtvision/doc/html/classTProgInit.png
new file mode 100644
index 0000000..0802262
--- /dev/null
+++ b/freebsdtvision/doc/html/classTProgInit.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTProgram-members.html b/freebsdtvision/doc/html/classTProgram-members.html
new file mode 100644
index 0000000..7170e86
--- /dev/null
+++ b/freebsdtvision/doc/html/classTProgram-members.html
@@ -0,0 +1,181 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TProgram Member List</h1>This is the complete list of members for <a class="el" href="classTProgram.html">TProgram</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgram.html#p0">application</a></td><td><a class="el" href="classTProgram.html">TProgram</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgram.html#p4">appPalette</a></td><td><a class="el" href="classTProgram.html">TProgram</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a17">at</a>(short index)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a5">awaken</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a32">blockCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m4">buffer</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#d0">build</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a10">calcBounds</a>(TRect &amp;bounds, TPoint delta)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgram.html#a2">canMoveFocus</a>()</td><td><a class="el" href="classTProgram.html">TProgram</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a25">changeBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a38">clearEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m2">clip</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d0">commandEnabled</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p0">commandSetChanged</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a7">containsMouse</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgInit.html#n2">createDeskTop</a></td><td><a class="el" href="classTProgInit.html">TProgInit</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgInit.html#n1">createMenuBar</a></td><td><a class="el" href="classTProgInit.html">TProgInit</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgInit.html#n0">createStatusLine</a></td><td><a class="el" href="classTProgInit.html">TProgInit</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p1">curCommandSet</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m0">current</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m6">cursor</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a26">dataSize</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgram.html#p3">deskTop</a></td><td><a class="el" href="classTProgram.html">TProgram</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d3">disableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d1">disableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m8">dragMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a9">dragView</a>(TEvent &amp;event, uchar mode, TRect &amp;limits, TPoint minSize, TPoint maxSize)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a29">draw</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a37">drawCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a24">drawHide</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a25">drawShow</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a24">drawSubViews</a>(TView *p, TView *bottom)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a26">drawUnderRect</a>(TRect &amp;r, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a27">drawUnderView</a>(Boolean doShadow, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a20">drawView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d4">enableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d2">enableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a34">endModal</a>(ushort command)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m6">endState</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>enterSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p3">errorAttr</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a39">eventAvail</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a35">eventError</a>(TEvent &amp;event)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m3">eventMask</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a4">execute</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgram.html#a3">executeDialog</a>(TDialog *pD, void *data=0)</td><td><a class="el" href="classTProgram.html">TProgram</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a3">execView</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a21">exposed</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a21">first</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a18">firstMatch</a>(ushort aState, ushort aOptions)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a12">firstThat</a>(Boolean(*func)(TView *, void *), void *args)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a22">focus</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a13">focusNext</a>(Boolean forwards)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a14">forEach</a>(void(*func)(TView *, void *), void *args)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a38">freeBuffer</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a3">getBounds</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a39">getBuffer</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a5">getClipRect</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a45">getColor</a>(ushort color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d5">getCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a27">getData</a>(void *rec)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgram.html#a4">getEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTProgram.html">TProgram</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a4">getExtent</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a36">getHelpCtx</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgram.html#a5">getPalette</a>() const</td><td><a class="el" href="classTProgram.html">TProgram</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a48">getState</a>(ushort aState)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m7">growMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a12">growTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgram.html#a6">handleEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTProgram.html">TProgram</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m9">helpCtx</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a17">hide</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a23">hideCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgram.html#a7">idle</a>()</td><td><a class="el" href="classTProgram.html">TProgram</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a19">indexOf</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgram.html#d2">initDeskTop</a>(TRect)</td><td><a class="el" href="classTProgram.html">TProgram</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgram.html#d1">initMenuBar</a>(TRect)</td><td><a class="el" href="classTProgram.html">TProgram</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgram.html#a8">initScreen</a>()</td><td><a class="el" href="classTProgram.html">TProgram</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgram.html#d0">initStatusLine</a>(TRect)</td><td><a class="el" href="classTProgram.html">TProgram</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a15">insert</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a16">insertBefore</a>(TView *p, TView *Target)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a6">insertView</a>(TView *p, TView *Target)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgram.html#a12">insertWindow</a>(TWindow *)</td><td><a class="el" href="classTProgram.html">TProgram</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a51">keyEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m1">last</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>leaveSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a8">locate</a>(TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a31">lock</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m5">lockFlag</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a58">makeFirst</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a53">makeGlobal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a54">makeLocal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a47">mapColor</a>(uchar)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a20">matches</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgram.html#p2">menuBar</a></td><td><a class="el" href="classTProgram.html">TProgram</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a52">mouseEvent</a>(TEvent &amp;event, ushort mask)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a6">mouseInView</a>(TPoint mouse)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a13">moveTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#p0">name</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m0">next</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a55">nextView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a33">normalCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>normalSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m2">options</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m5">origin</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgram.html#a9">outOfMemory</a>()</td><td><a class="el" href="classTProgram.html">TProgram</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m10">owner</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgram.html#q0">pending</a></td><td><a class="el" href="classTProgram.html">TProgram</a></td><td><code> [protected, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m3">phase</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s6">phaseType</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phFocused</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPostProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPreProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a57">prev</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a56">prevView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgram.html#a10">putEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTProgram.html">TProgram</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a59">putInFrontOf</a>(TView *Target)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#b2">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a30">redraw</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a7">remove</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a8">removeView</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a9">resetCurrent</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a33">resetCursor</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgram.html#a17">resume</a>()</td><td><a class="el" href="classTProgram.html">TProgram</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgram.html#a11">run</a>()</td><td><a class="el" href="classTProgram.html">TProgram</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a49">select</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s7">selectMode</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a11">selectNext</a>(Boolean forwards)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a14">setBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d7">setCmdState</a>(TCommandSet &amp;commands, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d6">setCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a10">setCurrent</a>(TView *p, selectMode mode)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a35">setCursor</a>(int x, int y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a28">setData</a>(void *rec)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgram.html#a13">setScreenMode</a>(ushort mode)</td><td><a class="el" href="classTProgram.html">TProgram</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a22">setState</a>(ushort aState, Boolean enable)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a18">show</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a36">showCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p2">showMarkers</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgram.html#a15">shutDown</a>()</td><td><a class="el" href="classTProgram.html">TProgram</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m1">size</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a2">sizeLimits</a>(TPoint &amp;min, TPoint &amp;max)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m4">state</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgram.html#p1">statusLine</a></td><td><a class="el" href="classTProgram.html">TProgram</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgram.html#a16">suspend</a>()</td><td><a class="el" href="classTProgram.html">TProgram</a></td><td><code> [inline, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a0">TGroup</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#b0">TGroup</a>(StreamableInit)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a60">TopView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgInit.html#a0">TProgInit</a>(TStatusLine *(*cStatusLine)(TRect), TMenuBar *(*cMenuBar)(TRect), TDeskTop *(*cDeskTop)(TRect))</td><td><a class="el" href="classTProgInit.html">TProgInit</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgram.html#a0">TProgram</a>()</td><td><a class="el" href="classTProgram.html">TProgram</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a0">TView</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#b0">TView</a>(StreamableInit)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a32">unlock</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a37">valid</a>(ushort command)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgram.html#a14">validView</a>(TView *p)</td><td><a class="el" href="classTProgram.html">TProgram</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#b1">write</a>(opstream &amp;os)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a61">writeBuf</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a62">writeBuf</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a63">writeChar</a>(short x, short y, char c, uchar color, short count)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a64">writeLine</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a65">writeLine</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a66">writeStr</a>(short x, short y, const char *str, uchar color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a1">~TGroup</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTProgram.html#a1">~TProgram</a>()</td><td><a class="el" href="classTProgram.html">TProgram</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a1">~TView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:16 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTProgram.html b/freebsdtvision/doc/html/classTProgram.html
new file mode 100644
index 0000000..c5a6426
--- /dev/null
+++ b/freebsdtvision/doc/html/classTProgram.html
@@ -0,0 +1,973 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TProgram class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TProgram Class Reference</h1>The mother of <a class="el" href="classTApplication.html">TApplication</a>.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="app_8h-source.html">app.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TProgram:
+<p><center><img src="classTProgram.png" usemap="#TProgram_map" border="0" alt=""></center>
+<map name="TProgram_map">
+<area href="classTGroup.html" alt="TGroup" shape="rect" coords="46,112,128,136">
+<area href="classTProgInit.html" alt="TProgInit" shape="rect" coords="138,112,220,136">
+<area href="classTView.html" alt="TView" shape="rect" coords="46,56,128,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,82,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="92,0,174,24">
+<area href="classTApplication.html" alt="TApplication" shape="rect" coords="92,224,174,248">
+</map>
+<a href="classTProgram-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTProgram.html#a0">TProgram</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual&nbsp;</td><td valign=bottom><a class="el" href="classTProgram.html#a1">~TProgram</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTProgram.html#a2">canMoveFocus</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="classTProgram.html#a3">executeDialog</a> (<a class="el" href="classTDialog.html">TDialog</a> *pD, void *data=0)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTProgram.html#a4">getEvent</a> (<a class="el" href="structTEvent.html">TEvent</a> &amp;event)</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="classTPalette.html">TPalette</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="classTProgram.html#a5">getPalette</a> () const</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTProgram.html#a6">handleEvent</a> (<a class="el" href="structTEvent.html">TEvent</a> &amp;event)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTProgram.html#a7">idle</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTProgram.html#a8">initScreen</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTProgram.html#a9">outOfMemory</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTProgram.html#a10">putEvent</a> (<a class="el" href="structTEvent.html">TEvent</a> &amp;event)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTProgram.html#a11">run</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="classTWindow.html">TWindow</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTProgram.html#a12">insertWindow</a> (<a class="el" href="classTWindow.html">TWindow</a> *)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTProgram.html#a13">setScreenMode</a> (<a class="el" href="ttypes_8h.html#a0">ushort</a> mode)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTView.html">TView</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTProgram.html#a14">validView</a> (<a class="el" href="classTView.html">TView</a> *p)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTProgram.html#a15">shutDown</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTProgram.html#a16">suspend</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTProgram.html#a17">resume</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStatusLine.html">TStatusLine</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTProgram.html#d0">initStatusLine</a> (<a class="el" href="classTRect.html">TRect</a>)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTMenuBar.html">TMenuBar</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTProgram.html#d1">initMenuBar</a> (<a class="el" href="classTRect.html">TRect</a>)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTDeskTop.html">TDeskTop</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTProgram.html#d2">initDeskTop</a> (<a class="el" href="classTRect.html">TRect</a>)</td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>TProgram *&nbsp;</td><td valign=bottom><a class="el" href="classTProgram.html#p0">application</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStatusLine.html">TStatusLine</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTProgram.html#p1">statusLine</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTMenuBar.html">TMenuBar</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTProgram.html#p2">menuBar</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTDeskTop.html">TDeskTop</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTProgram.html#p3">deskTop</a></td></tr>
+<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classTProgram.html#p4">appPalette</a></td></tr>
+<tr><td colspan=2><br><h2>Static Protected Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="structTEvent.html">TEvent</a>&nbsp;</td><td valign=bottom><a class="el" href="classTProgram.html#q0">pending</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+The mother of <a class="el" href="classTApplication.html">TApplication</a>.
+<p>
+TProgram provides the basic template for all standard TVision applications. All programs must be derived from TProgram or its immediate derived class, <a class="el" href="classTApplication.html">TApplication</a>. <a class="el" href="classTApplication.html">TApplication</a> differs from TProgram only for its constructor and destructor. However most applications will be derived from <a class="el" href="classTApplication.html">TApplication</a>.
+<p>
+
+<p>
+Definition at line <a class="el" href="app_8h-source.html#l00524">524</a> of file <a class="el" href="app_8h-source.html">app.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TProgram::TProgram"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TProgram::TProgram </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructor.
+<p>
+The TProgram constructor calls the <a class="el" href="classTProgInit.html">TProgInit</a> constructor, passing to it the addresses of three init functions. The <a class="el" href="classTProgInit.html">TProgInit</a> constructor creates a status line, menu bar, and desk top.
+<p>
+If these calls are successful, the three objects are inserted into the TProgram group. Variables <a class="el" href="classTProgram.html#p1">statusLine</a>, <a class="el" href="classTProgram.html#p2">menuBar</a> and <a class="el" href="classTProgram.html#p3">deskTop</a> are set to point at these new objects.
+<p>
+The <a class="el" href="classTGroup.html">TGroup</a> constructor is also invoked to create a full screen view; the video buffer and default palettes are initialized; and the following state flags are set:
+<p>
+<pre>
+ state = <a class="el" href="views_8h.html#a26">sfVisible</a> | <a class="el" href="views_8h.html#a31">sfSelected</a> | <a class="el" href="views_8h.html#a32">sfFocused</a> |
+ <a class="el" href="views_8h.html#a35">sfModal</a> | <a class="el" href="views_8h.html#a37">sfExposed</a>;
+ </pre> </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TProgram::~TProgram"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual TProgram::~TProgram </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Destructor.
+<p>
+Deletes the associated <a class="el" href="classTProgram.html#p3">deskTop</a>, <a class="el" href="classTProgram.html#p2">menuBar</a>, <a class="el" href="classTProgram.html#p1">statusLine</a> objects, and sets application to 0. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="a2" doxytag="TProgram::canMoveFocus"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a> TProgram::canMoveFocus </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns True if the focus can be moved from one desktop view to another one.
+<p>
+It just returns `deskTop-&gt;valid(cmReleasedFocus)'. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTGroup.html#a37">TGroup::valid</a> </dl> </td>
+ </tr>
+</table>
+<a name="a3" doxytag="TProgram::executeDialog"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a0">ushort</a> TProgram::executeDialog </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTDialog.html">TDialog</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>pD</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>void *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>data</em> = 0</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Executes a dialog.
+<p>
+`pD' points to the dialog. The dialog is executed only if it is valid. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTDialog.html#a3">TDialog::valid</a></dl>`data' is a pointer to the memory area where the dialog data will be read before executing the dialog and where the dialog data will be written after executing the dialog. If `data' is 0 no data area is used. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTGroup.html#a27">TGroup::getData</a> , <a class="el" href="classTGroup.html#a28">TGroup::setData</a></dl>This method calls <a class="el" href="classTGroup.html#a3">TGroup::execView()</a> to execute the dialog. The dialog is destroyed before returning from the function, so a call to delete is not necessary. <a class="el" href="classTProgram.html#a3">executeDialog()</a> returns cmCancel if the view is not valid, otherwise it returns the return value of <a class="el" href="classTGroup.html#a3">TGroup::execView()</a>. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="TProgram::getEvent"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TProgram::getEvent </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="structTEvent.html">TEvent</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>event</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Gets an event.
+<p>
+This method collects events from the system like key events, mouse events and timer events and returns them in the `event' structure.
+<p>
+<a class="el" href="classTProgram.html#a4">getEvent()</a> first checks if <a class="el" href="classTProgram.html#a10">TProgram::putEvent()</a> has generated a pending event. If so, <a class="el" href="classTProgram.html#a4">getEvent()</a> returns that event. If there is no pending event, <a class="el" href="classTProgram.html#a4">getEvent()</a> calls <a class="el" href="classTScreen.html#d0">TScreen::getEvent()</a>.
+<p>
+If both calls return <a class="el" href="system_8h.html#a7">evNothing</a>, indicating that no user input is available, <a class="el" href="classTProgram.html#a4">getEvent()</a> calls <a class="el" href="classTProgram.html#a7">TProgram::idle()</a> to allow "background" tasks to be performed while the application is waiting for user input. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTProgram.html#a7">TProgram::idle()</a></dl>Before returning, <a class="el" href="classTProgram.html#a4">getEvent()</a> passes any <a class="el" href="system_8h.html#a4">evKeyDown</a> and <a class="el" href="system_8h.html#a0">evMouseDown</a> events to the <a class="el" href="classTProgram.html#p1">statusLine</a> for it to map into associated <a class="el" href="system_8h.html#a5">evCommand</a> hot key events.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a40">TView</a>.
+<p>
+Reimplemented in <a class="el" href="classTApplication.html#a2">TApplication</a>.
+<p>
+Referenced by <a class="el" href="app_8h-source.html#l00968">TApplication::getEvent()</a>. </td>
+ </tr>
+</table>
+<a name="a5" doxytag="TProgram::getPalette"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="classTPalette.html">TPalette</a>&amp; TProgram::getPalette </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns a reference to the standard TProgram palette.
+<p>
+Returns the palette string given by the palette index in <a class="el" href="classTProgram.html#p4">appPalette</a>. TProgram supports three palettes. <a class="el" href="classTProgram.html#p4">appPalette</a> is initialized by <a class="el" href="classTProgram.html#a8">TProgram::initScreen()</a>.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a46">TView</a>. </td>
+ </tr>
+</table>
+<a name="a6" doxytag="TProgram::handleEvent"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TProgram::handleEvent </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="structTEvent.html">TEvent</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>event</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Standard TProgram event handler.
+<p>
+This method first checks for keyboard events. When it catches keys from Alt-1 to Alt-9 it generates an <a class="el" href="system_8h.html#a6">evBroadcast</a> event with the `command' field equal to cmSelectWindowNum and the `infoPtr' field in the range 1 to 9.
+<p>
+Then it calls <a class="el" href="classTGroup.html#a23">TGroup::handleEvent()</a>.
+<p>
+Last it checks for a cmQuit command in a <a class="el" href="system_8h.html#a5">evCommand</a> event. On success it calls TGroup::endModal(cmQuit) to end the modal state. This causes <a class="el" href="classTProgram.html#a11">TProgram::run()</a> method to return. In most applications this will result in program termination. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTGroup.html#a34">TGroup::endModal</a></dl>Method <a class="el" href="classTProgram.html#a6">handleEvent()</a> is almost always overridden to introduce handling of commands that are specific to your own application.
+<p>
+Reimplemented from <a class="el" href="classTGroup.html#a23">TGroup</a>. </td>
+ </tr>
+</table>
+<a name="a7" doxytag="TProgram::idle"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TProgram::idle </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called when in idle state.
+<p>
+This method is called whenever the library is in idle state, i.e. there is not any event to serve. It allows the application to perform background tasks while waiting for user input.
+<p>
+The default <a class="el" href="classTProgram.html#a7">idle()</a> calls statusLine-&gt;update() to allow the status line to update itself according to the current help context. Then, if the command set has changed since the last call to <a class="el" href="classTProgram.html#a7">idle()</a>, an <a class="el" href="system_8h.html#a6">evBroadcast</a> with a command value of cmCommandSetChanged is generated to allow views that depend on the command set to enable or disable themselves. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTStatusLine.html#a6">TStatusLine::update</a></dl>Note: in the original DOS version this method was called continously. In my port this method is called about 10 times in a second. This result in less CPU load.
+<p>
+The user may redefine this method, for example, to update a clock in the upper right corner of the screen, like the `demo' program does. </td>
+ </tr>
+</table>
+<a name="d2" doxytag="TProgram::initDeskTop"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTDeskTop.html">TDeskTop</a>* TProgram::initDeskTop </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTRect.html">TRect</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a new desktop.
+<p>
+This method creates a standard <a class="el" href="classTDeskTop.html">TDeskTop</a> view and returns its address.
+<p>
+The address of this function is passed to the <a class="el" href="classTProgInit.html">TProgInit</a> constructor, which creates a <a class="el" href="classTDeskTop.html">TDeskTop</a> object for the application and stores a pointer to it in the <a class="el" href="classTProgram.html#p3">deskTop</a> static member.
+<p>
+<a class="el" href="classTProgram.html#d2">initDeskTop()</a> should never be called directly. Few applications need to redefine it to have a custom desktop, instead of the default empty <a class="el" href="classTDeskTop.html">TDeskTop</a>. </td>
+ </tr>
+</table>
+<a name="d1" doxytag="TProgram::initMenuBar"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTMenuBar.html">TMenuBar</a>* TProgram::initMenuBar </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTRect.html">TRect</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a new menu bar.
+<p>
+This method creates a standard <a class="el" href="classTMenuBar.html">TMenuBar</a> view and returns its address.
+<p>
+The address of this function is passed to the <a class="el" href="classTProgInit.html">TProgInit</a> constructor, which creates a <a class="el" href="classTMenuBar.html">TMenuBar</a> object for the application and stores a pointer to it in the <a class="el" href="classTProgram.html#p2">menuBar</a> static member.
+<p>
+<a class="el" href="classTProgram.html#d1">initMenuBar()</a> should never be called directly. <a class="el" href="classTProgram.html#d1">initMenuBar()</a> is almost always overridden to instantiate a user defined <a class="el" href="classTMenuBar.html">TMenuBar</a> instead of the default empty <a class="el" href="classTMenuBar.html">TMenuBar</a>. </td>
+ </tr>
+</table>
+<a name="a8" doxytag="TProgram::initScreen"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TProgram::initScreen </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Initializes the screen.
+<p>
+This method is called by the TProgram constructor and <a class="el" href="classTProgram.html#a13">setScreenMode()</a> every time the screen mode is initialized or changed. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTProgram.html#a0">TProgram::TProgram</a></dl>Performs the updating and adjustment of screen mode-dependent variables for shadow size, markers and application palette (color, monochrome or black &amp; white). The shadows are usually painted in the right and bottom sides of menus and windows. </td>
+ </tr>
+</table>
+<a name="d0" doxytag="TProgram::initStatusLine"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStatusLine.html">TStatusLine</a>* TProgram::initStatusLine </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTRect.html">TRect</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a new status line.
+<p>
+This method creates a standard <a class="el" href="classTStatusLine.html">TStatusLine</a> view and returns its address.
+<p>
+The address of this function is passed to the <a class="el" href="classTProgInit.html">TProgInit</a> constructor, which creates a <a class="el" href="classTStatusLine.html">TStatusLine</a> object for the application and stores a pointer to it in the <a class="el" href="classTProgram.html#p1">statusLine</a> static member.
+<p>
+<a class="el" href="classTProgram.html#d0">initStatusLine()</a> should never be called directly. <a class="el" href="classTProgram.html#d0">initStatusLine()</a> is almost always overridden to instantiate a user defined <a class="el" href="classTStatusLine.html">TStatusLine</a> instead of the default empty <a class="el" href="classTStatusLine.html">TStatusLine</a>. </td>
+ </tr>
+</table>
+<a name="a12" doxytag="TProgram::insertWindow"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="classTWindow.html">TWindow</a>* TProgram::insertWindow </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTWindow.html">TWindow</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Inserts a window in the TProgram. </td>
+ </tr>
+</table>
+<a name="a9" doxytag="TProgram::outOfMemory"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TProgram::outOfMemory </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called on out of memory condition.
+<p>
+It is called from <a class="el" href="classTProgram.html#a14">validView()</a> whenever <a class="el" href="util_8h.html#a14">lowMemory()</a> returns True.
+<p>
+This happens when there is few free memory. Of course this should rarely happen. This method may be redefined to tell the user (by calling <a class="el" href="msgbox_8h.html#a10">messageBox()</a> for example) that there is not free memory to end the current task. </td>
+ </tr>
+</table>
+<a name="a10" doxytag="TProgram::putEvent"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TProgram::putEvent </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="structTEvent.html">TEvent</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>event</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Sets a pending event.
+<p>
+Puts an event in the pending state, by storing a copy of the `event' structure in the pending variable, a static member of TProgram.
+<p>
+Only one event is allowed to be pending. The next call to <a class="el" href="classTProgram.html#a4">getEvent()</a> will return this pending event even if there are other events in the system queue to be handled.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a42">TView</a>. </td>
+ </tr>
+</table>
+<a name="a17" doxytag="TProgram::resume"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TProgram::resume </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Restores the execution of the application.
+<p>
+This method is empty. Will be redefined in <a class="el" href="classTApplication.html">TApplication</a> which is a child of TProgram. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTApplication.html#a1">TApplication::resume</a> </dl>
+<p>
+Reimplemented in <a class="el" href="classTApplication.html#a1">TApplication</a>.
+<p>
+Definition at line <a class="el" href="app_8h-source.html#l00767">767</a> of file <a class="el" href="app_8h-source.html">app.h</a>. </td>
+ </tr>
+</table>
+<a name="a11" doxytag="TProgram::run"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TProgram::run </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Runs TProgram.
+<p>
+Executes TProgram by calling its method <a class="el" href="classTGroup.html#a4">execute()</a>, which TProgram inherits from <a class="el" href="classTGroup.html">TGroup</a>. </td>
+ </tr>
+</table>
+<a name="a13" doxytag="TProgram::setScreenMode"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TProgram::setScreenMode </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>mode</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Sets a new screen mode.
+<p>
+The `mode' parameter can by one of the constants smCO80, smBW80 or smMono, defined in `<a class="el" href="system_8h.html">system.h</a>' as follows. Optionally the value may be or-ed with smFont8x8.
+<p>
+<pre>
+ Constant Value Meaning
+
+ smBW80 0x0002 Requires black &amp; white screen, 80 columns
+ smCO80 0x0003 Requires color screen, 80 columns
+ smMono 0x0007 Requires monochrome screen
+ smFont8x8 0x0100 Requires small size font
+ </pre>
+<p>
+Note: in my port this method only redraws the screen. </td>
+ </tr>
+</table>
+<a name="a15" doxytag="TProgram::shutDown"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TProgram::shutDown </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Releases TProgram resources.
+<p>
+Used internally by <a class="el" href="classTObject.html#d0">TObject::destroy()</a> to ensure correct destruction of derived and related objects. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTObject.html#a1">TObject::shutDown</a></dl>This method releases all the resources allocated by TProgram. It sets pointers <a class="el" href="classTProgram.html#p1">statusLine</a>, <a class="el" href="classTProgram.html#p2">menuBar</a> and <a class="el" href="classTProgram.html#p3">deskTop</a> to 0 and then calls <a class="el" href="classTGroup.html#a2">TGroup::shutDown()</a> and <a class="el" href="classTVMemMgr.html#d2">TVMemMgr::clearSafetyPool()</a>.
+<p>
+Reimplemented from <a class="el" href="classTGroup.html#a2">TGroup</a>. </td>
+ </tr>
+</table>
+<a name="a16" doxytag="TProgram::suspend"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TProgram::suspend </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Stops the execution of the application.
+<p>
+This method is empty. Will be redefined in <a class="el" href="classTApplication.html">TApplication</a> which is a child of TProgram. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTApplication.html#a0">TApplication::suspend</a> </dl>
+<p>
+Reimplemented in <a class="el" href="classTApplication.html#a0">TApplication</a>.
+<p>
+Definition at line <a class="el" href="app_8h-source.html#l00759">759</a> of file <a class="el" href="app_8h-source.html">app.h</a>. </td>
+ </tr>
+</table>
+<a name="a14" doxytag="TProgram::validView"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTView.html">TView</a>* TProgram::validView </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTView.html">TView</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>p</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Checks if a view is valid.
+<p>
+Returns `p' if the view pointed by `p' is valid. Otherwise returns a null pointer.
+<p>
+First, if `p' is 0 the call returns 0.
+<p>
+Next, if <a class="el" href="util_8h.html#a14">lowMemory()</a> returns True the view pointed by `p' is released by calling <a class="el" href="classTObject.html#d0">TObject::destroy()</a> followed by <a class="el" href="classTProgram.html#a9">outOfMemory()</a> and the function returns 0.
+<p>
+Last if a call to `p-&gt;valid(cmValid)' returns False the view pointed by `p' is released and the function returns 0. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#a16">TView::valid</a></dl>Otherwise, the view is considered valid, and pointer `p' is returned. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="p0" doxytag="TProgram::application"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TProgram* TProgram::application<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+A pointer to the current application, direct istance of TProgram or istance of another class derived from TProgram, usually <a class="el" href="classTApplication.html">TApplication</a>. Set to this by the <a class="el" href="classTProgInit.html">TProgInit</a> constructor.
+<p>
+Only one TProgram object can exist at any time. In this way every object can call TProgram methods even if it does't know its name.
+<p>
+Definition at line <a class="el" href="app_8h-source.html#l00825">825</a> of file <a class="el" href="app_8h-source.html">app.h</a>. </td>
+ </tr>
+</table>
+<a name="p4" doxytag="TProgram::appPalette"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> int TProgram::appPalette<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The current application palette. Indexes the default palette for this application. The <a class="el" href="classTPalette.html">TPalette</a> object corresponding to appPalette is returned by <a class="el" href="classTProgram.html#a5">getPalette()</a>. This value is set automatically at startup by <a class="el" href="classTProgram.html#a8">initScreen()</a>.
+<p>
+The following application palette constants are defined:
+<p>
+<pre>
+ Constant Value Meaning
+
+ <a class="el" href="app_8h.html#a21">apColor</a> 0 Use palette for color screen
+ <a class="el" href="app_8h.html#a22">apBlackWhite</a> 1 Use palette for LCD screen
+ <a class="el" href="app_8h.html#a23">apMonochrome</a> 2 Use palette for monochrome screen
+ </pre>
+<p>
+Definition at line <a class="el" href="app_8h-source.html#l00866">866</a> of file <a class="el" href="app_8h-source.html">app.h</a>. </td>
+ </tr>
+</table>
+<a name="p3" doxytag="TProgram::deskTop"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTDeskTop.html">TDeskTop</a>* TProgram::deskTop<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+A pointer to the current desk top object, set by a call to <a class="el" href="classTProgInit.html#n2">TProgInit::createDeskTop()</a> in the TProgram constructor. The resulting desk top is inserted into the TProgram group.
+<p>
+May be 0 if no desk top exist.
+<p>
+Definition at line <a class="el" href="app_8h-source.html#l00849">849</a> of file <a class="el" href="app_8h-source.html">app.h</a>. </td>
+ </tr>
+</table>
+<a name="p2" doxytag="TProgram::menuBar"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTMenuBar.html">TMenuBar</a>* TProgram::menuBar<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+A pointer to the current menu bar object, set by a call to <a class="el" href="classTProgInit.html#n1">TProgInit::createMenuBar()</a> in the TProgram constructor. The resulting menu bar is inserted into the TProgram group.
+<p>
+May be 0 if no menu bar exist.
+<p>
+Definition at line <a class="el" href="app_8h-source.html#l00841">841</a> of file <a class="el" href="app_8h-source.html">app.h</a>. </td>
+ </tr>
+</table>
+<a name="q0" doxytag="TProgram::pending"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="structTEvent.html">TEvent</a> TProgram::pending<code> [static, protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The current pending event.
+<p>
+This structure contains the current pending event, if any exists. A maximum of one pending event may be set by calling <a class="el" href="classTProgram.html#a10">putEvent()</a>.
+<p>
+Definition at line <a class="el" href="app_8h-source.html#l00874">874</a> of file <a class="el" href="app_8h-source.html">app.h</a>. </td>
+ </tr>
+</table>
+<a name="p1" doxytag="TProgram::statusLine"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStatusLine.html">TStatusLine</a>* TProgram::statusLine<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+A pointer to the current status line object, set by a call to <a class="el" href="classTProgInit.html#n0">TProgInit::createStatusLine()</a> in the TProgram constructor. The resulting status line is inserted into the TProgram group.
+<p>
+May be 0 if no status line exist.
+<p>
+Definition at line <a class="el" href="app_8h-source.html#l00833">833</a> of file <a class="el" href="app_8h-source.html">app.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="app_8h-source.html">app.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:16 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTProgram.png b/freebsdtvision/doc/html/classTProgram.png
new file mode 100644
index 0000000..89f95f4
--- /dev/null
+++ b/freebsdtvision/doc/html/classTProgram.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTRadioButtons-members.html b/freebsdtvision/doc/html/classTRadioButtons-members.html
new file mode 100644
index 0000000..45be0c5
--- /dev/null
+++ b/freebsdtvision/doc/html/classTRadioButtons-members.html
@@ -0,0 +1,138 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TRadioButtons Member List</h1>This is the complete list of members for <a class="el" href="classTRadioButtons.html">TRadioButtons</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a31">awaken</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a32">blockCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTRadioButtons.html#d0">build</a>()</td><td><a class="el" href="classTRadioButtons.html">TRadioButtons</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a16">buttonState</a>(int item)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a10">calcBounds</a>(TRect &amp;bounds, TPoint delta)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a11">changeBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a38">clearEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d0">commandEnabled</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p0">commandSetChanged</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a7">containsMouse</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p1">curCommandSet</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m6">cursor</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a2">dataSize</a>()</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d3">disableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d1">disableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m8">dragMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a9">dragView</a>(TEvent &amp;event, uchar mode, TRect &amp;limits, TPoint minSize, TPoint maxSize)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTRadioButtons.html#a1">draw</a>()</td><td><a class="el" href="classTRadioButtons.html">TRadioButtons</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a3">drawBox</a>(const char *icon, char marker)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a37">drawCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a24">drawHide</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a4">drawMultiBox</a>(const char *icon, const char *marker)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a25">drawShow</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a26">drawUnderRect</a>(TRect &amp;r, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a27">drawUnderView</a>(Boolean doShadow, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a20">drawView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d4">enableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d2">enableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#n1">enableMask</a></td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a43">endModal</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>enterSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p3">errorAttr</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a39">eventAvail</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m3">eventMask</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a44">execute</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a21">exposed</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a22">focus</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a3">getBounds</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a5">getClipRect</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a45">getColor</a>(ushort color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d5">getCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a5">getData</a>(void *rec)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a40">getEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a4">getExtent</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a6">getHelpCtx</a>()</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a7">getPalette</a>() const</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a48">getState</a>(ushort aState)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m7">growMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a12">growTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a8">handleEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m9">helpCtx</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a17">hide</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a23">hideCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a51">keyEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>leaveSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a8">locate</a>(TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a58">makeFirst</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a53">makeGlobal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a54">makeLocal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a47">mapColor</a>(uchar)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTRadioButtons.html#a2">mark</a>(int item)</td><td><a class="el" href="classTRadioButtons.html">TRadioButtons</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a52">mouseEvent</a>(TEvent &amp;event, ushort mask)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a6">mouseInView</a>(TPoint mouse)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTRadioButtons.html#a3">movedTo</a>(int item)</td><td><a class="el" href="classTRadioButtons.html">TRadioButtons</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a13">moveTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a10">multiMark</a>(int item)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTRadioButtons.html#p0">name</a></td><td><a class="el" href="classTRadioButtons.html">TRadioButtons</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m0">next</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a55">nextView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a33">normalCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>normalSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m2">options</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m5">origin</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m10">owner</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s6">phaseType</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phFocused</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPostProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPreProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTRadioButtons.html#a4">press</a>(int item)</td><td><a class="el" href="classTRadioButtons.html">TRadioButtons</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a57">prev</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a56">prevView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a42">putEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a59">putInFrontOf</a>(TView *Target)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#b2">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a34">resetCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#n2">sel</a></td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a49">select</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s7">selectMode</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a14">setBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a15">setButtonState</a>(unsigned long aMask, Boolean enable)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d7">setCmdState</a>(TCommandSet &amp;commands, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d6">setCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a35">setCursor</a>(int x, int y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTRadioButtons.html#a5">setData</a>(void *rec)</td><td><a class="el" href="classTRadioButtons.html">TRadioButtons</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a14">setState</a>(ushort aState, Boolean enable)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a18">show</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a36">showCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p2">showMarkers</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a67">shutDown</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m1">size</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a2">sizeLimits</a>(TPoint &amp;min, TPoint &amp;max)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m4">state</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#n3">strings</a></td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a0">TCluster</a>(const TRect &amp;bounds, TSItem *aStrings)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#b0">TCluster</a>(StreamableInit)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a60">TopView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTRadioButtons.html#a0">TRadioButtons</a>(const TRect &amp;bounds, TSItem *aStrings)</td><td><a class="el" href="classTRadioButtons.html">TRadioButtons</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTRadioButtons.html#b0">TRadioButtons</a>(StreamableInit)</td><td><a class="el" href="classTRadioButtons.html">TRadioButtons</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a0">TView</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#b0">TView</a>(StreamableInit)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a16">valid</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#n0">value</a></td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#b1">write</a>(opstream &amp;os)</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a61">writeBuf</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a62">writeBuf</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a63">writeChar</a>(short x, short y, char c, uchar color, short count)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a64">writeLine</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a65">writeLine</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a66">writeStr</a>(short x, short y, const char *str, uchar color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCluster.html#a1">~TCluster</a>()</td><td><a class="el" href="classTCluster.html">TCluster</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a1">~TView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:16 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTRadioButtons.html b/freebsdtvision/doc/html/classTRadioButtons.html
new file mode 100644
index 0000000..67ecb47
--- /dev/null
+++ b/freebsdtvision/doc/html/classTRadioButtons.html
@@ -0,0 +1,365 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TRadioButtons class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TRadioButtons Class Reference</h1>Cluster of radio buttons.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="dialogs_8h-source.html">dialogs.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TRadioButtons:
+<p><center><img src="classTRadioButtons.png" usemap="#TRadioButtons_map" border="0" alt=""></center>
+<map name="TRadioButtons_map">
+<area href="classTCluster.html" alt="TCluster" shape="rect" coords="51,112,143,136">
+<area href="classTView.html" alt="TView" shape="rect" coords="51,56,143,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,92,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="102,0,194,24">
+</map>
+<a href="classTRadioButtons-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTRadioButtons.html#a0">TRadioButtons</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;bounds, <a class="el" href="classTSItem.html">TSItem</a> *aStrings)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTRadioButtons.html#a1">draw</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTRadioButtons.html#a2">mark</a> (int item)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTRadioButtons.html#a3">movedTo</a> (int item)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTRadioButtons.html#a4">press</a> (int item)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTRadioButtons.html#a5">setData</a> (void *rec)</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStreamable.html">TStreamable</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTRadioButtons.html#d0">build</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>const char *const&nbsp;</td><td valign=bottom><a class="el" href="classTRadioButtons.html#p0">name</a></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTRadioButtons.html#b0">TRadioButtons</a> (<a class="el" href="ttypes_8h.html#a14">StreamableInit</a>)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+This view implements a cluster of radio buttons.
+<p>
+TRadioButtons objects are clusters controls with the special property that only one control button in the cluster can be selected at any moment. Selecting an unselected button will automatically deselect (restore) the previously selected button.
+<p>
+The user can select a button with mouse clicks, cursor movements, and Alt-letter shortcuts. Each radio button can be highlighted and selected (with the Spacebar). An "." appears in the radio button when it is selected.
+<p>
+Other parts of your application typically examine the state of the radio buttons to determine which option has been chosen by the user.
+<p>
+Radio button clusters often have associated <a class="el" href="classTLabel.html">TLabel</a> objects to give the user an overview of the clustered options.
+<p>
+TRadioButtons interprets value as the number of the "pressed" button, with the first button in the cluster being number 0. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTCheckBoxes.html">TCheckBoxes</a> </dl>
+<p>
+
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l01181">1181</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TRadioButtons::TRadioButtons"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TRadioButtons::TRadioButtons </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>bounds</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTSItem.html">TSItem</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aStrings</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructor.
+<p>
+`bounds' is the bounding rectangle of the view. `aStrings' points to a linked list of <a class="el" href="classTSItem.html">TSItem</a> objects, one for each radio button, and is assigned to strings data member.
+<p>
+Every <a class="el" href="classTSItem.html">TSItem</a> object stores the caption of the related radio button. TRadioButtons handles a maximum of 2^32 radio buttons.
+<p>
+The sel and value data members are set to zero; options is set to (<a class="el" href="views_8h.html#a38">ofSelectable</a> | <a class="el" href="views_8h.html#a40">ofFirstClick</a> | <a class="el" href="views_8h.html#a42">ofPreProcess</a> | <a class="el" href="views_8h.html#a43">ofPostProcess</a>).
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l01292">1292</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="b0" doxytag="TRadioButtons::TRadioButtons"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TRadioButtons::TRadioButtons </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a14">StreamableInit</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructor.
+<p>
+Used to recover the view from a stream. Each streamable class needs a "builder" to allocate the correct memory for its objects together with the initialized virtual table pointers. This is achieved by calling this constructor with an argument of type <a class="el" href="ttypes_8h.html#a14">StreamableInit</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="d0" doxytag="TRadioButtons::build"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStreamable.html">TStreamable</a>* TRadioButtons::build </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a new TRadioButtons view.
+<p>
+Called to create an object in certain stream-reading situations.
+<p>
+Reimplemented from <a class="el" href="classTCluster.html#d0">TCluster</a>. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TRadioButtons::draw"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TRadioButtons::draw </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Draws the TRadioButtons object by calling the inherited <a class="el" href="classTCluster.html#a3">TCluster::drawBox()</a> member function.
+<p>
+The default radio button is " ( ) " when unselected and " (.) " when selected. Note that if the boundaries of the view are sufficiently wide, radio buttons can be displayed in multiple columns.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a19">TView</a>. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="TRadioButtons::mark"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a> TRadioButtons::mark </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>item</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns True if the specified radio button is pressed; that is, if `item' is equal to value data member.
+<p>
+Integer `item' specifies which radio button to check. 0 is the first radio button, 1 is the second radio button, etc.
+<p>
+Reimplemented from <a class="el" href="classTCluster.html#a9">TCluster</a>. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="TRadioButtons::movedTo"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TRadioButtons::movedTo </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>item</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called whenever the user moves the selection to another radio button.
+<p>
+Sets value data member to `item'. This will press `item' radio button and release the previously pressed radio button. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTCluster.html#a12">TCluster::movedTo</a> , <a class="el" href="classTCluster.html#n0">TCluster::value</a> </dl>
+<p>
+Reimplemented from <a class="el" href="classTCluster.html#a12">TCluster</a>. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="TRadioButtons::press"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TRadioButtons::press </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>item</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called to press another radio button.
+<p>
+Integer `item' specifies which radio button to press. The previous radio button is released. 0 is the first radio button, 1 the second radio button, etc. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTCluster.html#a11">TCluster::press</a> </dl>
+<p>
+Reimplemented from <a class="el" href="classTCluster.html#a11">TCluster</a>. </td>
+ </tr>
+</table>
+<a name="a5" doxytag="TRadioButtons::setData"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TRadioButtons::setData </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>rec</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Writes the data record of this view.
+<p>
+This method calls <a class="el" href="classTCluster.html#a13">TCluster::setData()</a> and after sets sel data member to value data member. This will move the selection on the currently pressed radio button.
+<p>
+Reimplemented from <a class="el" href="classTCluster.html#a13">TCluster</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="p0" doxytag="TRadioButtons::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* const TRadioButtons::name<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTCluster.html#p0">TCluster</a>.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l01261">1261</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="dialogs_8h-source.html">dialogs.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:16 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTRadioButtons.png b/freebsdtvision/doc/html/classTRadioButtons.png
new file mode 100644
index 0000000..8d56acf
--- /dev/null
+++ b/freebsdtvision/doc/html/classTRadioButtons.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTRangeValidator-members.html b/freebsdtvision/doc/html/classTRangeValidator-members.html
new file mode 100644
index 0000000..0bd567c
--- /dev/null
+++ b/freebsdtvision/doc/html/classTRangeValidator-members.html
@@ -0,0 +1,39 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TRangeValidator Member List</h1>This is the complete list of members for <a class="el" href="classTRangeValidator.html">TRangeValidator</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTRangeValidator.html#d0">build</a>()</td><td><a class="el" href="classTRangeValidator.html">TRangeValidator</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTRangeValidator.html#a1">error</a>()</td><td><a class="el" href="classTRangeValidator.html">TRangeValidator</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTRangeValidator.html#a2">isValid</a>(const char *s)</td><td><a class="el" href="classTRangeValidator.html">TRangeValidator</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFilterValidator.html#a3">isValidInput</a>(char *s, Boolean suppressFill)</td><td><a class="el" href="classTFilterValidator.html">TFilterValidator</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTRangeValidator.html#n1">max</a></td><td><a class="el" href="classTRangeValidator.html">TRangeValidator</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTRangeValidator.html#n0">min</a></td><td><a class="el" href="classTRangeValidator.html">TRangeValidator</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTRangeValidator.html#p0">name</a></td><td><a class="el" href="classTRangeValidator.html">TRangeValidator</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTValidator.html#m1">options</a></td><td><a class="el" href="classTValidator.html">TValidator</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTRangeValidator.html#b2">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTRangeValidator.html">TRangeValidator</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a1">shutDown</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTValidator.html#m0">status</a></td><td><a class="el" href="classTValidator.html">TValidator</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFilterValidator.html#a0">TFilterValidator</a>(const char *aValidChars)</td><td><a class="el" href="classTFilterValidator.html">TFilterValidator</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFilterValidator.html#b0">TFilterValidator</a>(StreamableInit)</td><td><a class="el" href="classTFilterValidator.html">TFilterValidator</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTRangeValidator.html#a0">TRangeValidator</a>(long aMin, long aMax)</td><td><a class="el" href="classTRangeValidator.html">TRangeValidator</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTRangeValidator.html#b0">TRangeValidator</a>(StreamableInit)</td><td><a class="el" href="classTRangeValidator.html">TRangeValidator</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTRangeValidator.html#a3">transfer</a>(char *s, void *buffer, TVTransfer flag)</td><td><a class="el" href="classTRangeValidator.html">TRangeValidator</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTValidator.html#a0">TValidator</a>()</td><td><a class="el" href="classTValidator.html">TValidator</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTValidator.html#b0">TValidator</a>(StreamableInit)</td><td><a class="el" href="classTValidator.html">TValidator</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTValidator.html#a5">validate</a>(const char *s)</td><td><a class="el" href="classTValidator.html">TValidator</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFilterValidator.html#n0">validChars</a></td><td><a class="el" href="classTFilterValidator.html">TFilterValidator</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTRangeValidator.html#b1">write</a>(opstream &amp;os)</td><td><a class="el" href="classTRangeValidator.html">TRangeValidator</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTFilterValidator.html#a1">~TFilterValidator</a>()</td><td><a class="el" href="classTFilterValidator.html">TFilterValidator</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:16 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTRangeValidator.html b/freebsdtvision/doc/html/classTRangeValidator.html
new file mode 100644
index 0000000..d5cac87
--- /dev/null
+++ b/freebsdtvision/doc/html/classTRangeValidator.html
@@ -0,0 +1,413 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TRangeValidator class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TRangeValidator Class Reference</h1>Determines whether the data typed by a user falls within a designated range of integers.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="validate_8h-source.html">validate.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TRangeValidator:
+<p><center><img src="classTRangeValidator.png" usemap="#TRangeValidator_map" border="0" alt=""></center>
+<map name="TRangeValidator_map">
+<area href="classTFilterValidator.html" alt="TFilterValidator" shape="rect" coords="58,112,164,136">
+<area href="classTValidator.html" alt="TValidator" shape="rect" coords="58,56,164,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,106,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="116,0,222,24">
+</map>
+<a href="classTRangeValidator-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTRangeValidator.html#a0">TRangeValidator</a> (long aMin, long aMax)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTRangeValidator.html#a1">error</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTRangeValidator.html#a2">isValid</a> (const char *s)</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="classTRangeValidator.html#a3">transfer</a> (char *s, void *buffer, TVTransfer flag)</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStreamable.html">TStreamable</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTRangeValidator.html#d0">build</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>const char *const&nbsp;</td><td valign=bottom><a class="el" href="classTRangeValidator.html#p0">name</a></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTRangeValidator.html#b0">TRangeValidator</a> (<a class="el" href="ttypes_8h.html#a14">StreamableInit</a>)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTRangeValidator.html#b1">write</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void *&nbsp;</td><td valign=bottom><a class="el" href="classTRangeValidator.html#b2">read</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is)</td></tr>
+<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>long&nbsp;</td><td valign=bottom><a class="el" href="classTRangeValidator.html#n0">min</a></td></tr>
+<tr><td nowrap align=right valign=top>long&nbsp;</td><td valign=bottom><a class="el" href="classTRangeValidator.html#n1">max</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+A range validator object determines whether the data typed by a user falls within a designated range of integers.
+<p>
+
+<p>
+Definition at line <a class="el" href="validate_8h-source.html#l00606">606</a> of file <a class="el" href="validate_8h-source.html">validate.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TRangeValidator::TRangeValidator"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TRangeValidator::TRangeValidator </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">long&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aMin</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>long&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aMax</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructs a range validator object by first calling the constructor inherited from <a class="el" href="classTFilterValidator.html">TFilterValidator</a>, passing a set of characters containing the digits '0'..'9' and the characters '+' and '-'.
+<p>
+Sets min to `aMin' and max to `aMax', establishing the range of acceptable long integer values. </td>
+ </tr>
+</table>
+<a name="b0" doxytag="TRangeValidator::TRangeValidator"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TRangeValidator::TRangeValidator </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a14">StreamableInit</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Each streamable class needs a "builder" to allocate the correct memory for its objects together with the initialized virtual table pointers. This is achieved by calling this constructor with an argument of type <a class="el" href="ttypes_8h.html#a14">StreamableInit</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="d0" doxytag="TRangeValidator::build"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStreamable.html">TStreamable</a>* TRangeValidator::build </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called to create an object in certain stream-reading situations.
+<p>
+Reimplemented from <a class="el" href="classTFilterValidator.html#d0">TFilterValidator</a>. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TRangeValidator::error"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TRangeValidator::error </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Displays a message box indicating that the entered value did not fall in the specified range.
+<p>
+Reimplemented from <a class="el" href="classTFilterValidator.html#a2">TFilterValidator</a>. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="TRangeValidator::isValid"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a> TRangeValidator::isValid </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>s</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Converts the string `s' into an integer number and returns True if the result meets all three of these conditions:
+<p>
+<ol>
+<li>it is a valid integer number<li>it value is greater than or equal to min<li>it value is less than or equal to max</ol>
+If any of those tests fails, <a class="el" href="classTRangeValidator.html#a2">isValid()</a> returns False.
+<p>
+Reimplemented from <a class="el" href="classTFilterValidator.html#a4">TFilterValidator</a>. </td>
+ </tr>
+</table>
+<a name="b2" doxytag="TRangeValidator::read"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void* TRangeValidator::read </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>is</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Reads from the input stream `is'.
+<p>
+Reimplemented from <a class="el" href="classTFilterValidator.html#b2">TFilterValidator</a>. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="TRangeValidator::transfer"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a0">ushort</a> TRangeValidator::transfer </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>s</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>void *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>buffer</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>TVTransfer&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>flag</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Incorporates the three functions <a class="el" href="classTInputLine.html#a2">TInputLine::dataSize()</a>, <a class="el" href="classTInputLine.html#a4">TInputLine::getData()</a>, and <a class="el" href="classTInputLine.html#a8">TInputLine::setData()</a> that a range validator can handle for its associated input line.
+<p>
+Instead of setting and reading the value of the numeric input line by passing a string representation of the number, <a class="el" href="classTRangeValidator.html#a3">transfer()</a> can use a long int as its data record, which keeps your application from having to handle the conversion.
+<p>
+`s' is the input line's string value, and `buffer' is the data record passed to the input line.
+<p>
+Depending on the value of `flag', transfer either sets `s' from the number in `buffer' or sets the number at `buffer' to the value of the string `s'. If `flag' is vtSetData, <a class="el" href="classTRangeValidator.html#a3">transfer()</a> sets `s' from `buffer'.
+<p>
+If `flag' is vtGetData, <a class="el" href="classTRangeValidator.html#a3">transfer()</a> sets `buffer' from `s'. If `flag' is vtDataSize, <a class="el" href="classTRangeValidator.html#a3">transfer()</a> neither sets nor reads data.
+<p>
+<a class="el" href="classTRangeValidator.html#a3">transfer()</a> always returns the size of the data transferred, in this case the size of a long int. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTValidator.html#a4">TValidator::transfer</a> </dl>
+<p>
+Reimplemented from <a class="el" href="classTValidator.html#a4">TValidator</a>. </td>
+ </tr>
+</table>
+<a name="b1" doxytag="TRangeValidator::write"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TRangeValidator::write </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>os</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Writes to the output stream `os'.
+<p>
+Reimplemented from <a class="el" href="classTFilterValidator.html#b1">TFilterValidator</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="n1" doxytag="TRangeValidator::max"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> long TRangeValidator::max<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+max is the highest valid long integer value for the input line.
+<p>
+Definition at line <a class="el" href="validate_8h-source.html#l00679">679</a> of file <a class="el" href="validate_8h-source.html">validate.h</a>. </td>
+ </tr>
+</table>
+<a name="n0" doxytag="TRangeValidator::min"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> long TRangeValidator::min<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+min is the lowest valid long integer value for the input line.
+<p>
+Definition at line <a class="el" href="validate_8h-source.html#l00675">675</a> of file <a class="el" href="validate_8h-source.html">validate.h</a>. </td>
+ </tr>
+</table>
+<a name="p0" doxytag="TRangeValidator::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* const TRangeValidator::name<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTFilterValidator.html#p0">TFilterValidator</a>.
+<p>
+Definition at line <a class="el" href="validate_8h-source.html#l00708">708</a> of file <a class="el" href="validate_8h-source.html">validate.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="validate_8h-source.html">validate.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:16 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTRangeValidator.png b/freebsdtvision/doc/html/classTRangeValidator.png
new file mode 100644
index 0000000..b60dcda
--- /dev/null
+++ b/freebsdtvision/doc/html/classTRangeValidator.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTRect-members.html b/freebsdtvision/doc/html/classTRect-members.html
new file mode 100644
index 0000000..0b85ee2
--- /dev/null
+++ b/freebsdtvision/doc/html/classTRect-members.html
@@ -0,0 +1,28 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TRect Member List</h1>This is the complete list of members for <a class="el" href="classTRect.html">TRect</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTRect.html#m0">a</a></td><td><a class="el" href="classTRect.html">TRect</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTRect.html#m1">b</a></td><td><a class="el" href="classTRect.html">TRect</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTRect.html#a7">contains</a>(const TPoint &amp;p) const</td><td><a class="el" href="classTRect.html">TRect</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTRect.html#a4">grow</a>(int aDX, int aDY)</td><td><a class="el" href="classTRect.html">TRect</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTRect.html#a5">intersect</a>(const TRect &amp;r)</td><td><a class="el" href="classTRect.html">TRect</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTRect.html#a10">isEmpty</a>()</td><td><a class="el" href="classTRect.html">TRect</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTRect.html#a3">move</a>(int aDX, int aDY)</td><td><a class="el" href="classTRect.html">TRect</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTRect.html#a9">operator!=</a>(const TRect &amp;r) const</td><td><a class="el" href="classTRect.html">TRect</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTRect.html#a8">operator==</a>(const TRect &amp;r) const</td><td><a class="el" href="classTRect.html">TRect</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTRect.html#a0">TRect</a>(int ax, int ay, int bx, int by)</td><td><a class="el" href="classTRect.html">TRect</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTRect.html#a1">TRect</a>(TPoint p1, TPoint p2)</td><td><a class="el" href="classTRect.html">TRect</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTRect.html#a2">TRect</a>()</td><td><a class="el" href="classTRect.html">TRect</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTRect.html#a6">Union</a>(const TRect &amp;r)</td><td><a class="el" href="classTRect.html">TRect</a></td><td><code> [inline]</code></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:16 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTRect.html b/freebsdtvision/doc/html/classTRect.html
new file mode 100644
index 0000000..18b381a
--- /dev/null
+++ b/freebsdtvision/doc/html/classTRect.html
@@ -0,0 +1,531 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TRect class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TRect Class Reference</h1>Screen rectangular area.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="objects_8h-source.html">objects.h</a>&gt;</code>
+<p>
+<a href="classTRect-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTRect.html#a0">TRect</a> (int ax, int ay, int bx, int by)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTRect.html#a1">TRect</a> (<a class="el" href="classTPoint.html">TPoint</a> p1, <a class="el" href="classTPoint.html">TPoint</a> p2)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTRect.html#a2">TRect</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTRect.html#a3">move</a> (int aDX, int aDY)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTRect.html#a4">grow</a> (int aDX, int aDY)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTRect.html#a5">intersect</a> (const TRect &amp;r)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTRect.html#a6">Union</a> (const TRect &amp;r)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTRect.html#a7">contains</a> (const <a class="el" href="classTPoint.html">TPoint</a> &amp;p) const</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTRect.html#a8">operator==</a> (const TRect &amp;r) const</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTRect.html#a9">operator!=</a> (const TRect &amp;r) const</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTRect.html#a10">isEmpty</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTPoint.html">TPoint</a>&nbsp;</td><td valign=bottom><a class="el" href="classTRect.html#m0">a</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTPoint.html">TPoint</a>&nbsp;</td><td valign=bottom><a class="el" href="classTRect.html#m1">b</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+A screen rectangular area.
+<p>
+TRect is used to hold two coordinates on the screen, which usually specify the upper left corner and the lower right corner of views. Sometimes the second coordinate speficy the size (extension) of the view. The two coordinates are named a and b.
+<p>
+TRect has several inline member functions for manipulating rectangles. The operators == and != are overloaded to provide the comparison of two rectangles in a natural way. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTPoint.html">TPoint</a> , <a class="el" href="classTRect.html#a8">TRect::operator==</a> , <a class="el" href="classTRect.html#a9">TRect::operator!=</a> </dl>
+<p>
+
+<p>
+Definition at line <a class="el" href="objects_8h-source.html#l00128">128</a> of file <a class="el" href="objects_8h-source.html">objects.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TRect::TRect"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TRect::TRect </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>ax</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>ay</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>bx</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>by</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructor.
+<p>
+Initializes the rectangle coordinates using the four integer parameters.
+<p>
+Definition at line <a class="el" href="objects_8h-source.html#l00222">222</a> of file <a class="el" href="objects_8h-source.html">objects.h</a>.
+<p>
+References <a class="el" href="objects_8h-source.html#l00214">a</a>, <a class="el" href="objects_8h-source.html#l00219">b</a>, <a class="el" href="objects_8h-source.html#l00064">TPoint::x</a>, and <a class="el" href="objects_8h-source.html#l00068">TPoint::y</a>. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TRect::TRect"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TRect::TRect </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTPoint.html">TPoint</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>p1</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTPoint.html">TPoint</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>p2</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructor.
+<p>
+Initializes the rectangle coordinates using two points. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTPoint.html">TPoint</a> </dl>
+<p>
+Definition at line <a class="el" href="objects_8h-source.html#l00230">230</a> of file <a class="el" href="objects_8h-source.html">objects.h</a>.
+<p>
+References <a class="el" href="objects_8h-source.html#l00214">a</a>, and <a class="el" href="objects_8h-source.html#l00219">b</a>. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="TRect::TRect"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TRect::TRect </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructor.
+<p>
+Does nothing. The two coordinates are not initialized, so they contain garbage.
+<p>
+Definition at line <a class="el" href="objects_8h-source.html#l00236">236</a> of file <a class="el" href="objects_8h-source.html">objects.h</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="a7" doxytag="TRect::contains"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a13">Boolean</a> TRect::contains </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTPoint.html">TPoint</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>p</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns True if the calling rectangle (including its boundary) contains the point `p', returns False otherwise. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTPoint.html">TPoint</a> </dl>
+<p>
+Definition at line <a class="el" href="objects_8h-source.html#l00272">272</a> of file <a class="el" href="objects_8h-source.html">objects.h</a>.
+<p>
+References <a class="el" href="objects_8h-source.html#l00214">a</a>, <a class="el" href="objects_8h-source.html#l00219">b</a>, <a class="el" href="ttypes_8h-source.html#l00030">Boolean</a>, <a class="el" href="objects_8h-source.html#l00064">TPoint::x</a>, and <a class="el" href="objects_8h-source.html#l00068">TPoint::y</a>. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="TRect::grow"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TRect::grow </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aDX</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aDY</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Enlarges the rectangle by a specified value.
+<p>
+Changes the size of the calling rectangle by subtracting `aDX' from a.x, adding `aDX' to b.x, subtracting `aDY' from a.y, and adding `aDY' to b.y.
+<p>
+The left side is left-moved by `aDX' units and the right side is right-moved by `aDX' units. In a similar way the upper side is upper-moved by `aDY' units and the bottom side is bottom-moved by `aDY' units.
+<p>
+Definition at line <a class="el" href="objects_8h-source.html#l00248">248</a> of file <a class="el" href="objects_8h-source.html">objects.h</a>.
+<p>
+References <a class="el" href="objects_8h-source.html#l00214">a</a>, <a class="el" href="objects_8h-source.html#l00219">b</a>, <a class="el" href="objects_8h-source.html#l00064">TPoint::x</a>, and <a class="el" href="objects_8h-source.html#l00068">TPoint::y</a>. </td>
+ </tr>
+</table>
+<a name="a5" doxytag="TRect::intersect"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TRect::intersect </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const TRect &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>r</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Calculates the intersection between this rectangle and the parameter rectangle.
+<p>
+The resulting rectangle is the largest rectangle which contains both part of this rectangle and part of the parameter rectangle.
+<p>
+Definition at line <a class="el" href="objects_8h-source.html#l00256">256</a> of file <a class="el" href="objects_8h-source.html">objects.h</a>.
+<p>
+References <a class="el" href="objects_8h-source.html#l00214">a</a>, <a class="el" href="objects_8h-source.html#l00219">b</a>, <a class="el" href="util_8h-source.html#l00030">max()</a>, <a class="el" href="util_8h-source.html#l00022">min()</a>, <a class="el" href="objects_8h-source.html#l00064">TPoint::x</a>, and <a class="el" href="objects_8h-source.html#l00068">TPoint::y</a>. </td>
+ </tr>
+</table>
+<a name="a10" doxytag="TRect::isEmpty"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a13">Boolean</a> TRect::isEmpty </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Checks if the rectangle is empty, i.e. if the first coordinate is greater than the second one.
+<p>
+Empty means that (a.x &gt;= b.x || a.y &gt;= b.y).
+<p>
+Definition at line <a class="el" href="objects_8h-source.html#l00289">289</a> of file <a class="el" href="objects_8h-source.html">objects.h</a>.
+<p>
+References <a class="el" href="objects_8h-source.html#l00214">a</a>, <a class="el" href="objects_8h-source.html#l00219">b</a>, <a class="el" href="ttypes_8h-source.html#l00030">Boolean</a>, <a class="el" href="objects_8h-source.html#l00064">TPoint::x</a>, and <a class="el" href="objects_8h-source.html#l00068">TPoint::y</a>. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="TRect::move"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TRect::move </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aDX</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aDY</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Moves the rectangle to a new position.
+<p>
+The two parameters are added to the two old coordinates as delta values. Both parameters can be negative or positive.
+<p>
+Definition at line <a class="el" href="objects_8h-source.html#l00240">240</a> of file <a class="el" href="objects_8h-source.html">objects.h</a>.
+<p>
+References <a class="el" href="objects_8h-source.html#l00214">a</a>, <a class="el" href="objects_8h-source.html#l00219">b</a>, <a class="el" href="objects_8h-source.html#l00064">TPoint::x</a>, and <a class="el" href="objects_8h-source.html#l00068">TPoint::y</a>. </td>
+ </tr>
+</table>
+<a name="a9" doxytag="TRect::operator!="></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a13">Boolean</a> TRect::operator!= </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const TRect &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>r</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns True if `r' is not the same as the calling rectangle; otherwise, returns False.
+<p>
+Definition at line <a class="el" href="objects_8h-source.html#l00284">284</a> of file <a class="el" href="objects_8h-source.html">objects.h</a>.
+<p>
+References <a class="el" href="ttypes_8h-source.html#l00030">Boolean</a>. </td>
+ </tr>
+</table>
+<a name="a8" doxytag="TRect::operator=="></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a13">Boolean</a> TRect::operator== </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const TRect &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>r</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns True if `r' is the same as the calling rectangle; otherwise, returns False.
+<p>
+Definition at line <a class="el" href="objects_8h-source.html#l00279">279</a> of file <a class="el" href="objects_8h-source.html">objects.h</a>.
+<p>
+References <a class="el" href="objects_8h-source.html#l00214">a</a>, <a class="el" href="objects_8h-source.html#l00219">b</a>, and <a class="el" href="ttypes_8h-source.html#l00030">Boolean</a>. </td>
+ </tr>
+</table>
+<a name="a6" doxytag="TRect::Union"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TRect::Union </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const TRect &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>r</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Calculates the union between this rectangle and the `r' parameter rectangle.
+<p>
+The resulting rectangle is the smallest rectangle which contains both this rectangle and the `r' rectangle.
+<p>
+Definition at line <a class="el" href="objects_8h-source.html#l00264">264</a> of file <a class="el" href="objects_8h-source.html">objects.h</a>.
+<p>
+References <a class="el" href="objects_8h-source.html#l00214">a</a>, <a class="el" href="objects_8h-source.html#l00219">b</a>, <a class="el" href="util_8h-source.html#l00030">max()</a>, <a class="el" href="util_8h-source.html#l00022">min()</a>, <a class="el" href="objects_8h-source.html#l00064">TPoint::x</a>, and <a class="el" href="objects_8h-source.html#l00068">TPoint::y</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="m0" doxytag="TRect::a"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTPoint.html">TPoint</a> TRect::a
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Is the point defining the top-left corner of a rectangle on the screen.
+<p>
+Definition at line <a class="el" href="objects_8h-source.html#l00214">214</a> of file <a class="el" href="objects_8h-source.html">objects.h</a>.
+<p>
+Referenced by <a class="el" href="objects_8h-source.html#l00272">contains()</a>, <a class="el" href="objects_8h-source.html#l00248">grow()</a>, <a class="el" href="objects_8h-source.html#l00256">intersect()</a>, <a class="el" href="objects_8h-source.html#l00289">isEmpty()</a>, <a class="el" href="objects_8h-source.html#l00240">move()</a>, <a class="el" href="objects_8h-source.html#l00308">operator&lt;&lt;()</a>, <a class="el" href="objects_8h-source.html#l00279">operator==()</a>, <a class="el" href="objects_8h-source.html#l00297">operator&gt;&gt;()</a>, <a class="el" href="objects_8h-source.html#l00222">TRect()</a>, and <a class="el" href="objects_8h-source.html#l00264">Union()</a>. </td>
+ </tr>
+</table>
+<a name="m1" doxytag="TRect::b"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTPoint.html">TPoint</a> TRect::b
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Is the point defining the bottom-right corner of a rectangle on the screen.
+<p>
+Definition at line <a class="el" href="objects_8h-source.html#l00219">219</a> of file <a class="el" href="objects_8h-source.html">objects.h</a>.
+<p>
+Referenced by <a class="el" href="objects_8h-source.html#l00272">contains()</a>, <a class="el" href="objects_8h-source.html#l00248">grow()</a>, <a class="el" href="objects_8h-source.html#l00256">intersect()</a>, <a class="el" href="objects_8h-source.html#l00289">isEmpty()</a>, <a class="el" href="objects_8h-source.html#l00240">move()</a>, <a class="el" href="objects_8h-source.html#l00308">operator&lt;&lt;()</a>, <a class="el" href="objects_8h-source.html#l00279">operator==()</a>, <a class="el" href="objects_8h-source.html#l00297">operator&gt;&gt;()</a>, <a class="el" href="objects_8h-source.html#l00222">TRect()</a>, and <a class="el" href="objects_8h-source.html#l00264">Union()</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="objects_8h-source.html">objects.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:16 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTResourceCollection-members.html b/freebsdtvision/doc/html/classTResourceCollection-members.html
new file mode 100644
index 0000000..8c4ac16
--- /dev/null
+++ b/freebsdtvision/doc/html/classTResourceCollection-members.html
@@ -0,0 +1,62 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TResourceCollection Member List</h1>This is the complete list of members for <a class="el" href="classTResourceCollection.html">TResourceCollection</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a3">at</a>(ccIndex index)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a5">atFree</a>(ccIndex index)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a11">atInsert</a>(ccIndex index, void *item)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a12">atPut</a>(ccIndex index, void *item)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a6">atRemove</a>(ccIndex index)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTResourceCollection.html#d0">build</a>()</td><td><a class="el" href="classTResourceCollection.html">TResourceCollection</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#n1">count</a></td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#n3">delta</a></td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSSortedCollection.html#m0">duplicates</a></td><td><a class="el" href="classTNSSortedCollection.html">TNSSortedCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a14">error</a>(ccIndex code, ccIndex info)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#d0">error</a>(ccIndex code, ccIndex info)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a15">firstThat</a>(ccTestFunc Test, void *arg)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a17">forEach</a>(ccAppFunc action, void *arg)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a9">free</a>(void *item)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a10">freeAll</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a20">getCount</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSSortedCollection.html#a2">indexOf</a>(void *item)</td><td><a class="el" href="classTNSSortedCollection.html">TNSSortedCollection</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSSortedCollection.html#a3">insert</a>(void *item)</td><td><a class="el" href="classTNSSortedCollection.html">TNSSortedCollection</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#n0">items</a></td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTResourceCollection.html#a2">keyOf</a>(void *item)</td><td><a class="el" href="classTResourceCollection.html">TResourceCollection</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a16">lastThat</a>(ccTestFunc Test, void *arg)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#n2">limit</a></td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTResourceCollection.html#p0">name</a></td><td><a class="el" href="classTResourceCollection.html">TResourceCollection</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a18">pack</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTSortedCollection.html#b1">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTSortedCollection.html">TSortedCollection</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a7">remove</a>(void *item)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a8">removeAll</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSSortedCollection.html#a1">search</a>(void *key, ccIndex &amp;index)</td><td><a class="el" href="classTNSSortedCollection.html">TNSSortedCollection</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a19">setLimit</a>(ccIndex aLimit)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#n4">shouldDelete</a></td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a2">shutDown</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCollection.html#a0">TCollection</a>(ccIndex aLimit, ccIndex aDelta)</td><td><a class="el" href="classTCollection.html">TCollection</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCollection.html#b0">TCollection</a>(StreamableInit)</td><td><a class="el" href="classTCollection.html">TCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a0">TNSCollection</a>(ccIndex aLimit, ccIndex aDelta)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#b0">TNSCollection</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSSortedCollection.html#a0">TNSSortedCollection</a>(ccIndex aLimit, ccIndex aDelta)</td><td><a class="el" href="classTNSSortedCollection.html">TNSSortedCollection</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSSortedCollection.html#b0">TNSSortedCollection</a>()</td><td><a class="el" href="classTNSSortedCollection.html">TNSSortedCollection</a></td><td><code> [inline, protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTResourceCollection.html#a0">TResourceCollection</a>(StreamableInit)</td><td><a class="el" href="classTResourceCollection.html">TResourceCollection</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTResourceCollection.html#a1">TResourceCollection</a>(short aLimit, short aDelta)</td><td><a class="el" href="classTResourceCollection.html">TResourceCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTSortedCollection.html#a0">TSortedCollection</a>(ccIndex aLimit, ccIndex aDelta)</td><td><a class="el" href="classTSortedCollection.html">TSortedCollection</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTSortedCollection.html#b0">TSortedCollection</a>(StreamableInit)</td><td><a class="el" href="classTSortedCollection.html">TSortedCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStringCollection.html#a0">TStringCollection</a>(short aLimit, short aDelta)</td><td><a class="el" href="classTStringCollection.html">TStringCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStringCollection.html#b0">TStringCollection</a>(StreamableInit)</td><td><a class="el" href="classTStringCollection.html">TStringCollection</a></td><td><code> [inline, protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTSortedCollection.html#b2">write</a>(opstream &amp;os)</td><td><a class="el" href="classTSortedCollection.html">TSortedCollection</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a1">~TNSCollection</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:16 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTResourceCollection.html b/freebsdtvision/doc/html/classTResourceCollection.html
new file mode 100644
index 0000000..e6c54ef
--- /dev/null
+++ b/freebsdtvision/doc/html/classTResourceCollection.html
@@ -0,0 +1,211 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TResourceCollection class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TResourceCollection Class Reference</h1>Implements a sorted, streamable collection of resources.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="resource_8h-source.html">resource.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TResourceCollection:
+<p><center><img src="classTResourceCollection.png" usemap="#TResourceCollection_map" border="0" alt=""></center>
+<map name="TResourceCollection_map">
+<area href="classTStringCollection.html" alt="TStringCollection" shape="rect" coords="104,224,233,248">
+<area href="classTSortedCollection.html" alt="TSortedCollection" shape="rect" coords="104,168,233,192">
+<area href="classTNSSortedCollection.html" alt="TNSSortedCollection" shape="rect" coords="0,112,129,136">
+<area href="classTCollection.html" alt="TCollection" shape="rect" coords="208,112,337,136">
+<area href="classTNSCollection.html" alt="TNSCollection" shape="rect" coords="0,56,129,80">
+<area href="classTNSCollection.html" alt="TNSCollection" shape="rect" coords="139,56,268,80">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="278,56,407,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,129,24">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="139,0,268,24">
+</map>
+<a href="classTResourceCollection-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTResourceCollection.html#a0">TResourceCollection</a> (<a class="el" href="ttypes_8h.html#a14">StreamableInit</a>)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTResourceCollection.html#a1">TResourceCollection</a> (short aLimit, short aDelta)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void *&nbsp;</td><td valign=bottom><a class="el" href="classTResourceCollection.html#a2">keyOf</a> (void *item)</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStreamable.html">TStreamable</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTResourceCollection.html#d0">build</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>const char *const&nbsp;</td><td valign=bottom><a class="el" href="classTResourceCollection.html#p0">name</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+TResourceCollection is a derivative of <a class="el" href="classTStringCollection.html">TStringCollection</a>, which makes it a sorted, streamable collection. It is used with <a class="el" href="classTResourceFile.html">TResourceFile</a> to implement collections of resources. A resource file is a stream that is indexed by key strings. Each resource item points to an object of type <a class="el" href="structTResourceItem.html">TResourceItem</a>.
+<p>
+
+<p>
+Definition at line <a class="el" href="resource_8h-source.html#l00147">147</a> of file <a class="el" href="resource_8h-source.html">resource.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TResourceCollection::TResourceCollection"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TResourceCollection::TResourceCollection </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a14">StreamableInit</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Each streamable class needs a "builder" to allocate the correct memory for its objects together with the initialized vtable pointers. This is achieved by calling this constructor with an argument of type <a class="el" href="ttypes_8h.html#a14">StreamableInit</a>.
+<p>
+Definition at line <a class="el" href="resource_8h-source.html#l00156">156</a> of file <a class="el" href="resource_8h-source.html">resource.h</a>.
+<p>
+References <a class="el" href="ttypes_8h-source.html#l00062">StreamableInit</a>. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TResourceCollection::TResourceCollection"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TResourceCollection::TResourceCollection </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">short&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aLimit</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>short&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aDelta</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a resource collection with initial size `aLimit' and the ability to resize by `aDelta'. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="d0" doxytag="TResourceCollection::build"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStreamable.html">TStreamable</a>* TResourceCollection::build </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called to create an object in certain stream-reading situations.
+<p>
+Reimplemented from <a class="el" href="classTStringCollection.html#d0">TStringCollection</a>. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="TResourceCollection::keyOf"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void* TResourceCollection::keyOf </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>item</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the key of the given item.
+<p>
+Reimplemented from <a class="el" href="classTNSSortedCollection.html#a4">TNSSortedCollection</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="p0" doxytag="TResourceCollection::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* const TResourceCollection::name<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Class name used by the stream manager.
+<p>
+Reimplemented from <a class="el" href="classTStringCollection.html#p0">TStringCollection</a>.
+<p>
+Definition at line <a class="el" href="resource_8h-source.html#l00196">196</a> of file <a class="el" href="resource_8h-source.html">resource.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="resource_8h-source.html">resource.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:16 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTResourceCollection.png b/freebsdtvision/doc/html/classTResourceCollection.png
new file mode 100644
index 0000000..eecd3e0
--- /dev/null
+++ b/freebsdtvision/doc/html/classTResourceCollection.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTResourceFile-members.html b/freebsdtvision/doc/html/classTResourceFile-members.html
new file mode 100644
index 0000000..84e4c87
--- /dev/null
+++ b/freebsdtvision/doc/html/classTResourceFile-members.html
@@ -0,0 +1,32 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TResourceFile Member List</h1>This is the complete list of members for <a class="el" href="classTResourceFile.html">TResourceFile</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTResourceFile.html#n2">basePos</a></td><td><a class="el" href="classTResourceFile.html">TResourceFile</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTResourceFile.html#a2">count</a>()</td><td><a class="el" href="classTResourceFile.html">TResourceFile</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTResourceFile.html#a4">flush</a>()</td><td><a class="el" href="classTResourceFile.html">TResourceFile</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTResourceFile.html#a5">get</a>(const char *key)</td><td><a class="el" href="classTResourceFile.html">TResourceFile</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTResourceFile.html#n4">index</a></td><td><a class="el" href="classTResourceFile.html">TResourceFile</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTResourceFile.html#n3">indexPos</a></td><td><a class="el" href="classTResourceFile.html">TResourceFile</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTResourceFile.html#a6">keyAt</a>(short i)</td><td><a class="el" href="classTResourceFile.html">TResourceFile</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTResourceFile.html#n1">modified</a></td><td><a class="el" href="classTResourceFile.html">TResourceFile</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTResourceFile.html#a7">put</a>(TStreamable *item, const char *key)</td><td><a class="el" href="classTResourceFile.html">TResourceFile</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTResourceFile.html#a3">remove</a>(const char *key)</td><td><a class="el" href="classTResourceFile.html">TResourceFile</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a1">shutDown</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTResourceFile.html#n0">stream</a></td><td><a class="el" href="classTResourceFile.html">TResourceFile</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTResourceFile.html#a8">switchTo</a>(fpstream *aStream, Boolean pack)</td><td><a class="el" href="classTResourceFile.html">TResourceFile</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTResourceFile.html#a0">TResourceFile</a>(fpstream *aStream)</td><td><a class="el" href="classTResourceFile.html">TResourceFile</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTResourceFile.html#a1">~TResourceFile</a>()</td><td><a class="el" href="classTResourceFile.html">TResourceFile</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:16 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTResourceFile.html b/freebsdtvision/doc/html/classTResourceFile.html
new file mode 100644
index 0000000..72221e0
--- /dev/null
+++ b/freebsdtvision/doc/html/classTResourceFile.html
@@ -0,0 +1,459 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TResourceFile class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TResourceFile Class Reference</h1>Implements a stream that can be indexed by string keys.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="resource_8h-source.html">resource.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TResourceFile:
+<p><center><img src="classTResourceFile.png" usemap="#TResourceFile_map" border="0" alt=""></center>
+<map name="TResourceFile_map">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,94,24">
+</map>
+<a href="classTResourceFile-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTResourceFile.html#a0">TResourceFile</a> (<a class="el" href="classfpstream.html">fpstream</a> *aStream)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTResourceFile.html#a1">~TResourceFile</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>short&nbsp;</td><td valign=bottom><a class="el" href="classTResourceFile.html#a2">count</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTResourceFile.html#a3">remove</a> (const char *key)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTResourceFile.html#a4">flush</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void *&nbsp;</td><td valign=bottom><a class="el" href="classTResourceFile.html#a5">get</a> (const char *key)</td></tr>
+<tr><td nowrap align=right valign=top>const char *&nbsp;</td><td valign=bottom><a class="el" href="classTResourceFile.html#a6">keyAt</a> (short i)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTResourceFile.html#a7">put</a> (<a class="el" href="classTStreamable.html">TStreamable</a> *item, const char *key)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classfpstream.html">fpstream</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTResourceFile.html#a8">switchTo</a> (<a class="el" href="classfpstream.html">fpstream</a> *aStream, <a class="el" href="ttypes_8h.html#a13">Boolean</a> pack)</td></tr>
+<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classfpstream.html">fpstream</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTResourceFile.html#n0">stream</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTResourceFile.html#n1">modified</a></td></tr>
+<tr><td nowrap align=right valign=top>long&nbsp;</td><td valign=bottom><a class="el" href="classTResourceFile.html#n2">basePos</a></td></tr>
+<tr><td nowrap align=right valign=top>long&nbsp;</td><td valign=bottom><a class="el" href="classTResourceFile.html#n3">indexPos</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTResourceCollection.html">TResourceCollection</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTResourceFile.html#n4">index</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+TResourceFile implements a stream (of type fpstream) that can be indexed by string keys.
+<p>
+To provide fast and efficient access to the objects stored in a resource file, TResourceFile objects store the keys in a sorted string collection (using <a class="el" href="classTResourceCollection.html">TResourceCollection</a>) along with the position and size of the resource data in the resource file.
+<p>
+
+<p>
+Definition at line <a class="el" href="resource_8h-source.html#l00243">243</a> of file <a class="el" href="resource_8h-source.html">resource.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TResourceFile::TResourceFile"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TResourceFile::TResourceFile </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classfpstream.html">fpstream</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>aStream</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Initializes a resource file using the stream given by `aStream' and sets the modified data member to False. The stream must have already been initialized.
+<p>
+During initialization, the TResourceFile constructor looks for a resource file header at the current position of the stream. If a header is not found, the constructor assumes that a new resource file is being created together with a new resource collection. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TResourceFile::~TResourceFile"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TResourceFile::~TResourceFile </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Flushes the resource file, using <a class="el" href="classTResourceFile.html#a4">flush()</a> and then deletes index and stream data members. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="a2" doxytag="TResourceFile::count"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> short TResourceFile::count </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Calls index-&gt;getCount() to return the number of resource items stored in the associated @reg <a class="el" href="classTResourceCollection.html">TResourceCollection</a>. <dl compact><dt><b>See also: </b></dt><dd>
+index </dl> </td>
+ </tr>
+</table>
+<a name="a4" doxytag="TResourceFile::flush"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TResourceFile::flush </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+If the resource file has not been modified since the last flush (that is, if modified is False), <a class="el" href="classTResourceFile.html#a4">flush()</a> does nothing.
+<p>
+Otherwise, <a class="el" href="classTResourceFile.html#a4">flush()</a> stores the updated index at the end of the stream and updates the resource header at the beginning of the stream. It then calls stream-&gt;<a class="el" href="classTResourceFile.html#a4">flush()</a> and resets modified to False. </td>
+ </tr>
+</table>
+<a name="a5" doxytag="TResourceFile::get"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void* TResourceFile::get </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>key</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Searches for the given key in the associated resource file collection (given by the pointer index). Returns 0 if the key is not found. </td>
+ </tr>
+</table>
+<a name="a6" doxytag="TResourceFile::keyAt"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* TResourceFile::keyAt </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">short&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>i</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Uses index-&gt;at(i) to return the string key of the i'th resource in the resource file. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTNSCollection.html#a3">TNSCollection::at</a></dl>The index of the first resource is zero and the index of the last resource is <a class="el" href="classTResourceFile.html#a2">count()</a> minus one. Using <a class="el" href="classTResourceFile.html#a2">count()</a> and <a class="el" href="classTResourceFile.html#a6">keyAt()</a> you can iterate over all resources in a resource file. </td>
+ </tr>
+</table>
+<a name="a7" doxytag="TResourceFile::put"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TResourceFile::put </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTStreamable.html">TStreamable</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>item</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>const char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>key</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Adds the streamable object given by `item' to the resource file with the key string given by `key' and sets modified to True.
+<p>
+If the index already contains the key, then the new object replaces the old object; otherwise, the new object is appended in the correct indexed position of the resource file. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="TResourceFile::remove"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TResourceFile::remove </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>key</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+If the resource indexed by `key' is not found, remove does nothing. Otherwise it calls index-&gt;free() to remove the resource. </td>
+ </tr>
+</table>
+<a name="a8" doxytag="TResourceFile::switchTo"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classfpstream.html">fpstream</a>* TResourceFile::switchTo </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classfpstream.html">fpstream</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aStream</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>pack</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="n2" doxytag="TResourceFile::basePos"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> long TResourceFile::basePos<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The base position of the stream (ignoring header information).
+<p>
+Definition at line <a class="el" href="resource_8h-source.html#l00323">323</a> of file <a class="el" href="resource_8h-source.html">resource.h</a>. </td>
+ </tr>
+</table>
+<a name="n4" doxytag="TResourceFile::index"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTResourceCollection.html">TResourceCollection</a>* TResourceFile::index<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+A pointer to the associated <a class="el" href="classTResourceCollection.html">TResourceCollection</a> object.
+<p>
+Definition at line <a class="el" href="resource_8h-source.html#l00331">331</a> of file <a class="el" href="resource_8h-source.html">resource.h</a>. </td>
+ </tr>
+</table>
+<a name="n3" doxytag="TResourceFile::indexPos"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> long TResourceFile::indexPos<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The current position of the stream relative to the base position.
+<p>
+Definition at line <a class="el" href="resource_8h-source.html#l00327">327</a> of file <a class="el" href="resource_8h-source.html">resource.h</a>. </td>
+ </tr>
+</table>
+<a name="n1" doxytag="TResourceFile::modified"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a13">Boolean</a> TResourceFile::modified<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set True if the resource file has been modified since the last flush call; otherwise False.
+<p>
+Definition at line <a class="el" href="resource_8h-source.html#l00319">319</a> of file <a class="el" href="resource_8h-source.html">resource.h</a>. </td>
+ </tr>
+</table>
+<a name="n0" doxytag="TResourceFile::stream"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classfpstream.html">fpstream</a>* TResourceFile::stream<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Pointer to the file stream associated with this resource file.
+<p>
+Definition at line <a class="el" href="resource_8h-source.html#l00314">314</a> of file <a class="el" href="resource_8h-source.html">resource.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="resource_8h-source.html">resource.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:16 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTResourceFile.png b/freebsdtvision/doc/html/classTResourceFile.png
new file mode 100644
index 0000000..2274449
--- /dev/null
+++ b/freebsdtvision/doc/html/classTResourceFile.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTSItem-members.html b/freebsdtvision/doc/html/classTSItem-members.html
new file mode 100644
index 0000000..c53b8b4
--- /dev/null
+++ b/freebsdtvision/doc/html/classTSItem-members.html
@@ -0,0 +1,19 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TSItem Member List</h1>This is the complete list of members for <a class="el" href="classTSItem.html">TSItem</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTSItem.html#m1">next</a></td><td><a class="el" href="classTSItem.html">TSItem</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTSItem.html#a0">TSItem</a>(const char *aValue, TSItem *aNext)</td><td><a class="el" href="classTSItem.html">TSItem</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTSItem.html#m0">value</a></td><td><a class="el" href="classTSItem.html">TSItem</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTSItem.html#a1">~TSItem</a>()</td><td><a class="el" href="classTSItem.html">TSItem</a></td><td><code> [inline]</code></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:17 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTSItem.html b/freebsdtvision/doc/html/classTSItem.html
new file mode 100644
index 0000000..6dcea74
--- /dev/null
+++ b/freebsdtvision/doc/html/classTSItem.html
@@ -0,0 +1,163 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TSItem class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TSItem Class Reference</h1>Non-view class providing a singly-linked list of character strings.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="dialogs_8h-source.html">dialogs.h</a>&gt;</code>
+<p>
+<a href="classTSItem-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTSItem.html#a0">TSItem</a> (const char *aValue, TSItem *aNext)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTSItem.html#a1">~TSItem</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>const char *&nbsp;</td><td valign=bottom><a class="el" href="classTSItem.html#m0">value</a></td></tr>
+<tr><td nowrap align=right valign=top>TSItem *&nbsp;</td><td valign=bottom><a class="el" href="classTSItem.html#m1">next</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+TSItem is a simple, non-view class providing a singly-linked list of character strings. This class is useful where the full flexibility of string collections are not needed.
+<p>
+
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l00793">793</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TSItem::TSItem"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TSItem::TSItem </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aValue</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>TSItem *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aNext</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a TSItem object with the given values.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l00799">799</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>.
+<p>
+References <a class="el" href="util_8h.html#a15">newStr()</a>, <a class="el" href="dialogs_8h-source.html#l00812">next</a>, and <a class="el" href="dialogs_8h-source.html#l00808">value</a>. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TSItem::~TSItem"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TSItem::~TSItem </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Destroys the TSItem object by calling delete value.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l00804">804</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>.
+<p>
+References <a class="el" href="dialogs_8h-source.html#l00808">value</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="m1" doxytag="TSItem::next"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TSItem* TSItem::next
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Pointer to the next TSItem object in the linked list.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l00812">812</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>.
+<p>
+Referenced by <a class="el" href="dialogs_8h-source.html#l00799">TSItem()</a>. </td>
+ </tr>
+</table>
+<a name="m0" doxytag="TSItem::value"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* TSItem::value
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The string for this TSItem object.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l00808">808</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>.
+<p>
+Referenced by <a class="el" href="dialogs_8h-source.html#l00799">TSItem()</a>, and <a class="el" href="dialogs_8h-source.html#l00804">~TSItem()</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="dialogs_8h-source.html">dialogs.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:17 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTScreen-members.html b/freebsdtvision/doc/html/classTScreen-members.html
new file mode 100644
index 0000000..2446091
--- /dev/null
+++ b/freebsdtvision/doc/html/classTScreen-members.html
@@ -0,0 +1,41 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TScreen Member List</h1>This is the complete list of members for <a class="el" href="classTScreen.html">TScreen</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScreen.html#d5">drawCursor</a>(int show)</td><td><a class="el" href="classTScreen.html">TScreen</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScreen.html#d6">drawMouse</a>(int show)</td><td><a class="el" href="classTScreen.html">TScreen</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScreen.html#p9">fdActualExcept</a></td><td><a class="el" href="classTScreen.html">TScreen</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScreen.html#p7">fdActualRead</a></td><td><a class="el" href="classTScreen.html">TScreen</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScreen.html#p8">fdActualWrite</a></td><td><a class="el" href="classTScreen.html">TScreen</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScreen.html#p6">fdSetExcept</a></td><td><a class="el" href="classTScreen.html">TScreen</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScreen.html#p4">fdSetRead</a></td><td><a class="el" href="classTScreen.html">TScreen</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScreen.html#p5">fdSetWrite</a></td><td><a class="el" href="classTScreen.html">TScreen</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScreen.html#d0">getEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTScreen.html">TScreen</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScreen.html#d1">makeBeep</a>()</td><td><a class="el" href="classTScreen.html">TScreen</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScreen.html#d7">moveCursor</a>(int x, int y)</td><td><a class="el" href="classTScreen.html">TScreen</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScreen.html#d2">putEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTScreen.html">TScreen</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScreen.html#d3">resume</a>()</td><td><a class="el" href="classTScreen.html">TScreen</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScreen.html#p3">screenBuffer</a></td><td><a class="el" href="classTScreen.html">TScreen</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScreen.html#p2">screenHeight</a></td><td><a class="el" href="classTScreen.html">TScreen</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScreen.html#p0">screenMode</a></td><td><a class="el" href="classTScreen.html">TScreen</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScreen.html#p1">screenWidth</a></td><td><a class="el" href="classTScreen.html">TScreen</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>smBW80</b> enum value (defined in <a class="el" href="classTDisplay.html">TDisplay</a>)</td><td><a class="el" href="classTDisplay.html">TDisplay</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>smCO80</b> enum value (defined in <a class="el" href="classTDisplay.html">TDisplay</a>)</td><td><a class="el" href="classTDisplay.html">TDisplay</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>smFont8x8</b> enum value (defined in <a class="el" href="classTDisplay.html">TDisplay</a>)</td><td><a class="el" href="classTDisplay.html">TDisplay</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>smMono</b> enum value (defined in <a class="el" href="classTDisplay.html">TDisplay</a>)</td><td><a class="el" href="classTDisplay.html">TDisplay</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScreen.html#d4">suspend</a>()</td><td><a class="el" href="classTScreen.html">TScreen</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScreen.html#a0">TScreen</a>()</td><td><a class="el" href="classTScreen.html">TScreen</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTDisplay.html#s4">videoModes</a> enum name</td><td><a class="el" href="classTDisplay.html">TDisplay</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScreen.html#d8">writeRow</a>(int dst, ushort *src, int len)</td><td><a class="el" href="classTScreen.html">TScreen</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScreen.html#a1">~TScreen</a>()</td><td><a class="el" href="classTScreen.html">TScreen</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:16 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTScreen.html b/freebsdtvision/doc/html/classTScreen.html
new file mode 100644
index 0000000..a2c7947
--- /dev/null
+++ b/freebsdtvision/doc/html/classTScreen.html
@@ -0,0 +1,689 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TScreen class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TScreen Class Reference</h1>The interface to the system.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="system_8h-source.html">system.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TScreen:
+<p><center><img src="classTScreen.png" usemap="#TScreen_map" border="0" alt=""></center>
+<map name="TScreen_map">
+<area href="classTDisplay.html" alt="TDisplay" shape="rect" coords="0,0,82,24">
+<area href="classTApplication.html" alt="TApplication" shape="rect" coords="0,112,82,136">
+</map>
+<a href="classTScreen-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTScreen.html#a0">TScreen</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTScreen.html#a1">~TScreen</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTScreen.html#d0">getEvent</a> (<a class="el" href="structTEvent.html">TEvent</a> &amp;event)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTScreen.html#d1">makeBeep</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTScreen.html#d2">putEvent</a> (<a class="el" href="structTEvent.html">TEvent</a> &amp;event)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTScreen.html#d3">resume</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTScreen.html#d4">suspend</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTScreen.html#d5">drawCursor</a> (int show)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTScreen.html#d6">drawMouse</a> (int show)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTScreen.html#d7">moveCursor</a> (int x, int y)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTScreen.html#d8">writeRow</a> (int dst, <a class="el" href="ttypes_8h.html#a0">ushort</a> *src, int len)</td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="classTScreen.html#p0">screenMode</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a1">uchar</a>&nbsp;</td><td valign=bottom><a class="el" href="classTScreen.html#p1">screenWidth</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a1">uchar</a>&nbsp;</td><td valign=bottom><a class="el" href="classTScreen.html#p2">screenHeight</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a0">ushort</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTScreen.html#p3">screenBuffer</a></td></tr>
+<tr><td nowrap align=right valign=top>fd_set&nbsp;</td><td valign=bottom><a class="el" href="classTScreen.html#p4">fdSetRead</a></td></tr>
+<tr><td nowrap align=right valign=top>fd_set&nbsp;</td><td valign=bottom><a class="el" href="classTScreen.html#p5">fdSetWrite</a></td></tr>
+<tr><td nowrap align=right valign=top>fd_set&nbsp;</td><td valign=bottom><a class="el" href="classTScreen.html#p6">fdSetExcept</a></td></tr>
+<tr><td nowrap align=right valign=top>fd_set&nbsp;</td><td valign=bottom><a class="el" href="classTScreen.html#p7">fdActualRead</a></td></tr>
+<tr><td nowrap align=right valign=top>fd_set&nbsp;</td><td valign=bottom><a class="el" href="classTScreen.html#p8">fdActualWrite</a></td></tr>
+<tr><td nowrap align=right valign=top>fd_set&nbsp;</td><td valign=bottom><a class="el" href="classTScreen.html#p9">fdActualExcept</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+A low-level class used to interface to the system.
+<p>
+TScreen provides low-level video attributes and functions. This class is used internally by TVision. You do not need to use it explicitly for normal applications.
+<p>
+Since this class was rewritten in the porting process, it is not a standard class and you should not use it. Otherwise you may end with a non-portable program.
+<p>
+
+<p>
+Definition at line <a class="el" href="system_8h-source.html#l00489">489</a> of file <a class="el" href="system_8h-source.html">system.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TScreen::TScreen"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TScreen::TScreen </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructor.
+<p>
+Reads enviroment variables, acquires screen size, opens mouse and screen devices, catches some useful signals and starts an interval timer. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TScreen::~TScreen"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TScreen::~TScreen </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Destructor.
+<p>
+Releases the resources allocated by the constructor. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="d5" doxytag="TScreen::drawCursor"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TScreen::drawCursor </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>show</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Shows or hides the cursor.
+<p>
+Flag `show' specifies the operation to perform. </td>
+ </tr>
+</table>
+<a name="d6" doxytag="TScreen::drawMouse"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TScreen::drawMouse </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>show</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Shows or hides the mouse pointer.
+<p>
+Flag `show' specifies the operation to perform. </td>
+ </tr>
+</table>
+<a name="d0" doxytag="TScreen::getEvent"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TScreen::getEvent </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="structTEvent.html">TEvent</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>event</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the first available event.
+<p>
+Reimplemented in <a class="el" href="classTApplication.html#a2">TApplication</a>. </td>
+ </tr>
+</table>
+<a name="d1" doxytag="TScreen::makeBeep"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TScreen::makeBeep </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Emits a beep. </td>
+ </tr>
+</table>
+<a name="d7" doxytag="TScreen::moveCursor"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TScreen::moveCursor </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>x</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>y</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Moves the cursor to another place.
+<p>
+Parameters `x' and `y' are 0-based. </td>
+ </tr>
+</table>
+<a name="d2" doxytag="TScreen::putEvent"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TScreen::putEvent </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="structTEvent.html">TEvent</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>event</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Puts an event in the event queue.
+<p>
+Do not use it, use <a class="el" href="classTProgram.html#a10">TProgram::putEvent()</a> if you need. </td>
+ </tr>
+</table>
+<a name="d3" doxytag="TScreen::resume"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TScreen::resume </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Recovers the execution of the application.
+<p>
+Resumes the execution of the process after the user stopped it. Called by <a class="el" href="classTApplication.html#a1">TApplication::resume()</a>. You should call the latter method.
+<p>
+Reimplemented in <a class="el" href="classTApplication.html#a1">TApplication</a>. </td>
+ </tr>
+</table>
+<a name="d4" doxytag="TScreen::suspend"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TScreen::suspend </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Stops the execution of the application.
+<p>
+Suspends execution of the process. Called by <a class="el" href="classTApplication.html#a0">TApplication::suspend()</a>. You should call the latter method.
+<p>
+Reimplemented in <a class="el" href="classTApplication.html#a0">TApplication</a>. </td>
+ </tr>
+</table>
+<a name="d8" doxytag="TScreen::writeRow"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TScreen::writeRow </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>dst</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a0">ushort</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>src</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>len</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Writes a row of character &amp; attribute pairs on the screen.
+<p>
+`dst' is the destination position, `src' is a pointer to the source buffer and `len' is the size of the buffer expressed as the number of pairs. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="p9" doxytag="TScreen::fdActualExcept"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> fd_set TScreen::fdActualExcept<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+File descriptor set to indicate I/O exceptions.
+<p>
+This set is returned by select() within <a class="el" href="classTScreen.html#d0">getEvent()</a>. It can be tested to handle exceptions on files mentioned in <a class="el" href="classTScreen.html#p6">fdSetExcept</a>.
+<p>
+Definition at line <a class="el" href="system_8h-source.html#l00630">630</a> of file <a class="el" href="system_8h-source.html">system.h</a>. </td>
+ </tr>
+</table>
+<a name="p7" doxytag="TScreen::fdActualRead"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> fd_set TScreen::fdActualRead<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+File descriptor set to indicate read() availability.
+<p>
+This set is returned by select() within <a class="el" href="classTScreen.html#d0">getEvent()</a>. It can be tested to handle operations on files mentioned in <a class="el" href="classTScreen.html#p4">fdSetRead</a>.
+<p>
+Definition at line <a class="el" href="system_8h-source.html#l00616">616</a> of file <a class="el" href="system_8h-source.html">system.h</a>. </td>
+ </tr>
+</table>
+<a name="p8" doxytag="TScreen::fdActualWrite"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> fd_set TScreen::fdActualWrite<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+File descriptor set to indicate write() completion.
+<p>
+This set is returned by select() within <a class="el" href="classTScreen.html#d0">getEvent()</a>. It can be tested to handle operations on files mentioned in <a class="el" href="classTScreen.html#p5">fdSetWrite</a>.
+<p>
+Definition at line <a class="el" href="system_8h-source.html#l00623">623</a> of file <a class="el" href="system_8h-source.html">system.h</a>. </td>
+ </tr>
+</table>
+<a name="p6" doxytag="TScreen::fdSetExcept"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> fd_set TScreen::fdSetExcept<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+File descriptor set to watch for I/O exceptions.
+<p>
+This set is used in select() within <a class="el" href="classTScreen.html#d0">getEvent()</a>. It is empty by default and can be used freely.
+<p>
+Definition at line <a class="el" href="system_8h-source.html#l00609">609</a> of file <a class="el" href="system_8h-source.html">system.h</a>. </td>
+ </tr>
+</table>
+<a name="p4" doxytag="TScreen::fdSetRead"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> fd_set TScreen::fdSetRead<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+File descriptor set to watch for read operations.
+<p>
+This set is used to watch for incoming mouse and keyboard data. Do not FD_ZERO() it in your program. However, FD_SET() and FD_CLR() are OK.
+<p>
+Definition at line <a class="el" href="system_8h-source.html#l00595">595</a> of file <a class="el" href="system_8h-source.html">system.h</a>. </td>
+ </tr>
+</table>
+<a name="p5" doxytag="TScreen::fdSetWrite"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> fd_set TScreen::fdSetWrite<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+File descriptor set to watch for write operations.
+<p>
+This set is used in select() within <a class="el" href="classTScreen.html#d0">getEvent()</a>. It is empty by default and can be used freely.
+<p>
+Definition at line <a class="el" href="system_8h-source.html#l00602">602</a> of file <a class="el" href="system_8h-source.html">system.h</a>. </td>
+ </tr>
+</table>
+<a name="p3" doxytag="TScreen::screenBuffer"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a0">ushort</a>* TScreen::screenBuffer<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Holds the current screen buffer address.
+<p>
+It is initialized by the constructor of this class.
+<p>
+Definition at line <a class="el" href="system_8h-source.html#l00587">587</a> of file <a class="el" href="system_8h-source.html">system.h</a>. </td>
+ </tr>
+</table>
+<a name="p2" doxytag="TScreen::screenHeight"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a1">uchar</a> TScreen::screenHeight<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Holds the current screen height.
+<p>
+It is initialized by the constructor of this class.
+<p>
+Definition at line <a class="el" href="system_8h-source.html#l00581">581</a> of file <a class="el" href="system_8h-source.html">system.h</a>. </td>
+ </tr>
+</table>
+<a name="p0" doxytag="TScreen::screenMode"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a0">ushort</a> TScreen::screenMode<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Holds the current screen mode.
+<p>
+It is initialized by the constructor if this class. It is read by <a class="el" href="classTProgram.html#a8">TProgram::initScreen()</a>. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTDisplay.html">TDisplay</a> </dl>
+<p>
+Definition at line <a class="el" href="system_8h-source.html#l00569">569</a> of file <a class="el" href="system_8h-source.html">system.h</a>. </td>
+ </tr>
+</table>
+<a name="p1" doxytag="TScreen::screenWidth"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a1">uchar</a> TScreen::screenWidth<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Holds the current screen width.
+<p>
+It is initialized by the constructor of this class.
+<p>
+Definition at line <a class="el" href="system_8h-source.html#l00575">575</a> of file <a class="el" href="system_8h-source.html">system.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="system_8h-source.html">system.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:16 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTScreen.png b/freebsdtvision/doc/html/classTScreen.png
new file mode 100644
index 0000000..4bbf48f
--- /dev/null
+++ b/freebsdtvision/doc/html/classTScreen.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTScrollBar-members.html b/freebsdtvision/doc/html/classTScrollBar-members.html
new file mode 100644
index 0000000..ec43d0c
--- /dev/null
+++ b/freebsdtvision/doc/html/classTScrollBar-members.html
@@ -0,0 +1,140 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TScrollBar Member List</h1>This is the complete list of members for <a class="el" href="classTScrollBar.html">TScrollBar</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScrollBar.html#m5">arStep</a></td><td><a class="el" href="classTScrollBar.html">TScrollBar</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a31">awaken</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a32">blockCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScrollBar.html#d0">build</a>()</td><td><a class="el" href="classTScrollBar.html">TScrollBar</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a10">calcBounds</a>(TRect &amp;bounds, TPoint delta)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a11">changeBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScrollBar.html#m1">chars</a></td><td><a class="el" href="classTScrollBar.html">TScrollBar</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a38">clearEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d0">commandEnabled</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p0">commandSetChanged</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a7">containsMouse</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p1">curCommandSet</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m6">cursor</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a28">dataSize</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d3">disableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d1">disableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m8">dragMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a9">dragView</a>(TEvent &amp;event, uchar mode, TRect &amp;limits, TPoint minSize, TPoint maxSize)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScrollBar.html#a1">draw</a>()</td><td><a class="el" href="classTScrollBar.html">TScrollBar</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a37">drawCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a24">drawHide</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScrollBar.html#a10">drawPos</a>(int pos)</td><td><a class="el" href="classTScrollBar.html">TScrollBar</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a25">drawShow</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a26">drawUnderRect</a>(TRect &amp;r, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a27">drawUnderView</a>(Boolean doShadow, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a20">drawView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d4">enableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d2">enableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a43">endModal</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>enterSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p3">errorAttr</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a39">eventAvail</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m3">eventMask</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a44">execute</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a21">exposed</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a22">focus</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a3">getBounds</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a5">getClipRect</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a45">getColor</a>(ushort color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d5">getCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a29">getData</a>(void *rec)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a40">getEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a4">getExtent</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a15">getHelpCtx</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScrollBar.html#a2">getPalette</a>() const</td><td><a class="el" href="classTScrollBar.html">TScrollBar</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScrollBar.html#a11">getPos</a>()</td><td><a class="el" href="classTScrollBar.html">TScrollBar</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScrollBar.html#a12">getSize</a>()</td><td><a class="el" href="classTScrollBar.html">TScrollBar</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a48">getState</a>(ushort aState)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m7">growMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a12">growTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScrollBar.html#a3">handleEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTScrollBar.html">TScrollBar</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScrollBar.html#p1">hChars</a></td><td><a class="el" href="classTScrollBar.html">TScrollBar</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m9">helpCtx</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a17">hide</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a23">hideCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a51">keyEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>leaveSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a8">locate</a>(TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a58">makeFirst</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a53">makeGlobal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a54">makeLocal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a47">mapColor</a>(uchar)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScrollBar.html#m3">maxVal</a></td><td><a class="el" href="classTScrollBar.html">TScrollBar</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScrollBar.html#m2">minVal</a></td><td><a class="el" href="classTScrollBar.html">TScrollBar</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a52">mouseEvent</a>(TEvent &amp;event, ushort mask)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a6">mouseInView</a>(TPoint mouse)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a13">moveTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScrollBar.html#p2">name</a></td><td><a class="el" href="classTScrollBar.html">TScrollBar</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m0">next</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a55">nextView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a33">normalCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>normalSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m2">options</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m5">origin</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m10">owner</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScrollBar.html#m4">pgStep</a></td><td><a class="el" href="classTScrollBar.html">TScrollBar</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s6">phaseType</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phFocused</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPostProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPreProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a57">prev</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a56">prevView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a42">putEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a59">putInFrontOf</a>(TView *Target)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScrollBar.html#b2">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTScrollBar.html">TScrollBar</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a34">resetCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScrollBar.html#a4">scrollDraw</a>()</td><td><a class="el" href="classTScrollBar.html">TScrollBar</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScrollBar.html#a5">scrollStep</a>(int part)</td><td><a class="el" href="classTScrollBar.html">TScrollBar</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a49">select</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s7">selectMode</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a14">setBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d7">setCmdState</a>(TCommandSet &amp;commands, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d6">setCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a35">setCursor</a>(int x, int y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a30">setData</a>(void *rec)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScrollBar.html#a6">setParams</a>(int aValue, int aMin, int aMax, int aPgStep, int aArStep)</td><td><a class="el" href="classTScrollBar.html">TScrollBar</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScrollBar.html#a7">setRange</a>(int aMin, int aMax)</td><td><a class="el" href="classTScrollBar.html">TScrollBar</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a50">setState</a>(ushort aState, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScrollBar.html#a8">setStep</a>(int aPgStep, int aArStep)</td><td><a class="el" href="classTScrollBar.html">TScrollBar</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScrollBar.html#a9">setValue</a>(int aValue)</td><td><a class="el" href="classTScrollBar.html">TScrollBar</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a18">show</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a36">showCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p2">showMarkers</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a67">shutDown</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m1">size</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a2">sizeLimits</a>(TPoint &amp;min, TPoint &amp;max)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m4">state</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a60">TopView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScrollBar.html#a0">TScrollBar</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTScrollBar.html">TScrollBar</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScrollBar.html#b0">TScrollBar</a>(StreamableInit)</td><td><a class="el" href="classTScrollBar.html">TScrollBar</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a0">TView</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#b0">TView</a>(StreamableInit)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a16">valid</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScrollBar.html#m0">value</a></td><td><a class="el" href="classTScrollBar.html">TScrollBar</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScrollBar.html#p0">vChars</a></td><td><a class="el" href="classTScrollBar.html">TScrollBar</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScrollBar.html#b1">write</a>(opstream &amp;os)</td><td><a class="el" href="classTScrollBar.html">TScrollBar</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a61">writeBuf</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a62">writeBuf</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a63">writeChar</a>(short x, short y, char c, uchar color, short count)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a64">writeLine</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a65">writeLine</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a66">writeStr</a>(short x, short y, const char *str, uchar color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a1">~TView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:17 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTScrollBar.html b/freebsdtvision/doc/html/classTScrollBar.html
new file mode 100644
index 0000000..7889b71
--- /dev/null
+++ b/freebsdtvision/doc/html/classTScrollBar.html
@@ -0,0 +1,870 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TScrollBar class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TScrollBar Class Reference</h1>Implements a scroll bar.
+<a href="#_details"></a>
+<p>
+<code>#include &lt;<a class="el" href="views_8h-source.html">views.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TScrollBar:
+<p><center><img src="classTScrollBar.png" usemap="#TScrollBar_map" border="0" alt=""></center>
+<map name="TScrollBar_map">
+<area href="classTView.html" alt="TView" shape="rect" coords="46,56,128,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,82,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="92,0,174,24">
+</map>
+<a href="classTScrollBar-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTScrollBar.html#a0">TScrollBar</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;bounds)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTScrollBar.html#a1">draw</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="classTPalette.html">TPalette</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="classTScrollBar.html#a2">getPalette</a> () const</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTScrollBar.html#a3">handleEvent</a> (<a class="el" href="structTEvent.html">TEvent</a> &amp;event)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTScrollBar.html#a4">scrollDraw</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual int&nbsp;</td><td valign=bottom><a class="el" href="classTScrollBar.html#a5">scrollStep</a> (int part)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTScrollBar.html#a6">setParams</a> (int aValue, int aMin, int aMax, int aPgStep, int aArStep)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTScrollBar.html#a7">setRange</a> (int aMin, int aMax)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTScrollBar.html#a8">setStep</a> (int aPgStep, int aArStep)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTScrollBar.html#a9">setValue</a> (int aValue)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTScrollBar.html#a10">drawPos</a> (int pos)</td></tr>
+<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classTScrollBar.html#a11">getPos</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classTScrollBar.html#a12">getSize</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStreamable.html">TStreamable</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTScrollBar.html#d0">build</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classTScrollBar.html#m0">value</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="views_8h.html#a109">TScrollChars</a>&nbsp;</td><td valign=bottom><a class="el" href="classTScrollBar.html#m1">chars</a></td></tr>
+<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classTScrollBar.html#m2">minVal</a></td></tr>
+<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classTScrollBar.html#m3">maxVal</a></td></tr>
+<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classTScrollBar.html#m4">pgStep</a></td></tr>
+<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classTScrollBar.html#m5">arStep</a></td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="views_8h.html#a109">TScrollChars</a>&nbsp;</td><td valign=bottom><a class="el" href="classTScrollBar.html#p0">vChars</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="views_8h.html#a109">TScrollChars</a>&nbsp;</td><td valign=bottom><a class="el" href="classTScrollBar.html#p1">hChars</a></td></tr>
+<tr><td nowrap align=right valign=top>const char *const&nbsp;</td><td valign=bottom><a class="el" href="classTScrollBar.html#p2">name</a></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTScrollBar.html#b0">TScrollBar</a> (<a class="el" href="ttypes_8h.html#a14">StreamableInit</a>)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTScrollBar.html#b1">write</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void *&nbsp;</td><td valign=bottom><a class="el" href="classTScrollBar.html#b2">read</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is)</td></tr>
+</table>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TScrollBar::TScrollBar"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TScrollBar::TScrollBar </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>bounds</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates and initializes a scroll bar with the given bounds by calling the <a class="el" href="classTView.html">TView</a> constructor. Sets value, <a class="el" href="classTScrollBar.html#m3">maxVal</a> and <a class="el" href="classTScrollBar.html#m2">minVal</a> to zero. Sets <a class="el" href="classTScrollBar.html#m4">pgStep</a> and <a class="el" href="classTScrollBar.html#m5">arStep</a> to 1.
+<p>
+The shapes of the scroll bar parts are set to the defaults in chars data member.
+<p>
+If `bounds' produces size.x = 1, scroll bar is vertical; otherwise, it is horizontal. Vertical scroll bars have the <a class="el" href="classTView.html#m7">growMode</a> data member set to <a class="el" href="views_8h.html#a50">gfGrowLoX</a> | <a class="el" href="views_8h.html#a52">gfGrowHiX</a> | <a class="el" href="views_8h.html#a53">gfGrowHiY</a>; horizontal scroll bars have the <a class="el" href="classTView.html#m7">growMode</a> data member set to <a class="el" href="views_8h.html#a51">gfGrowLoY</a> | <a class="el" href="views_8h.html#a52">gfGrowHiX</a> | <a class="el" href="views_8h.html#a53">gfGrowHiY</a>. </td>
+ </tr>
+</table>
+<a name="b0" doxytag="TScrollBar::TScrollBar"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TScrollBar::TScrollBar </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a14">StreamableInit</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Each streamable class needs a "builder" to allocate the correct memory for its objects together with the initialized virtual table pointers. This is achieved by calling this constructor with an argument of type <a class="el" href="ttypes_8h.html#a14">StreamableInit</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="d0" doxytag="TScrollBar::build"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStreamable.html">TStreamable</a>* TScrollBar::build </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called to create an object in certain stream-reading situations.
+<p>
+Reimplemented from <a class="el" href="classTView.html#d8">TView</a>. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TScrollBar::draw"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TScrollBar::draw </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Draws the scroll bar depending on the current bounds, value, and palette.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a19">TView</a>. </td>
+ </tr>
+</table>
+<a name="a10" doxytag="TScrollBar::drawPos"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TScrollBar::drawPos </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>pos</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="TScrollBar::getPalette"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="classTPalette.html">TPalette</a>&amp; TScrollBar::getPalette </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the default palette.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a46">TView</a>. </td>
+ </tr>
+</table>
+<a name="a11" doxytag="TScrollBar::getPos"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> int TScrollBar::getPos </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="a12" doxytag="TScrollBar::getSize"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> int TScrollBar::getSize </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="TScrollBar::handleEvent"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TScrollBar::handleEvent </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="structTEvent.html">TEvent</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>event</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Handles scroll bar events by calling <a class="el" href="classTView.html#a41">TView::handleEvent()</a>. Mouse events are broadcast to the scroll bar's owner, which must handle the implications of the scroll bar changes.
+<p>
+<a class="el" href="classTScrollBar.html#a3">handleEvent()</a> also determines which scroll bar part has received a mouse click (or equivalent keystroke). Data member value is adjusted according to the current <a class="el" href="classTScrollBar.html#m5">arStep</a> or <a class="el" href="classTScrollBar.html#m4">pgStep</a> values. The scroll bar indicator is redrawn.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a41">TView</a>. </td>
+ </tr>
+</table>
+<a name="b2" doxytag="TScrollBar::read"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void* TScrollBar::read </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>is</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Reads from the input stream `is'.
+<p>
+Reimplemented from <a class="el" href="classTView.html#b2">TView</a>. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="TScrollBar::scrollDraw"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TScrollBar::scrollDraw </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Is called whenever value data member changes. This virtual member function defaults by sending a cmScrollBarChanged message to the scroll bar's owner:
+<p>
+<pre>
+ message(owner, <a class="el" href="system_8h.html#a6">evBroadcast</a>, cmScrollBarChanged, this);
+ </pre> <dl compact><dt><b>See also: </b></dt><dd>
+message </dl> </td>
+ </tr>
+</table>
+<a name="a5" doxytag="TScrollBar::scrollStep"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual int TScrollBar::scrollStep </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>part</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+By default, <a class="el" href="classTScrollBar.html#a5">scrollStep()</a> returns a positive or negative step value, depending on the scroll bar part given by `part', and the current values of <a class="el" href="classTScrollBar.html#m5">arStep</a> and <a class="el" href="classTScrollBar.html#m4">pgStep</a>. Parameter `part' should be one of the following constants:
+<p>
+<pre>
+ Constant Value Meaning
+
+ <a class="el" href="views_8h.html#a66">sbLeftArrow</a> 0 Left arrow of horizontal scroll bar
+ <a class="el" href="views_8h.html#a67">sbRightArrow</a> 1 Right arrow of horizontal scroll bar
+ <a class="el" href="views_8h.html#a68">sbPageLeft</a> 2 Left paging area of horizontal scroll bar
+ <a class="el" href="views_8h.html#a69">sbPageRight</a> 3 Right paging area of horizontal scroll bar
+ <a class="el" href="views_8h.html#a70">sbUpArrow</a> 4 Top arrow of vertical scroll bar
+ <a class="el" href="views_8h.html#a71">sbDownArrow</a> 5 Bottom arrow of vertical scroll bar
+ <a class="el" href="views_8h.html#a72">sbPageUp</a> 6 Upper paging area of vertical scroll bar
+ <a class="el" href="views_8h.html#a73">sbPageDown</a> 7 Lower paging area of vertical scroll bar
+ <a class="el" href="views_8h.html#a74">sbIndicator</a> 8 Position indicator on scroll bar
+ </pre>
+<p>
+These constants define the different areas of a TScrollBar in which the mouse can be clicked. The <a class="el" href="classTScrollBar.html#a5">scrollStep()</a> function converts these constants into actual scroll step values. Although defined, the sbIndicator constant is never passed to <a class="el" href="classTScrollBar.html#a5">scrollStep()</a>. </td>
+ </tr>
+</table>
+<a name="a6" doxytag="TScrollBar::setParams"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TScrollBar::setParams </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aValue</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aMin</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aMax</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aPgStep</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aArStep</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Sets the value, <a class="el" href="classTScrollBar.html#m2">minVal</a>, <a class="el" href="classTScrollBar.html#m3">maxVal</a>, <a class="el" href="classTScrollBar.html#m4">pgStep</a> and <a class="el" href="classTScrollBar.html#m5">arStep</a> with the given argument values. Some adjustments are made if your arguments conflict.
+<p>
+The scroll bar is redrawn by calling <a class="el" href="classTView.html#a20">drawView()</a>. If value is changed, <a class="el" href="classTScrollBar.html#a4">scrollDraw()</a> is also called. </td>
+ </tr>
+</table>
+<a name="a7" doxytag="TScrollBar::setRange"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TScrollBar::setRange </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aMin</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aMax</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Sets the legal range for value by setting <a class="el" href="classTScrollBar.html#m2">minVal</a> and <a class="el" href="classTScrollBar.html#m3">maxVal</a> to the given arguments `aMin' and `aMax'.
+<p>
+Calls <a class="el" href="classTScrollBar.html#a6">setParams()</a>, so <a class="el" href="classTView.html#a20">drawView()</a> and <a class="el" href="classTScrollBar.html#a4">scrollDraw()</a> will be called if the changes require the scroll bar to be redrawn. </td>
+ </tr>
+</table>
+<a name="a8" doxytag="TScrollBar::setStep"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TScrollBar::setStep </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aPgStep</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aArStep</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Sets <a class="el" href="classTScrollBar.html#m4">pgStep</a> and <a class="el" href="classTScrollBar.html#m5">arStep</a> to the given arguments `aPgStep' and `aArStep'. Calls <a class="el" href="classTScrollBar.html#a6">setParams()</a> with the other arguments set to their current values. </td>
+ </tr>
+</table>
+<a name="a9" doxytag="TScrollBar::setValue"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TScrollBar::setValue </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>aValue</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Sets value to `aValue' by calling <a class="el" href="classTScrollBar.html#a6">setParams()</a> with the other arguments set to their current values. Note: <a class="el" href="classTView.html#a20">drawView()</a> and <a class="el" href="classTScrollBar.html#a4">scrollDraw()</a> will be called if this call changes value. </td>
+ </tr>
+</table>
+<a name="b1" doxytag="TScrollBar::write"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TScrollBar::write </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>os</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Writes to the output stream `os'.
+<p>
+Reimplemented from <a class="el" href="classTView.html#b1">TView</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="m5" doxytag="TScrollBar::arStep"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> int TScrollBar::arStep
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Variable arStep is the amount added or subtracted to the scroll bar's value data member when an arrow area is clicked (<a class="el" href="views_8h.html#a66">sbLeftArrow</a>, <a class="el" href="views_8h.html#a67">sbRightArrow</a>, <a class="el" href="views_8h.html#a70">sbUpArrow</a>, or <a class="el" href="views_8h.html#a71">sbDownArrow</a>) or the equivalent keystroke made.
+<p>
+The TScrollBar constructor sets arStep to 1 by default.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l02281">2281</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="m1" doxytag="TScrollBar::chars"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="views_8h.html#a109">TScrollChars</a> TScrollBar::chars
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+TScrollChars is defined as:
+<p>
+<pre>
+ typedef char TScrollChars[5];
+ </pre>
+<p>
+Variable chars is set with the five basic character patterns used to draw the scroll bar parts.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l02250">2250</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="p1" doxytag="TScrollBar::hChars"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="views_8h.html#a109">TScrollChars</a> TScrollBar::hChars<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l02289">2289</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="m3" doxytag="TScrollBar::maxVal"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> int TScrollBar::maxVal
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Variable maxVal represents the maximum value for the value data member. The TScrollBar constructor sets maxVal to zero by default.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l02260">2260</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="m2" doxytag="TScrollBar::minVal"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> int TScrollBar::minVal
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Variable minVal represents the minimum value for the value data member. The TScrollBar constructor sets minVal to zero by default.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l02255">2255</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="p2" doxytag="TScrollBar::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* const TScrollBar::name<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTView.html#p4">TView</a>.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l02320">2320</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="m4" doxytag="TScrollBar::pgStep"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> int TScrollBar::pgStep
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Variable pgStep is the amount added or subtracted to the scroll bar's value data member when a mouse click event occurs in any of the page areas (<a class="el" href="views_8h.html#a68">sbPageLeft</a>, <a class="el" href="views_8h.html#a69">sbPageRight</a>, <a class="el" href="views_8h.html#a72">sbPageUp</a>, or <a class="el" href="views_8h.html#a73">sbPageDown</a>) or an equivalent keystroke is detected (Ctrl-Left, Ctrl-Right, PgUp, or PgDn).
+<p>
+The TScrollBar constructor sets pgStep to 1 by default. You can change pgStep using <a class="el" href="classTScrollBar.html#a6">setParams()</a>, <a class="el" href="classTScrollBar.html#a8">setStep()</a> or <a class="el" href="classTScroller.html#a6">TScroller::setLimit()</a>.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l02272">2272</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="m0" doxytag="TScrollBar::value"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> int TScrollBar::value
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This variable represents the current position of the scroll bar indicator. This marker moves along the scroll bar strip to indicate the relative position of the scrollable text being viewed relative to the total text available for scrolling.
+<p>
+The TScrollBar constructor sets value to zero by default.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l02239">2239</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="p0" doxytag="TScrollBar::vChars"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="views_8h.html#a109">TScrollChars</a> TScrollBar::vChars<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l02285">2285</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="views_8h-source.html">views.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:17 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTScrollBar.png b/freebsdtvision/doc/html/classTScrollBar.png
new file mode 100644
index 0000000..344e92f
--- /dev/null
+++ b/freebsdtvision/doc/html/classTScrollBar.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTScroller-members.html b/freebsdtvision/doc/html/classTScroller-members.html
new file mode 100644
index 0000000..9cdf861
--- /dev/null
+++ b/freebsdtvision/doc/html/classTScroller-members.html
@@ -0,0 +1,133 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TScroller Member List</h1>This is the complete list of members for <a class="el" href="classTScroller.html">TScroller</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a31">awaken</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a32">blockCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#d0">build</a>()</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a10">calcBounds</a>(TRect &amp;bounds, TPoint delta)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#a1">changeBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#a8">checkDraw</a>()</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a38">clearEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d0">commandEnabled</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p0">commandSetChanged</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a7">containsMouse</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p1">curCommandSet</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m6">cursor</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a28">dataSize</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#m0">delta</a></td><td><a class="el" href="classTScroller.html">TScroller</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d3">disableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d1">disableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m8">dragMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a9">dragView</a>(TEvent &amp;event, uchar mode, TRect &amp;limits, TPoint minSize, TPoint maxSize)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a19">draw</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a37">drawCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#n1">drawFlag</a></td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a24">drawHide</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#n0">drawLock</a></td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a25">drawShow</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a26">drawUnderRect</a>(TRect &amp;r, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a27">drawUnderView</a>(Boolean doShadow, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a20">drawView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d4">enableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d2">enableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a43">endModal</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>enterSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p3">errorAttr</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a39">eventAvail</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m3">eventMask</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a44">execute</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a21">exposed</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a22">focus</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a3">getBounds</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a5">getClipRect</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a45">getColor</a>(ushort color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d5">getCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a29">getData</a>(void *rec)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a40">getEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a4">getExtent</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a15">getHelpCtx</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#a2">getPalette</a>() const</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a48">getState</a>(ushort aState)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m7">growMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a12">growTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#a3">handleEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m9">helpCtx</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a17">hide</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a23">hideCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#n2">hScrollBar</a></td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a51">keyEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>leaveSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#n4">limit</a></td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a8">locate</a>(TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a58">makeFirst</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a53">makeGlobal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a54">makeLocal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a47">mapColor</a>(uchar)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a52">mouseEvent</a>(TEvent &amp;event, ushort mask)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a6">mouseInView</a>(TPoint mouse)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a13">moveTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#p0">name</a></td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m0">next</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a55">nextView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a33">normalCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>normalSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m2">options</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m5">origin</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m10">owner</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s6">phaseType</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phFocused</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPostProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPreProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a57">prev</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a56">prevView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a42">putEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a59">putInFrontOf</a>(TView *Target)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#b2">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a34">resetCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#a4">scrollDraw</a>()</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#a5">scrollTo</a>(int x, int y)</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a49">select</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s7">selectMode</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a14">setBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d7">setCmdState</a>(TCommandSet &amp;commands, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d6">setCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a35">setCursor</a>(int x, int y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a30">setData</a>(void *rec)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#a6">setLimit</a>(int x, int y)</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#a7">setState</a>(ushort aState, Boolean enable)</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a18">show</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a36">showCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p2">showMarkers</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#a9">shutDown</a>()</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m1">size</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a2">sizeLimits</a>(TPoint &amp;min, TPoint &amp;max)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m4">state</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a60">TopView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#a0">TScroller</a>(const TRect &amp;bounds, TScrollBar *aHScrollBar, TScrollBar *aVScrollBar)</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#b0">TScroller</a>(StreamableInit)</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a0">TView</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#b0">TView</a>(StreamableInit)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a16">valid</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#n3">vScrollBar</a></td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#b1">write</a>(opstream &amp;os)</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a61">writeBuf</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a62">writeBuf</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a63">writeChar</a>(short x, short y, char c, uchar color, short count)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a64">writeLine</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a65">writeLine</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a66">writeStr</a>(short x, short y, const char *str, uchar color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a1">~TView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:17 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTScroller.html b/freebsdtvision/doc/html/classTScroller.html
new file mode 100644
index 0000000..8d89aa3
--- /dev/null
+++ b/freebsdtvision/doc/html/classTScroller.html
@@ -0,0 +1,732 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TScroller class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TScroller Class Reference</h1>Provides a scrolling virtual window onto a larger view.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="views_8h-source.html">views.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TScroller:
+<p><center><img src="classTScroller.png" usemap="#TScroller_map" border="0" alt=""></center>
+<map name="TScroller_map">
+<area href="classTView.html" alt="TView" shape="rect" coords="109,56,208,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="54,0,153,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="163,0,262,24">
+<area href="classTHelpViewer.html" alt="THelpViewer" shape="rect" coords="0,168,99,192">
+<area href="classTOutlineViewer.html" alt="TOutlineViewer" shape="rect" coords="109,168,208,192">
+<area href="classTTextDevice.html" alt="TTextDevice" shape="rect" coords="218,168,317,192">
+<area href="classTOutline.html" alt="TOutline" shape="rect" coords="109,224,208,248">
+<area href="classTTerminal.html" alt="TTerminal" shape="rect" coords="218,224,317,248">
+</map>
+<a href="classTScroller-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTScroller.html#a0">TScroller</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;bounds, <a class="el" href="classTScrollBar.html">TScrollBar</a> *aHScrollBar, <a class="el" href="classTScrollBar.html">TScrollBar</a> *aVScrollBar)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTScroller.html#a1">changeBounds</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;bounds)</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="classTPalette.html">TPalette</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="classTScroller.html#a2">getPalette</a> () const</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTScroller.html#a3">handleEvent</a> (<a class="el" href="structTEvent.html">TEvent</a> &amp;event)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTScroller.html#a4">scrollDraw</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTScroller.html#a5">scrollTo</a> (int x, int y)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTScroller.html#a6">setLimit</a> (int x, int y)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTScroller.html#a7">setState</a> (<a class="el" href="ttypes_8h.html#a0">ushort</a> aState, <a class="el" href="ttypes_8h.html#a13">Boolean</a> enable)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTScroller.html#a8">checkDraw</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTScroller.html#a9">shutDown</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStreamable.html">TStreamable</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTScroller.html#d0">build</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTPoint.html">TPoint</a>&nbsp;</td><td valign=bottom><a class="el" href="classTScroller.html#m0">delta</a></td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>const char *const&nbsp;</td><td valign=bottom><a class="el" href="classTScroller.html#p0">name</a></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTScroller.html#b0">TScroller</a> (<a class="el" href="ttypes_8h.html#a14">StreamableInit</a>)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTScroller.html#b1">write</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void *&nbsp;</td><td valign=bottom><a class="el" href="classTScroller.html#b2">read</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is)</td></tr>
+<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a1">uchar</a>&nbsp;</td><td valign=bottom><a class="el" href="classTScroller.html#n0">drawLock</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTScroller.html#n1">drawFlag</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTScrollBar.html">TScrollBar</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTScroller.html#n2">hScrollBar</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTScrollBar.html">TScrollBar</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTScroller.html#n3">vScrollBar</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTPoint.html">TPoint</a>&nbsp;</td><td valign=bottom><a class="el" href="classTScroller.html#n4">limit</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+TScroller provides a scrolling virtual window onto a larger view. That is, a scrolling view lets the user scroll a large view within a clipped boundary.
+<p>
+The scroller provides an offset from which the <a class="el" href="classTView.html#a19">TView::draw()</a> method fills the visible region. All methods needed to provide both scroll bar and keyboard scrolling are built into TScroller.
+<p>
+The basic scrolling view provides a useful starting point for scrolling views such as text views.
+<p>
+
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l02379">2379</a> of file <a class="el" href="views_8h-source.html">views.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TScroller::TScroller"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TScroller::TScroller </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>bounds</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTScrollBar.html">TScrollBar</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aHScrollBar</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTScrollBar.html">TScrollBar</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aVScrollBar</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates and initializes a TScroller object with the given size and scroll bars. Calls <a class="el" href="classTView.html">TView</a> constructor to set the view's size.
+<p>
+`aHScrollBar' should be 0 if you do not want a horizontal scroll bar; `aVScrollBar' should be 0 if you do not want a vertical scroll bar. </td>
+ </tr>
+</table>
+<a name="b0" doxytag="TScroller::TScroller"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TScroller::TScroller </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a14">StreamableInit</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Each streamable class needs a "builder" to allocate the correct memory for its objects together with the initialized virtual table pointers. This is achieved by calling this constructor with an argument of type <a class="el" href="ttypes_8h.html#a14">StreamableInit</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="d0" doxytag="TScroller::build"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStreamable.html">TStreamable</a>* TScroller::build </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called to create an object in certain stream-reading situations.
+<p>
+Reimplemented from <a class="el" href="classTView.html#d8">TView</a>.
+<p>
+Reimplemented in <a class="el" href="classTOutlineViewer.html#d0">TOutlineViewer</a>, and <a class="el" href="classTOutline.html#d0">TOutline</a>. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TScroller::changeBounds"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TScroller::changeBounds </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>bounds</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Changes the scroller's size by calling TView::setbounds(). If necessary, the scroller and scroll bars are then redrawn by calling <a class="el" href="classTScroller.html#a6">setLimit()</a> and <a class="el" href="classTView.html#a20">drawView()</a>.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a11">TView</a>.
+<p>
+Reimplemented in <a class="el" href="classTHelpViewer.html#a2">THelpViewer</a>. </td>
+ </tr>
+</table>
+<a name="a8" doxytag="TScroller::checkDraw"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TScroller::checkDraw </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+If <a class="el" href="classTScroller.html#n0">drawLock</a> is zero and <a class="el" href="classTScroller.html#n1">drawFlag</a> is True, <a class="el" href="classTScroller.html#n1">drawFlag</a> is set False and <a class="el" href="classTView.html#a20">drawView()</a> is called. If <a class="el" href="classTScroller.html#n0">drawLock</a> is non-zero or <a class="el" href="classTScroller.html#n1">drawFlag</a> is False, <a class="el" href="classTScroller.html#a8">checkDraw()</a> does nothing.
+<p>
+Methods <a class="el" href="classTScroller.html#a5">scrollTo()</a> and <a class="el" href="classTScroller.html#a6">setLimit()</a> each call <a class="el" href="classTScroller.html#a8">checkDraw()</a> so that <a class="el" href="classTView.html#a20">drawView()</a> is only called if needed. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="TScroller::getPalette"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="classTPalette.html">TPalette</a>&amp; TScroller::getPalette </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the default scroller palette string.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a46">TView</a>.
+<p>
+Reimplemented in <a class="el" href="classTHelpViewer.html#a4">THelpViewer</a>, and <a class="el" href="classTOutlineViewer.html#a9">TOutlineViewer</a>. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="TScroller::handleEvent"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TScroller::handleEvent </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="structTEvent.html">TEvent</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>event</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Handles most events by calling <a class="el" href="classTView.html#a41">TView::handleEvent()</a>.
+<p>
+Broadcast events such as cmScrollBarChanged from either <a class="el" href="classTScroller.html#n2">hScrollBar</a> or <a class="el" href="classTScroller.html#n3">vScrollBar</a> result in a call to <a class="el" href="classTScroller.html#a4">scrollDraw()</a>.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a41">TView</a>.
+<p>
+Reimplemented in <a class="el" href="classTHelpViewer.html#a5">THelpViewer</a>, and <a class="el" href="classTOutlineViewer.html#a12">TOutlineViewer</a>. </td>
+ </tr>
+</table>
+<a name="b2" doxytag="TScroller::read"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void* TScroller::read </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>is</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Reads from the input stream `is'.
+<p>
+Reimplemented from <a class="el" href="classTView.html#b2">TView</a>.
+<p>
+Reimplemented in <a class="el" href="classTOutlineViewer.html#b1">TOutlineViewer</a>, and <a class="el" href="classTOutline.html#b1">TOutline</a>. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="TScroller::scrollDraw"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TScroller::scrollDraw </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Checks to see if delta matches the current positions of the scroll bars. If not, delta is set to the correct value and <a class="el" href="classTView.html#a20">drawView()</a> is called to redraw the scroller. </td>
+ </tr>
+</table>
+<a name="a5" doxytag="TScroller::scrollTo"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TScroller::scrollTo </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>x</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>y</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Sets the scroll bars to (x,y) by calling hScrollBar-&gt;setValue(x) and vScrollBar-&gt;setValue(y) and redraws the view by calling <a class="el" href="classTView.html#a20">drawView()</a>. <dl compact><dt><b>See also: </b></dt><dd>
+TScrollBar::hScrollBar , TScrollBar::vScrollBar , <a class="el" href="classTScrollBar.html#a9">TScrollBar::setValue</a> </dl> </td>
+ </tr>
+</table>
+<a name="a6" doxytag="TScroller::setLimit"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TScroller::setLimit </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>x</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>y</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Sets the limit data member and redraws the scrollbars and scroller if necessary. </td>
+ </tr>
+</table>
+<a name="a7" doxytag="TScroller::setState"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TScroller::setState </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aState</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>enable</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This member function is called whenever the scroller's state changes. Calls <a class="el" href="classTView.html#a50">TView::setState()</a> to set or clear the state flags in `aState'. If the new state is <a class="el" href="views_8h.html#a31">sfSelected</a> and <a class="el" href="views_8h.html#a30">sfActive</a>, <a class="el" href="classTScroller.html#a7">setState()</a> displays the scroll bars; otherwise, they are hidden.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a50">TView</a>.
+<p>
+Reimplemented in <a class="el" href="classTOutlineViewer.html#a17">TOutlineViewer</a>. </td>
+ </tr>
+</table>
+<a name="a9" doxytag="TScroller::shutDown"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TScroller::shutDown </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Used internally by <a class="el" href="classTObject.html#d0">TObject::destroy()</a> to ensure correct destruction of derived and related objects. <a class="el" href="classTScroller.html#a9">shutDown()</a> is overridden in many classes to ensure the proper setting of related data members when <a class="el" href="classTObject.html#d0">destroy()</a> is called.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a67">TView</a>. </td>
+ </tr>
+</table>
+<a name="b1" doxytag="TScroller::write"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TScroller::write </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>os</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Writes to the output stream `os'.
+<p>
+Reimplemented from <a class="el" href="classTView.html#b1">TView</a>.
+<p>
+Reimplemented in <a class="el" href="classTOutlineViewer.html#b0">TOutlineViewer</a>, and <a class="el" href="classTOutline.html#b0">TOutline</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="m0" doxytag="TScroller::delta"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTPoint.html">TPoint</a> TScroller::delta
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Holds the x (horizontal) and y (vertical) components of the scroller's position relative to the virtual view being scrolled.
+<p>
+Automatic scrolling is achieved by changing either or both of these components in response to scroll bar events that change the value data member(s).
+<p>
+Manual scrolling changes delta, triggers changes in the scroll bar <a class="el" href="classTScrollBar.html#m0">TScrollBar::value</a> data members, and leads to updating of the scroll bar indicators.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l02466">2466</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="n1" doxytag="TScroller::drawFlag"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a13">Boolean</a> TScroller::drawFlag<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set True if the scroller has to be redrawn.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l02475">2475</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="n0" doxytag="TScroller::drawLock"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a1">uchar</a> TScroller::drawLock<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+A semaphore used to control the redrawing of scrollers.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l02471">2471</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="n2" doxytag="TScroller::hScrollBar"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTScrollBar.html">TScrollBar</a>* TScroller::hScrollBar<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Points to the horizontal scroll bar object associated with the scroller. If there is no such scroll bar, hScrollBar is 0.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l02480">2480</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="n4" doxytag="TScroller::limit"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTPoint.html">TPoint</a> TScroller::limit<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Data members limit.x and limit.y are the maximum allowed values for delta.x and delta.y data members. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTScroller.html#m0">TScroller::delta</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l02491">2491</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="p0" doxytag="TScroller::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* const TScroller::name<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTView.html#p4">TView</a>.
+<p>
+Reimplemented in <a class="el" href="classTOutlineViewer.html#p1">TOutlineViewer</a>, and <a class="el" href="classTOutline.html#p0">TOutline</a>.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l02522">2522</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="n3" doxytag="TScroller::vScrollBar"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTScrollBar.html">TScrollBar</a>* TScroller::vScrollBar<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Points to the vertical scroll bar object associated with the scroller. If there is no such scroll bar, vScrollBar is 0.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l02485">2485</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="views_8h-source.html">views.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:17 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTScroller.png b/freebsdtvision/doc/html/classTScroller.png
new file mode 100644
index 0000000..551c9d3
--- /dev/null
+++ b/freebsdtvision/doc/html/classTScroller.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTSortedCollection-members.html b/freebsdtvision/doc/html/classTSortedCollection-members.html
new file mode 100644
index 0000000..2f187d0
--- /dev/null
+++ b/freebsdtvision/doc/html/classTSortedCollection-members.html
@@ -0,0 +1,57 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TSortedCollection Member List</h1>This is the complete list of members for <a class="el" href="classTSortedCollection.html">TSortedCollection</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a3">at</a>(ccIndex index)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a5">atFree</a>(ccIndex index)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a11">atInsert</a>(ccIndex index, void *item)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a12">atPut</a>(ccIndex index, void *item)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a6">atRemove</a>(ccIndex index)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#n1">count</a></td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#n3">delta</a></td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSSortedCollection.html#m0">duplicates</a></td><td><a class="el" href="classTNSSortedCollection.html">TNSSortedCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a14">error</a>(ccIndex code, ccIndex info)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#d0">error</a>(ccIndex code, ccIndex info)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a15">firstThat</a>(ccTestFunc Test, void *arg)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a17">forEach</a>(ccAppFunc action, void *arg)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a9">free</a>(void *item)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a10">freeAll</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a20">getCount</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSSortedCollection.html#a2">indexOf</a>(void *item)</td><td><a class="el" href="classTNSSortedCollection.html">TNSSortedCollection</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSSortedCollection.html#a3">insert</a>(void *item)</td><td><a class="el" href="classTNSSortedCollection.html">TNSSortedCollection</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#n0">items</a></td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSSortedCollection.html#a4">keyOf</a>(void *item)</td><td><a class="el" href="classTNSSortedCollection.html">TNSSortedCollection</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a16">lastThat</a>(ccTestFunc Test, void *arg)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#n2">limit</a></td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTSortedCollection.html#p0">name</a></td><td><a class="el" href="classTSortedCollection.html">TSortedCollection</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a18">pack</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTSortedCollection.html#b1">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTSortedCollection.html">TSortedCollection</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a7">remove</a>(void *item)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a8">removeAll</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSSortedCollection.html#a1">search</a>(void *key, ccIndex &amp;index)</td><td><a class="el" href="classTNSSortedCollection.html">TNSSortedCollection</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a19">setLimit</a>(ccIndex aLimit)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#n4">shouldDelete</a></td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a2">shutDown</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCollection.html#a0">TCollection</a>(ccIndex aLimit, ccIndex aDelta)</td><td><a class="el" href="classTCollection.html">TCollection</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCollection.html#b0">TCollection</a>(StreamableInit)</td><td><a class="el" href="classTCollection.html">TCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a0">TNSCollection</a>(ccIndex aLimit, ccIndex aDelta)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#b0">TNSCollection</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSSortedCollection.html#a0">TNSSortedCollection</a>(ccIndex aLimit, ccIndex aDelta)</td><td><a class="el" href="classTNSSortedCollection.html">TNSSortedCollection</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSSortedCollection.html#b0">TNSSortedCollection</a>()</td><td><a class="el" href="classTNSSortedCollection.html">TNSSortedCollection</a></td><td><code> [inline, protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTSortedCollection.html#a0">TSortedCollection</a>(ccIndex aLimit, ccIndex aDelta)</td><td><a class="el" href="classTSortedCollection.html">TSortedCollection</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTSortedCollection.html#b0">TSortedCollection</a>(StreamableInit)</td><td><a class="el" href="classTSortedCollection.html">TSortedCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTSortedCollection.html#b2">write</a>(opstream &amp;os)</td><td><a class="el" href="classTSortedCollection.html">TSortedCollection</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a1">~TNSCollection</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:17 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTSortedCollection.html b/freebsdtvision/doc/html/classTSortedCollection.html
new file mode 100644
index 0000000..11b6d1a
--- /dev/null
+++ b/freebsdtvision/doc/html/classTSortedCollection.html
@@ -0,0 +1,219 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TSortedCollection class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TSortedCollection Class Reference</h1>Sorted, streamable collection of objects.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="objects_8h-source.html">objects.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TSortedCollection:
+<p><center><img src="classTSortedCollection.png" usemap="#TSortedCollection_map" border="0" alt=""></center>
+<map name="TSortedCollection_map">
+<area href="classTNSSortedCollection.html" alt="TNSSortedCollection" shape="rect" coords="0,112,129,136">
+<area href="classTCollection.html" alt="TCollection" shape="rect" coords="208,112,337,136">
+<area href="classTNSCollection.html" alt="TNSCollection" shape="rect" coords="0,56,129,80">
+<area href="classTNSCollection.html" alt="TNSCollection" shape="rect" coords="139,56,268,80">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="278,56,407,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,129,24">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="139,0,268,24">
+<area href="classTFileCollection.html" alt="TFileCollection" shape="rect" coords="34,224,163,248">
+<area href="classTStringCollection.html" alt="TStringCollection" shape="rect" coords="173,224,302,248">
+<area href="classTResourceCollection.html" alt="TResourceCollection" shape="rect" coords="173,280,302,304">
+</map>
+<a href="classTSortedCollection-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTSortedCollection.html#a0">TSortedCollection</a> (<a class="el" href="ttypes_8h.html#a5">ccIndex</a> aLimit, <a class="el" href="ttypes_8h.html#a5">ccIndex</a> aDelta)</td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>const char *const&nbsp;</td><td valign=bottom><a class="el" href="classTSortedCollection.html#p0">name</a></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTSortedCollection.html#b0">TSortedCollection</a> (<a class="el" href="ttypes_8h.html#a14">StreamableInit</a>)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void *&nbsp;</td><td valign=bottom><a class="el" href="classTSortedCollection.html#b1">read</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTSortedCollection.html#b2">write</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+The abstract class TSortedCollection is a specialized derivative of both <a class="el" href="classTCollection.html">TCollection</a> and <a class="el" href="classTNSSortedCollection.html">TNSSortedCollection</a>. It implements streamable collections sorted by a key (with or without duplicates).
+<p>
+No instances of TSortedCollection are allowed. It exists solely as a base for other standard or user-defined derived classes.
+<p>
+
+<p>
+Definition at line <a class="el" href="objects_8h-source.html#l00449">449</a> of file <a class="el" href="objects_8h-source.html">objects.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TSortedCollection::TSortedCollection"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TSortedCollection::TSortedCollection </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a5">ccIndex</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aLimit</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a5">ccIndex</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aDelta</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Invokes the <a class="el" href="classTCollection.html">TCollection</a> constructor to set count and items data members to 0; calls setLimit(aLimit) to set the collection limit to `aLimit', then sets delta to `aDelta'. Note that ccIndex is a typedef of int.
+<p>
+duplicates is set to False. If you want to allow duplicate keys, you must set duplicates True.
+<p>
+Definition at line <a class="el" href="objects_8h-source.html#l00461">461</a> of file <a class="el" href="objects_8h-source.html">objects.h</a>.
+<p>
+References <a class="el" href="ttypes_8h-source.html#l00072">ccIndex</a>. </td>
+ </tr>
+</table>
+<a name="b0" doxytag="TSortedCollection::TSortedCollection"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TSortedCollection::TSortedCollection </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a14">StreamableInit</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Each streamable class needs a "builder" to allocate the correct memory for its objects together with the initialized vtable pointers. This is achieved by calling this constructor with an argument of type <a class="el" href="ttypes_8h.html#a14">StreamableInit</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="b1" doxytag="TSortedCollection::read"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void* TSortedCollection::read </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>is</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Reads a sorted collection from the input stream `is'.
+<p>
+Reimplemented from <a class="el" href="classTCollection.html#b1">TCollection</a>. </td>
+ </tr>
+</table>
+<a name="b2" doxytag="TSortedCollection::write"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TSortedCollection::write </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>os</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Writes the associated TSortedCollection object to the output stream `os'.
+<p>
+Reimplemented from <a class="el" href="classTCollection.html#b2">TCollection</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="p0" doxytag="TSortedCollection::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* const TSortedCollection::name<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTCollection.html#p0">TCollection</a>.
+<p>
+Reimplemented in <a class="el" href="classTStringCollection.html#p0">TStringCollection</a>, <a class="el" href="classTResourceCollection.html#p0">TResourceCollection</a>, and <a class="el" href="classTFileCollection.html#p0">TFileCollection</a>.
+<p>
+Definition at line <a class="el" href="objects_8h-source.html#l00506">506</a> of file <a class="el" href="objects_8h-source.html">objects.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="objects_8h-source.html">objects.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:17 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTSortedCollection.png b/freebsdtvision/doc/html/classTSortedCollection.png
new file mode 100644
index 0000000..6981736
--- /dev/null
+++ b/freebsdtvision/doc/html/classTSortedCollection.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTSortedListBox-members.html b/freebsdtvision/doc/html/classTSortedListBox-members.html
new file mode 100644
index 0000000..fec4342
--- /dev/null
+++ b/freebsdtvision/doc/html/classTSortedListBox-members.html
@@ -0,0 +1,146 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TSortedListBox Member List</h1>This is the complete list of members for <a class="el" href="classTSortedListBox.html">TSortedListBox</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a31">awaken</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a32">blockCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTSortedListBox.html#d0">build</a>()</td><td><a class="el" href="classTSortedListBox.html">TSortedListBox</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a10">calcBounds</a>(TRect &amp;bounds, TPoint delta)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a1">changeBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a38">clearEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d0">commandEnabled</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p0">commandSetChanged</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a7">containsMouse</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p1">curCommandSet</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m6">cursor</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListBox.html#a2">dataSize</a>()</td><td><a class="el" href="classTListBox.html">TListBox</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d3">disableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d1">disableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m8">dragMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a9">dragView</a>(TEvent &amp;event, uchar mode, TRect &amp;limits, TPoint minSize, TPoint maxSize)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a2">draw</a>()</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a37">drawCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a24">drawHide</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a25">drawShow</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a26">drawUnderRect</a>(TRect &amp;r, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a27">drawUnderView</a>(Boolean doShadow, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a20">drawView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d4">enableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d2">enableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a43">endModal</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>enterSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p3">errorAttr</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a39">eventAvail</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m3">eventMask</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a44">execute</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a21">exposed</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a22">focus</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#m4">focused</a></td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a3">focusItem</a>(short item)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a11">focusItemNum</a>(short item)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a3">getBounds</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a5">getClipRect</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a45">getColor</a>(ushort color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d5">getCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListBox.html#a3">getData</a>(void *rec)</td><td><a class="el" href="classTListBox.html">TListBox</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a40">getEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a4">getExtent</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a15">getHelpCtx</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a4">getPalette</a>() const</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a48">getState</a>(ushort aState)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListBox.html#a4">getText</a>(char *dest, short item, short maxLen)</td><td><a class="el" href="classTListBox.html">TListBox</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m7">growMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a12">growTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTSortedListBox.html#a1">handleEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTSortedListBox.html">TSortedListBox</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m9">helpCtx</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a17">hide</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a23">hideCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#m0">hScrollBar</a></td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a6">isSelected</a>(short item)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListBox.html#n0">items</a></td><td><a class="el" href="classTListBox.html">TListBox</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a51">keyEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>leaveSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTSortedListBox.html#a4">list</a>()</td><td><a class="el" href="classTSortedListBox.html">TSortedListBox</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a8">locate</a>(TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a58">makeFirst</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a53">makeGlobal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a54">makeLocal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a47">mapColor</a>(uchar)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a52">mouseEvent</a>(TEvent &amp;event, ushort mask)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a6">mouseInView</a>(TPoint mouse)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a13">moveTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTSortedListBox.html#p0">name</a></td><td><a class="el" href="classTSortedListBox.html">TSortedListBox</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTSortedListBox.html#a2">newList</a>(TSortedCollection *aList)</td><td><a class="el" href="classTSortedListBox.html">TSortedListBox</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListBox.html#a5">TListBox::newList</a>(TCollection *aList)</td><td><a class="el" href="classTListBox.html">TListBox</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m0">next</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a55">nextView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a33">normalCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>normalSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#m2">numCols</a></td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m2">options</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m5">origin</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m10">owner</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s6">phaseType</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phFocused</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPostProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPreProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a57">prev</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a56">prevView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a42">putEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a59">putInFrontOf</a>(TView *Target)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#m5">range</a></td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTSortedListBox.html#a3">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTSortedListBox.html">TSortedListBox</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a34">resetCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a49">select</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a8">selectItem</a>(short item)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s7">selectMode</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#p0">separatorChar</a></td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a14">setBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d7">setCmdState</a>(TCommandSet &amp;commands, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d6">setCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a35">setCursor</a>(int x, int y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListBox.html#a6">setData</a>(void *rec)</td><td><a class="el" href="classTListBox.html">TListBox</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a9">setRange</a>(short aRange)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a10">setState</a>(ushort aState, Boolean enable)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTSortedListBox.html#n0">shiftState</a></td><td><a class="el" href="classTSortedListBox.html">TSortedListBox</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a18">show</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a36">showCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p2">showMarkers</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a12">shutDown</a>()</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m1">size</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a2">sizeLimits</a>(TPoint &amp;min, TPoint &amp;max)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m4">state</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListBox.html#a0">TListBox</a>(const TRect &amp;bounds, ushort aNumCols, TScrollBar *aScrollBar)</td><td><a class="el" href="classTListBox.html">TListBox</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListBox.html#b0">TListBox</a>(StreamableInit)</td><td><a class="el" href="classTListBox.html">TListBox</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#a0">TListViewer</a>(const TRect &amp;bounds, ushort aNumCols, TScrollBar *aHScrollBar, TScrollBar *aVScrollBar)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#b0">TListViewer</a>(StreamableInit)</td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#m3">topItem</a></td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a60">TopView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTSortedListBox.html#a0">TSortedListBox</a>(const TRect &amp;bounds, ushort aNumCols, TScrollBar *aScrollBar)</td><td><a class="el" href="classTSortedListBox.html">TSortedListBox</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTSortedListBox.html#b0">TSortedListBox</a>(StreamableInit)</td><td><a class="el" href="classTSortedListBox.html">TSortedListBox</a></td><td><code> [inline, protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a0">TView</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#b0">TView</a>(StreamableInit)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a16">valid</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListViewer.html#m1">vScrollBar</a></td><td><a class="el" href="classTListViewer.html">TListViewer</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListBox.html#b1">write</a>(opstream &amp;os)</td><td><a class="el" href="classTListBox.html">TListBox</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a61">writeBuf</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a62">writeBuf</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a63">writeChar</a>(short x, short y, char c, uchar color, short count)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a64">writeLine</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a65">writeLine</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a66">writeStr</a>(short x, short y, const char *str, uchar color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTListBox.html#a1">~TListBox</a>()</td><td><a class="el" href="classTListBox.html">TListBox</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a1">~TView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:17 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTSortedListBox.html b/freebsdtvision/doc/html/classTSortedListBox.html
new file mode 100644
index 0000000..479753f
--- /dev/null
+++ b/freebsdtvision/doc/html/classTSortedListBox.html
@@ -0,0 +1,352 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TSortedListBox class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TSortedListBox Class Reference</h1>A base for other list box classes.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="stddlg_8h-source.html">stddlg.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TSortedListBox:
+<p><center><img src="classTSortedListBox.png" usemap="#TSortedListBox_map" border="0" alt=""></center>
+<map name="TSortedListBox_map">
+<area href="classTListBox.html" alt="TListBox" shape="rect" coords="53,168,149,192">
+<area href="classTListViewer.html" alt="TListViewer" shape="rect" coords="53,112,149,136">
+<area href="classTView.html" alt="TView" shape="rect" coords="53,56,149,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,96,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="106,0,202,24">
+<area href="classTFileList.html" alt="TFileList" shape="rect" coords="53,280,149,304">
+</map>
+<a href="classTSortedListBox-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTSortedListBox.html#a0">TSortedListBox</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;bounds, <a class="el" href="ttypes_8h.html#a0">ushort</a> aNumCols, <a class="el" href="classTScrollBar.html">TScrollBar</a> *aScrollBar)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTSortedListBox.html#a1">handleEvent</a> (<a class="el" href="structTEvent.html">TEvent</a> &amp;event)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTSortedListBox.html#a2">newList</a> (<a class="el" href="classTSortedCollection.html">TSortedCollection</a> *aList)</td></tr>
+<tr><td nowrap align=right valign=top>void *&nbsp;</td><td valign=bottom><a class="el" href="classTSortedListBox.html#a3">read</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTSortedCollection.html">TSortedCollection</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTSortedListBox.html#a4">list</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStreamable.html">TStreamable</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTSortedListBox.html#d0">build</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>const char *const&nbsp;</td><td valign=bottom><a class="el" href="classTSortedListBox.html#p0">name</a></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTSortedListBox.html#b0">TSortedListBox</a> (<a class="el" href="ttypes_8h.html#a14">StreamableInit</a>)</td></tr>
+<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a1">uchar</a>&nbsp;</td><td valign=bottom><a class="el" href="classTSortedListBox.html#n0">shiftState</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+TSortedListBox is a specialized <a class="el" href="classTListBox.html">TListBox</a> derivative that maintains its items in a sorted sequence. It is intended as a base for other list box classes.
+<p>
+
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00362">362</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TSortedListBox::TSortedListBox"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TSortedListBox::TSortedListBox </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>bounds</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aNumCols</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTScrollBar.html">TScrollBar</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aScrollBar</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Calls <a class="el" href="classTListBox.html">TListBox</a> constructor to create a list box with the given size `bounds', number of columns `aNumCols', and vertical scroll bar `aScrollBar'. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTListBox.html#a0">TListBox::TListBox</a></dl>Data member <a class="el" href="classTSortedListBox.html#n0">shiftState</a> is set to 0 and the cursor is set at the first item. </td>
+ </tr>
+</table>
+<a name="b0" doxytag="TSortedListBox::TSortedListBox"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TSortedListBox::TSortedListBox </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a14">StreamableInit</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00426">426</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>.
+<p>
+References <a class="el" href="ttypes_8h-source.html#l00062">StreamableInit</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="d0" doxytag="TSortedListBox::build"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStreamable.html">TStreamable</a>* TSortedListBox::build </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTListBox.html#d0">TListBox</a>.
+<p>
+Reimplemented in <a class="el" href="classTFileList.html#d0">TFileList</a>. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TSortedListBox::handleEvent"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TSortedListBox::handleEvent </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="structTEvent.html">TEvent</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>event</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Calls <a class="el" href="classTListViewer.html#a7">TListBox::handleEvent()</a>, then handles the special key and mouse events used to select items from the list.
+<p>
+Reimplemented from <a class="el" href="classTListViewer.html#a7">TListViewer</a>. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="TSortedListBox::list"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTSortedCollection.html">TSortedCollection</a> * TSortedListBox::list </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns a pointer to the <a class="el" href="classTSortedCollection.html">TSortedCollection</a> object currently associated with this sorted list box. This gives access the the private items data member, a pointer to the items to be listed and selected. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTListBox.html#a7">TListBox::list</a></dl>Derived sorted list box classes will typically override <a class="el" href="classTSortedListBox.html#a4">list()</a> to provide a pointer to objects of a class derived from <a class="el" href="classTSortedCollection.html">TSortedCollection</a>.
+<p>
+Reimplemented from <a class="el" href="classTListBox.html#a7">TListBox</a>.
+<p>
+Reimplemented in <a class="el" href="classTFileList.html#a11">TFileList</a>.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00460">460</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>.
+<p>
+References <a class="el" href="dialogs_8h-source.html#l01775">TListBox::list()</a>.
+<p>
+Referenced by <a class="el" href="stddlg_8h-source.html#l00614">TFileList::list()</a>. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="TSortedListBox::newList"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TSortedListBox::newList </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTSortedCollection.html">TSortedCollection</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>aList</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Calls <a class="el" href="classTListBox.html#a5">TListBox::newList()</a> to delete the existing <a class="el" href="classTSortedCollection.html">TSortedCollection</a> object associated with this list box and replace it with the collection given by `aList'.
+<p>
+The first item of the new collection will receive the focus.
+<p>
+Referenced by <a class="el" href="stddlg_8h-source.html#l00609">TFileList::newList()</a>. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="TSortedListBox::read"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void* TSortedListBox::read </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>is</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Reads from the input stream `is'.
+<p>
+Reimplemented from <a class="el" href="classTListBox.html#b2">TListBox</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="p0" doxytag="TSortedListBox::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* const TSortedListBox::name<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTListBox.html#p0">TListBox</a>.
+<p>
+Reimplemented in <a class="el" href="classTFileList.html#p0">TFileList</a>.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00431">431</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<a name="n0" doxytag="TSortedListBox::shiftState"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a1">uchar</a> TSortedListBox::shiftState<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00410">410</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="stddlg_8h-source.html">stddlg.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:17 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTSortedListBox.png b/freebsdtvision/doc/html/classTSortedListBox.png
new file mode 100644
index 0000000..75658c4
--- /dev/null
+++ b/freebsdtvision/doc/html/classTSortedListBox.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTStaticText-members.html b/freebsdtvision/doc/html/classTStaticText-members.html
new file mode 100644
index 0000000..c400717
--- /dev/null
+++ b/freebsdtvision/doc/html/classTStaticText-members.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TStaticText Member List</h1>This is the complete list of members for <a class="el" href="classTStaticText.html">TStaticText</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a31">awaken</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a32">blockCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStaticText.html#d0">build</a>()</td><td><a class="el" href="classTStaticText.html">TStaticText</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a10">calcBounds</a>(TRect &amp;bounds, TPoint delta)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a11">changeBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a38">clearEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d0">commandEnabled</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p0">commandSetChanged</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a7">containsMouse</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p1">curCommandSet</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m6">cursor</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a28">dataSize</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d3">disableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d1">disableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m8">dragMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a9">dragView</a>(TEvent &amp;event, uchar mode, TRect &amp;limits, TPoint minSize, TPoint maxSize)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStaticText.html#a2">draw</a>()</td><td><a class="el" href="classTStaticText.html">TStaticText</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a37">drawCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a24">drawHide</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a25">drawShow</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a26">drawUnderRect</a>(TRect &amp;r, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a27">drawUnderView</a>(Boolean doShadow, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a20">drawView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d4">enableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d2">enableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a43">endModal</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>enterSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p3">errorAttr</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a39">eventAvail</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m3">eventMask</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a44">execute</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a21">exposed</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a22">focus</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a3">getBounds</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a5">getClipRect</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a45">getColor</a>(ushort color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d5">getCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a29">getData</a>(void *rec)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a40">getEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a4">getExtent</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a15">getHelpCtx</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStaticText.html#a3">getPalette</a>() const</td><td><a class="el" href="classTStaticText.html">TStaticText</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a48">getState</a>(ushort aState)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStaticText.html#a4">getText</a>(char *s)</td><td><a class="el" href="classTStaticText.html">TStaticText</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m7">growMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a12">growTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a41">handleEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m9">helpCtx</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a17">hide</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a23">hideCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a51">keyEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>leaveSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a8">locate</a>(TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a58">makeFirst</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a53">makeGlobal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a54">makeLocal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a47">mapColor</a>(uchar)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a52">mouseEvent</a>(TEvent &amp;event, ushort mask)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a6">mouseInView</a>(TPoint mouse)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a13">moveTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStaticText.html#p0">name</a></td><td><a class="el" href="classTStaticText.html">TStaticText</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m0">next</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a55">nextView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a33">normalCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>normalSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m2">options</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m5">origin</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m10">owner</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s6">phaseType</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phFocused</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPostProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPreProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a57">prev</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a56">prevView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a42">putEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a59">putInFrontOf</a>(TView *Target)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStaticText.html#b2">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTStaticText.html">TStaticText</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a34">resetCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a49">select</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s7">selectMode</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a14">setBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d7">setCmdState</a>(TCommandSet &amp;commands, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d6">setCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a35">setCursor</a>(int x, int y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a30">setData</a>(void *rec)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a50">setState</a>(ushort aState, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a18">show</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a36">showCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p2">showMarkers</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a67">shutDown</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m1">size</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a2">sizeLimits</a>(TPoint &amp;min, TPoint &amp;max)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m4">state</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStaticText.html#n0">text</a></td><td><a class="el" href="classTStaticText.html">TStaticText</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a60">TopView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStaticText.html#a0">TStaticText</a>(const TRect &amp;bounds, const char *aText)</td><td><a class="el" href="classTStaticText.html">TStaticText</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStaticText.html#b0">TStaticText</a>(StreamableInit)</td><td><a class="el" href="classTStaticText.html">TStaticText</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a0">TView</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#b0">TView</a>(StreamableInit)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a16">valid</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStaticText.html#b1">write</a>(opstream &amp;os)</td><td><a class="el" href="classTStaticText.html">TStaticText</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a61">writeBuf</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a62">writeBuf</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a63">writeChar</a>(short x, short y, char c, uchar color, short count)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a64">writeLine</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a65">writeLine</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a66">writeStr</a>(short x, short y, const char *str, uchar color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStaticText.html#a1">~TStaticText</a>()</td><td><a class="el" href="classTStaticText.html">TStaticText</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a1">~TView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:17 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTStaticText.html b/freebsdtvision/doc/html/classTStaticText.html
new file mode 100644
index 0000000..d9a02da
--- /dev/null
+++ b/freebsdtvision/doc/html/classTStaticText.html
@@ -0,0 +1,407 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TStaticText class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TStaticText Class Reference</h1>Used to show fixed text in a window.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="dialogs_8h-source.html">dialogs.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TStaticText:
+<p><center><img src="classTStaticText.png" usemap="#TStaticText_map" border="0" alt=""></center>
+<map name="TStaticText_map">
+<area href="classTView.html" alt="TView" shape="rect" coords="46,56,128,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,82,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="92,0,174,24">
+<area href="classTLabel.html" alt="TLabel" shape="rect" coords="0,168,82,192">
+<area href="classTParamText.html" alt="TParamText" shape="rect" coords="92,168,174,192">
+</map>
+<a href="classTStaticText-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTStaticText.html#a0">TStaticText</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;bounds, const char *aText)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTStaticText.html#a1">~TStaticText</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTStaticText.html#a2">draw</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="classTPalette.html">TPalette</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="classTStaticText.html#a3">getPalette</a> () const</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTStaticText.html#a4">getText</a> (char *s)</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStreamable.html">TStreamable</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTStaticText.html#d0">build</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>const char *const&nbsp;</td><td valign=bottom><a class="el" href="classTStaticText.html#p0">name</a></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTStaticText.html#b0">TStaticText</a> (<a class="el" href="ttypes_8h.html#a14">StreamableInit</a>)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTStaticText.html#b1">write</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void *&nbsp;</td><td valign=bottom><a class="el" href="classTStaticText.html#b2">read</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is)</td></tr>
+<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>const char *&nbsp;</td><td valign=bottom><a class="el" href="classTStaticText.html#n0">text</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Used to show fixed text in a window.
+<p>
+TStaticText objects represent the simplest possible views: they contain fixed text and they ignore all events passed to them. They are generally used as messages or passive labels.
+<p>
+Descendants of TStaticText, such as <a class="el" href="classTLabel.html">TLabel</a> or <a class="el" href="classTParamText.html">TParamText</a> objects, usually perform more active roles. Use <a class="el" href="classTParamText.html">TParamText</a> if you want to show dynamic text also, where dynamic means user-selectable at run-time.
+<p>
+
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l01808">1808</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TStaticText::TStaticText"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TStaticText::TStaticText </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>bounds</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>const char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aText</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructor.
+<p>
+Creates a TStaticText object of the given size by calling TView::TView(bounds), then sets text data member to newStr(aText). `bounds' is the bounding rectangle of the view. `aText' is a pointer to the string to show. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#a0">TView::TView</a> , <a class="el" href="util_8h.html#a15">newStr</a> </dl> </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TStaticText::~TStaticText"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TStaticText::~TStaticText </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Disposes of the text string, then calls <a class="el" href="classTView.html#a1">TView::~TView()</a> to destroy the object. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#a1">TView::~TView</a> </dl> </td>
+ </tr>
+</table>
+<a name="b0" doxytag="TStaticText::TStaticText"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TStaticText::TStaticText </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a14">StreamableInit</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Each streamable class needs a "builder" to allocate the correct memory for its objects together with the initialized virtual table pointers. This is achieved by calling this constructor with an argument of type <a class="el" href="ttypes_8h.html#a14">StreamableInit</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="d0" doxytag="TStaticText::build"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStreamable.html">TStreamable</a>* TStaticText::build </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a new TStaticText.
+<p>
+Called to create an object in certain stream-reading situations.
+<p>
+Reimplemented from <a class="el" href="classTView.html#d8">TView</a>.
+<p>
+Reimplemented in <a class="el" href="classTParamText.html#d0">TParamText</a>, and <a class="el" href="classTLabel.html#d0">TLabel</a>. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="TStaticText::draw"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TStaticText::draw </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Draws the text string inside the view, word wrapped if necessary. A '\n' in the text indicates the beginning of a new line. A line of text is centered in the view if the string begins with 0x03 (Ctrl-C).
+<p>
+Reimplemented from <a class="el" href="classTView.html#a19">TView</a>.
+<p>
+Reimplemented in <a class="el" href="classTLabel.html#a1">TLabel</a>. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="TStaticText::getPalette"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="classTPalette.html">TPalette</a>&amp; TStaticText::getPalette </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns a reference to the default palette.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a46">TView</a>.
+<p>
+Reimplemented in <a class="el" href="classTLabel.html#a2">TLabel</a>. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="TStaticText::getText"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TStaticText::getText </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">char *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>s</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Writes the string at address `s'.
+<p>
+Reimplemented in <a class="el" href="classTParamText.html#a2">TParamText</a>. </td>
+ </tr>
+</table>
+<a name="b2" doxytag="TStaticText::read"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void* TStaticText::read </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>is</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Reads from the input stream `is'.
+<p>
+Reimplemented from <a class="el" href="classTView.html#b2">TView</a>.
+<p>
+Reimplemented in <a class="el" href="classTParamText.html#b2">TParamText</a>, and <a class="el" href="classTLabel.html#b2">TLabel</a>. </td>
+ </tr>
+</table>
+<a name="b1" doxytag="TStaticText::write"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TStaticText::write </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>os</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Writes to the output stream `os'.
+<p>
+Reimplemented from <a class="el" href="classTView.html#b1">TView</a>.
+<p>
+Reimplemented in <a class="el" href="classTParamText.html#b1">TParamText</a>, and <a class="el" href="classTLabel.html#b1">TLabel</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="p0" doxytag="TStaticText::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* const TStaticText::name<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTView.html#p4">TView</a>.
+<p>
+Reimplemented in <a class="el" href="classTParamText.html#p0">TParamText</a>, and <a class="el" href="classTLabel.html#p0">TLabel</a>.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l01870">1870</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="n0" doxytag="TStaticText::text"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* TStaticText::text<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+A pointer to the (constant) text string to be displayed in the view.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l01846">1846</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="dialogs_8h-source.html">dialogs.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:17 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTStaticText.png b/freebsdtvision/doc/html/classTStaticText.png
new file mode 100644
index 0000000..490ebd5
--- /dev/null
+++ b/freebsdtvision/doc/html/classTStaticText.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTStatusDef-members.html b/freebsdtvision/doc/html/classTStatusDef-members.html
new file mode 100644
index 0000000..ae22353
--- /dev/null
+++ b/freebsdtvision/doc/html/classTStatusDef-members.html
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TStatusDef Member List</h1>This is the complete list of members for <a class="el" href="classTStatusDef.html">TStatusDef</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStatusDef.html#m3">items</a></td><td><a class="el" href="classTStatusDef.html">TStatusDef</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStatusDef.html#m2">max</a></td><td><a class="el" href="classTStatusDef.html">TStatusDef</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStatusDef.html#m1">min</a></td><td><a class="el" href="classTStatusDef.html">TStatusDef</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStatusDef.html#m0">next</a></td><td><a class="el" href="classTStatusDef.html">TStatusDef</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStatusDef.html#a0">TStatusDef</a>(ushort aMin, ushort aMax, TStatusItem *someItems=0, TStatusDef *aNext=0)</td><td><a class="el" href="classTStatusDef.html">TStatusDef</a></td><td><code> [inline]</code></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:17 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTStatusDef.html b/freebsdtvision/doc/html/classTStatusDef.html
new file mode 100644
index 0000000..b7c6178
--- /dev/null
+++ b/freebsdtvision/doc/html/classTStatusDef.html
@@ -0,0 +1,188 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TStatusDef class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TStatusDef Class Reference</h1>Represents a status line definition used by a <a class="el" href="classTStatusLine.html">TStatusLine</a> view to display context-sensitive status lines.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="menus_8h-source.html">menus.h</a>&gt;</code>
+<p>
+<a href="classTStatusDef-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTStatusDef.html#a0">TStatusDef</a> (<a class="el" href="ttypes_8h.html#a0">ushort</a> aMin, <a class="el" href="ttypes_8h.html#a0">ushort</a> aMax, <a class="el" href="classTStatusItem.html">TStatusItem</a> *someItems=0, TStatusDef *aNext=0)</td></tr>
+<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>TStatusDef *&nbsp;</td><td valign=bottom><a class="el" href="classTStatusDef.html#m0">next</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="classTStatusDef.html#m1">min</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="classTStatusDef.html#m2">max</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStatusItem.html">TStatusItem</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTStatusDef.html#m3">items</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+A TStatusDef object represents a status line definition used by a <a class="el" href="classTStatusLine.html">TStatusLine</a> view to display context-sensitive status lines.
+<p>
+
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00761">761</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TStatusDef::TStatusDef"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TStatusDef::TStatusDef </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aMin</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aMax</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTStatusItem.html">TStatusItem</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>someItems</em> = 0, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>TStatusDef *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aNext</em> = 0</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a TStatusDef object with the given values.
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00797">797</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>.
+<p>
+References <a class="el" href="util_8h-source.html#l00030">max()</a>, <a class="el" href="util_8h-source.html#l00022">min()</a>, and <a class="el" href="ttypes_8h-source.html#l00035">ushort</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="m3" doxytag="TStatusDef::items"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStatusItem.html">TStatusItem</a>* TStatusDef::items
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Points to a list of status items that make up the status line. A value of 0 indicates that there are no status items.
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00794">794</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>. </td>
+ </tr>
+</table>
+<a name="m2" doxytag="TStatusDef::max"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a0">ushort</a> TStatusDef::max
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The maximum help context value for which this status definition is associated. <a class="el" href="classTStatusLine.html">TStatusLine</a> always displays the first status item for which the current help context value is within min and max.
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00789">789</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>. </td>
+ </tr>
+</table>
+<a name="m1" doxytag="TStatusDef::min"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a0">ushort</a> TStatusDef::min
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The minimum help context value for which this status definition is associated. <a class="el" href="classTStatusLine.html">TStatusLine</a> always displays the first status item for which the current help context value is within min and max.
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00783">783</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>. </td>
+ </tr>
+</table>
+<a name="m0" doxytag="TStatusDef::next"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TStatusDef* TStatusDef::next
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+A nonzero next points to the next TStatusDef object in a list of status definitions. A 0 value indicates that this TStatusDef object is the last such in the list.
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00777">777</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="menus_8h-source.html">menus.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:17 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTStatusItem-members.html b/freebsdtvision/doc/html/classTStatusItem-members.html
new file mode 100644
index 0000000..91045c0
--- /dev/null
+++ b/freebsdtvision/doc/html/classTStatusItem-members.html
@@ -0,0 +1,21 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TStatusItem Member List</h1>This is the complete list of members for <a class="el" href="classTStatusItem.html">TStatusItem</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStatusItem.html#m3">command</a></td><td><a class="el" href="classTStatusItem.html">TStatusItem</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStatusItem.html#m2">keyCode</a></td><td><a class="el" href="classTStatusItem.html">TStatusItem</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStatusItem.html#m0">next</a></td><td><a class="el" href="classTStatusItem.html">TStatusItem</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStatusItem.html#m1">text</a></td><td><a class="el" href="classTStatusItem.html">TStatusItem</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStatusItem.html#a0">TStatusItem</a>(const char *aText, ushort key, ushort cmd, TStatusItem *aNext=0)</td><td><a class="el" href="classTStatusItem.html">TStatusItem</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStatusItem.html#a1">~TStatusItem</a>()</td><td><a class="el" href="classTStatusItem.html">TStatusItem</a></td><td><code> [inline]</code></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:17 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTStatusItem.html b/freebsdtvision/doc/html/classTStatusItem.html
new file mode 100644
index 0000000..b0c86be
--- /dev/null
+++ b/freebsdtvision/doc/html/classTStatusItem.html
@@ -0,0 +1,225 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TStatusItem class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TStatusItem Class Reference</h1>Represents a component of a linked list associated with a <a class="el" href="classTStatusLine.html">TStatusLine</a> view.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="menus_8h-source.html">menus.h</a>&gt;</code>
+<p>
+<a href="classTStatusItem-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTStatusItem.html#a0">TStatusItem</a> (const char *aText, <a class="el" href="ttypes_8h.html#a0">ushort</a> key, <a class="el" href="ttypes_8h.html#a0">ushort</a> cmd, TStatusItem *aNext=0)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTStatusItem.html#a1">~TStatusItem</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>TStatusItem *&nbsp;</td><td valign=bottom><a class="el" href="classTStatusItem.html#m0">next</a></td></tr>
+<tr><td nowrap align=right valign=top>char *&nbsp;</td><td valign=bottom><a class="el" href="classTStatusItem.html#m1">text</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="classTStatusItem.html#m2">keyCode</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="classTStatusItem.html#m3">command</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+A TStatusItem object is not a view but represents a component (status item) of a linked list associated with a <a class="el" href="classTStatusLine.html">TStatusLine</a> view.
+<p>
+TStatusItem serves two purposes: it controls the visual appearance of the status line, and it defines hot keys by mapping key codes to commands.
+<p>
+
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00696">696</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TStatusItem::TStatusItem"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TStatusItem::TStatusItem </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aText</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>key</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cmd</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>TStatusItem *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aNext</em> = 0</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a TStatusItem object with the given values.
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00733">733</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>.
+<p>
+References <a class="el" href="util_8h.html#a15">newStr()</a>, and <a class="el" href="ttypes_8h-source.html#l00035">ushort</a>. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TStatusItem::~TStatusItem"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TStatusItem::~TStatusItem </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00745">745</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>.
+<p>
+References <a class="el" href="menus_8h-source.html#l00722">text</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="m3" doxytag="TStatusItem::command"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a0">ushort</a> TStatusItem::command
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The value of the command associated with this status item.
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00730">730</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>. </td>
+ </tr>
+</table>
+<a name="m2" doxytag="TStatusItem::keyCode"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a0">ushort</a> TStatusItem::keyCode
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This is the scan code for the associated hot key.
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00726">726</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>. </td>
+ </tr>
+</table>
+<a name="m0" doxytag="TStatusItem::next"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TStatusItem* TStatusItem::next
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+A nonzero next points to the next TStatusItem object in the linked list associated with a status line. A 0 value indicates that this is the last item in the list.
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00716">716</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>. </td>
+ </tr>
+</table>
+<a name="m1" doxytag="TStatusItem::text"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> char* TStatusItem::text
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The text string to be displayed for this status item. If 0, no legend will display, meaning that the status item is intended only to define a hot key using the <a class="el" href="classTStatusItem.html#m2">keyCode</a> member.
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00722">722</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>.
+<p>
+Referenced by <a class="el" href="menus_8h-source.html#l00745">~TStatusItem()</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="menus_8h-source.html">menus.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:17 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTStatusLine-members.html b/freebsdtvision/doc/html/classTStatusLine-members.html
new file mode 100644
index 0000000..bdad5e3
--- /dev/null
+++ b/freebsdtvision/doc/html/classTStatusLine-members.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TStatusLine Member List</h1>This is the complete list of members for <a class="el" href="classTStatusLine.html">TStatusLine</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a31">awaken</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a32">blockCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStatusLine.html#d0">build</a>()</td><td><a class="el" href="classTStatusLine.html">TStatusLine</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a10">calcBounds</a>(TRect &amp;bounds, TPoint delta)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a11">changeBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a38">clearEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d0">commandEnabled</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p0">commandSetChanged</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a7">containsMouse</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p1">curCommandSet</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m6">cursor</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a28">dataSize</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStatusLine.html#n1">defs</a></td><td><a class="el" href="classTStatusLine.html">TStatusLine</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d3">disableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d1">disableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m8">dragMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a9">dragView</a>(TEvent &amp;event, uchar mode, TRect &amp;limits, TPoint minSize, TPoint maxSize)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStatusLine.html#a2">draw</a>()</td><td><a class="el" href="classTStatusLine.html">TStatusLine</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a37">drawCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a24">drawHide</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a25">drawShow</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a26">drawUnderRect</a>(TRect &amp;r, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a27">drawUnderView</a>(Boolean doShadow, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a20">drawView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d4">enableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d2">enableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a43">endModal</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>enterSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p3">errorAttr</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a39">eventAvail</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m3">eventMask</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a44">execute</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a21">exposed</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a22">focus</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a3">getBounds</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a5">getClipRect</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a45">getColor</a>(ushort color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d5">getCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a29">getData</a>(void *rec)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a40">getEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a4">getExtent</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a15">getHelpCtx</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStatusLine.html#a3">getPalette</a>() const</td><td><a class="el" href="classTStatusLine.html">TStatusLine</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a48">getState</a>(ushort aState)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m7">growMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a12">growTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStatusLine.html#a4">handleEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTStatusLine.html">TStatusLine</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m9">helpCtx</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a17">hide</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a23">hideCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStatusLine.html#a5">hint</a>(ushort aHelpCtx)</td><td><a class="el" href="classTStatusLine.html">TStatusLine</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStatusLine.html#p0">hintSeparator</a></td><td><a class="el" href="classTStatusLine.html">TStatusLine</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStatusLine.html#n0">items</a></td><td><a class="el" href="classTStatusLine.html">TStatusLine</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a51">keyEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>leaveSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a8">locate</a>(TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a58">makeFirst</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a53">makeGlobal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a54">makeLocal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a47">mapColor</a>(uchar)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a52">mouseEvent</a>(TEvent &amp;event, ushort mask)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a6">mouseInView</a>(TPoint mouse)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a13">moveTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStatusLine.html#p1">name</a></td><td><a class="el" href="classTStatusLine.html">TStatusLine</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m0">next</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a55">nextView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a33">normalCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>normalSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m2">options</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m5">origin</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m10">owner</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s6">phaseType</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phFocused</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPostProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPreProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a57">prev</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a56">prevView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a42">putEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a59">putInFrontOf</a>(TView *Target)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStatusLine.html#b2">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTStatusLine.html">TStatusLine</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a34">resetCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a49">select</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s7">selectMode</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a14">setBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d7">setCmdState</a>(TCommandSet &amp;commands, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d6">setCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a35">setCursor</a>(int x, int y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a30">setData</a>(void *rec)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a50">setState</a>(ushort aState, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a18">show</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a36">showCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p2">showMarkers</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a67">shutDown</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m1">size</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a2">sizeLimits</a>(TPoint &amp;min, TPoint &amp;max)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m4">state</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a60">TopView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStatusLine.html#a0">TStatusLine</a>(const TRect &amp;bounds, TStatusDef &amp;aDefs)</td><td><a class="el" href="classTStatusLine.html">TStatusLine</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStatusLine.html#b0">TStatusLine</a>(StreamableInit)</td><td><a class="el" href="classTStatusLine.html">TStatusLine</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a0">TView</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#b0">TView</a>(StreamableInit)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStatusLine.html#a6">update</a>()</td><td><a class="el" href="classTStatusLine.html">TStatusLine</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a16">valid</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStatusLine.html#b1">write</a>(opstream &amp;os)</td><td><a class="el" href="classTStatusLine.html">TStatusLine</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a61">writeBuf</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a62">writeBuf</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a63">writeChar</a>(short x, short y, char c, uchar color, short count)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a64">writeLine</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a65">writeLine</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a66">writeStr</a>(short x, short y, const char *str, uchar color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStatusLine.html#a1">~TStatusLine</a>()</td><td><a class="el" href="classTStatusLine.html">TStatusLine</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a1">~TView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:17 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTStatusLine.html b/freebsdtvision/doc/html/classTStatusLine.html
new file mode 100644
index 0000000..2465b17
--- /dev/null
+++ b/freebsdtvision/doc/html/classTStatusLine.html
@@ -0,0 +1,505 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TStatusLine class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TStatusLine Class Reference</h1>A specialized view, usually displayed at the bottom of the screen.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="menus_8h-source.html">menus.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TStatusLine:
+<p><center><img src="classTStatusLine.png" usemap="#TStatusLine_map" border="0" alt=""></center>
+<map name="TStatusLine_map">
+<area href="classTView.html" alt="TView" shape="rect" coords="46,56,128,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,82,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="92,0,174,24">
+</map>
+<a href="classTStatusLine-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTStatusLine.html#a0">TStatusLine</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;bounds, <a class="el" href="classTStatusDef.html">TStatusDef</a> &amp;aDefs)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTStatusLine.html#a1">~TStatusLine</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTStatusLine.html#a2">draw</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="classTPalette.html">TPalette</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="classTStatusLine.html#a3">getPalette</a> () const</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTStatusLine.html#a4">handleEvent</a> (<a class="el" href="structTEvent.html">TEvent</a> &amp;event)</td></tr>
+<tr><td nowrap align=right valign=top>virtual const char *&nbsp;</td><td valign=bottom><a class="el" href="classTStatusLine.html#a5">hint</a> (<a class="el" href="ttypes_8h.html#a0">ushort</a> aHelpCtx)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTStatusLine.html#a6">update</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStreamable.html">TStreamable</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTStatusLine.html#d0">build</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>const char *&nbsp;</td><td valign=bottom><a class="el" href="classTStatusLine.html#p0">hintSeparator</a></td></tr>
+<tr><td nowrap align=right valign=top>const char *const&nbsp;</td><td valign=bottom><a class="el" href="classTStatusLine.html#p1">name</a></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTStatusLine.html#b0">TStatusLine</a> (<a class="el" href="ttypes_8h.html#a14">StreamableInit</a>)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTStatusLine.html#b1">write</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void *&nbsp;</td><td valign=bottom><a class="el" href="classTStatusLine.html#b2">read</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is)</td></tr>
+<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStatusItem.html">TStatusItem</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTStatusLine.html#n0">items</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStatusDef.html">TStatusDef</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTStatusLine.html#n1">defs</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+The TStatusLine object is a specialized view, usually displayed at the bottom of the screen. Typical status line displays are lists of available hot keys, displays of available memory, time of day, current edit modes, and hints for users.
+<p>
+Status line items are <a class="el" href="classTStatusItem.html">TStatusItem</a> objects which contain data members for a text string to be displayed on the status line, a key code to bind a hot key, and a command to be generated if the displayed text is clicked on with the mouse or the hot key is pressed.
+<p>
+
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00842">842</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TStatusLine::TStatusLine"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TStatusLine::TStatusLine </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>bounds</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTStatusDef.html">TStatusDef</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aDefs</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a TStatusLine object with the given bounds by calling TView::TView(bounds). <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#a0">TView::TView</a></dl>The <a class="el" href="views_8h.html#a42">ofPreProcess</a> bit in options is set, <a class="el" href="classTView.html#m3">eventMask</a> is set to include <a class="el" href="system_8h.html#a6">evBroadcast</a>, and <a class="el" href="classTView.html#m7">growMode</a> is set to <a class="el" href="views_8h.html#a51">gfGrowLoY</a> | <a class="el" href="views_8h.html#a52">gfGrowHiX</a> | <a class="el" href="views_8h.html#a53">gfGrowHiY</a>.
+<p>
+The defs data member is set to `aDefs'. If `aDefs' is 0, items is set to 0; otherwise, items is set to aDefs-&gt;items. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TStatusLine::~TStatusLine"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TStatusLine::~TStatusLine </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Disposes of all the items and defs in the TStatusLine object, then calls <a class="el" href="classTView.html">TView</a> destructor. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#a1">TView::~TView</a> </dl> </td>
+ </tr>
+</table>
+<a name="b0" doxytag="TStatusLine::TStatusLine"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TStatusLine::TStatusLine </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a14">StreamableInit</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Each streamable class needs a "builder" to allocate the correct memory for its objects together with the initialized virtual table pointers. This is achieved by calling this constructor with an argument of type <a class="el" href="ttypes_8h.html#a14">StreamableInit</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="d0" doxytag="TStatusLine::build"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStreamable.html">TStreamable</a>* TStatusLine::build </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called to create an object in certain stream-reading situations.
+<p>
+Reimplemented from <a class="el" href="classTView.html#d8">TView</a>. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="TStatusLine::draw"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TStatusLine::draw </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Draws the status line by writing the text string for each status item that has one, then any hints defined for the current help context, following a divider bar. Uses the appropriate palettes depending on each item's status.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a19">TView</a>. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="TStatusLine::getPalette"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="classTPalette.html">TPalette</a>&amp; TStatusLine::getPalette </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the default palette string.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a46">TView</a>. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="TStatusLine::handleEvent"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TStatusLine::handleEvent </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="structTEvent.html">TEvent</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>event</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Handles events sent to the status line by calling <a class="el" href="classTView.html#a41">TView::handleEvent()</a>, then checking for three kinds of special events.
+<p>
+<ol>
+<li>Mouse clicks that fall within the rectangle occupied by any status item generate a command event, with event.what set to the command in that status item.<li>Key events are checked against the keyCode data member in each item; a match causes a command event with that item's command.<li>Broadcast events with the command cmCommandSetChanged cause the status line to redraw itself to reflect any hot keys that might have been enabled or disabled. </ol>
+
+<p>
+Reimplemented from <a class="el" href="classTView.html#a41">TView</a>. </td>
+ </tr>
+</table>
+<a name="a5" doxytag="TStatusLine::hint"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual const char* TStatusLine::hint </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>aHelpCtx</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+By default, <a class="el" href="classTStatusLine.html#a5">hint()</a> returns a 0 string. Override it to provide a context-sensitive hint string for the `aHelpCtx' argument. A nonzero string will be drawn on the status line after a divider bar. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#a15">getHelpCtx</a> , <a class="el" href="classTView.html#m9">helpCtx</a> </dl> </td>
+ </tr>
+</table>
+<a name="b2" doxytag="TStatusLine::read"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void* TStatusLine::read </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>is</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Reads from the input stream `is'.
+<p>
+Reimplemented from <a class="el" href="classTView.html#b2">TView</a>. </td>
+ </tr>
+</table>
+<a name="a6" doxytag="TStatusLine::update"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TStatusLine::update </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Updates the status line by selecting the correct items from the lists in defs data member, depending on the current help context.
+<p>
+Then calls <a class="el" href="classTView.html#a20">drawView()</a> to redraw the status line if the items have changed. </td>
+ </tr>
+</table>
+<a name="b1" doxytag="TStatusLine::write"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TStatusLine::write </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>os</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Writes to the output stream `os'.
+<p>
+Reimplemented from <a class="el" href="classTView.html#b1">TView</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="n1" doxytag="TStatusLine::defs"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStatusDef.html">TStatusDef</a>* TStatusLine::defs<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+A pointer to the current linked list of <a class="el" href="classTStatusDef.html">TStatusDef</a> objects. The list to use is determined by the current help context.
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00919">919</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>. </td>
+ </tr>
+</table>
+<a name="p0" doxytag="TStatusLine::hintSeparator"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* TStatusLine::hintSeparator<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00909">909</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>. </td>
+ </tr>
+</table>
+<a name="n0" doxytag="TStatusLine::items"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStatusItem.html">TStatusItem</a>* TStatusLine::items<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+A pointer to the current linked list of <a class="el" href="classTStatusItem.html">TStatusItem</a> records.
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00914">914</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>. </td>
+ </tr>
+</table>
+<a name="p1" doxytag="TStatusLine::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* const TStatusLine::name<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTView.html#p4">TView</a>.
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00951">951</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="menus_8h-source.html">menus.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:17 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTStatusLine.png b/freebsdtvision/doc/html/classTStatusLine.png
new file mode 100644
index 0000000..badc2f4
--- /dev/null
+++ b/freebsdtvision/doc/html/classTStatusLine.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTStrIndexRec-members.html b/freebsdtvision/doc/html/classTStrIndexRec-members.html
new file mode 100644
index 0000000..0532890
--- /dev/null
+++ b/freebsdtvision/doc/html/classTStrIndexRec-members.html
@@ -0,0 +1,19 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TStrIndexRec Member List</h1>This is the complete list of members for <a class="el" href="classTStrIndexRec.html">TStrIndexRec</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStrIndexRec.html#m1">count</a></td><td><a class="el" href="classTStrIndexRec.html">TStrIndexRec</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStrIndexRec.html#m0">key</a></td><td><a class="el" href="classTStrIndexRec.html">TStrIndexRec</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStrIndexRec.html#m2">offset</a></td><td><a class="el" href="classTStrIndexRec.html">TStrIndexRec</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStrIndexRec.html#a0">TStrIndexRec</a>()</td><td><a class="el" href="classTStrIndexRec.html">TStrIndexRec</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:17 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTStrIndexRec.html b/freebsdtvision/doc/html/classTStrIndexRec.html
new file mode 100644
index 0000000..e511983
--- /dev/null
+++ b/freebsdtvision/doc/html/classTStrIndexRec.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TStrIndexRec class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TStrIndexRec Class Reference</h1>Internal class used by <a class="el" href="classTStringList.html">TStringList</a> and <a class="el" href="classTStrListMaker.html">TStrListMaker</a>.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="resource_8h-source.html">resource.h</a>&gt;</code>
+<p>
+<a href="classTStrIndexRec-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTStrIndexRec.html#a0">TStrIndexRec</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="classTStrIndexRec.html#m0">key</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="classTStrIndexRec.html#m1">count</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="classTStrIndexRec.html#m2">offset</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Internal class used by <a class="el" href="classTStringList.html">TStringList</a> and <a class="el" href="classTStrListMaker.html">TStrListMaker</a>.
+<p>
+
+<p>
+Definition at line <a class="el" href="resource_8h-source.html#l00343">343</a> of file <a class="el" href="resource_8h-source.html">resource.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TStrIndexRec::TStrIndexRec"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TStrIndexRec::TStrIndexRec </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="m1" doxytag="TStrIndexRec::count"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a0">ushort</a> TStrIndexRec::count
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="resource_8h-source.html#l00357">357</a> of file <a class="el" href="resource_8h-source.html">resource.h</a>. </td>
+ </tr>
+</table>
+<a name="m0" doxytag="TStrIndexRec::key"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a0">ushort</a> TStrIndexRec::key
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The key.
+<p>
+Definition at line <a class="el" href="resource_8h-source.html#l00353">353</a> of file <a class="el" href="resource_8h-source.html">resource.h</a>. </td>
+ </tr>
+</table>
+<a name="m2" doxytag="TStrIndexRec::offset"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a0">ushort</a> TStrIndexRec::offset
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="resource_8h-source.html#l00361">361</a> of file <a class="el" href="resource_8h-source.html">resource.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="resource_8h-source.html">resource.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:17 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTStrListMaker-members.html b/freebsdtvision/doc/html/classTStrListMaker-members.html
new file mode 100644
index 0000000..d4df314
--- /dev/null
+++ b/freebsdtvision/doc/html/classTStrListMaker-members.html
@@ -0,0 +1,25 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TStrListMaker Member List</h1>This is the complete list of members for <a class="el" href="classTStrListMaker.html">TStrListMaker</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStrListMaker.html#d0">build</a>()</td><td><a class="el" href="classTStrListMaker.html">TStrListMaker</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStrListMaker.html#a2">put</a>(ushort key, char *str)</td><td><a class="el" href="classTStrListMaker.html">TStrListMaker</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStrListMaker.html#b2">read</a>(ipstream &amp;)</td><td><a class="el" href="classTStrListMaker.html">TStrListMaker</a></td><td><code> [inline, protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a1">shutDown</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStrListMaker.html#a0">TStrListMaker</a>(ushort aStrSize, ushort aIndexSize)</td><td><a class="el" href="classTStrListMaker.html">TStrListMaker</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStrListMaker.html#b0">TStrListMaker</a>(StreamableInit)</td><td><a class="el" href="classTStrListMaker.html">TStrListMaker</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStrListMaker.html#b1">write</a>(opstream &amp;os)</td><td><a class="el" href="classTStrListMaker.html">TStrListMaker</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStrListMaker.html#a1">~TStrListMaker</a>()</td><td><a class="el" href="classTStrListMaker.html">TStrListMaker</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:17 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTStrListMaker.html b/freebsdtvision/doc/html/classTStrListMaker.html
new file mode 100644
index 0000000..acc98cb
--- /dev/null
+++ b/freebsdtvision/doc/html/classTStrListMaker.html
@@ -0,0 +1,278 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TStrListMaker class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TStrListMaker Class Reference</h1>Used to create string lists for use with <a class="el" href="classTStringList.html">TStringList</a>.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="resource_8h-source.html">resource.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TStrListMaker:
+<p><center><img src="classTStrListMaker.png" usemap="#TStrListMaker_map" border="0" alt=""></center>
+<map name="TStrListMaker_map">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,90,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="100,0,190,24">
+</map>
+<a href="classTStrListMaker-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTStrListMaker.html#a0">TStrListMaker</a> (<a class="el" href="ttypes_8h.html#a0">ushort</a> aStrSize, <a class="el" href="ttypes_8h.html#a0">ushort</a> aIndexSize)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTStrListMaker.html#a1">~TStrListMaker</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTStrListMaker.html#a2">put</a> (<a class="el" href="ttypes_8h.html#a0">ushort</a> key, char *str)</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStreamable.html">TStreamable</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTStrListMaker.html#d0">build</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTStrListMaker.html#b0">TStrListMaker</a> (<a class="el" href="ttypes_8h.html#a14">StreamableInit</a>)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTStrListMaker.html#b1">write</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void *&nbsp;</td><td valign=bottom><a class="el" href="classTStrListMaker.html#b2">read</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+TStrListMaker is a simple object type used to create string lists for use with <a class="el" href="classTStringList.html">TStringList</a>.
+<p>
+
+<p>
+Definition at line <a class="el" href="resource_8h-source.html#l00465">465</a> of file <a class="el" href="resource_8h-source.html">resource.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TStrListMaker::TStrListMaker"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TStrListMaker::TStrListMaker </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aStrSize</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aIndexSize</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates an in-memory string list of size `aStrSize' with an index of `aIndexSize' elements. A string buffer and an index buffer of the specified size are allocated on the heap.
+<p>
+`aStrSize' must be large enough to hold all strings to be added to the string list; each string occupies its length plus a final 0.
+<p>
+As strings are added to the string list (using <a class="el" href="classTStrListMaker.html#a2">put()</a>), a string index is built.
+<p>
+Strings with contiguous keys (such `as' and `sError' in the example above) are recorded in one index record, up to 16 at a time. `aIndexSize' must be large enough to allow for all index records generated as strings are added. Each index entry occupies 6 bytes. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TStrListMaker::~TStrListMaker"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TStrListMaker::~TStrListMaker </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Frees the memory allocated to the string list maker. </td>
+ </tr>
+</table>
+<a name="b0" doxytag="TStrListMaker::TStrListMaker"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TStrListMaker::TStrListMaker </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a14">StreamableInit</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Each streamable class needs a "builder" to allocate the correct memory for its objects together with the initialized virtual table pointers. This is achieved by calling this constructor with an argument of type <a class="el" href="ttypes_8h.html#a14">StreamableInit</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="d0" doxytag="TStrListMaker::build"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStreamable.html">TStreamable</a>* TStrListMaker::build </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called to create an object in certain stream-reading situations. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="TStrListMaker::put"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TStrListMaker::put </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>key</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>str</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Adds the given string `str' to the calling string list (with the given numerical key). </td>
+ </tr>
+</table>
+<a name="b2" doxytag="TStrListMaker::read"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void* TStrListMaker::read </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This pure virtual function must be overridden (or redeclared as pure virtual) in every derived class. The overriding <a class="el" href="classTStrListMaker.html#b2">read()</a> function for each streamable class must read the necessary data members from the ipstream object `is'. <a class="el" href="classTStrListMaker.html#b2">read()</a> is usually implemented by calling the base class's <a class="el" href="classTStrListMaker.html#b2">read()</a> (if any), then extracting any additional data members for the derived class.
+<p>
+Implements <a class="el" href="classTStreamable.html#b0">TStreamable</a>.
+<p>
+Definition at line <a class="el" href="resource_8h-source.html#l00517">517</a> of file <a class="el" href="resource_8h-source.html">resource.h</a>. </td>
+ </tr>
+</table>
+<a name="b1" doxytag="TStrListMaker::write"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TStrListMaker::write </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>os</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Writes to the output stream `os'.
+<p>
+Implements <a class="el" href="classTStreamable.html#b1">TStreamable</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="resource_8h-source.html">resource.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:17 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTStrListMaker.png b/freebsdtvision/doc/html/classTStrListMaker.png
new file mode 100644
index 0000000..8608d6b
--- /dev/null
+++ b/freebsdtvision/doc/html/classTStrListMaker.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTStreamable-members.html b/freebsdtvision/doc/html/classTStreamable-members.html
new file mode 100644
index 0000000..051c4fc
--- /dev/null
+++ b/freebsdtvision/doc/html/classTStreamable-members.html
@@ -0,0 +1,19 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TStreamable Member List</h1>This is the complete list of members for <a class="el" href="classTStreamable.html">TStreamable</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><b>ipstream</b> (defined in <a class="el" href="classTStreamable.html">TStreamable</a>)</td><td><a class="el" href="classTStreamable.html">TStreamable</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>opstream</b> (defined in <a class="el" href="classTStreamable.html">TStreamable</a>)</td><td><a class="el" href="classTStreamable.html">TStreamable</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStreamable.html#b0">read</a>(ipstream &amp;is)=0</td><td><a class="el" href="classTStreamable.html">TStreamable</a></td><td><code> [protected, pure virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStreamable.html#b1">write</a>(opstream &amp;os)=0</td><td><a class="el" href="classTStreamable.html">TStreamable</a></td><td><code> [protected, pure virtual]</code></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:17 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTStreamable.html b/freebsdtvision/doc/html/classTStreamable.html
new file mode 100644
index 0000000..22a3966
--- /dev/null
+++ b/freebsdtvision/doc/html/classTStreamable.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TStreamable class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TStreamable Class Reference</h1>Gives the streamable property to a class.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="tobjstrm_8h-source.html">tobjstrm.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TStreamable:
+<p><center><img src="classTStreamable.png" usemap="#TStreamable_map" border="0" alt=""></center>
+<map name="TStreamable_map">
+<area href="classTCollection.html" alt="TCollection" shape="rect" coords="0,56,127,80">
+<area href="classTHelpIndex.html" alt="THelpIndex" shape="rect" coords="137,56,264,80">
+<area href="classTHelpTopic.html" alt="THelpTopic" shape="rect" coords="274,56,401,80">
+<area href="classTStringList.html" alt="TStringList" shape="rect" coords="411,56,538,80">
+<area href="classTStrListMaker.html" alt="TStrListMaker" shape="rect" coords="548,56,675,80">
+<area href="classTValidator.html" alt="TValidator" shape="rect" coords="685,56,812,80">
+<area href="classTView.html" alt="TView" shape="rect" coords="959,56,1086,80">
+<area href="classTDirCollection.html" alt="TDirCollection" shape="rect" coords="137,112,264,136">
+<area href="classTSortedCollection.html" alt="TSortedCollection" shape="rect" coords="137,168,264,192">
+<area href="classTFilterValidator.html" alt="TFilterValidator" shape="rect" coords="822,112,949,136">
+<area href="classTLookupValidator.html" alt="TLookupValidator" shape="rect" coords="822,168,949,192">
+<area href="classTPXPictureValidator.html" alt="TPXPictureValidator" shape="rect" coords="822,224,949,248">
+<area href="classTBackground.html" alt="TBackground" shape="rect" coords="1096,112,1223,136">
+<area href="classTButton.html" alt="TButton" shape="rect" coords="1096,168,1223,192">
+<area href="classTCluster.html" alt="TCluster" shape="rect" coords="1096,224,1223,248">
+<area href="classTColorDisplay.html" alt="TColorDisplay" shape="rect" coords="1096,280,1223,304">
+<area href="classTColorSelector.html" alt="TColorSelector" shape="rect" coords="1096,336,1223,360">
+<area href="classTEditor.html" alt="TEditor" shape="rect" coords="1096,392,1223,416">
+<area href="classTFileInfoPane.html" alt="TFileInfoPane" shape="rect" coords="1096,448,1223,472">
+<area href="classTFrame.html" alt="TFrame" shape="rect" coords="1096,504,1223,528">
+<area href="classTGroup.html" alt="TGroup" shape="rect" coords="1096,560,1223,584">
+<area href="classTHistory.html" alt="THistory" shape="rect" coords="1096,616,1223,640">
+<area href="classTIndicator.html" alt="TIndicator" shape="rect" coords="1096,672,1223,696">
+<area href="classTInputLine.html" alt="TInputLine" shape="rect" coords="1096,728,1223,752">
+<area href="classTListViewer.html" alt="TListViewer" shape="rect" coords="1096,784,1223,808">
+<area href="classTMenuView.html" alt="TMenuView" shape="rect" coords="1096,840,1223,864">
+<area href="classTScrollBar.html" alt="TScrollBar" shape="rect" coords="1096,896,1223,920">
+<area href="classTScroller.html" alt="TScroller" shape="rect" coords="1096,952,1223,976">
+<area href="classTStaticText.html" alt="TStaticText" shape="rect" coords="1096,1008,1223,1032">
+<area href="classTStatusLine.html" alt="TStatusLine" shape="rect" coords="1096,1064,1223,1088">
+</map>
+<a href="classTStreamable-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>virtual void *&nbsp;</td><td valign=bottom><a class="el" href="classTStreamable.html#b0">read</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is)=0</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTStreamable.html#b1">write</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os)=0</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Gives the streamable property to a class.
+<p>
+<a class="el" href="classTView.html">TView</a> has two base classes, <a class="el" href="classTObject.html">TObject</a> and the abstract class TStreamable. All the viewable classes, derived ultimately from <a class="el" href="classTView.html">TView</a>, therefore also inherit from TStreamable.
+<p>
+Several non-view classes, such as <a class="el" href="classTCollection.html">TCollection</a>, <a class="el" href="classTStrListMaker.html">TStrListMaker</a> and <a class="el" href="classTStringList.html">TStringList</a>, also have TStreamable as a base class. Such classes are known as streamable, meaning that their objects can be written to and read from streams using the TVision stream manager.
+<p>
+If you want to develop your own streamable classes, make sure that TStreamable is somewhere in their ancestry. Using an existing streamable class as a base class, of course, is an obvious way of achieving this.
+<p>
+Since TStreamable is an abstract class, no objects of this class can be instantiated. Before a streamable class can be used with streams, the class must override the three pure virtual functions streamableName(), <a class="el" href="classTStreamable.html#b0">read()</a>, and <a class="el" href="classTStreamable.html#b1">write()</a>.
+<p>
+
+<p>
+Definition at line <a class="el" href="tobjstrm_8h-source.html#l00080">80</a> of file <a class="el" href="tobjstrm_8h-source.html">tobjstrm.h</a>.<hr><h2>Member Function Documentation</h2>
+<a name="b0" doxytag="TStreamable::read"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void* TStreamable::read </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>is</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, pure virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This pure virtual function must be overridden (or redeclared as pure virtual) in every derived class. The overriding <a class="el" href="classTStreamable.html#b0">read()</a> function for each streamable class must read the necessary data members from the ipstream object `is'. <a class="el" href="classTStreamable.html#b0">read()</a> is usually implemented by calling the base class's <a class="el" href="classTStreamable.html#b0">read()</a> (if any), then extracting any additional data members for the derived class.
+<p>
+Implemented in <a class="el" href="classTBackground.html#b2">TBackground</a>, <a class="el" href="classTColorSelector.html#b2">TColorSelector</a>, <a class="el" href="classTColorDisplay.html#b2">TColorDisplay</a>, <a class="el" href="classTColorGroupList.html#b2">TColorGroupList</a>, <a class="el" href="classTColorDialog.html#b2">TColorDialog</a>, <a class="el" href="classTInputLine.html#b2">TInputLine</a>, <a class="el" href="classTButton.html#b2">TButton</a>, <a class="el" href="classTCluster.html#b2">TCluster</a>, <a class="el" href="classTMultiCheckBoxes.html#b2">TMultiCheckBoxes</a>, <a class="el" href="classTListBox.html#b2">TListBox</a>, <a class="el" href="classTStaticText.html#b2">TStaticText</a>, <a class="el" href="classTParamText.html#b2">TParamText</a>, <a class="el" href="classTLabel.html#b2">TLabel</a>, <a class="el" href="classTHistory.html#b2">THistory</a>, <a class="el" href="classTEditor.html#b2">TEditor</a>, <a class="el" href="classTMemo.html#b2">TMemo</a>, <a class="el" href="classTFileEditor.html#b2">TFileEditor</a>, <a class="el" href="classTEditWindow.html#b2">TEditWindow</a>, <a class="el" href="classTHelpTopic.html#b1">THelpTopic</a>, <a class="el" href="classTHelpIndex.html#b1">THelpIndex</a>, <a class="el" href="classTMenuView.html#b2">TMenuView</a>, <a class="el" href="classTStatusLine.html#b2">TStatusLine</a>, <a class="el" href="classTCollection.html#b1">TCollection</a>, <a class="el" href="classTSortedCollection.html#b1">TSortedCollection</a>, <a class="el" href="classTOutlineViewer.html#b1">TOutlineViewer</a>, <a class="el" href="classTOutline.html#b1">TOutline</a>, <a class="el" href="classTStringList.html#b2">TStringList</a>, <a class="el" href="classTStrListMaker.html#b2">TStrListMaker</a>, <a class="el" href="classTSortedListBox.html#a3">TSortedListBox</a>, <a class="el" href="classTFileDialog.html#b2">TFileDialog</a>, <a class="el" href="classTChDirDialog.html#b2">TChDirDialog</a>, <a class="el" href="classTValidator.html#b2">TValidator</a>, <a class="el" href="classTPXPictureValidator.html#b2">TPXPictureValidator</a>, <a class="el" href="classTFilterValidator.html#b2">TFilterValidator</a>, <a class="el" href="classTRangeValidator.html#b2">TRangeValidator</a>, <a class="el" href="classTStringLookupValidator.html#b2">TStringLookupValidator</a>, <a class="el" href="classTView.html#b2">TView</a>, <a class="el" href="classTScrollBar.html#b2">TScrollBar</a>, <a class="el" href="classTScroller.html#b2">TScroller</a>, <a class="el" href="classTListViewer.html#b2">TListViewer</a>, <a class="el" href="classTGroup.html#b2">TGroup</a>, and <a class="el" href="classTWindow.html#b2">TWindow</a>. </td>
+ </tr>
+</table>
+<a name="b1" doxytag="TStreamable::write"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TStreamable::write </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>os</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, pure virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This pure virtual function must be overridden (or redeclared as pure virtual) in every derived class. The overriding <a class="el" href="classTStreamable.html#b1">write()</a> function for each streamable class must write the necessary data members to the opstream object `os'. <a class="el" href="classTStreamable.html#b1">write()</a> is usually implemented by calling the base class's <a class="el" href="classTStreamable.html#b1">write()</a> (if any), then inserting any additional data members for the derived class.
+<p>
+Implemented in <a class="el" href="classTBackground.html#b1">TBackground</a>, <a class="el" href="classTColorSelector.html#b1">TColorSelector</a>, <a class="el" href="classTColorDisplay.html#b1">TColorDisplay</a>, <a class="el" href="classTColorGroupList.html#b1">TColorGroupList</a>, <a class="el" href="classTColorDialog.html#b1">TColorDialog</a>, <a class="el" href="classTInputLine.html#b1">TInputLine</a>, <a class="el" href="classTButton.html#b1">TButton</a>, <a class="el" href="classTCluster.html#b1">TCluster</a>, <a class="el" href="classTMultiCheckBoxes.html#b1">TMultiCheckBoxes</a>, <a class="el" href="classTListBox.html#b1">TListBox</a>, <a class="el" href="classTStaticText.html#b1">TStaticText</a>, <a class="el" href="classTParamText.html#b1">TParamText</a>, <a class="el" href="classTLabel.html#b1">TLabel</a>, <a class="el" href="classTHistory.html#b1">THistory</a>, <a class="el" href="classTEditor.html#b1">TEditor</a>, <a class="el" href="classTMemo.html#b1">TMemo</a>, <a class="el" href="classTFileEditor.html#b1">TFileEditor</a>, <a class="el" href="classTEditWindow.html#b1">TEditWindow</a>, <a class="el" href="classTHelpTopic.html#b0">THelpTopic</a>, <a class="el" href="classTHelpIndex.html#b0">THelpIndex</a>, <a class="el" href="classTMenuView.html#b1">TMenuView</a>, <a class="el" href="classTStatusLine.html#b1">TStatusLine</a>, <a class="el" href="classTCollection.html#b2">TCollection</a>, <a class="el" href="classTSortedCollection.html#b2">TSortedCollection</a>, <a class="el" href="classTOutlineViewer.html#b0">TOutlineViewer</a>, <a class="el" href="classTOutline.html#b0">TOutline</a>, <a class="el" href="classTStringList.html#b1">TStringList</a>, <a class="el" href="classTStrListMaker.html#b1">TStrListMaker</a>, <a class="el" href="classTFileDialog.html#b1">TFileDialog</a>, <a class="el" href="classTChDirDialog.html#b1">TChDirDialog</a>, <a class="el" href="classTValidator.html#b1">TValidator</a>, <a class="el" href="classTPXPictureValidator.html#b1">TPXPictureValidator</a>, <a class="el" href="classTFilterValidator.html#b1">TFilterValidator</a>, <a class="el" href="classTRangeValidator.html#b1">TRangeValidator</a>, <a class="el" href="classTStringLookupValidator.html#b1">TStringLookupValidator</a>, <a class="el" href="classTView.html#b1">TView</a>, <a class="el" href="classTScrollBar.html#b1">TScrollBar</a>, <a class="el" href="classTScroller.html#b1">TScroller</a>, <a class="el" href="classTListViewer.html#b1">TListViewer</a>, <a class="el" href="classTGroup.html#b1">TGroup</a>, and <a class="el" href="classTWindow.html#b1">TWindow</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="tobjstrm_8h-source.html">tobjstrm.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:17 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTStreamable.png b/freebsdtvision/doc/html/classTStreamable.png
new file mode 100644
index 0000000..c25c897
--- /dev/null
+++ b/freebsdtvision/doc/html/classTStreamable.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTStreamableClass-members.html b/freebsdtvision/doc/html/classTStreamableClass-members.html
new file mode 100644
index 0000000..2f8e53e
--- /dev/null
+++ b/freebsdtvision/doc/html/classTStreamableClass-members.html
@@ -0,0 +1,16 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TStreamableClass Member List</h1>This is the complete list of members for <a class="el" href="classTStreamableClass.html">TStreamableClass</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStreamableClass.html#a0">TStreamableClass</a>(const char *aName, BUILDER aBuild, int aDelta)</td><td><a class="el" href="classTStreamableClass.html">TStreamableClass</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:17 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTStreamableClass.html b/freebsdtvision/doc/html/classTStreamableClass.html
new file mode 100644
index 0000000..0f29f50
--- /dev/null
+++ b/freebsdtvision/doc/html/classTStreamableClass.html
@@ -0,0 +1,92 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TStreamableClass class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TStreamableClass Class Reference</h1>TStreamableClass is used by <a class="el" href="classTStreamableTypes.html">TStreamableTypes</a> and pstream in the registration of streamable classes.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="tobjstrm_8h-source.html">tobjstrm.h</a>&gt;</code>
+<p>
+<a href="classTStreamableClass-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTStreamableClass.html#a0">TStreamableClass</a> (const char *aName, <a class="el" href="tobjstrm_8h.html#a2">BUILDER</a> aBuild, int aDelta)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+TStreamableClass is used by <a class="el" href="classTStreamableTypes.html">TStreamableTypes</a> and pstream in the registration of streamable classes.
+<p>
+
+<p>
+Definition at line <a class="el" href="tobjstrm_8h-source.html#l00155">155</a> of file <a class="el" href="tobjstrm_8h-source.html">tobjstrm.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TStreamableClass::TStreamableClass"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TStreamableClass::TStreamableClass </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aName</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="tobjstrm_8h.html#a2">BUILDER</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aBuild</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aDelta</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a <a class="el" href="classTStreamable.html">TStreamable</a> object with the given name and the given builder function, then calls pstream::registerTypes().
+<p>
+Each streamable class TClassName has a build member function. There are also the familiar non-member overloaded &gt;&gt; and &lt;&lt; operators for stream I/O associated with each streamable class.
+<p>
+For type-safe object-stream I/O, the stream manager needs to access the names and the type information for each class.
+<p>
+To ensure that the appropriate functions are linked into any application using the stream manager, you must provide an extern reference such as this:
+<p>
+<pre>
+ extern TStreamableClass registerTClassName;
+ </pre>
+<p>
+where TClassName is the name of the class for which objects need to be streamed. <a class="el" href="tobjstrm_8h.html#a2">BUILDER</a> is typedefed as follows:
+<p>
+<pre>
+ typedef <a class="el" href="classTStreamable.html">TStreamable</a> *(*BUILDER)();
+ </pre> </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="tobjstrm_8h-source.html">tobjstrm.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:17 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTStreamableTypes-members.html b/freebsdtvision/doc/html/classTStreamableTypes-members.html
new file mode 100644
index 0000000..c0adb8b
--- /dev/null
+++ b/freebsdtvision/doc/html/classTStreamableTypes-members.html
@@ -0,0 +1,55 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TStreamableTypes Member List</h1>This is the complete list of members for <a class="el" href="classTStreamableTypes.html">TStreamableTypes</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a3">at</a>(ccIndex index)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [private]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a5">atFree</a>(ccIndex index)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [private]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a11">atInsert</a>(ccIndex index, void *item)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [private]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a12">atPut</a>(ccIndex index, void *item)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [private]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a6">atRemove</a>(ccIndex index)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [private]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#n1">count</a></td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [private]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#n3">delta</a></td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [private]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, private, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSSortedCollection.html#m0">duplicates</a></td><td><a class="el" href="classTNSSortedCollection.html">TNSSortedCollection</a></td><td><code> [private]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a14">error</a>(ccIndex code, ccIndex info)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [private, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#d0">error</a>(ccIndex code, ccIndex info)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [private, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a15">firstThat</a>(ccTestFunc Test, void *arg)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [private]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a17">forEach</a>(ccAppFunc action, void *arg)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [private]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a9">free</a>(void *item)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [private]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a10">freeAll</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [private]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a20">getCount</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [inline, private]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSSortedCollection.html#a2">indexOf</a>(void *item)</td><td><a class="el" href="classTNSSortedCollection.html">TNSSortedCollection</a></td><td><code> [private, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSSortedCollection.html#a3">insert</a>(void *item)</td><td><a class="el" href="classTNSSortedCollection.html">TNSSortedCollection</a></td><td><code> [private, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#n0">items</a></td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [private]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a16">lastThat</a>(ccTestFunc Test, void *arg)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [private]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#n2">limit</a></td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [private]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStreamableTypes.html#a3">lookup</a>(const char *name)</td><td><a class="el" href="classTStreamableTypes.html">TStreamableTypes</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStreamableTypes.html#a4">operator new</a>(size_t sz)</td><td><a class="el" href="classTStreamableTypes.html">TStreamableTypes</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStreamableTypes.html#a5">operator new</a>(size_t, void *)</td><td><a class="el" href="classTStreamableTypes.html">TStreamableTypes</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a18">pack</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [private]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStreamableTypes.html#a2">registerType</a>(const TStreamableClass *d)</td><td><a class="el" href="classTStreamableTypes.html">TStreamableTypes</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a7">remove</a>(void *item)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [private]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a8">removeAll</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [private]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSSortedCollection.html#a1">search</a>(void *key, ccIndex &amp;index)</td><td><a class="el" href="classTNSSortedCollection.html">TNSSortedCollection</a></td><td><code> [private, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a19">setLimit</a>(ccIndex aLimit)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [private, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#n4">shouldDelete</a></td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [private]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a2">shutDown</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [private, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a0">TNSCollection</a>(ccIndex aLimit, ccIndex aDelta)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [private]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#b0">TNSCollection</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [private]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSSortedCollection.html#a0">TNSSortedCollection</a>(ccIndex aLimit, ccIndex aDelta)</td><td><a class="el" href="classTNSSortedCollection.html">TNSSortedCollection</a></td><td><code> [inline, private]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSSortedCollection.html#b0">TNSSortedCollection</a>()</td><td><a class="el" href="classTNSSortedCollection.html">TNSSortedCollection</a></td><td><code> [inline, private]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStreamableTypes.html#a0">TStreamableTypes</a>()</td><td><a class="el" href="classTStreamableTypes.html">TStreamableTypes</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a1">~TNSCollection</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [private]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [private, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStreamableTypes.html#a1">~TStreamableTypes</a>()</td><td><a class="el" href="classTStreamableTypes.html">TStreamableTypes</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:17 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTStreamableTypes.html b/freebsdtvision/doc/html/classTStreamableTypes.html
new file mode 100644
index 0000000..88ad4b9
--- /dev/null
+++ b/freebsdtvision/doc/html/classTStreamableTypes.html
@@ -0,0 +1,229 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TStreamableTypes class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TStreamableTypes Class Reference</h1>Maintains a database of all registered streamable types used in an application.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="tobjstrm_8h-source.html">tobjstrm.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TStreamableTypes:
+<p><center><img src="classTStreamableTypes.png" usemap="#TStreamableTypes_map" border="0" alt=""></center>
+<map name="TStreamableTypes_map">
+<area href="classTNSSortedCollection.html" alt="TNSSortedCollection" shape="rect" coords="0,0,129,24">
+</map>
+<a href="classTStreamableTypes-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTStreamableTypes.html#a0">TStreamableTypes</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTStreamableTypes.html#a1">~TStreamableTypes</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTStreamableTypes.html#a2">registerType</a> (const <a class="el" href="classTStreamableClass.html">TStreamableClass</a> *d)</td></tr>
+<tr><td nowrap align=right valign=top>const <a class="el" href="classTStreamableClass.html">TStreamableClass</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTStreamableTypes.html#a3">lookup</a> (const char *name)</td></tr>
+<tr><td nowrap align=right valign=top>void *&nbsp;</td><td valign=bottom><a class="el" href="classTStreamableTypes.html#a4">operator new</a> (size_t sz)</td></tr>
+<tr><td nowrap align=right valign=top>void *&nbsp;</td><td valign=bottom><a class="el" href="classTStreamableTypes.html#a5">operator new</a> (size_t, void *)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+TStreamableTypes, derived privately from <a class="el" href="classTNSSortedCollection.html">TNSSortedCollection</a>, maintains a database of all registered streamable types used in an application.
+<p>
+Classes opstream and ipstream use this database to determine the correct read() and write() functions for particular objects. Because of the private derivation, all the inherited members are private within TStreamableTypes.
+<p>
+
+<p>
+Definition at line <a class="el" href="tobjstrm_8h-source.html#l00221">221</a> of file <a class="el" href="tobjstrm_8h-source.html">tobjstrm.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TStreamableTypes::TStreamableTypes"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TStreamableTypes::TStreamableTypes </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Calls the base <a class="el" href="classTNSSortedCollection.html">TNSSortedCollection</a> constructor to create a TStreamableTypes collection. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTNSSortedCollection.html#a0">TNSSortedCollection::TNSSortedCollection</a> </dl> </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TStreamableTypes::~TStreamableTypes"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TStreamableTypes::~TStreamableTypes </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Sets the collection limit to 0 without destroying the collection (since the <a class="el" href="classTNSCollection.html#n4">shouldDelete</a> data member is set to False). </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="a3" doxytag="TStreamableTypes::lookup"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="classTStreamableClass.html">TStreamableClass</a>* TStreamableTypes::lookup </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>name</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns a pointer to the class in the collection corresponding to the argument `name', or returns 0 if no match. </td>
+ </tr>
+</table>
+<a name="a5" doxytag="TStreamableTypes::operator new"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void* TStreamableTypes::operator new </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">size_t&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>void *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="TStreamableTypes::operator new"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void* TStreamableTypes::operator new </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">size_t&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>sz</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="tobjstrm_8h-source.html#l00247">247</a> of file <a class="el" href="tobjstrm_8h-source.html">tobjstrm.h</a>. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="TStreamableTypes::registerType"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TStreamableTypes::registerType </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTStreamableClass.html">TStreamableClass</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>d</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Registers the argument class by inserting `d' in the collection. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="tobjstrm_8h-source.html">tobjstrm.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:17 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTStreamableTypes.png b/freebsdtvision/doc/html/classTStreamableTypes.png
new file mode 100644
index 0000000..6dec82c
--- /dev/null
+++ b/freebsdtvision/doc/html/classTStreamableTypes.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTStringCollection-members.html b/freebsdtvision/doc/html/classTStringCollection-members.html
new file mode 100644
index 0000000..9ec5235
--- /dev/null
+++ b/freebsdtvision/doc/html/classTStringCollection-members.html
@@ -0,0 +1,60 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TStringCollection Member List</h1>This is the complete list of members for <a class="el" href="classTStringCollection.html">TStringCollection</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a3">at</a>(ccIndex index)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a5">atFree</a>(ccIndex index)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a11">atInsert</a>(ccIndex index, void *item)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a12">atPut</a>(ccIndex index, void *item)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a6">atRemove</a>(ccIndex index)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStringCollection.html#d0">build</a>()</td><td><a class="el" href="classTStringCollection.html">TStringCollection</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#n1">count</a></td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#n3">delta</a></td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSSortedCollection.html#m0">duplicates</a></td><td><a class="el" href="classTNSSortedCollection.html">TNSSortedCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a14">error</a>(ccIndex code, ccIndex info)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#d0">error</a>(ccIndex code, ccIndex info)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a15">firstThat</a>(ccTestFunc Test, void *arg)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a17">forEach</a>(ccAppFunc action, void *arg)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a9">free</a>(void *item)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a10">freeAll</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a20">getCount</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSSortedCollection.html#a2">indexOf</a>(void *item)</td><td><a class="el" href="classTNSSortedCollection.html">TNSSortedCollection</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSSortedCollection.html#a3">insert</a>(void *item)</td><td><a class="el" href="classTNSSortedCollection.html">TNSSortedCollection</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#n0">items</a></td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSSortedCollection.html#a4">keyOf</a>(void *item)</td><td><a class="el" href="classTNSSortedCollection.html">TNSSortedCollection</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a16">lastThat</a>(ccTestFunc Test, void *arg)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#n2">limit</a></td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStringCollection.html#p0">name</a></td><td><a class="el" href="classTStringCollection.html">TStringCollection</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a18">pack</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTSortedCollection.html#b1">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTSortedCollection.html">TSortedCollection</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a7">remove</a>(void *item)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a8">removeAll</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSSortedCollection.html#a1">search</a>(void *key, ccIndex &amp;index)</td><td><a class="el" href="classTNSSortedCollection.html">TNSSortedCollection</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a19">setLimit</a>(ccIndex aLimit)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#n4">shouldDelete</a></td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a2">shutDown</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCollection.html#a0">TCollection</a>(ccIndex aLimit, ccIndex aDelta)</td><td><a class="el" href="classTCollection.html">TCollection</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTCollection.html#b0">TCollection</a>(StreamableInit)</td><td><a class="el" href="classTCollection.html">TCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a0">TNSCollection</a>(ccIndex aLimit, ccIndex aDelta)</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#b0">TNSCollection</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSSortedCollection.html#a0">TNSSortedCollection</a>(ccIndex aLimit, ccIndex aDelta)</td><td><a class="el" href="classTNSSortedCollection.html">TNSSortedCollection</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSSortedCollection.html#b0">TNSSortedCollection</a>()</td><td><a class="el" href="classTNSSortedCollection.html">TNSSortedCollection</a></td><td><code> [inline, protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTSortedCollection.html#a0">TSortedCollection</a>(ccIndex aLimit, ccIndex aDelta)</td><td><a class="el" href="classTSortedCollection.html">TSortedCollection</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTSortedCollection.html#b0">TSortedCollection</a>(StreamableInit)</td><td><a class="el" href="classTSortedCollection.html">TSortedCollection</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStringCollection.html#a0">TStringCollection</a>(short aLimit, short aDelta)</td><td><a class="el" href="classTStringCollection.html">TStringCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStringCollection.html#b0">TStringCollection</a>(StreamableInit)</td><td><a class="el" href="classTStringCollection.html">TStringCollection</a></td><td><code> [inline, protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTSortedCollection.html#b2">write</a>(opstream &amp;os)</td><td><a class="el" href="classTSortedCollection.html">TSortedCollection</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTNSCollection.html#a1">~TNSCollection</a>()</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:17 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTStringCollection.html b/freebsdtvision/doc/html/classTStringCollection.html
new file mode 100644
index 0000000..e7bb46d
--- /dev/null
+++ b/freebsdtvision/doc/html/classTStringCollection.html
@@ -0,0 +1,182 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TStringCollection class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TStringCollection Class Reference</h1>Implements a sorted list of ASCII strings.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="resource_8h-source.html">resource.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TStringCollection:
+<p><center><img src="classTStringCollection.png" usemap="#TStringCollection_map" border="0" alt=""></center>
+<map name="TStringCollection_map">
+<area href="classTSortedCollection.html" alt="TSortedCollection" shape="rect" coords="104,168,233,192">
+<area href="classTNSSortedCollection.html" alt="TNSSortedCollection" shape="rect" coords="0,112,129,136">
+<area href="classTCollection.html" alt="TCollection" shape="rect" coords="208,112,337,136">
+<area href="classTNSCollection.html" alt="TNSCollection" shape="rect" coords="0,56,129,80">
+<area href="classTNSCollection.html" alt="TNSCollection" shape="rect" coords="139,56,268,80">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="278,56,407,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,129,24">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="139,0,268,24">
+<area href="classTResourceCollection.html" alt="TResourceCollection" shape="rect" coords="104,280,233,304">
+</map>
+<a href="classTStringCollection-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTStringCollection.html#a0">TStringCollection</a> (short aLimit, short aDelta)</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStreamable.html">TStreamable</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTStringCollection.html#d0">build</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>const char *const&nbsp;</td><td valign=bottom><a class="el" href="classTStringCollection.html#p0">name</a></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTStringCollection.html#b0">TStringCollection</a> (<a class="el" href="ttypes_8h.html#a14">StreamableInit</a>)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+TStringCollection is a simple derivative of <a class="el" href="classTSortedCollection.html">TSortedCollection</a> implementing a sorted list of ASCII strings.
+<p>
+
+<p>
+Definition at line <a class="el" href="resource_8h-source.html#l00024">24</a> of file <a class="el" href="resource_8h-source.html">resource.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TStringCollection::TStringCollection"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TStringCollection::TStringCollection </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">short&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aLimit</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>short&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aDelta</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a TStringCollection object with the given values. </td>
+ </tr>
+</table>
+<a name="b0" doxytag="TStringCollection::TStringCollection"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TStringCollection::TStringCollection </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a14">StreamableInit</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Each streamable class needs a "builder" to allocate the correct memory for its objects together with the initialized virtual table pointers. This is achieved by calling this constructor with an argument of type <a class="el" href="ttypes_8h.html#a14">StreamableInit</a>.
+<p>
+Definition at line <a class="el" href="resource_8h-source.html#l00075">75</a> of file <a class="el" href="resource_8h-source.html">resource.h</a>.
+<p>
+References <a class="el" href="ttypes_8h-source.html#l00062">StreamableInit</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="d0" doxytag="TStringCollection::build"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStreamable.html">TStreamable</a>* TStringCollection::build </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called to create an object in certain stream-reading situations.
+<p>
+Reimplemented in <a class="el" href="classTResourceCollection.html#d0">TResourceCollection</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="p0" doxytag="TStringCollection::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* const TStringCollection::name<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTSortedCollection.html#p0">TSortedCollection</a>.
+<p>
+Reimplemented in <a class="el" href="classTResourceCollection.html#p0">TResourceCollection</a>.
+<p>
+Definition at line <a class="el" href="resource_8h-source.html#l00080">80</a> of file <a class="el" href="resource_8h-source.html">resource.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="resource_8h-source.html">resource.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:17 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTStringCollection.png b/freebsdtvision/doc/html/classTStringCollection.png
new file mode 100644
index 0000000..d5b8abe
--- /dev/null
+++ b/freebsdtvision/doc/html/classTStringCollection.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTStringList-members.html b/freebsdtvision/doc/html/classTStringList-members.html
new file mode 100644
index 0000000..e5ecb87
--- /dev/null
+++ b/freebsdtvision/doc/html/classTStringList-members.html
@@ -0,0 +1,25 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TStringList Member List</h1>This is the complete list of members for <a class="el" href="classTStringList.html">TStringList</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStringList.html#d0">build</a>()</td><td><a class="el" href="classTStringList.html">TStringList</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStringList.html#a1">get</a>(char *dest, ushort key)</td><td><a class="el" href="classTStringList.html">TStringList</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStringList.html#p0">name</a></td><td><a class="el" href="classTStringList.html">TStringList</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStringList.html#b2">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTStringList.html">TStringList</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a1">shutDown</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStringList.html#b0">TStringList</a>(StreamableInit)</td><td><a class="el" href="classTStringList.html">TStringList</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStringList.html#b1">write</a>(opstream &amp;)</td><td><a class="el" href="classTStringList.html">TStringList</a></td><td><code> [inline, protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStringList.html#a0">~TStringList</a>()</td><td><a class="el" href="classTStringList.html">TStringList</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:17 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTStringList.html b/freebsdtvision/doc/html/classTStringList.html
new file mode 100644
index 0000000..2c8706a
--- /dev/null
+++ b/freebsdtvision/doc/html/classTStringList.html
@@ -0,0 +1,264 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TStringList class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TStringList Class Reference</h1>A mechanism for accessing strings stored on a stream.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="resource_8h-source.html">resource.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TStringList:
+<p><center><img src="classTStringList.png" usemap="#TStringList_map" border="0" alt=""></center>
+<map name="TStringList_map">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,82,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="92,0,174,24">
+</map>
+<a href="classTStringList-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTStringList.html#a0">~TStringList</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTStringList.html#a1">get</a> (char *dest, <a class="el" href="ttypes_8h.html#a0">ushort</a> key)</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStreamable.html">TStreamable</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTStringList.html#d0">build</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>const char *const&nbsp;</td><td valign=bottom><a class="el" href="classTStringList.html#p0">name</a></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTStringList.html#b0">TStringList</a> (<a class="el" href="ttypes_8h.html#a14">StreamableInit</a>)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTStringList.html#b1">write</a> (<a class="el" href="classopstream.html">opstream</a> &amp;)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void *&nbsp;</td><td valign=bottom><a class="el" href="classTStringList.html#b2">read</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+TStringList provides a mechanism for accessing strings stored on a stream. Each string in a string list is identified by a unique number (ushort <a class="el" href="classTStrIndexRec.html#m0">TStrIndexRec::key</a>) between 0 and 65,535.
+<p>
+String lists take up less memory than normal string literals, since the strings are stored on a stream instead of in memory. Also, string lists permit easy internationalization, as the strings are not hard-coded in your program.
+<p>
+TStringList has member functions only for accessing strings; you must use <a class="el" href="classTStrListMaker.html">TStrListMaker</a> to create string lists.
+<p>
+
+<p>
+Definition at line <a class="el" href="resource_8h-source.html#l00386">386</a> of file <a class="el" href="resource_8h-source.html">resource.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TStringList::~TStringList"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TStringList::~TStringList </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Deallocates the memory allocated to the string list. </td>
+ </tr>
+</table>
+<a name="b0" doxytag="TStringList::TStringList"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TStringList::TStringList </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a14">StreamableInit</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Each streamable class needs a "builder" to allocate the correct memory for its objects together with the initialized virtual table pointers. This is achieved by calling this constructor with an argument of type <a class="el" href="ttypes_8h.html#a14">StreamableInit</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="d0" doxytag="TStringList::build"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStreamable.html">TStreamable</a>* TStringList::build </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called to create an object in certain stream-reading situations. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TStringList::get"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TStringList::get </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>dest</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>key</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns in `dest' the string given by `key', or an empty string if there is no string with the given key. </td>
+ </tr>
+</table>
+<a name="b2" doxytag="TStringList::read"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void* TStringList::read </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>is</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Reads from the input stream `is'.
+<p>
+Implements <a class="el" href="classTStreamable.html#b0">TStreamable</a>. </td>
+ </tr>
+</table>
+<a name="b1" doxytag="TStringList::write"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TStringList::write </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Writes to the output stream `os'.
+<p>
+Implements <a class="el" href="classTStreamable.html#b1">TStreamable</a>.
+<p>
+Definition at line <a class="el" href="resource_8h-source.html#l00416">416</a> of file <a class="el" href="resource_8h-source.html">resource.h</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="p0" doxytag="TStringList::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* const TStringList::name<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="resource_8h-source.html#l00425">425</a> of file <a class="el" href="resource_8h-source.html">resource.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="resource_8h-source.html">resource.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:17 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTStringList.png b/freebsdtvision/doc/html/classTStringList.png
new file mode 100644
index 0000000..55fe696
--- /dev/null
+++ b/freebsdtvision/doc/html/classTStringList.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTStringLookupValidator-members.html b/freebsdtvision/doc/html/classTStringLookupValidator-members.html
new file mode 100644
index 0000000..35e65cc
--- /dev/null
+++ b/freebsdtvision/doc/html/classTStringLookupValidator-members.html
@@ -0,0 +1,39 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TStringLookupValidator Member List</h1>This is the complete list of members for <a class="el" href="classTStringLookupValidator.html">TStringLookupValidator</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStringLookupValidator.html#d0">build</a>()</td><td><a class="el" href="classTStringLookupValidator.html">TStringLookupValidator</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStringLookupValidator.html#a2">error</a>()</td><td><a class="el" href="classTStringLookupValidator.html">TStringLookupValidator</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTLookupValidator.html#a1">isValid</a>(const char *s)</td><td><a class="el" href="classTLookupValidator.html">TLookupValidator</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTValidator.html#a2">isValidInput</a>(char *s, Boolean suppressFill)</td><td><a class="el" href="classTValidator.html">TValidator</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStringLookupValidator.html#a3">lookup</a>(const char *s)</td><td><a class="el" href="classTStringLookupValidator.html">TStringLookupValidator</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStringLookupValidator.html#p0">name</a></td><td><a class="el" href="classTStringLookupValidator.html">TStringLookupValidator</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStringLookupValidator.html#a4">newStringList</a>(TStringCollection *aStrings)</td><td><a class="el" href="classTStringLookupValidator.html">TStringLookupValidator</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTValidator.html#m1">options</a></td><td><a class="el" href="classTValidator.html">TValidator</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStringLookupValidator.html#b2">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTStringLookupValidator.html">TStringLookupValidator</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a1">shutDown</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTValidator.html#m0">status</a></td><td><a class="el" href="classTValidator.html">TValidator</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStringLookupValidator.html#n0">strings</a></td><td><a class="el" href="classTStringLookupValidator.html">TStringLookupValidator</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTLookupValidator.html#a0">TLookupValidator</a>()</td><td><a class="el" href="classTLookupValidator.html">TLookupValidator</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTLookupValidator.html#b0">TLookupValidator</a>(StreamableInit)</td><td><a class="el" href="classTLookupValidator.html">TLookupValidator</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTValidator.html#a4">transfer</a>(char *s, void *buffer, TVTransfer flag)</td><td><a class="el" href="classTValidator.html">TValidator</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStringLookupValidator.html#a0">TStringLookupValidator</a>(TStringCollection *aStrings)</td><td><a class="el" href="classTStringLookupValidator.html">TStringLookupValidator</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStringLookupValidator.html#b0">TStringLookupValidator</a>(StreamableInit)</td><td><a class="el" href="classTStringLookupValidator.html">TStringLookupValidator</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTValidator.html#a0">TValidator</a>()</td><td><a class="el" href="classTValidator.html">TValidator</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTValidator.html#b0">TValidator</a>(StreamableInit)</td><td><a class="el" href="classTValidator.html">TValidator</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTValidator.html#a5">validate</a>(const char *s)</td><td><a class="el" href="classTValidator.html">TValidator</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStringLookupValidator.html#b1">write</a>(opstream &amp;os)</td><td><a class="el" href="classTStringLookupValidator.html">TStringLookupValidator</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTStringLookupValidator.html#a1">~TStringLookupValidator</a>()</td><td><a class="el" href="classTStringLookupValidator.html">TStringLookupValidator</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:17 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTStringLookupValidator.html b/freebsdtvision/doc/html/classTStringLookupValidator.html
new file mode 100644
index 0000000..6839269
--- /dev/null
+++ b/freebsdtvision/doc/html/classTStringLookupValidator.html
@@ -0,0 +1,377 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TStringLookupValidator class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TStringLookupValidator Class Reference</h1>Verifies the data in its associated input line by searching through a collection of valid strings.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="validate_8h-source.html">validate.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TStringLookupValidator:
+<p><center><img src="classTStringLookupValidator.png" usemap="#TStringLookupValidator_map" border="0" alt=""></center>
+<map name="TStringLookupValidator_map">
+<area href="classTLookupValidator.html" alt="TLookupValidator" shape="rect" coords="77,112,221,136">
+<area href="classTValidator.html" alt="TValidator" shape="rect" coords="77,56,221,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,144,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="154,0,298,24">
+</map>
+<a href="classTStringLookupValidator-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTStringLookupValidator.html#a0">TStringLookupValidator</a> (<a class="el" href="classTStringCollection.html">TStringCollection</a> *aStrings)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTStringLookupValidator.html#a1">~TStringLookupValidator</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTStringLookupValidator.html#a2">error</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTStringLookupValidator.html#a3">lookup</a> (const char *s)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTStringLookupValidator.html#a4">newStringList</a> (<a class="el" href="classTStringCollection.html">TStringCollection</a> *aStrings)</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStreamable.html">TStreamable</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTStringLookupValidator.html#d0">build</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>const char *const&nbsp;</td><td valign=bottom><a class="el" href="classTStringLookupValidator.html#p0">name</a></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTStringLookupValidator.html#b0">TStringLookupValidator</a> (<a class="el" href="ttypes_8h.html#a14">StreamableInit</a>)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTStringLookupValidator.html#b1">write</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void *&nbsp;</td><td valign=bottom><a class="el" href="classTStringLookupValidator.html#b2">read</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is)</td></tr>
+<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStringCollection.html">TStringCollection</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTStringLookupValidator.html#n0">strings</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+A string lookup validator object verifies the data in its associated input line by searching through a collection of valid strings. Use string lookup validators when your input line needs to accept only members of a certain set of strings.
+<p>
+
+<p>
+Definition at line <a class="el" href="validate_8h-source.html#l00835">835</a> of file <a class="el" href="validate_8h-source.html">validate.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TStringLookupValidator::TStringLookupValidator"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TStringLookupValidator::TStringLookupValidator </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTStringCollection.html">TStringCollection</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>aStrings</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructs a string lookup validator object by first calling the constructor inherited from <a class="el" href="classTLookupValidator.html">TLookupValidator</a>, then setting strings data member to `aStrings'. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TStringLookupValidator::~TStringLookupValidator"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TStringLookupValidator::~TStringLookupValidator </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Disposes of the list of valid strings by calling newStringList(0), then disposes of the string lookup object by calling the destructor inherited from <a class="el" href="classTLookupValidator.html">TLookupValidator</a>. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTStringLookupValidator.html#a4">newStringList</a> </dl> </td>
+ </tr>
+</table>
+<a name="b0" doxytag="TStringLookupValidator::TStringLookupValidator"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TStringLookupValidator::TStringLookupValidator </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a14">StreamableInit</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Each streamable class needs a "builder" to allocate the correct memory for its objects together with the initialized virtual table pointers. This is achieved by calling this constructor with an argument of type <a class="el" href="ttypes_8h.html#a14">StreamableInit</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="d0" doxytag="TStringLookupValidator::build"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStreamable.html">TStreamable</a>* TStringLookupValidator::build </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called to create an object in certain stream-reading situations.
+<p>
+Reimplemented from <a class="el" href="classTLookupValidator.html#d0">TLookupValidator</a>. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="TStringLookupValidator::error"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TStringLookupValidator::error </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Displays a message box indicating that the typed string does not match an entry in the string list.
+<p>
+Reimplemented from <a class="el" href="classTValidator.html#a1">TValidator</a>. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="TStringLookupValidator::lookup"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a> TStringLookupValidator::lookup </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>s</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns True if the string passed in `s' matches any of the strings in strings data member. Uses the strcmp() function to determine if `s' is present.
+<p>
+Reimplemented from <a class="el" href="classTLookupValidator.html#a2">TLookupValidator</a>. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="TStringLookupValidator::newStringList"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TStringLookupValidator::newStringList </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTStringCollection.html">TStringCollection</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>aStrings</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Sets the list of valid input strings for the string lookup validator. Disposes of any existing string list, then sets strings data member to `aStrings'.
+<p>
+Passing 0 in `aStrings' disposes of the existing list without assigning a new one. </td>
+ </tr>
+</table>
+<a name="b2" doxytag="TStringLookupValidator::read"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void* TStringLookupValidator::read </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>is</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Reads from the input stream `is'.
+<p>
+Reimplemented from <a class="el" href="classTValidator.html#b2">TValidator</a>. </td>
+ </tr>
+</table>
+<a name="b1" doxytag="TStringLookupValidator::write"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TStringLookupValidator::write </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>os</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Writes to the output stream `os'.
+<p>
+Reimplemented from <a class="el" href="classTValidator.html#b1">TValidator</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="p0" doxytag="TStringLookupValidator::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* const TStringLookupValidator::name<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTLookupValidator.html#p0">TLookupValidator</a>.
+<p>
+Definition at line <a class="el" href="validate_8h-source.html#l00906">906</a> of file <a class="el" href="validate_8h-source.html">validate.h</a>. </td>
+ </tr>
+</table>
+<a name="n0" doxytag="TStringLookupValidator::strings"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStringCollection.html">TStringCollection</a>* TStringLookupValidator::strings<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Points to a string collection containing all the valid strings the user can type. If strings data member is 0, all input will be invalid.
+<p>
+Definition at line <a class="el" href="validate_8h-source.html#l00883">883</a> of file <a class="el" href="validate_8h-source.html">validate.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="validate_8h-source.html">validate.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:17 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTStringLookupValidator.png b/freebsdtvision/doc/html/classTStringLookupValidator.png
new file mode 100644
index 0000000..b5e65cc
--- /dev/null
+++ b/freebsdtvision/doc/html/classTStringLookupValidator.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTSubMenu-members.html b/freebsdtvision/doc/html/classTSubMenu-members.html
new file mode 100644
index 0000000..114faab
--- /dev/null
+++ b/freebsdtvision/doc/html/classTSubMenu-members.html
@@ -0,0 +1,28 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TSubMenu Member List</h1>This is the complete list of members for <a class="el" href="classTSubMenu.html">TSubMenu</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuItem.html#a3">append</a>(TMenuItem *aNext)</td><td><a class="el" href="classTMenuItem.html">TMenuItem</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuItem.html#m2">command</a></td><td><a class="el" href="classTMenuItem.html">TMenuItem</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuItem.html#m3">disabled</a></td><td><a class="el" href="classTMenuItem.html">TMenuItem</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuItem.html#m5">helpCtx</a></td><td><a class="el" href="classTMenuItem.html">TMenuItem</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuItem.html#m4">keyCode</a></td><td><a class="el" href="classTMenuItem.html">TMenuItem</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuItem.html#m1">name</a></td><td><a class="el" href="classTMenuItem.html">TMenuItem</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuItem.html#m0">next</a></td><td><a class="el" href="classTMenuItem.html">TMenuItem</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuItem.html#m6">param</a></td><td><a class="el" href="classTMenuItem.html">TMenuItem</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuItem.html#m7">subMenu</a></td><td><a class="el" href="classTMenuItem.html">TMenuItem</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuItem.html#a0">TMenuItem</a>(const char *aName, ushort aCommand, ushort aKeyCode, ushort aHelpCtx=hcNoContext, char *p=0, TMenuItem *aNext=0)</td><td><a class="el" href="classTMenuItem.html">TMenuItem</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuItem.html#a1">TMenuItem</a>(const char *aName, ushort aKeyCode, TMenu *aSubMenu, ushort aHelpCtx=hcNoContext, TMenuItem *aNext=0)</td><td><a class="el" href="classTMenuItem.html">TMenuItem</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTSubMenu.html#a0">TSubMenu</a>(const char *nm, ushort key, ushort helpCtx=hcNoContext)</td><td><a class="el" href="classTSubMenu.html">TSubMenu</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTMenuItem.html#a2">~TMenuItem</a>()</td><td><a class="el" href="classTMenuItem.html">TMenuItem</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:17 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTSubMenu.html b/freebsdtvision/doc/html/classTSubMenu.html
new file mode 100644
index 0000000..4af649b
--- /dev/null
+++ b/freebsdtvision/doc/html/classTSubMenu.html
@@ -0,0 +1,84 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TSubMenu class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TSubMenu Class Reference</h1>Used to differentiate between different types of <a class="el" href="classTMenuItem.html">TMenuItem</a>: individual menu items and submenus.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="menus_8h-source.html">menus.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TSubMenu:
+<p><center><img src="classTSubMenu.png" usemap="#TSubMenu_map" border="0" alt=""></center>
+<map name="TSubMenu_map">
+<area href="classTMenuItem.html" alt="TMenuItem" shape="rect" coords="0,0,73,24">
+</map>
+<a href="classTSubMenu-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTSubMenu.html#a0">TSubMenu</a> (const char *nm, <a class="el" href="ttypes_8h.html#a0">ushort</a> key, <a class="el" href="ttypes_8h.html#a0">ushort</a> <a class="el" href="classTMenuItem.html#m5">helpCtx</a>=<a class="el" href="views_8h.html#a64">hcNoContext</a>)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+TSubMenu is a class used to differentiate between different types of <a class="el" href="classTMenuItem.html">TMenuItem</a>: individual menu items and submenus.
+<p>
+TVision supplies the overloaded operator+ so you can easily construct complete menus without dozens of nested parentheses. When you use TSubMenu, the compiler can distinguish between attempts to use operator+ on individual menu items and their submenus.
+<p>
+
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00164">164</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TSubMenu::TSubMenu"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TSubMenu::TSubMenu </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>nm</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>key</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>helpCtx</em> = <a class="el" href="views_8h.html#a64">hcNoContext</a></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Calls constructor TMenuItem(nm, 0, key, helpCtx). <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTMenuItem.html#a0">TMenuItem::TMenuItem</a> </dl> </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="menus_8h-source.html">menus.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:17 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTSubMenu.png b/freebsdtvision/doc/html/classTSubMenu.png
new file mode 100644
index 0000000..002ad37
--- /dev/null
+++ b/freebsdtvision/doc/html/classTSubMenu.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTTerminal-members.html b/freebsdtvision/doc/html/classTTerminal-members.html
new file mode 100644
index 0000000..86957ee
--- /dev/null
+++ b/freebsdtvision/doc/html/classTTerminal-members.html
@@ -0,0 +1,149 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TTerminal Member List</h1>This is the complete list of members for <a class="el" href="classTTerminal.html">TTerminal</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a31">awaken</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a32">blockCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTTerminal.html#b0">bufDec</a>(ushort &amp;val)</td><td><a class="el" href="classTTerminal.html">TTerminal</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTTerminal.html#n1">buffer</a></td><td><a class="el" href="classTTerminal.html">TTerminal</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTTerminal.html#a3">bufInc</a>(ushort &amp;val)</td><td><a class="el" href="classTTerminal.html">TTerminal</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTTerminal.html#n0">bufSize</a></td><td><a class="el" href="classTTerminal.html">TTerminal</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#d0">build</a>()</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a10">calcBounds</a>(TRect &amp;bounds, TPoint delta)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTTerminal.html#a5">calcWidth</a>()</td><td><a class="el" href="classTTerminal.html">TTerminal</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTTerminal.html#a4">canInsert</a>(ushort amount)</td><td><a class="el" href="classTTerminal.html">TTerminal</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#a1">changeBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#a8">checkDraw</a>()</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a38">clearEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d0">commandEnabled</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p0">commandSetChanged</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a7">containsMouse</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p1">curCommandSet</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTTerminal.html#n4">curLineWidth</a></td><td><a class="el" href="classTTerminal.html">TTerminal</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m6">cursor</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a28">dataSize</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#m0">delta</a></td><td><a class="el" href="classTScroller.html">TScroller</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d3">disableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d1">disableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTTerminal.html#a2">do_sputn</a>(const char *s, int count)</td><td><a class="el" href="classTTerminal.html">TTerminal</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m8">dragMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a9">dragView</a>(TEvent &amp;event, uchar mode, TRect &amp;limits, TPoint minSize, TPoint maxSize)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTTerminal.html#a6">draw</a>()</td><td><a class="el" href="classTTerminal.html">TTerminal</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a37">drawCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#n1">drawFlag</a></td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a24">drawHide</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#n0">drawLock</a></td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a25">drawShow</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a26">drawUnderRect</a>(TRect &amp;r, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a27">drawUnderView</a>(Boolean doShadow, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a20">drawView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d4">enableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d2">enableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a43">endModal</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>enterSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p3">errorAttr</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a39">eventAvail</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m3">eventMask</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a44">execute</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a21">exposed</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a22">focus</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a3">getBounds</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a5">getClipRect</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a45">getColor</a>(ushort color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d5">getCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a29">getData</a>(void *rec)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a40">getEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a4">getExtent</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a15">getHelpCtx</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#a2">getPalette</a>() const</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a48">getState</a>(ushort aState)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m7">growMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a12">growTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#a3">handleEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m9">helpCtx</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a17">hide</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a23">hideCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#n2">hScrollBar</a></td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a51">keyEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>leaveSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#n4">limit</a></td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a8">locate</a>(TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a58">makeFirst</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a53">makeGlobal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a54">makeLocal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a47">mapColor</a>(uchar)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a52">mouseEvent</a>(TEvent &amp;event, ushort mask)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a6">mouseInView</a>(TPoint mouse)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a13">moveTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#p0">name</a></td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m0">next</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTTerminal.html#a7">nextLine</a>(ushort pos)</td><td><a class="el" href="classTTerminal.html">TTerminal</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a55">nextView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a33">normalCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>normalSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m2">options</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m5">origin</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m10">owner</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s6">phaseType</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phFocused</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPostProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPreProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a57">prev</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTTerminal.html#a8">prevLines</a>(ushort pos, ushort lines)</td><td><a class="el" href="classTTerminal.html">TTerminal</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a56">prevView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a42">putEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a59">putInFrontOf</a>(TView *Target)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTTerminal.html#n3">queBack</a></td><td><a class="el" href="classTTerminal.html">TTerminal</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTTerminal.html#a9">queEmpty</a>()</td><td><a class="el" href="classTTerminal.html">TTerminal</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTTerminal.html#n2">queFront</a></td><td><a class="el" href="classTTerminal.html">TTerminal</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#b2">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a34">resetCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#a4">scrollDraw</a>()</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#a5">scrollTo</a>(int x, int y)</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a49">select</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s7">selectMode</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a14">setBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d7">setCmdState</a>(TCommandSet &amp;commands, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d6">setCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a35">setCursor</a>(int x, int y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a30">setData</a>(void *rec)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#a6">setLimit</a>(int x, int y)</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#a7">setState</a>(ushort aState, Boolean enable)</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a18">show</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a36">showCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p2">showMarkers</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#a9">shutDown</a>()</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m1">size</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a2">sizeLimits</a>(TPoint &amp;min, TPoint &amp;max)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m4">state</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a60">TopView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#a0">TScroller</a>(const TRect &amp;bounds, TScrollBar *aHScrollBar, TScrollBar *aVScrollBar)</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#b0">TScroller</a>(StreamableInit)</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTTerminal.html#a0">TTerminal</a>(const TRect &amp;bounds, TScrollBar *aHScrollBar, TScrollBar *aVScrollBar, ushort aBufSize)</td><td><a class="el" href="classTTerminal.html">TTerminal</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTTextDevice.html#a0">TTextDevice</a>(const TRect &amp;bounds, TScrollBar *aHScrollBar, TScrollBar *aVScrollBar)</td><td><a class="el" href="classTTextDevice.html">TTextDevice</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a0">TView</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#b0">TView</a>(StreamableInit)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a16">valid</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#n3">vScrollBar</a></td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#b1">write</a>(opstream &amp;os)</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a61">writeBuf</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a62">writeBuf</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a63">writeChar</a>(short x, short y, char c, uchar color, short count)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a64">writeLine</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a65">writeLine</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a66">writeStr</a>(short x, short y, const char *str, uchar color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTTerminal.html#a1">~TTerminal</a>()</td><td><a class="el" href="classTTerminal.html">TTerminal</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a1">~TView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:17 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTTerminal.html b/freebsdtvision/doc/html/classTTerminal.html
new file mode 100644
index 0000000..871a96c
--- /dev/null
+++ b/freebsdtvision/doc/html/classTTerminal.html
@@ -0,0 +1,541 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TTerminal class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TTerminal Class Reference</h1>Implements a "dumb" terminal with buffered string reads and writes.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="textview_8h-source.html">textview.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TTerminal:
+<p><center><img src="classTTerminal.png" usemap="#TTerminal_map" border="0" alt=""></center>
+<map name="TTerminal_map">
+<area href="classTTextDevice.html" alt="TTextDevice" shape="rect" coords="46,168,128,192">
+<area href="classTScroller.html" alt="TScroller" shape="rect" coords="46,112,128,136">
+<area href="classTView.html" alt="TView" shape="rect" coords="46,56,128,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,82,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="92,0,174,24">
+</map>
+<a href="classTTerminal-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTTerminal.html#a0">TTerminal</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;bounds, <a class="el" href="classTScrollBar.html">TScrollBar</a> *aHScrollBar, <a class="el" href="classTScrollBar.html">TScrollBar</a> *aVScrollBar, <a class="el" href="ttypes_8h.html#a0">ushort</a> aBufSize)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTTerminal.html#a1">~TTerminal</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual int&nbsp;</td><td valign=bottom><a class="el" href="classTTerminal.html#a2">do_sputn</a> (const char *s, int count)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTTerminal.html#a3">bufInc</a> (<a class="el" href="ttypes_8h.html#a0">ushort</a> &amp;val)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTTerminal.html#a4">canInsert</a> (<a class="el" href="ttypes_8h.html#a0">ushort</a> amount)</td></tr>
+<tr><td nowrap align=right valign=top>short&nbsp;</td><td valign=bottom><a class="el" href="classTTerminal.html#a5">calcWidth</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTTerminal.html#a6">draw</a> ()</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="classTTerminal.html#a7">nextLine</a> (<a class="el" href="ttypes_8h.html#a0">ushort</a> pos)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="classTTerminal.html#a8">prevLines</a> (<a class="el" href="ttypes_8h.html#a0">ushort</a> pos, <a class="el" href="ttypes_8h.html#a0">ushort</a> lines)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTTerminal.html#a9">queEmpty</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTTerminal.html#b0">bufDec</a> (<a class="el" href="ttypes_8h.html#a0">ushort</a> &amp;val)</td></tr>
+<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="classTTerminal.html#n0">bufSize</a></td></tr>
+<tr><td nowrap align=right valign=top>char *&nbsp;</td><td valign=bottom><a class="el" href="classTTerminal.html#n1">buffer</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="classTTerminal.html#n2">queFront</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="classTTerminal.html#n3">queBack</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="classTTerminal.html#n4">curLineWidth</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+TTerminal implements a "dumb" terminal with buffered string reads and writes. The default is a cyclic buffer of 64K bytes.
+<p>
+
+<p>
+Definition at line <a class="el" href="textview_8h-source.html#l00070">70</a> of file <a class="el" href="textview_8h-source.html">textview.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TTerminal::TTerminal"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TTerminal::TTerminal </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>bounds</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTScrollBar.html">TScrollBar</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aHScrollBar</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTScrollBar.html">TScrollBar</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aVScrollBar</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aBufSize</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a TTerminal object with the given bounds, horizontal and vertical scroll bars, and buffer by calling <a class="el" href="classTTextDevice.html">TTextDevice</a> constructor with the bounds and scroller arguments, then creating a buffer (pointed to by buffer) with <a class="el" href="classTTerminal.html#n0">bufSize</a> equal to `aBufSize'. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTTextDevice.html#a0">TTextDevice::TTextDevice</a></dl><a class="el" href="classTView.html#m7">growMode</a> is set to <a class="el" href="views_8h.html#a52">gfGrowHiX</a> | <a class="el" href="views_8h.html#a53">gfGrowHiY</a>. <a class="el" href="classTTerminal.html#n2">queFront</a> and <a class="el" href="classTTerminal.html#n3">queBack</a> are both initialized to 0, indicating an empty buffer. The cursor is shown at the view's origin, (0,0). </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TTerminal::~TTerminal"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TTerminal::~TTerminal </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Deallocates the buffer and calls ~TTextDevice(). </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="b0" doxytag="TTerminal::bufDec"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TTerminal::bufDec </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a0">ushort</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>val</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Used to manipulate queue offsets with wrap around: if `val' is zero, `val' is set to (bufSize - 1); otherwise, `val' is decremented. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="TTerminal::bufInc"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TTerminal::bufInc </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a0">ushort</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>val</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Used to manipulate a queue offsets with wrap around: increments `val' by 1, then if `val' &gt;= <a class="el" href="classTTerminal.html#n0">bufSize</a>, `val' is set to zero. </td>
+ </tr>
+</table>
+<a name="a5" doxytag="TTerminal::calcWidth"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> short TTerminal::calcWidth </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="TTerminal::canInsert"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a13">Boolean</a> TTerminal::canInsert </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>amount</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns True if the number of bytes given in amount can be inserted into the terminal buffer without having to discard the top line. Otherwise, returns False. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="TTerminal::do_sputn"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual int TTerminal::do_sputn </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>s</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>count</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Overrides the corresponding function in class streambuf.
+<p>
+This is an internal function that is called whenever a character string is to be inserted into the internal buffer.
+<p>
+Implements <a class="el" href="classTTextDevice.html#a1">TTextDevice</a>. </td>
+ </tr>
+</table>
+<a name="a6" doxytag="TTerminal::draw"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TTerminal::draw </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called whenever the TTerminal scroller needs to be redrawn; for example, when the scroll bars are clicked on, the view is unhidden or resized, the delta values are changed, or when added text forces a scroll.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a19">TView</a>. </td>
+ </tr>
+</table>
+<a name="a7" doxytag="TTerminal::nextLine"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a0">ushort</a> TTerminal::nextLine </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>pos</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the buffer offset of the start of the line that follows the position given by `pos'. </td>
+ </tr>
+</table>
+<a name="a8" doxytag="TTerminal::prevLines"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a0">ushort</a> TTerminal::prevLines </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>pos</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>lines</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the offset of the start of the line that is `lines' lines previous to the position given by `pos'. </td>
+ </tr>
+</table>
+<a name="a9" doxytag="TTerminal::queEmpty"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a13">Boolean</a> TTerminal::queEmpty </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns True if <a class="el" href="classTTerminal.html#n2">queFront</a> is equal to <a class="el" href="classTTerminal.html#n3">queBack</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="n1" doxytag="TTerminal::buffer"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> char* TTerminal::buffer<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Pointer to the first byte of the terminal's buffer.
+<p>
+Definition at line <a class="el" href="textview_8h-source.html#l00144">144</a> of file <a class="el" href="textview_8h-source.html">textview.h</a>. </td>
+ </tr>
+</table>
+<a name="n0" doxytag="TTerminal::bufSize"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a0">ushort</a> TTerminal::bufSize<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The size of the terminal's buffer in bytes.
+<p>
+Definition at line <a class="el" href="textview_8h-source.html#l00140">140</a> of file <a class="el" href="textview_8h-source.html">textview.h</a>. </td>
+ </tr>
+</table>
+<a name="n4" doxytag="TTerminal::curLineWidth"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a0">ushort</a> TTerminal::curLineWidth<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="textview_8h-source.html#l00162">162</a> of file <a class="el" href="textview_8h-source.html">textview.h</a>. </td>
+ </tr>
+</table>
+<a name="n3" doxytag="TTerminal::queBack"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a0">ushort</a> TTerminal::queBack<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Offset (in bytes) of the last byte stored in the terminal buffer.
+<p>
+Definition at line <a class="el" href="textview_8h-source.html#l00152">152</a> of file <a class="el" href="textview_8h-source.html">textview.h</a>. </td>
+ </tr>
+</table>
+<a name="n2" doxytag="TTerminal::queFront"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a0">ushort</a> TTerminal::queFront<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Offset (in bytes) of the first byte stored in the terminal buffer.
+<p>
+Definition at line <a class="el" href="textview_8h-source.html#l00148">148</a> of file <a class="el" href="textview_8h-source.html">textview.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="textview_8h-source.html">textview.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:17 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTTerminal.png b/freebsdtvision/doc/html/classTTerminal.png
new file mode 100644
index 0000000..c8bc7dc
--- /dev/null
+++ b/freebsdtvision/doc/html/classTTerminal.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTTextDevice-members.html b/freebsdtvision/doc/html/classTTextDevice-members.html
new file mode 100644
index 0000000..10a7fbe
--- /dev/null
+++ b/freebsdtvision/doc/html/classTTextDevice-members.html
@@ -0,0 +1,135 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TTextDevice Member List</h1>This is the complete list of members for <a class="el" href="classTTextDevice.html">TTextDevice</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a31">awaken</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a32">blockCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#d0">build</a>()</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a10">calcBounds</a>(TRect &amp;bounds, TPoint delta)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#a1">changeBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#a8">checkDraw</a>()</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a38">clearEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d0">commandEnabled</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p0">commandSetChanged</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a7">containsMouse</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p1">curCommandSet</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m6">cursor</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a28">dataSize</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#m0">delta</a></td><td><a class="el" href="classTScroller.html">TScroller</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d3">disableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d1">disableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTTextDevice.html#a1">do_sputn</a>(const char *s, int count)=0</td><td><a class="el" href="classTTextDevice.html">TTextDevice</a></td><td><code> [pure virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m8">dragMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a9">dragView</a>(TEvent &amp;event, uchar mode, TRect &amp;limits, TPoint minSize, TPoint maxSize)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a19">draw</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a37">drawCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#n1">drawFlag</a></td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a24">drawHide</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#n0">drawLock</a></td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a25">drawShow</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a26">drawUnderRect</a>(TRect &amp;r, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a27">drawUnderView</a>(Boolean doShadow, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a20">drawView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d4">enableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d2">enableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a43">endModal</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>enterSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p3">errorAttr</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a39">eventAvail</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m3">eventMask</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a44">execute</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a21">exposed</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a22">focus</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a3">getBounds</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a5">getClipRect</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a45">getColor</a>(ushort color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d5">getCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a29">getData</a>(void *rec)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a40">getEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a4">getExtent</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a15">getHelpCtx</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#a2">getPalette</a>() const</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a48">getState</a>(ushort aState)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m7">growMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a12">growTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#a3">handleEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m9">helpCtx</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a17">hide</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a23">hideCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#n2">hScrollBar</a></td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a51">keyEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>leaveSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#n4">limit</a></td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a8">locate</a>(TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a58">makeFirst</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a53">makeGlobal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a54">makeLocal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a47">mapColor</a>(uchar)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a52">mouseEvent</a>(TEvent &amp;event, ushort mask)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a6">mouseInView</a>(TPoint mouse)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a13">moveTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#p0">name</a></td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m0">next</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a55">nextView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a33">normalCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>normalSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m2">options</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m5">origin</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m10">owner</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s6">phaseType</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phFocused</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPostProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPreProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a57">prev</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a56">prevView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a42">putEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a59">putInFrontOf</a>(TView *Target)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#b2">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a34">resetCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#a4">scrollDraw</a>()</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#a5">scrollTo</a>(int x, int y)</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a49">select</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s7">selectMode</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a14">setBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d7">setCmdState</a>(TCommandSet &amp;commands, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d6">setCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a35">setCursor</a>(int x, int y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a30">setData</a>(void *rec)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#a6">setLimit</a>(int x, int y)</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#a7">setState</a>(ushort aState, Boolean enable)</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a18">show</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a36">showCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p2">showMarkers</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#a9">shutDown</a>()</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m1">size</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a2">sizeLimits</a>(TPoint &amp;min, TPoint &amp;max)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m4">state</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a60">TopView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#a0">TScroller</a>(const TRect &amp;bounds, TScrollBar *aHScrollBar, TScrollBar *aVScrollBar)</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#b0">TScroller</a>(StreamableInit)</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTTextDevice.html#a0">TTextDevice</a>(const TRect &amp;bounds, TScrollBar *aHScrollBar, TScrollBar *aVScrollBar)</td><td><a class="el" href="classTTextDevice.html">TTextDevice</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a0">TView</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#b0">TView</a>(StreamableInit)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a16">valid</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#n3">vScrollBar</a></td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTScroller.html#b1">write</a>(opstream &amp;os)</td><td><a class="el" href="classTScroller.html">TScroller</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a61">writeBuf</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a62">writeBuf</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a63">writeChar</a>(short x, short y, char c, uchar color, short count)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a64">writeLine</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a65">writeLine</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a66">writeStr</a>(short x, short y, const char *str, uchar color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a1">~TView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:17 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTTextDevice.html b/freebsdtvision/doc/html/classTTextDevice.html
new file mode 100644
index 0000000..8592f4f
--- /dev/null
+++ b/freebsdtvision/doc/html/classTTextDevice.html
@@ -0,0 +1,134 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TTextDevice class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TTextDevice Class Reference</h1>Scrollable TTY-type text viewer/device driver.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="textview_8h-source.html">textview.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TTextDevice:
+<p><center><img src="classTTextDevice.png" usemap="#TTextDevice_map" border="0" alt=""></center>
+<map name="TTextDevice_map">
+<area href="classTScroller.html" alt="TScroller" shape="rect" coords="46,112,128,136">
+<area href="classTView.html" alt="TView" shape="rect" coords="46,56,128,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,82,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="92,0,174,24">
+<area href="classTTerminal.html" alt="TTerminal" shape="rect" coords="46,224,128,248">
+</map>
+<a href="classTTextDevice-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTTextDevice.html#a0">TTextDevice</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;bounds, <a class="el" href="classTScrollBar.html">TScrollBar</a> *aHScrollBar, <a class="el" href="classTScrollBar.html">TScrollBar</a> *aVScrollBar)</td></tr>
+<tr><td nowrap align=right valign=top>virtual int&nbsp;</td><td valign=bottom><a class="el" href="classTTextDevice.html#a1">do_sputn</a> (const char *s, int count)=0</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+TTextDevice is a scrollable TTY-type text viewer/device driver.
+<p>
+Apart from the data members and member functions inherited from <a class="el" href="classTScroller.html">TScroller</a>, TTextDevice defines virtual member functions for reading and writing strings from and to the device.
+<p>
+TTextDevice exists solely as a base type for deriving real terminal drivers. TTextDevice uses <a class="el" href="classTScroller.html">TScroller</a>'s destructor.
+<p>
+
+<p>
+Definition at line <a class="el" href="textview_8h-source.html#l00035">35</a> of file <a class="el" href="textview_8h-source.html">textview.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TTextDevice::TTextDevice"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TTextDevice::TTextDevice </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>bounds</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTScrollBar.html">TScrollBar</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aHScrollBar</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTScrollBar.html">TScrollBar</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aVScrollBar</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a TTextDevice object with the given bounds, horizontal and vertical scroll bars by calling <a class="el" href="classTScroller.html">TScroller</a> constructor with the `bounds' and scroller arguments. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTScroller.html#a0">TScroller::TScroller</a> </dl> </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="a1" doxytag="TTextDevice::do_sputn"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual int TTextDevice::do_sputn </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>s</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>count</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [pure virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Overrides the corresponding function in class streambuf.
+<p>
+This is an internal function that is called whenever a character string is to be inserted into the internal buffer.
+<p>
+Implemented in <a class="el" href="classTTerminal.html#a2">TTerminal</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="textview_8h-source.html">textview.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:17 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTTextDevice.png b/freebsdtvision/doc/html/classTTextDevice.png
new file mode 100644
index 0000000..19b94f6
--- /dev/null
+++ b/freebsdtvision/doc/html/classTTextDevice.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTVMemMgr-members.html b/freebsdtvision/doc/html/classTVMemMgr-members.html
new file mode 100644
index 0000000..a4386ab
--- /dev/null
+++ b/freebsdtvision/doc/html/classTVMemMgr-members.html
@@ -0,0 +1,22 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TVMemMgr Member List</h1>This is the complete list of members for <a class="el" href="classTVMemMgr.html">TVMemMgr</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTVMemMgr.html#d3">allocateDiscardable</a>(void *&amp;adr, size_t sz)</td><td><a class="el" href="classTVMemMgr.html">TVMemMgr</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTVMemMgr.html#d2">clearSafetyPool</a>()</td><td><a class="el" href="classTVMemMgr.html">TVMemMgr</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTVMemMgr.html#d4">freeDiscardable</a>(void *)</td><td><a class="el" href="classTVMemMgr.html">TVMemMgr</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTVMemMgr.html#d0">resizeSafetyPool</a>(size_t sz=DEFAULT_SAFETY_POOL_SIZE)</td><td><a class="el" href="classTVMemMgr.html">TVMemMgr</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTVMemMgr.html#d1">safetyPoolExhausted</a>()</td><td><a class="el" href="classTVMemMgr.html">TVMemMgr</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTVMemMgr.html#d5">suspend</a>(void)</td><td><a class="el" href="classTVMemMgr.html">TVMemMgr</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTVMemMgr.html#a0">TVMemMgr</a>()</td><td><a class="el" href="classTVMemMgr.html">TVMemMgr</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:18 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTVMemMgr.html b/freebsdtvision/doc/html/classTVMemMgr.html
new file mode 100644
index 0000000..e2cbf58
--- /dev/null
+++ b/freebsdtvision/doc/html/classTVMemMgr.html
@@ -0,0 +1,265 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TVMemMgr class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TVMemMgr Class Reference</h1>Part of the memory manager.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="buffers_8h-source.html">buffers.h</a>&gt;</code>
+<p>
+<a href="classTVMemMgr-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTVMemMgr.html#a0">TVMemMgr</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTVMemMgr.html#d0">resizeSafetyPool</a> (size_t sz=<a class="el" href="buffers_8h.html#a0">DEFAULT_SAFETY_POOL_SIZE</a>)</td></tr>
+<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classTVMemMgr.html#d1">safetyPoolExhausted</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTVMemMgr.html#d2">clearSafetyPool</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTVMemMgr.html#d3">allocateDiscardable</a> (void *&amp;adr, size_t sz)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTVMemMgr.html#d4">freeDiscardable</a> (void *)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTVMemMgr.html#d5">suspend</a> (void)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+TVMemMgr, in conjunction with <a class="el" href="classTBufListEntry.html">TBufListEntry</a> and the global operator new, provides low-level memory management for TVision applications.
+<p>
+In particular, TVMemMgr manages the safety pool. For most applications, TVMemMgr and <a class="el" href="classTBufListEntry.html">TBufListEntry</a> objects work behind the scenes without the need for specific programmer action or intervention.
+<p>
+
+<p>
+Definition at line <a class="el" href="buffers_8h-source.html#l00088">88</a> of file <a class="el" href="buffers_8h-source.html">buffers.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TVMemMgr::TVMemMgr"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TVMemMgr::TVMemMgr </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructor.
+<p>
+Does nothing if the safety pool is already initialized (that is, if private data member inited = 1).
+<p>
+Otherwise, calls method <a class="el" href="classTVMemMgr.html#d0">TVMemMgr::resizeSafetyPool</a> to establish a default safety pool with the size given by the constant <a class="el" href="buffers_8h.html#a0">DEFAULT_SAFETY_POOL_SIZE</a>.
+<p>
+The latter is currently set to 4,096 (bytes) in `<a class="el" href="buffers_8h.html">buffers.h</a>'. The constructor also sets inited to 1. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="d3" doxytag="TVMemMgr::allocateDiscardable"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TVMemMgr::allocateDiscardable </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>adr</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>size_t&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>sz</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+For internal use only. Tries to allocate a cache buffer (<a class="el" href="classTBufListEntry.html">TBufListEntry</a> object) of size `sz'.
+<p>
+If successful, `adr' returns a pointer to the allocated buffer; otherwise, `adr' is set to 0. <a class="el" href="classTGroup.html#a39">TGroup::getBuffer()</a> calls <a class="el" href="classTVMemMgr.html#d3">allocateDiscardable()</a> with `adr' set to the <a class="el" href="classTGroup.html#m4">TGroup::buffer</a> data member. </td>
+ </tr>
+</table>
+<a name="d2" doxytag="TVMemMgr::clearSafetyPool"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TVMemMgr::clearSafetyPool </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="d4" doxytag="TVMemMgr::freeDiscardable"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TVMemMgr::freeDiscardable </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+For internal use only. Frees the buffer allocated at block by an earlier <a class="el" href="classTVMemMgr.html#d3">allocateDiscardable()</a> call.
+<p>
+<a class="el" href="classTGroup.html#a38">TGroup::freeBuffer()</a> calls <a class="el" href="classTVMemMgr.html#d4">freeDiscardable()</a> with block set to the <a class="el" href="classTGroup.html#m4">TGroup::buffer</a> data member. </td>
+ </tr>
+</table>
+<a name="d0" doxytag="TVMemMgr::resizeSafetyPool"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TVMemMgr::resizeSafetyPool </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">size_t&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>sz</em> = <a class="el" href="buffers_8h.html#a0">DEFAULT_SAFETY_POOL_SIZE</a> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Resizes the safety pool to `sz' bytes.
+<p>
+The previous safety pool, if one exists, is freed first. inited private data member is set to 1, safetyPool is set to point to the new safety pool, and safetyPoolSize is set to `sz'. If the `sz' argument is omitted, the default value is assumed.
+<p>
+If `sz' is 0, both safetyPool and safetyPoolSize private data members are set to 0. </td>
+ </tr>
+</table>
+<a name="d1" doxytag="TVMemMgr::safetyPoolExhausted"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> int TVMemMgr::safetyPoolExhausted </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns 1 (True) if the safety pool is initialized and its allocation is exhausted. Otherwise, returns 0 (False). </td>
+ </tr>
+</table>
+<a name="d5" doxytag="TVMemMgr::suspend"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TVMemMgr::suspend </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="buffers_8h-source.html">buffers.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:18 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTValidator-members.html b/freebsdtvision/doc/html/classTValidator-members.html
new file mode 100644
index 0000000..3ead577
--- /dev/null
+++ b/freebsdtvision/doc/html/classTValidator-members.html
@@ -0,0 +1,31 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TValidator Member List</h1>This is the complete list of members for <a class="el" href="classTValidator.html">TValidator</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTValidator.html#d0">build</a>()</td><td><a class="el" href="classTValidator.html">TValidator</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTValidator.html#a1">error</a>()</td><td><a class="el" href="classTValidator.html">TValidator</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTValidator.html#a3">isValid</a>(const char *s)</td><td><a class="el" href="classTValidator.html">TValidator</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTValidator.html#a2">isValidInput</a>(char *s, Boolean suppressFill)</td><td><a class="el" href="classTValidator.html">TValidator</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTValidator.html#p0">name</a></td><td><a class="el" href="classTValidator.html">TValidator</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTValidator.html#m1">options</a></td><td><a class="el" href="classTValidator.html">TValidator</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTValidator.html#b2">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTValidator.html">TValidator</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a1">shutDown</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTValidator.html#m0">status</a></td><td><a class="el" href="classTValidator.html">TValidator</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTValidator.html#a4">transfer</a>(char *s, void *buffer, TVTransfer flag)</td><td><a class="el" href="classTValidator.html">TValidator</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTValidator.html#a0">TValidator</a>()</td><td><a class="el" href="classTValidator.html">TValidator</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTValidator.html#b0">TValidator</a>(StreamableInit)</td><td><a class="el" href="classTValidator.html">TValidator</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTValidator.html#a5">validate</a>(const char *s)</td><td><a class="el" href="classTValidator.html">TValidator</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTValidator.html#b1">write</a>(opstream &amp;os)</td><td><a class="el" href="classTValidator.html">TValidator</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:17 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTValidator.html b/freebsdtvision/doc/html/classTValidator.html
new file mode 100644
index 0000000..59f5afb
--- /dev/null
+++ b/freebsdtvision/doc/html/classTValidator.html
@@ -0,0 +1,522 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TValidator class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TValidator Class Reference</h1>Implements an abstract data validation object.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="validate_8h-source.html">validate.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TValidator:
+<p><center><img src="classTValidator.png" usemap="#TValidator_map" border="0" alt=""></center>
+<map name="TValidator_map">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="77,0,221,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="231,0,375,24">
+<area href="classTFilterValidator.html" alt="TFilterValidator" shape="rect" coords="0,112,144,136">
+<area href="classTLookupValidator.html" alt="TLookupValidator" shape="rect" coords="154,112,298,136">
+<area href="classTPXPictureValidator.html" alt="TPXPictureValidator" shape="rect" coords="308,112,452,136">
+<area href="classTRangeValidator.html" alt="TRangeValidator" shape="rect" coords="0,168,144,192">
+<area href="classTStringLookupValidator.html" alt="TStringLookupValidator" shape="rect" coords="154,168,298,192">
+</map>
+<a href="classTValidator-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTValidator.html#a0">TValidator</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTValidator.html#a1">error</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTValidator.html#a2">isValidInput</a> (char *s, <a class="el" href="ttypes_8h.html#a13">Boolean</a> suppressFill)</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTValidator.html#a3">isValid</a> (const char *s)</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="classTValidator.html#a4">transfer</a> (char *s, void *buffer, TVTransfer flag)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTValidator.html#a5">validate</a> (const char *s)</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStreamable.html">TStreamable</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTValidator.html#d0">build</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="classTValidator.html#m0">status</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="classTValidator.html#m1">options</a></td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>const char *const&nbsp;</td><td valign=bottom><a class="el" href="classTValidator.html#p0">name</a></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTValidator.html#b0">TValidator</a> (<a class="el" href="ttypes_8h.html#a14">StreamableInit</a>)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTValidator.html#b1">write</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void *&nbsp;</td><td valign=bottom><a class="el" href="classTValidator.html#b2">read</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+TValidator defines an abstract data validation object. You will never actually create an instance of TValidator, but it provides much of the abstract functions for the other data validation objects. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTObject.html">TObject</a> , <a class="el" href="classTStreamable.html">TStreamable</a> </dl>
+<p>
+
+<p>
+Definition at line <a class="el" href="validate_8h-source.html#l00045">45</a> of file <a class="el" href="validate_8h-source.html">validate.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TValidator::TValidator"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TValidator::TValidator </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="b0" doxytag="TValidator::TValidator"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TValidator::TValidator </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a14">StreamableInit</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Each streamable class needs a "builder" to allocate the correct memory for its objects together with the initialized virtual table pointers. This is achieved by calling this constructor with an argument of type <a class="el" href="ttypes_8h.html#a14">StreamableInit</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="d0" doxytag="TValidator::build"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStreamable.html">TStreamable</a>* TValidator::build </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called to create an object in certain stream-reading situations.
+<p>
+Reimplemented in <a class="el" href="classTPXPictureValidator.html#d0">TPXPictureValidator</a>, <a class="el" href="classTFilterValidator.html#d0">TFilterValidator</a>, <a class="el" href="classTRangeValidator.html#d0">TRangeValidator</a>, <a class="el" href="classTLookupValidator.html#d0">TLookupValidator</a>, and <a class="el" href="classTStringLookupValidator.html#d0">TStringLookupValidator</a>. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TValidator::error"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TValidator::error </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This is an abstract method called by <a class="el" href="classTValidator.html#a5">validate()</a> when it detects that the user has entered invalid information. By default, <a class="el" href="classTValidator.html#a1">error()</a> does nothing, but descendant types can override it to provide feedback to the user.
+<p>
+Reimplemented in <a class="el" href="classTPXPictureValidator.html#a2">TPXPictureValidator</a>, <a class="el" href="classTFilterValidator.html#a2">TFilterValidator</a>, <a class="el" href="classTRangeValidator.html#a1">TRangeValidator</a>, and <a class="el" href="classTStringLookupValidator.html#a2">TStringLookupValidator</a>. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="TValidator::isValid"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a> TValidator::isValid </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>s</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+By default, <a class="el" href="classTValidator.html#a3">isValid()</a> returns True. Descendant validator types can override <a class="el" href="classTValidator.html#a3">isValid()</a> to validate data for a completed input line.
+<p>
+If an input line has an associated validator object, its <a class="el" href="classTInputLine.html#a10">TInputLine::valid()</a> method calls the validator object's <a class="el" href="classTValidator.html#a5">validate()</a> method, which in turn calls <a class="el" href="classTValidator.html#a3">isValid()</a> to determine whether the contents of the input line are valid.
+<p>
+Reimplemented in <a class="el" href="classTPXPictureValidator.html#a4">TPXPictureValidator</a>, <a class="el" href="classTFilterValidator.html#a4">TFilterValidator</a>, <a class="el" href="classTRangeValidator.html#a2">TRangeValidator</a>, and <a class="el" href="classTLookupValidator.html#a1">TLookupValidator</a>. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="TValidator::isValidInput"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a> TValidator::isValidInput </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>s</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>suppressFill</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+If an input line has an associated validator object, it calls <a class="el" href="classTValidator.html#a2">isValidInput()</a> after processing each keyboard event. This gives validators such as filter validators an opportunity to catch errors before the user fills the entire item or screen.
+<p>
+By default, <a class="el" href="classTValidator.html#a2">isValidInput()</a> returns True. Descendant data validators can override <a class="el" href="classTValidator.html#a2">isValidInput()</a> to validate data as the user types it, returning True if `s' holds valid data and False otherwise.
+<p>
+`s' is the current input string. `suppressFill' determines whether the validator should automatically format the string before validating it.
+<p>
+If `suppressFill' is True, validation takes place on the unmodified string `s'. If `suppressFill' is False, the validator should apply any filling or padding before validating data.
+<p>
+Of the standard validator objects, only <a class="el" href="classTPXPictureValidator.html">TPXPictureValidator</a> checks `suppressFill'. Because `s' is passed by pointer, <a class="el" href="classTValidator.html#a2">isValidInput()</a> can modify the contents of the input string, such as forcing characters to uppercase or inserting literal characters from a format picture.
+<p>
+<a class="el" href="classTValidator.html#a2">isValidInput()</a> should not, however, delete invalid characters from the string. By returning False, <a class="el" href="classTValidator.html#a2">isValidInput()</a> indicates that the input line should erase the offending characters.
+<p>
+Reimplemented in <a class="el" href="classTPXPictureValidator.html#a3">TPXPictureValidator</a>, and <a class="el" href="classTFilterValidator.html#a3">TFilterValidator</a>. </td>
+ </tr>
+</table>
+<a name="b2" doxytag="TValidator::read"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void* TValidator::read </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>is</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Reads from the input stream `is'.
+<p>
+Implements <a class="el" href="classTStreamable.html#b0">TStreamable</a>.
+<p>
+Reimplemented in <a class="el" href="classTPXPictureValidator.html#b2">TPXPictureValidator</a>, <a class="el" href="classTFilterValidator.html#b2">TFilterValidator</a>, <a class="el" href="classTRangeValidator.html#b2">TRangeValidator</a>, and <a class="el" href="classTStringLookupValidator.html#b2">TStringLookupValidator</a>. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="TValidator::transfer"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a0">ushort</a> TValidator::transfer </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>s</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>void *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>buffer</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>TVTransfer&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>flag</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<a class="el" href="classTValidator.html#a4">transfer()</a> allows a validator to take over setting and reading the values of its associated input line, which is mostly useful for validators that check non-string data, such as numeric values.
+<p>
+For example, <a class="el" href="classTRangeValidator.html">TRangeValidator</a> uses <a class="el" href="classTValidator.html#a4">transfer()</a> to read and write long int type values to a data record, rather than transferring an entire string.
+<p>
+By default, input lines with validators give the validator the first chance to respond to <a class="el" href="classTInputLine.html#a2">TInputLine::dataSize()</a>, <a class="el" href="classTInputLine.html#a4">TInputLine::getData()</a>, and @<a class="el" href="classTInputLine.html#a8">TInputLine::setData()</a> by calling the validator's <a class="el" href="classTValidator.html#a4">transfer()</a> method.
+<p>
+If <a class="el" href="classTValidator.html#a4">transfer()</a> returns anything other than 0, it indicates to the input line that it has handled the appropriate transfer. The default action of <a class="el" href="classTValidator.html#a4">transfer()</a> is to return 0 always. If you want the validator to transfer data, you need to override its <a class="el" href="classTValidator.html#a4">transfer()</a> method.
+<p>
+<a class="el" href="classTValidator.html#a4">transfer()</a>'s first two parameters are the associated input line's text string and the getData() or setData() data record. Depending on the value of `flag', <a class="el" href="classTValidator.html#a4">transfer()</a> can set `s' from `buffer' or read the data from `s' into `buffer'. The return value is always the number of bytes transferred.
+<p>
+If `flag' is vtDataSize, <a class="el" href="classTValidator.html#a4">transfer()</a> doesn't change either `s' or `buffer', but just returns the data size. If `flag' is vtSetData, Transfer reads the appropriate number of bytes from `buffer', converts them into the proper string form, and sets them into `s', returning the number of bytes read.
+<p>
+If `flag' is vtGetData, <a class="el" href="classTValidator.html#a4">transfer()</a> converts `s' into the appropriate data type and writes the value into `buffer', returning the number of bytes written.
+<p>
+<pre>
+ enum TVTransfer {vtDataSize, vtSetData, vtGetData};
+ </pre>
+<p>
+Validator objects use parameters of type TVTransfer in their <a class="el" href="classTValidator.html#a4">transfer()</a> methods to control data transfer when setting or reading the value of the associated input line.
+<p>
+Reimplemented in <a class="el" href="classTRangeValidator.html#a3">TRangeValidator</a>. </td>
+ </tr>
+</table>
+<a name="a5" doxytag="TValidator::validate"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a13">Boolean</a> TValidator::validate </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>s</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns True if isValid(s) returns True. Otherwise calls <a class="el" href="classTValidator.html#a1">error()</a> and returns False. A validator's <a class="el" href="classTValidator.html#a5">validate()</a> method is called by the <a class="el" href="classTInputLine.html#a10">TInputLine::valid()</a> method of its associated input line.
+<p>
+Input lines with associated validator objects call the validator's <a class="el" href="classTValidator.html#a5">validate()</a> method under two conditions: either the input line has its <a class="el" href="views_8h.html#a49">ofValidate</a> option set, in which case it calls <a class="el" href="classTValidator.html#a5">validate()</a> when it loses focus, or the dialog box that contains the input line calls <a class="el" href="classTValidator.html#a5">validate()</a> for all its controls, usually because the user requested to close the dialog box or accept an entry screen. </td>
+ </tr>
+</table>
+<a name="b1" doxytag="TValidator::write"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TValidator::write </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>os</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Writes to the output stream `os'.
+<p>
+Implements <a class="el" href="classTStreamable.html#b1">TStreamable</a>.
+<p>
+Reimplemented in <a class="el" href="classTPXPictureValidator.html#b1">TPXPictureValidator</a>, <a class="el" href="classTFilterValidator.html#b1">TFilterValidator</a>, <a class="el" href="classTRangeValidator.html#b1">TRangeValidator</a>, and <a class="el" href="classTStringLookupValidator.html#b1">TStringLookupValidator</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="p0" doxytag="TValidator::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* const TValidator::name<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented in <a class="el" href="classTPXPictureValidator.html#p0">TPXPictureValidator</a>, <a class="el" href="classTFilterValidator.html#p0">TFilterValidator</a>, <a class="el" href="classTRangeValidator.html#p0">TRangeValidator</a>, <a class="el" href="classTLookupValidator.html#p0">TLookupValidator</a>, and <a class="el" href="classTStringLookupValidator.html#p0">TStringLookupValidator</a>.
+<p>
+Definition at line <a class="el" href="validate_8h-source.html#l00227">227</a> of file <a class="el" href="validate_8h-source.html">validate.h</a>. </td>
+ </tr>
+</table>
+<a name="m1" doxytag="TValidator::options"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a0">ushort</a> TValidator::options
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This is a bitmapped field used to control options for various descendants of TValidator. By default, TValidator constructor clears all the bits in options.
+<p>
+Constants voXXXX represent the bits in the bitmapped options word in validator objects.
+<p>
+<pre>
+ Constant Value Meaning
+
+ voFill 0x0001 Used by picture validators to indicate whether to fill
+ in literal characters as the user types
+
+ voTransfer 0x0002 The validator handles data transfer for the input
+ line; currently only used by range validators
+
+ voReserved 0x00fc The bits in this mask are reserved by Borland
+ </pre>
+<p>
+Definition at line <a class="el" href="validate_8h-source.html#l00200">200</a> of file <a class="el" href="validate_8h-source.html">validate.h</a>. </td>
+ </tr>
+</table>
+<a name="m0" doxytag="TValidator::status"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a0">ushort</a> TValidator::status
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Indicates the status of the validator object. If status is vsOK, the validator object constructed correctly. Any value other than vsOK indicates that an error occurred.
+<p>
+Input line objects use vsOK to check that their associated validator objects were constructed properly. When called with a command parameter of cmValid, an input line object's <a class="el" href="classTInputLine.html#a10">TInputLine::valid()</a> method checks its validator's status field.
+<p>
+If status data member is vsOK, the input line's valid() returns True, indicating that the validator object is ready to use. The only value defined for status other than vsOK is vsSyntax, used by <a class="el" href="classTPXPictureValidator.html">TPXPictureValidator</a> to indicate that it could not interpret the picture string passed to it. If you create your own validator objects, you can define error codes and pass them in the status field.
+<p>
+<pre>
+ Constant Value Meaning
+
+ vsOK 0 Validator constructed properly
+ vsSyntax 1 Error in the syntax of a picture validator's picture
+ </pre>
+<p>
+Definition at line <a class="el" href="validate_8h-source.html#l00179">179</a> of file <a class="el" href="validate_8h-source.html">validate.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="validate_8h-source.html">validate.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:17 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTValidator.png b/freebsdtvision/doc/html/classTValidator.png
new file mode 100644
index 0000000..80ec10b
--- /dev/null
+++ b/freebsdtvision/doc/html/classTValidator.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTView-members.html b/freebsdtvision/doc/html/classTView-members.html
new file mode 100644
index 0000000..9e84e2a
--- /dev/null
+++ b/freebsdtvision/doc/html/classTView-members.html
@@ -0,0 +1,121 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TView Member List</h1>This is the complete list of members for <a class="el" href="classTView.html">TView</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a31">awaken</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a32">blockCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d8">build</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a10">calcBounds</a>(TRect &amp;bounds, TPoint delta)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a11">changeBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a38">clearEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d0">commandEnabled</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p0">commandSetChanged</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a7">containsMouse</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p1">curCommandSet</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m6">cursor</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a28">dataSize</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d3">disableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d1">disableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m8">dragMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a9">dragView</a>(TEvent &amp;event, uchar mode, TRect &amp;limits, TPoint minSize, TPoint maxSize)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a19">draw</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a37">drawCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a24">drawHide</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a25">drawShow</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a26">drawUnderRect</a>(TRect &amp;r, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a27">drawUnderView</a>(Boolean doShadow, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a20">drawView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d4">enableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d2">enableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a43">endModal</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>enterSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p3">errorAttr</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a39">eventAvail</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m3">eventMask</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a44">execute</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a21">exposed</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a22">focus</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a3">getBounds</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a5">getClipRect</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a45">getColor</a>(ushort color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d5">getCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a29">getData</a>(void *rec)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a40">getEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a4">getExtent</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a15">getHelpCtx</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a46">getPalette</a>() const</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a48">getState</a>(ushort aState)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m7">growMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a12">growTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a41">handleEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m9">helpCtx</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a17">hide</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a23">hideCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a51">keyEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>leaveSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a8">locate</a>(TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a58">makeFirst</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a53">makeGlobal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a54">makeLocal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a47">mapColor</a>(uchar)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a52">mouseEvent</a>(TEvent &amp;event, ushort mask)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a6">mouseInView</a>(TPoint mouse)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a13">moveTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p4">name</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m0">next</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a55">nextView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a33">normalCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>normalSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m2">options</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m5">origin</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m10">owner</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s6">phaseType</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phFocused</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPostProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPreProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a57">prev</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a56">prevView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a42">putEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a59">putInFrontOf</a>(TView *Target)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#b2">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a34">resetCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a49">select</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s7">selectMode</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a14">setBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d7">setCmdState</a>(TCommandSet &amp;commands, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d6">setCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a35">setCursor</a>(int x, int y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a30">setData</a>(void *rec)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a50">setState</a>(ushort aState, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a18">show</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a36">showCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p2">showMarkers</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a67">shutDown</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m1">size</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a2">sizeLimits</a>(TPoint &amp;min, TPoint &amp;max)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m4">state</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a60">TopView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a0">TView</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#b0">TView</a>(StreamableInit)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a16">valid</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#b1">write</a>(opstream &amp;os)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a61">writeBuf</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a62">writeBuf</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a63">writeChar</a>(short x, short y, char c, uchar color, short count)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a64">writeLine</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a65">writeLine</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a66">writeStr</a>(short x, short y, const char *str, uchar color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a1">~TView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:18 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTView.html b/freebsdtvision/doc/html/classTView.html
new file mode 100644
index 0000000..4d33f3a
--- /dev/null
+++ b/freebsdtvision/doc/html/classTView.html
@@ -0,0 +1,3612 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TView class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TView Class Reference</h1>The base of all visible objects.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="views_8h-source.html">views.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TView:
+<p><center><img src="classTView.png" usemap="#TView_map" border="0" alt=""></center>
+<map name="TView_map">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="0,0,97,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="107,0,204,24">
+<area href="classTBackground.html" alt="TBackground" shape="rect" coords="160,112,257,136">
+<area href="classTButton.html" alt="TButton" shape="rect" coords="160,168,257,192">
+<area href="classTCluster.html" alt="TCluster" shape="rect" coords="160,224,257,248">
+<area href="classTColorDisplay.html" alt="TColorDisplay" shape="rect" coords="160,280,257,304">
+<area href="classTColorSelector.html" alt="TColorSelector" shape="rect" coords="160,336,257,360">
+<area href="classTEditor.html" alt="TEditor" shape="rect" coords="160,392,257,416">
+<area href="classTFileInfoPane.html" alt="TFileInfoPane" shape="rect" coords="160,448,257,472">
+<area href="classTFrame.html" alt="TFrame" shape="rect" coords="160,504,257,528">
+<area href="classTGroup.html" alt="TGroup" shape="rect" coords="160,560,257,584">
+<area href="classTHistory.html" alt="THistory" shape="rect" coords="160,616,257,640">
+<area href="classTIndicator.html" alt="TIndicator" shape="rect" coords="160,672,257,696">
+<area href="classTInputLine.html" alt="TInputLine" shape="rect" coords="160,728,257,752">
+<area href="classTListViewer.html" alt="TListViewer" shape="rect" coords="160,784,257,808">
+<area href="classTMenuView.html" alt="TMenuView" shape="rect" coords="160,840,257,864">
+<area href="classTScrollBar.html" alt="TScrollBar" shape="rect" coords="160,896,257,920">
+<area href="classTScroller.html" alt="TScroller" shape="rect" coords="160,952,257,976">
+<area href="classTStaticText.html" alt="TStaticText" shape="rect" coords="160,1008,257,1032">
+<area href="classTStatusLine.html" alt="TStatusLine" shape="rect" coords="160,1064,257,1088">
+</map>
+<a href="classTView-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Types</h2></td></tr>
+<tr><td nowrap align=right valign=top>enum &nbsp;</td><td valign=bottom><a class="el" href="classTView.html#s6">phaseType</a> </td></tr>
+<tr><td nowrap align=right valign=top>enum &nbsp;</td><td valign=bottom><a class="el" href="classTView.html#s7">selectMode</a> </td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a0">TView</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;bounds)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a1">~TView</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a2">sizeLimits</a> (<a class="el" href="classTPoint.html">TPoint</a> &amp;min, <a class="el" href="classTPoint.html">TPoint</a> &amp;max)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTRect.html">TRect</a>&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a3">getBounds</a> ()</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTRect.html">TRect</a>&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a4">getExtent</a> ()</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTRect.html">TRect</a>&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a5">getClipRect</a> ()</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a6">mouseInView</a> (<a class="el" href="classTPoint.html">TPoint</a> mouse)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a7">containsMouse</a> (<a class="el" href="structTEvent.html">TEvent</a> &amp;event)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a8">locate</a> (<a class="el" href="classTRect.html">TRect</a> &amp;bounds)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a9">dragView</a> (<a class="el" href="structTEvent.html">TEvent</a> &amp;event, <a class="el" href="ttypes_8h.html#a1">uchar</a> mode, <a class="el" href="classTRect.html">TRect</a> &amp;limits, <a class="el" href="classTPoint.html">TPoint</a> minSize, <a class="el" href="classTPoint.html">TPoint</a> maxSize)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a10">calcBounds</a> (<a class="el" href="classTRect.html">TRect</a> &amp;bounds, <a class="el" href="classTPoint.html">TPoint</a> delta)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a11">changeBounds</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;bounds)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a12">growTo</a> (short x, short y)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a13">moveTo</a> (short x, short y)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a14">setBounds</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;bounds)</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a15">getHelpCtx</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a16">valid</a> (<a class="el" href="ttypes_8h.html#a0">ushort</a> command)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a17">hide</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a18">show</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a19">draw</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a20">drawView</a> ()</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a21">exposed</a> ()</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a22">focus</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a23">hideCursor</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a24">drawHide</a> (TView *lastView)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a25">drawShow</a> (TView *lastView)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a26">drawUnderRect</a> (<a class="el" href="classTRect.html">TRect</a> &amp;r, TView *lastView)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a27">drawUnderView</a> (<a class="el" href="ttypes_8h.html#a13">Boolean</a> doShadow, TView *lastView)</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a28">dataSize</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a29">getData</a> (void *rec)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a30">setData</a> (void *rec)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a31">awaken</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a32">blockCursor</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a33">normalCursor</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a34">resetCursor</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a35">setCursor</a> (int x, int y)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a36">showCursor</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a37">drawCursor</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a38">clearEvent</a> (<a class="el" href="structTEvent.html">TEvent</a> &amp;event)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a39">eventAvail</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a40">getEvent</a> (<a class="el" href="structTEvent.html">TEvent</a> &amp;event)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a41">handleEvent</a> (<a class="el" href="structTEvent.html">TEvent</a> &amp;event)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a42">putEvent</a> (<a class="el" href="structTEvent.html">TEvent</a> &amp;event)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a43">endModal</a> (<a class="el" href="ttypes_8h.html#a0">ushort</a> command)</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a44">execute</a> ()</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a45">getColor</a> (<a class="el" href="ttypes_8h.html#a0">ushort</a> color)</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="classTPalette.html">TPalette</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a46">getPalette</a> () const</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a1">uchar</a>&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a47">mapColor</a> (<a class="el" href="ttypes_8h.html#a1">uchar</a>)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a48">getState</a> (<a class="el" href="ttypes_8h.html#a0">ushort</a> aState)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a49">select</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a50">setState</a> (<a class="el" href="ttypes_8h.html#a0">ushort</a> aState, <a class="el" href="ttypes_8h.html#a13">Boolean</a> enable)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a51">keyEvent</a> (<a class="el" href="structTEvent.html">TEvent</a> &amp;event)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a52">mouseEvent</a> (<a class="el" href="structTEvent.html">TEvent</a> &amp;event, <a class="el" href="ttypes_8h.html#a0">ushort</a> mask)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTPoint.html">TPoint</a>&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a53">makeGlobal</a> (<a class="el" href="classTPoint.html">TPoint</a> source)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTPoint.html">TPoint</a>&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a54">makeLocal</a> (<a class="el" href="classTPoint.html">TPoint</a> source)</td></tr>
+<tr><td nowrap align=right valign=top>TView *&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a55">nextView</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>TView *&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a56">prevView</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>TView *&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a57">prev</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a58">makeFirst</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a59">putInFrontOf</a> (TView *Target)</td></tr>
+<tr><td nowrap align=right valign=top>TView *&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a60">TopView</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a61">writeBuf</a> (short x, short y, short w, short h, const void *b)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a62">writeBuf</a> (short x, short y, short w, short h, const <a class="el" href="classTDrawBuffer.html">TDrawBuffer</a> &amp;b)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a63">writeChar</a> (short x, short y, char c, <a class="el" href="ttypes_8h.html#a1">uchar</a> color, short count)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a64">writeLine</a> (short x, short y, short w, short h, const <a class="el" href="classTDrawBuffer.html">TDrawBuffer</a> &amp;b)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a65">writeLine</a> (short x, short y, short w, short h, const void *b)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a66">writeStr</a> (short x, short y, const char *str, <a class="el" href="ttypes_8h.html#a1">uchar</a> color)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#a67">shutDown</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#d0">commandEnabled</a> (<a class="el" href="ttypes_8h.html#a0">ushort</a> command)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#d1">disableCommands</a> (<a class="el" href="classTCommandSet.html">TCommandSet</a> &amp;commands)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#d2">enableCommands</a> (<a class="el" href="classTCommandSet.html">TCommandSet</a> &amp;commands)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#d3">disableCommand</a> (<a class="el" href="ttypes_8h.html#a0">ushort</a> command)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#d4">enableCommand</a> (<a class="el" href="ttypes_8h.html#a0">ushort</a> command)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#d5">getCommands</a> (<a class="el" href="classTCommandSet.html">TCommandSet</a> &amp;commands)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#d6">setCommands</a> (<a class="el" href="classTCommandSet.html">TCommandSet</a> &amp;commands)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#d7">setCmdState</a> (<a class="el" href="classTCommandSet.html">TCommandSet</a> &amp;commands, <a class="el" href="ttypes_8h.html#a13">Boolean</a> enable)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStreamable.html">TStreamable</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#d8">build</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>TView *&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#m0">next</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTPoint.html">TPoint</a>&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#m1">size</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#m2">options</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#m3">eventMask</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#m4">state</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTPoint.html">TPoint</a>&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#m5">origin</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTPoint.html">TPoint</a>&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#m6">cursor</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a1">uchar</a>&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#m7">growMode</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a1">uchar</a>&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#m8">dragMode</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#m9">helpCtx</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTGroup.html">TGroup</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#m10">owner</a></td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#p0">commandSetChanged</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTCommandSet.html">TCommandSet</a>&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#p1">curCommandSet</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#p2">showMarkers</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a1">uchar</a>&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#p3">errorAttr</a></td></tr>
+<tr><td nowrap align=right valign=top>const char *const&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#p4">name</a></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#b0">TView</a> (<a class="el" href="ttypes_8h.html#a14">StreamableInit</a>)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#b1">write</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void *&nbsp;</td><td valign=bottom><a class="el" href="classTView.html#b2">read</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+The base of all visible objects.
+<p>
+Most programs make use of the TView derivatives: <a class="el" href="classTFrame.html">TFrame</a>, <a class="el" href="classTScrollBar.html">TScrollBar</a>, <a class="el" href="classTScroller.html">TScroller</a>, <a class="el" href="classTListViewer.html">TListViewer</a>, <a class="el" href="classTGroup.html">TGroup</a>, and <a class="el" href="classTWindow.html">TWindow</a> objects.
+<p>
+TView objects are rarely instantiated in TVision programs. The TView class exists to provide basic data and functionality for its derived classes. You'll probably never need to construct an instance of TView itself, but most of the common behavior of visible elements in TVision applications comes from TView.
+<p>
+
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00807">807</a> of file <a class="el" href="views_8h-source.html">views.h</a>.<hr><h2>Member Enumeration Documentation</h2>
+<a name="s6" doxytag="TView::phaseType"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> enum TView::phaseType
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTGroup.html#a23">TGroup::handleEvent</a> , <a class="el" href="classTGroup.html#m3">TGroup::phase</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00814">814</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="s7" doxytag="TView::selectMode"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> enum TView::selectMode
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Used internally by TVision.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00818">818</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TView::TView"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TView::TView </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>bounds</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a TView object with the given `bounds' rectangle. TView constructor calls the <a class="el" href="classTObject.html">TObject</a> constructor and then sets the data members of the new TView to the following values:
+<p>
+<pre>
+ Data member Value
+
+ cursor (0, 0)
+ dragMode <a class="el" href="views_8h.html#a60">dmLimitLoY</a>
+ eventMask <a class="el" href="system_8h.html#a0">evMouseDown</a> | <a class="el" href="system_8h.html#a4">evKeyDown</a> | <a class="el" href="system_8h.html#a5">evCommand</a>
+ growMode 0
+ helpCtx <a class="el" href="views_8h.html#a64">hcNoContext</a>
+ next 0
+ options 0
+ origin (bounds.A.x, bounds.A.y)
+ owner 0
+ size (bounds.B.x - bounds.A.x, bounds.B.y - bounds.A.y)
+ state <a class="el" href="views_8h.html#a26">sfVisible</a>
+ </pre> </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TView::~TView"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TView::~TView </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Hides the view and then, if it has an owner, removes it from the group. </td>
+ </tr>
+</table>
+<a name="b0" doxytag="TView::TView"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TView::TView </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a14">StreamableInit</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Each streamable class needs a "builder" to allocate the correct memory for its objects together with the initialized virtual table pointers. This is achieved by calling this constructor with an argument of type <a class="el" href="ttypes_8h.html#a14">StreamableInit</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="a31" doxytag="TView::awaken"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TView::awaken </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The default <a class="el" href="classTView.html#a31">awaken()</a> does nothing. When a group is loaded from a stream, the last thing the <a class="el" href="classTGroup.html#b2">TGroup::read()</a> function does is call the <a class="el" href="classTView.html#a31">awaken()</a> methods of all subviews, giving those views a chance to initialize themselves once all subviews have loaded.
+<p>
+If you create objects that depend on other subviews to initialize themselves after being read from a stream, you can override <a class="el" href="classTView.html#a31">awaken()</a> to perform that initialization.
+<p>
+Reimplemented in <a class="el" href="classTGroup.html#a5">TGroup</a>. </td>
+ </tr>
+</table>
+<a name="a32" doxytag="TView::blockCursor"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TView::blockCursor </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Sets <a class="el" href="views_8h.html#a28">sfCursorIns</a> in state data member to change the cursor to a solid block. The cursor will only be visible if <a class="el" href="views_8h.html#a27">sfCursorVis</a> is also set (and the view is visible). </td>
+ </tr>
+</table>
+<a name="d8" doxytag="TView::build"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStreamable.html">TStreamable</a>* TView::build </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called to create an object in certain stream-reading situations.
+<p>
+Reimplemented in <a class="el" href="classTBackground.html#d0">TBackground</a>, <a class="el" href="classTDeskTop.html#d1">TDeskTop</a>, <a class="el" href="classTColorSelector.html#d0">TColorSelector</a>, <a class="el" href="classTMonoSelector.html#d0">TMonoSelector</a>, <a class="el" href="classTColorDisplay.html#d0">TColorDisplay</a>, <a class="el" href="classTColorGroupList.html#d0">TColorGroupList</a>, <a class="el" href="classTColorItemList.html#d0">TColorItemList</a>, <a class="el" href="classTColorDialog.html#d0">TColorDialog</a>, <a class="el" href="classTDialog.html#d0">TDialog</a>, <a class="el" href="classTInputLine.html#d0">TInputLine</a>, <a class="el" href="classTButton.html#d0">TButton</a>, <a class="el" href="classTCluster.html#d0">TCluster</a>, <a class="el" href="classTRadioButtons.html#d0">TRadioButtons</a>, <a class="el" href="classTCheckBoxes.html#d0">TCheckBoxes</a>, <a class="el" href="classTMultiCheckBoxes.html#d0">TMultiCheckBoxes</a>, <a class="el" href="classTListBox.html#d0">TListBox</a>, <a class="el" href="classTStaticText.html#d0">TStaticText</a>, <a class="el" href="classTParamText.html#d0">TParamText</a>, <a class="el" href="classTLabel.html#d0">TLabel</a>, <a class="el" href="classTHistory.html#d0">THistory</a>, <a class="el" href="classTIndicator.html#d0">TIndicator</a>, <a class="el" href="classTEditor.html#d0">TEditor</a>, <a class="el" href="classTMemo.html#d0">TMemo</a>, <a class="el" href="classTFileEditor.html#d0">TFileEditor</a>, <a class="el" href="classTEditWindow.html#d0">TEditWindow</a>, <a class="el" href="classTMenuView.html#d0">TMenuView</a>, <a class="el" href="classTMenuBar.html#d0">TMenuBar</a>, <a class="el" href="classTMenuBox.html#d0">TMenuBox</a>, <a class="el" href="classTStatusLine.html#d0">TStatusLine</a>, <a class="el" href="classTOutlineViewer.html#d0">TOutlineViewer</a>, <a class="el" href="classTOutline.html#d0">TOutline</a>, <a class="el" href="classTFileInputLine.html#d0">TFileInputLine</a>, <a class="el" href="classTSortedListBox.html#d0">TSortedListBox</a>, <a class="el" href="classTFileList.html#d0">TFileList</a>, <a class="el" href="classTFileInfoPane.html#d0">TFileInfoPane</a>, <a class="el" href="classTFileDialog.html#d0">TFileDialog</a>, <a class="el" href="classTDirListBox.html#d0">TDirListBox</a>, <a class="el" href="classTChDirDialog.html#d0">TChDirDialog</a>, <a class="el" href="classTFrame.html#d0">TFrame</a>, <a class="el" href="classTScrollBar.html#d0">TScrollBar</a>, <a class="el" href="classTScroller.html#d0">TScroller</a>, <a class="el" href="classTListViewer.html#d0">TListViewer</a>, <a class="el" href="classTGroup.html#d0">TGroup</a>, and <a class="el" href="classTWindow.html#d1">TWindow</a>. </td>
+ </tr>
+</table>
+<a name="a10" doxytag="TView::calcBounds"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TView::calcBounds </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>bounds</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTPoint.html">TPoint</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>delta</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+When a view's owner changes size, the owner repeatedly calls <a class="el" href="classTView.html#a10">calcBounds()</a> and <a class="el" href="classTView.html#a11">changeBounds()</a> for all its subviews.
+<p>
+<a class="el" href="classTView.html#a10">calcBounds()</a> must calculate the new bounds of the view given that its owner's size has changed by `delta', and return the new bounds in `bounds'.
+<p>
+<a class="el" href="classTView.html#a10">calcBounds()</a> calculates the new bounds using the flags specified in <a class="el" href="classTView.html#m7">growMode</a> data member. </td>
+ </tr>
+</table>
+<a name="a11" doxytag="TView::changeBounds"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TView::changeBounds </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>bounds</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<a class="el" href="classTView.html#a11">changeBounds()</a> must change the view's bounds (origin and size data members) to the rectangle given by the `bounds' parameter. Having changed the bounds, <a class="el" href="classTView.html#a11">changeBounds()</a> must then redraw the view.
+<p>
+<a class="el" href="classTView.html#a11">changeBounds()</a> is called by various TView member functions, but should never be called directly.
+<p>
+<a class="el" href="classTView.html#a11">changeBounds()</a> first calls setBounds(bounds) and then calls <a class="el" href="classTView.html#a20">drawView()</a>.
+<p>
+Reimplemented in <a class="el" href="classTEditor.html#a5">TEditor</a>, <a class="el" href="classTHelpViewer.html#a2">THelpViewer</a>, <a class="el" href="classTScroller.html#a1">TScroller</a>, <a class="el" href="classTListViewer.html#a1">TListViewer</a>, and <a class="el" href="classTGroup.html#a25">TGroup</a>. </td>
+ </tr>
+</table>
+<a name="a38" doxytag="TView::clearEvent"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TView::clearEvent </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="structTEvent.html">TEvent</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>event</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Standard member function used in <a class="el" href="classTView.html#a41">handleEvent()</a> to signal that the view has successfully handled the event.
+<p>
+Sets `event.what' to <a class="el" href="system_8h.html#a7">evNothing</a> and `event.message.infoPtr' to this. </td>
+ </tr>
+</table>
+<a name="d0" doxytag="TView::commandEnabled"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a13">Boolean</a> TView::commandEnabled </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>command</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns True if the given command is currently enabled; otherwise it returns False.
+<p>
+Note that when you change a modal state, you can then disable and enable commands as you wish; when you return to the previous modal state, however, the original command set will be restored. </td>
+ </tr>
+</table>
+<a name="a7" doxytag="TView::containsMouse"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a13">Boolean</a> TView::containsMouse </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="structTEvent.html">TEvent</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>event</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns True if a mouse event occurs inside the calling view, otherwise returns False. Returns True if the view is visible and the mouse coordinates (defined in `event.mouse.where') are within this view.
+<p>
+The coordinate is defined in the global coordinate system. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#a53">TView::makeGlobal</a> , <a class="el" href="classTView.html#a54">TView::makeLocal</a> </dl> </td>
+ </tr>
+</table>
+<a name="a28" doxytag="TView::dataSize"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a0">ushort</a> TView::dataSize </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<a class="el" href="classTView.html#a28">dataSize()</a> must be used to return the size of the data read from and written to data records by <a class="el" href="classTView.html#a30">setData()</a> and <a class="el" href="classTView.html#a29">getData()</a>. The data record mechanism is typically used only in views that implement controls for dialog boxes.
+<p>
+<a class="el" href="classTView.html#a28">TView::dataSize()</a> returns zero to indicate that no data was transferred.
+<p>
+Reimplemented in <a class="el" href="classTColorDialog.html#a2">TColorDialog</a>, <a class="el" href="classTInputLine.html#a2">TInputLine</a>, <a class="el" href="classTCluster.html#a2">TCluster</a>, <a class="el" href="classTMultiCheckBoxes.html#a2">TMultiCheckBoxes</a>, <a class="el" href="classTListBox.html#a2">TListBox</a>, <a class="el" href="classTMemo.html#a3">TMemo</a>, <a class="el" href="classTFileList.html#a8">TFileList</a>, <a class="el" href="classTChDirDialog.html#a1">TChDirDialog</a>, and <a class="el" href="classTGroup.html#a26">TGroup</a>. </td>
+ </tr>
+</table>
+<a name="d3" doxytag="TView::disableCommand"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TView::disableCommand </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>command</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Disables the given command. If the command set is changed by the call, <a class="el" href="classTView.html#p0">commandSetChanged</a> is set True. </td>
+ </tr>
+</table>
+<a name="d1" doxytag="TView::disableCommands"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TView::disableCommands </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTCommandSet.html">TCommandSet</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>commands</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Disables the commands specified in the `commands' argument. If the command set is changed by this call, <a class="el" href="classTView.html#p0">commandSetChanged</a> is set True. </td>
+ </tr>
+</table>
+<a name="a9" doxytag="TView::dragView"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TView::dragView </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="structTEvent.html">TEvent</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>event</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a1">uchar</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>mode</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>limits</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTPoint.html">TPoint</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>minSize</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTPoint.html">TPoint</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>maxSize</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Drags the view in the ways specified by the `mode' argument, that is interpreted like the <a class="el" href="classTView.html#m7">growMode</a> data member.
+<p>
+`limits' specifies the rectangle (in the owner's coordinate system) within which the view can be moved, and `min' and `max' specify the minimum and maximum sizes the view can shrink or grow to.
+<p>
+The event leading to the dragging operation is needed in `event' to distinguish mouse dragging from use of the cursor keys. </td>
+ </tr>
+</table>
+<a name="a19" doxytag="TView::draw"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TView::draw </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Draws the view on the screen.
+<p>
+Called whenever the view must draw (display) itself. <a class="el" href="classTView.html#a19">draw()</a> must cover the entire area of the view.
+<p>
+This member function must be overridden appropriately for each derived class. <a class="el" href="classTView.html#a19">draw()</a> is seldom called directly, since it is more efficient to use <a class="el" href="classTView.html#a20">drawView()</a>, which draws only views that are exposed; that is, some or all of the view is visible on the screen.
+<p>
+If required, draw can call <a class="el" href="classTView.html#a5">getClipRect()</a> to obtain the rectangle that needs redrawing, and then only draw that area. For complicated views, this can improve performance noticeably.
+<p>
+To perform its task, <a class="el" href="classTView.html#a19">draw()</a> usually uses a <a class="el" href="classTDrawBuffer.html">TDrawBuffer</a> object.
+<p>
+Reimplemented in <a class="el" href="classTBackground.html#a1">TBackground</a>, <a class="el" href="classTColorSelector.html#a1">TColorSelector</a>, <a class="el" href="classTMonoSelector.html#a1">TMonoSelector</a>, <a class="el" href="classTColorDisplay.html#a2">TColorDisplay</a>, <a class="el" href="classTInputLine.html#a3">TInputLine</a>, <a class="el" href="classTButton.html#a2">TButton</a>, <a class="el" href="classTRadioButtons.html#a1">TRadioButtons</a>, <a class="el" href="classTCheckBoxes.html#a1">TCheckBoxes</a>, <a class="el" href="classTMultiCheckBoxes.html#a3">TMultiCheckBoxes</a>, <a class="el" href="classTStaticText.html#a2">TStaticText</a>, <a class="el" href="classTLabel.html#a1">TLabel</a>, <a class="el" href="classTHistory.html#a1">THistory</a>, <a class="el" href="classTIndicator.html#a1">TIndicator</a>, <a class="el" href="classTEditor.html#a10">TEditor</a>, <a class="el" href="classTHelpViewer.html#a3">THelpViewer</a>, <a class="el" href="classTMenuBar.html#a3">TMenuBar</a>, <a class="el" href="classTMenuBox.html#a1">TMenuBox</a>, <a class="el" href="classTStatusLine.html#a2">TStatusLine</a>, <a class="el" href="classTOutlineViewer.html#a3">TOutlineViewer</a>, <a class="el" href="classTFileInfoPane.html#a1">TFileInfoPane</a>, <a class="el" href="classTTerminal.html#a6">TTerminal</a>, <a class="el" href="classTFrame.html#a1">TFrame</a>, <a class="el" href="classTScrollBar.html#a1">TScrollBar</a>, <a class="el" href="classTListViewer.html#a2">TListViewer</a>, and <a class="el" href="classTGroup.html#a29">TGroup</a>. </td>
+ </tr>
+</table>
+<a name="a37" doxytag="TView::drawCursor"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TView::drawCursor </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+If the view is <a class="el" href="views_8h.html#a32">sfFocused</a>, the cursor is reset with a call to <a class="el" href="classTView.html#a34">resetCursor()</a>. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#m4">TView::state</a> </dl> </td>
+ </tr>
+</table>
+<a name="a24" doxytag="TView::drawHide"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TView::drawHide </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">TView *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>lastView</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Calls <a class="el" href="classTView.html#a37">drawCursor()</a> followed by <a class="el" href="classTView.html#a27">drawUnderView()</a>. The latter redraws all subviews (with shadows if required) until the given `lastView' is reached. </td>
+ </tr>
+</table>
+<a name="a25" doxytag="TView::drawShow"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TView::drawShow </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">TView *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>lastView</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Calls <a class="el" href="classTView.html#a20">drawView()</a>, then if state data member has the <a class="el" href="views_8h.html#a29">sfShadow</a> bit set, <a class="el" href="classTView.html#a27">drawUnderView()</a> is called to draw the shadow. </td>
+ </tr>
+</table>
+<a name="a26" doxytag="TView::drawUnderRect"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TView::drawUnderRect </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>r</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>TView *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>lastView</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Calls owner-&gt;clip.intersect(r) to set the area that needs drawing. Then, all the subviews from the next view to the given `lastView' are drawn using drawSubViews(). Finally, owner-&gt;clip is reset to owner-&gt;<a class="el" href="classTView.html#a4">getExtent()</a>. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTGroup.html#m2">TGroup::clip</a> , <a class="el" href="classTRect.html#a5">TRect::intersect</a> , <a class="el" href="classTView.html#a4">TView::getExtent</a> </dl> </td>
+ </tr>
+</table>
+<a name="a27" doxytag="TView::drawUnderView"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TView::drawUnderView </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>doShadow</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>TView *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>lastView</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Calls drawUnderRect(r, lastView), where `r' is the calling view's current bounds. If `doShadow' is True, the view's bounds are first increased by shadowSize (see `TView.cc' for more). <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#a26">drawUnderRect</a> </dl> </td>
+ </tr>
+</table>
+<a name="a20" doxytag="TView::drawView"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TView::drawView </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Draws the view on the screen.
+<p>
+Calls <a class="el" href="classTView.html#a19">draw()</a> if <a class="el" href="classTView.html#a21">exposed()</a> returns True, indicating that the view is exposed (see <a class="el" href="views_8h.html#a37">sfExposed</a>). If <a class="el" href="classTView.html#a21">exposed()</a> returns False, <a class="el" href="classTView.html#a20">drawView()</a> does nothing.
+<p>
+You should call <a class="el" href="classTView.html#a20">drawView()</a> (not <a class="el" href="classTView.html#a19">draw()</a>) whenever you need to redraw a view after making a change that affects its visual appearance. </td>
+ </tr>
+</table>
+<a name="d4" doxytag="TView::enableCommand"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TView::enableCommand </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>command</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Enables the given command. If the command set is changed by this call, <a class="el" href="classTView.html#p0">commandSetChanged</a> is set True. </td>
+ </tr>
+</table>
+<a name="d2" doxytag="TView::enableCommands"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TView::enableCommands </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTCommandSet.html">TCommandSet</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>commands</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Enables all the commands in the `commands' argument. If the command set is changed by this call, <a class="el" href="classTView.html#p0">commandSetChanged</a> is set True. </td>
+ </tr>
+</table>
+<a name="a43" doxytag="TView::endModal"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TView::endModal </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>command</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Calls <a class="el" href="classTView.html#a60">TopView()</a> to seek the top most modal view. If there is none such (that is, if <a class="el" href="classTView.html#a60">TopView()</a> returns 0) no further action is taken. If there is a modal view, that view calls <a class="el" href="classTView.html#a43">endModal()</a>, and so on.
+<p>
+The net result is that <a class="el" href="classTView.html#a43">endModal()</a> terminates the current modal state. The `command' argument is passed to the <a class="el" href="classTGroup.html#a3">TGroup::execView()</a> that created the modal state in the first place.
+<p>
+Reimplemented in <a class="el" href="classTGroup.html#a34">TGroup</a>. </td>
+ </tr>
+</table>
+<a name="a39" doxytag="TView::eventAvail"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a13">Boolean</a> TView::eventAvail </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Calls <a class="el" href="classTView.html#a40">getEvent()</a> and returns True if an event is available. Calls <a class="el" href="classTView.html#a42">putEvent()</a> to set the event as pending. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTProgram.html#q0">TProgram::pending</a> </dl> </td>
+ </tr>
+</table>
+<a name="a44" doxytag="TView::execute"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a0">ushort</a> TView::execute </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Is called from <a class="el" href="classTGroup.html#a3">TGroup::execView()</a> whenever a view becomes modal. If a view is to allow modal execution, it must override <a class="el" href="classTView.html#a44">execute()</a> to provide an event loop. The value returned by <a class="el" href="classTView.html#a44">execute()</a> will be the value returned by <a class="el" href="classTGroup.html#a3">TGroup::execView()</a>.
+<p>
+The default <a class="el" href="classTView.html#a44">TView::execute()</a> simply returns cmCancel.
+<p>
+Reimplemented in <a class="el" href="classTMenuView.html#a3">TMenuView</a>, and <a class="el" href="classTGroup.html#a4">TGroup</a>. </td>
+ </tr>
+</table>
+<a name="a21" doxytag="TView::exposed"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a13">Boolean</a> TView::exposed </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Checks if the view is exposed.
+<p>
+Returns True if any part of the view is visible on the screen. The view is exposed if:
+<p>
+<ol>
+<li>it has the <a class="el" href="views_8h.html#a37">sfExposed</a> bit set in state data member<li>it has the <a class="el" href="views_8h.html#a26">sfVisible</a> bit set in state data member<li>its coordinates make it fully or partially visible on the screen. </ol>
+ </td>
+ </tr>
+</table>
+<a name="a22" doxytag="TView::focus"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a13">Boolean</a> TView::focus </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Tries to grab the focus.
+<p>
+The view can grab the focus if:
+<p>
+<ol>
+<li>the view is not selected (bit <a class="el" href="views_8h.html#a31">sfSelected</a> cleared in state)<li>the view is not modal (bit <a class="el" href="views_8h.html#a35">sfModal</a> cleared in state)<li>the owner exists and it is focused</ol>
+If all the above conditions are True, the <a class="el" href="classTView.html#a22">focus()</a> method calls <a class="el" href="classTView.html#a49">select()</a> to get the focus. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="TView::getBounds"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTRect.html">TRect</a> TView::getBounds </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the current value of size, the bounding rectangle of the view in its owner's coordinate system.
+<p>
+<ol>
+<li>`a' is set to origin<li>`b' is set to origin + size </ol>
+ </td>
+ </tr>
+</table>
+<a name="a5" doxytag="TView::getClipRect"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTRect.html">TRect</a> TView::getClipRect </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the clipping rectangle: the smallest rectangle which needs to be redrawn in a <a class="el" href="classTView.html#a19">draw()</a> call.
+<p>
+For complicated views, <a class="el" href="classTView.html#a19">draw()</a> can use <a class="el" href="classTView.html#a5">getClipRect()</a> to improve performance noticeably. </td>
+ </tr>
+</table>
+<a name="a45" doxytag="TView::getColor"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a0">ushort</a> TView::getColor </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>color</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Maps the palette indices in the low and high bytes of `color' into physical character attributes by tracing through the palette of the view and the palettes of all its owners. </td>
+ </tr>
+</table>
+<a name="d5" doxytag="TView::getCommands"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TView::getCommands </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTCommandSet.html">TCommandSet</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>commands</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns, in the `commands' argument, the current command set. </td>
+ </tr>
+</table>
+<a name="a29" doxytag="TView::getData"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TView::getData </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>rec</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<a class="el" href="classTView.html#a29">getData()</a> must copy <a class="el" href="classTView.html#a28">dataSize()</a> bytes from the view to the data record given by the `rec' pointer. The data record mechanism is typically used only in views that implement controls for dialog boxes. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#a30">TView::setData</a></dl>The default <a class="el" href="classTView.html#a29">TView::getData()</a> does nothing.
+<p>
+Reimplemented in <a class="el" href="classTColorDialog.html#a3">TColorDialog</a>, <a class="el" href="classTInputLine.html#a4">TInputLine</a>, <a class="el" href="classTCluster.html#a5">TCluster</a>, <a class="el" href="classTMultiCheckBoxes.html#a4">TMultiCheckBoxes</a>, <a class="el" href="classTListBox.html#a3">TListBox</a>, <a class="el" href="classTMemo.html#a1">TMemo</a>, <a class="el" href="classTFileList.html#a9">TFileList</a>, <a class="el" href="classTFileDialog.html#a2">TFileDialog</a>, <a class="el" href="classTChDirDialog.html#a2">TChDirDialog</a>, and <a class="el" href="classTGroup.html#a27">TGroup</a>. </td>
+ </tr>
+</table>
+<a name="a40" doxytag="TView::getEvent"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TView::getEvent </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="structTEvent.html">TEvent</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>event</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the next available event in the `event' argument. Returns <a class="el" href="system_8h.html#a7">evNothing</a> if no event is available. By default, it calls the view's owner's <a class="el" href="classTView.html#a40">getEvent()</a>. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#a40">TGroup::getEvent</a> , Program::getEvent </dl>
+<p>
+Reimplemented in <a class="el" href="classTProgram.html#a4">TProgram</a>, and <a class="el" href="classTApplication.html#a2">TApplication</a>. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="TView::getExtent"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTRect.html">TRect</a> TView::getExtent </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the extent rectangle of the view.
+<p>
+<ol>
+<li>`a' is set to (0, 0)<li>`b' is set to size </ol>
+ </td>
+ </tr>
+</table>
+<a name="a15" doxytag="TView::getHelpCtx"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a0">ushort</a> TView::getHelpCtx </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<a class="el" href="classTView.html#a15">getHelpCtx()</a> returns the view's help context. The default <a class="el" href="classTView.html#a15">getHelpCtx()</a> returns the value in the <a class="el" href="classTView.html#m9">helpCtx</a> data member, or returns <a class="el" href="views_8h.html#a65">hcDragging</a> if the view is being dragged (see <a class="el" href="views_8h.html#a33">sfDragging</a>).
+<p>
+Reimplemented in <a class="el" href="classTCluster.html#a6">TCluster</a>, <a class="el" href="classTMenuView.html#a6">TMenuView</a>, and <a class="el" href="classTGroup.html#a36">TGroup</a>. </td>
+ </tr>
+</table>
+<a name="a46" doxytag="TView::getPalette"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="classTPalette.html">TPalette</a>&amp; TView::getPalette </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<a class="el" href="classTView.html#a46">getPalette()</a> must return a string representing the view's palette.
+<p>
+This can be 0 (empty string) if the view has no palette. <a class="el" href="classTView.html#a46">getPalette()</a> is called by <a class="el" href="classTView.html#a63">writeChar()</a> and <a class="el" href="classTView.html#a66">writeStr()</a> when converting palette indices to physical character attributes.
+<p>
+The default return value of 0 causes no color translation to be performed by this view. <a class="el" href="classTView.html#a46">getPalette()</a> is almost always overridden in derived classes.
+<p>
+Reimplemented in <a class="el" href="classTBackground.html#a2">TBackground</a>, <a class="el" href="classTProgram.html#a5">TProgram</a>, <a class="el" href="classTDialog.html#a1">TDialog</a>, <a class="el" href="classTInputLine.html#a5">TInputLine</a>, <a class="el" href="classTButton.html#a4">TButton</a>, <a class="el" href="classTCluster.html#a7">TCluster</a>, <a class="el" href="classTStaticText.html#a3">TStaticText</a>, <a class="el" href="classTLabel.html#a2">TLabel</a>, <a class="el" href="classTHistoryViewer.html#a1">THistoryViewer</a>, <a class="el" href="classTHistoryWindow.html#a1">THistoryWindow</a>, <a class="el" href="classTHistory.html#a2">THistory</a>, <a class="el" href="classTIndicator.html#a2">TIndicator</a>, <a class="el" href="classTEditor.html#a11">TEditor</a>, <a class="el" href="classTMemo.html#a4">TMemo</a>, <a class="el" href="classTHelpViewer.html#a4">THelpViewer</a>, <a class="el" href="classTHelpWindow.html#a1">THelpWindow</a>, <a class="el" href="classTMenuView.html#a7">TMenuView</a>, <a class="el" href="classTStatusLine.html#a3">TStatusLine</a>, <a class="el" href="classTOutlineViewer.html#a9">TOutlineViewer</a>, <a class="el" href="classTFileInfoPane.html#a2">TFileInfoPane</a>, <a class="el" href="classTFrame.html#a2">TFrame</a>, <a class="el" href="classTScrollBar.html#a2">TScrollBar</a>, <a class="el" href="classTScroller.html#a2">TScroller</a>, <a class="el" href="classTListViewer.html#a4">TListViewer</a>, and <a class="el" href="classTWindow.html#a3">TWindow</a>. </td>
+ </tr>
+</table>
+<a name="a48" doxytag="TView::getState"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a13">Boolean</a> TView::getState </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>aState</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns True if the state given in `aState' is set in the data member state. </td>
+ </tr>
+</table>
+<a name="a12" doxytag="TView::growTo"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TView::growTo </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">short&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>x</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>short&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>y</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Grows or shrinks the view to the given size using a call to <a class="el" href="classTView.html#a8">locate()</a>. </td>
+ </tr>
+</table>
+<a name="a41" doxytag="TView::handleEvent"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TView::handleEvent </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="structTEvent.html">TEvent</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>event</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<a class="el" href="classTView.html#a41">handleEvent()</a> is the central member function through which all TVision event handling is implemented. The `what' data member of the `event' parameter contains the event class (evXXXX), and the remaining `event' data members further describe the event.
+<p>
+To indicate that it has handled an event, <a class="el" href="classTView.html#a41">handleEvent()</a> should call <a class="el" href="classTView.html#a38">clearEvent()</a>. <a class="el" href="classTView.html#a41">handleEvent()</a> is almost always overridden in derived classes.
+<p>
+The default <a class="el" href="classTView.html#a41">TView::handleEvent()</a> handles <a class="el" href="system_8h.html#a0">evMouseDown</a> events as follows:
+<p>
+If the view is:
+<p>
+<ol>
+<li>not selected (see <a class="el" href="views_8h.html#a31">sfSelected</a> in <a class="el" href="classTView.html#m4">TView::state</a>)<li>and not disabled (see <a class="el" href="views_8h.html#a34">sfDisabled</a> in <a class="el" href="classTView.html#m4">TView::state</a>)<li>and if the view is selectable (see <a class="el" href="views_8h.html#a38">ofSelectable</a> in <a class="el" href="classTView.html#m2">TView::options</a>)</ol>
+then the view selects itself by calling <a class="el" href="classTView.html#a49">select()</a>. No other events are handled by <a class="el" href="classTView.html#a41">TView::handleEvent()</a>.
+<p>
+Reimplemented in <a class="el" href="classTDeskTop.html#a2">TDeskTop</a>, <a class="el" href="classTProgram.html#a6">TProgram</a>, <a class="el" href="classTColorSelector.html#a2">TColorSelector</a>, <a class="el" href="classTMonoSelector.html#a2">TMonoSelector</a>, <a class="el" href="classTColorDisplay.html#a3">TColorDisplay</a>, <a class="el" href="classTColorGroupList.html#a4">TColorGroupList</a>, <a class="el" href="classTColorItemList.html#a3">TColorItemList</a>, <a class="el" href="classTColorDialog.html#a4">TColorDialog</a>, <a class="el" href="classTDialog.html#a2">TDialog</a>, <a class="el" href="classTInputLine.html#a6">TInputLine</a>, <a class="el" href="classTButton.html#a5">TButton</a>, <a class="el" href="classTCluster.html#a8">TCluster</a>, <a class="el" href="classTLabel.html#a3">TLabel</a>, <a class="el" href="classTHistoryViewer.html#a3">THistoryViewer</a>, <a class="el" href="classTHistory.html#a3">THistory</a>, <a class="el" href="classTEditor.html#a12">TEditor</a>, <a class="el" href="classTMemo.html#a5">TMemo</a>, <a class="el" href="classTFileEditor.html#a2">TFileEditor</a>, <a class="el" href="classTEditWindow.html#a3">TEditWindow</a>, <a class="el" href="classTHelpViewer.html#a5">THelpViewer</a>, <a class="el" href="classTMenuView.html#a8">TMenuView</a>, <a class="el" href="classTStatusLine.html#a4">TStatusLine</a>, <a class="el" href="classTOutlineViewer.html#a12">TOutlineViewer</a>, <a class="el" href="classTFileInputLine.html#a1">TFileInputLine</a>, <a class="el" href="classTSortedListBox.html#a1">TSortedListBox</a>, <a class="el" href="classTFileInfoPane.html#a3">TFileInfoPane</a>, <a class="el" href="classTFileDialog.html#a4">TFileDialog</a>, <a class="el" href="classTChDirDialog.html#a3">TChDirDialog</a>, <a class="el" href="classTFrame.html#a3">TFrame</a>, <a class="el" href="classTScrollBar.html#a3">TScrollBar</a>, <a class="el" href="classTScroller.html#a3">TScroller</a>, <a class="el" href="classTListViewer.html#a7">TListViewer</a>, <a class="el" href="classTGroup.html#a23">TGroup</a>, and <a class="el" href="classTWindow.html#a5">TWindow</a>. </td>
+ </tr>
+</table>
+<a name="a17" doxytag="TView::hide"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TView::hide </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Hides the view by calling <a class="el" href="classTView.html#a50">setState()</a> to clear the <a class="el" href="views_8h.html#a26">sfVisible</a> flag in the state data member. </td>
+ </tr>
+</table>
+<a name="a23" doxytag="TView::hideCursor"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TView::hideCursor </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Hides the cursor by calling <a class="el" href="classTView.html#a50">setState()</a> to clear the <a class="el" href="views_8h.html#a27">sfCursorVis</a> flag in the state data member. </td>
+ </tr>
+</table>
+<a name="a51" doxytag="TView::keyEvent"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TView::keyEvent </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="structTEvent.html">TEvent</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>event</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns, in the `event' variable, the next <a class="el" href="system_8h.html#a4">evKeyDown</a> event. It waits, ignoring all other events, until a keyboard event becomes available. </td>
+ </tr>
+</table>
+<a name="a8" doxytag="TView::locate"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TView::locate </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>bounds</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Changes the bounds of the view to those of the `bounds' argument. The view is redrawn in its new location.
+<p>
+<a class="el" href="classTView.html#a8">locate()</a> calls <a class="el" href="classTView.html#a2">sizeLimits()</a> to verify that the given bounds are valid, and then calls <a class="el" href="classTView.html#a11">changeBounds()</a> to change the bounds and redraw the view. </td>
+ </tr>
+</table>
+<a name="a58" doxytag="TView::makeFirst"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TView::makeFirst </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Moves the view to the top of its owner's subview list. A call to <a class="el" href="classTView.html#a58">makeFirst()</a> corresponds to putInFrontOf(owner-&gt;first()). <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTGroup.html#a21">TGroup::first</a> , <a class="el" href="classTView.html#a59">TView::putInFrontOf</a> </dl> </td>
+ </tr>
+</table>
+<a name="a53" doxytag="TView::makeGlobal"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTPoint.html">TPoint</a> TView::makeGlobal </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTPoint.html">TPoint</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>source</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Converts the `source' point coordinates from local (view) to global (screen) and returns the result. </td>
+ </tr>
+</table>
+<a name="a54" doxytag="TView::makeLocal"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTPoint.html">TPoint</a> TView::makeLocal </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTPoint.html">TPoint</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>source</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Converts the `source' point coordinates from global (screen) to local (view) and returns the result.
+<p>
+Useful for converting the event.where data member of an evMouse event from global coordinates to local coordinates.
+<p>
+For example: <pre>
+ mouseLoc = makeLocal(eventWhere);
+ </pre> </td>
+ </tr>
+</table>
+<a name="a47" doxytag="TView::mapColor"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a1">uchar</a> TView::mapColor </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a1">uchar</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Maps the given color to an offset into the current palette. <a class="el" href="classTView.html#a47">mapColor()</a> works by calling <a class="el" href="classTView.html#a46">getPalette()</a> for each owning group in the chain.
+<p>
+It succesively maps the offset in each palette until the ultimate owning palette is reached.
+<p>
+If `color' is invalid (for example, out of range) for any of the palettes encountered in the chain, <a class="el" href="classTView.html#a47">mapColor()</a> returns <a class="el" href="classTView.html#p3">errorAttr</a>. </td>
+ </tr>
+</table>
+<a name="a52" doxytag="TView::mouseEvent"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a13">Boolean</a> TView::mouseEvent </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="structTEvent.html">TEvent</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>event</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>mask</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Sets the next mouse event in the `event' argument. Returns True if this event is in the `mask' argument. Also returns False if an <a class="el" href="system_8h.html#a1">evMouseUp</a> event occurs.
+<p>
+This member function lets you track a mouse while its button is down; for example, in drag block-marking operations for text editors.
+<p>
+Here's an extract of a <a class="el" href="classTView.html#a41">handleEvent()</a> routine that tracks the mouse with the view's cursor:
+<p>
+<pre>
+ void TMyView::handleEvent(TEvent&amp; event)
+ {
+ TView::handleEvent(event);
+ switch (event.what)
+ {
+ case <a class="el" href="system_8h.html#a0">evMouseDown</a>:
+ do
+ {
+ makeLocal(event.where, mouse);
+ setCursor(mouse.x, mouse.y);
+ }
+ while (mouseEvent(event, evmouseMove));
+ clearEvent(event);
+ ...
+ }
+ ...
+ }
+ </pre> <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#a38">TView::clearEvent</a> , <a class="el" href="classTView.html#a54">TView::makeLocal</a> , <a class="el" href="classTView.html#a35">TView::setCursor</a> </dl> </td>
+ </tr>
+</table>
+<a name="a6" doxytag="TView::mouseInView"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a13">Boolean</a> TView::mouseInView </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTPoint.html">TPoint</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>mouse</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns True if the `mouse' argument (given in global coordinates) is within the calling view. Call <a class="el" href="classTView.html#a53">makeGlobal</a> and <a class="el" href="classTView.html#a54">makeLocal</a> to convert one point between different coordinate systems. </td>
+ </tr>
+</table>
+<a name="a13" doxytag="TView::moveTo"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TView::moveTo </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">short&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>x</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>short&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>y</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Moves the origin to the point (x,y) relative to the owner's view. The view's size is unchanged. </td>
+ </tr>
+</table>
+<a name="a55" doxytag="TView::nextView"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TView* TView::nextView </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns a pointer to the next subview in the owner's subview list. A 0 is returned if the calling view is the last one in its owner's list. </td>
+ </tr>
+</table>
+<a name="a33" doxytag="TView::normalCursor"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TView::normalCursor </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Clears the <a class="el" href="views_8h.html#a28">sfCursorIns</a> bit in state data member, thereby making the cursor into an underline. If <a class="el" href="views_8h.html#a27">sfCursorVis</a> is set, the new cursor will be displayed. </td>
+ </tr>
+</table>
+<a name="a57" doxytag="TView::prev"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TView* TView::prev </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns a pointer to the previous subview in the owner's subview list. If the calling view is the first one in its owner's list, <a class="el" href="classTView.html#a57">prev()</a> returns the last view in the list.
+<p>
+Note that <a class="el" href="classTView.html#a57">prev()</a> treats the list as circular, whereas <a class="el" href="classTView.html#a56">prevView()</a> treats the list linearly. </td>
+ </tr>
+</table>
+<a name="a56" doxytag="TView::prevView"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TView* TView::prevView </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns a pointer to the previous subview in the owner's subview list. A 0 is returned if the calling view is the first one in its owner's list.
+<p>
+Note that <a class="el" href="classTView.html#a57">prev()</a> treats the list as circular, whereas <a class="el" href="classTView.html#a56">prevView()</a> treats the list linearly. </td>
+ </tr>
+</table>
+<a name="a42" doxytag="TView::putEvent"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TView::putEvent </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="structTEvent.html">TEvent</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>event</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Puts the event given by `event' into the event queue, causing it to be the next event returned by <a class="el" href="classTView.html#a40">getEvent()</a>. Only one event can be pushed onto the event queue in this fashion.
+<p>
+Often used by views to generate command events; for example,
+<p>
+<pre>
+ event.what = <a class="el" href="system_8h.html#a5">evCommand</a>;
+ event.command = cmSaveAll;
+ event.infoPtr = 0;
+ putEvent(event);
+ </pre>
+<p>
+The default <a class="el" href="classTView.html#a42">TView::putEvent()</a> calls the view's owner's <a class="el" href="classTView.html#a42">putEvent()</a>. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#a42">TGroup::putEvent</a> , <a class="el" href="classTProgram.html#q0">TProgram::pending</a> , <a class="el" href="classTProgram.html#a10">TProgram::putEvent</a> </dl>
+<p>
+Reimplemented in <a class="el" href="classTProgram.html#a10">TProgram</a>. </td>
+ </tr>
+</table>
+<a name="a59" doxytag="TView::putInFrontOf"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TView::putInFrontOf </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">TView *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>Target</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Moves the calling view in front of the `Target' view in the owner's subview list. The call
+<p>
+<pre>
+ MyView.putInFrontOf(owner-&gt;first);
+ </pre>
+<p>
+is equivalent to MyView.makeFirst(). This member function works by changing pointers in the subview list. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#a58">TView::makeFirst</a></dl>Depending on the position of the other views and their visibility states, <a class="el" href="classTView.html#a59">putInFrontOf()</a> may obscure (clip) underlying views.
+<p>
+If the view is selectable (see <a class="el" href="views_8h.html#a38">ofSelectable</a>) and is put in front of all other subviews, then the view becomes selected. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#m2">TView::options</a> </dl> </td>
+ </tr>
+</table>
+<a name="b2" doxytag="TView::read"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void* TView::read </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>is</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Reads from the input stream `is'.
+<p>
+Implements <a class="el" href="classTStreamable.html#b0">TStreamable</a>.
+<p>
+Reimplemented in <a class="el" href="classTBackground.html#b2">TBackground</a>, <a class="el" href="classTColorSelector.html#b2">TColorSelector</a>, <a class="el" href="classTColorDisplay.html#b2">TColorDisplay</a>, <a class="el" href="classTColorGroupList.html#b2">TColorGroupList</a>, <a class="el" href="classTColorDialog.html#b2">TColorDialog</a>, <a class="el" href="classTInputLine.html#b2">TInputLine</a>, <a class="el" href="classTButton.html#b2">TButton</a>, <a class="el" href="classTCluster.html#b2">TCluster</a>, <a class="el" href="classTMultiCheckBoxes.html#b2">TMultiCheckBoxes</a>, <a class="el" href="classTListBox.html#b2">TListBox</a>, <a class="el" href="classTStaticText.html#b2">TStaticText</a>, <a class="el" href="classTParamText.html#b2">TParamText</a>, <a class="el" href="classTLabel.html#b2">TLabel</a>, <a class="el" href="classTHistory.html#b2">THistory</a>, <a class="el" href="classTEditor.html#b2">TEditor</a>, <a class="el" href="classTMemo.html#b2">TMemo</a>, <a class="el" href="classTFileEditor.html#b2">TFileEditor</a>, <a class="el" href="classTEditWindow.html#b2">TEditWindow</a>, <a class="el" href="classTMenuView.html#b2">TMenuView</a>, <a class="el" href="classTStatusLine.html#b2">TStatusLine</a>, <a class="el" href="classTOutlineViewer.html#b1">TOutlineViewer</a>, <a class="el" href="classTOutline.html#b1">TOutline</a>, <a class="el" href="classTSortedListBox.html#a3">TSortedListBox</a>, <a class="el" href="classTFileDialog.html#b2">TFileDialog</a>, <a class="el" href="classTChDirDialog.html#b2">TChDirDialog</a>, <a class="el" href="classTScrollBar.html#b2">TScrollBar</a>, <a class="el" href="classTScroller.html#b2">TScroller</a>, <a class="el" href="classTListViewer.html#b2">TListViewer</a>, <a class="el" href="classTGroup.html#b2">TGroup</a>, and <a class="el" href="classTWindow.html#b2">TWindow</a>. </td>
+ </tr>
+</table>
+<a name="a34" doxytag="TView::resetCursor"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TView::resetCursor </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Resets the cursor.
+<p>
+Reimplemented in <a class="el" href="classTGroup.html#a33">TGroup</a>. </td>
+ </tr>
+</table>
+<a name="a49" doxytag="TView::select"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TView::select </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Selects the view (see <a class="el" href="views_8h.html#a31">sfSelected</a>). If the view's owner is focused, then the view also becomes focused (see <a class="el" href="views_8h.html#a32">sfFocused</a>). <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#m4">TView::state</a></dl>If the view has the ofTopSelect flag set in its options data member, then the view is moved to the top of its owner's subview list (using a call to <a class="el" href="classTView.html#a58">makeFirst()</a>). </td>
+ </tr>
+</table>
+<a name="a14" doxytag="TView::setBounds"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TView::setBounds </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>bounds</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Sets the bounding rectangle of the view to the value given by the `bounds' parameter. The origin data member is set to `bounds.a', and the size data member is set to the difference between `bounds.b' and `bounds.a'.
+<p>
+The <a class="el" href="classTView.html#a14">setBounds()</a> member function is intended to be called only from within an overridden <a class="el" href="classTView.html#a11">changeBounds()</a> member function. You should never call <a class="el" href="classTView.html#a14">setBounds()</a> directly.
+<p>
+Reimplemented in <a class="el" href="classTMenuView.html#a2">TMenuView</a>. </td>
+ </tr>
+</table>
+<a name="d7" doxytag="TView::setCmdState"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TView::setCmdState </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTCommandSet.html">TCommandSet</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>commands</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>enable</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="d6" doxytag="TView::setCommands"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TView::setCommands </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTCommandSet.html">TCommandSet</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>commands</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Changes the current command set to the given `commands' argument. </td>
+ </tr>
+</table>
+<a name="a35" doxytag="TView::setCursor"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TView::setCursor </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>x</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>y</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Moves the hardware cursor to the point (x, y) using view-relative (local) coordinates. (0, 0) is the top-left corner. </td>
+ </tr>
+</table>
+<a name="a30" doxytag="TView::setData"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TView::setData </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>rec</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<a class="el" href="classTView.html#a30">setData()</a> must copy <a class="el" href="classTView.html#a28">dataSize()</a> bytes from the data record given by `rec' to the view. The data record mechanism is typically used only in views that implement controls for dialog boxes. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#a29">TView::getData</a></dl>The default <a class="el" href="classTView.html#a30">TView::setData()</a> does nothing.
+<p>
+Reimplemented in <a class="el" href="classTColorDialog.html#a5">TColorDialog</a>, <a class="el" href="classTInputLine.html#a8">TInputLine</a>, <a class="el" href="classTCluster.html#a13">TCluster</a>, <a class="el" href="classTRadioButtons.html#a5">TRadioButtons</a>, <a class="el" href="classTMultiCheckBoxes.html#a7">TMultiCheckBoxes</a>, <a class="el" href="classTListBox.html#a6">TListBox</a>, <a class="el" href="classTMemo.html#a2">TMemo</a>, <a class="el" href="classTFileList.html#a10">TFileList</a>, <a class="el" href="classTFileDialog.html#a5">TFileDialog</a>, <a class="el" href="classTChDirDialog.html#a4">TChDirDialog</a>, and <a class="el" href="classTGroup.html#a28">TGroup</a>. </td>
+ </tr>
+</table>
+<a name="a50" doxytag="TView::setState"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TView::setState </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aState</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>enable</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Sets or clears a state flag in the state data member. The `aState' parameter specifies the state flag to modify, and the `enable' parameter specifies whether to turn the flag off (False) or on (True).
+<p>
+<a class="el" href="classTView.html#a50">setState()</a> then carries out any appropriate action to reflect the new state, such as redrawing views that become exposed when the view is hidden (<a class="el" href="views_8h.html#a26">sfVisible</a>), or reprogramming the hardware when the cursor shape is changed (<a class="el" href="views_8h.html#a27">sfCursorVis</a> and <a class="el" href="views_8h.html#a28">sfCursorIns</a>).
+<p>
+<a class="el" href="classTView.html#a50">setState()</a> is sometimes overridden to trigger additional actions that are based on state flags. Another common reason to override <a class="el" href="classTView.html#a50">setState()</a> is to enable or disable commands that are handled by a particular view.
+<p>
+Reimplemented in <a class="el" href="classTInputLine.html#a9">TInputLine</a>, <a class="el" href="classTButton.html#a8">TButton</a>, <a class="el" href="classTCluster.html#a14">TCluster</a>, <a class="el" href="classTIndicator.html#a3">TIndicator</a>, <a class="el" href="classTEditor.html#a22">TEditor</a>, <a class="el" href="classTOutlineViewer.html#a17">TOutlineViewer</a>, <a class="el" href="classTDirListBox.html#a6">TDirListBox</a>, <a class="el" href="classTFrame.html#a4">TFrame</a>, <a class="el" href="classTScroller.html#a7">TScroller</a>, <a class="el" href="classTListViewer.html#a10">TListViewer</a>, <a class="el" href="classTGroup.html#a22">TGroup</a>, and <a class="el" href="classTWindow.html#a6">TWindow</a>. </td>
+ </tr>
+</table>
+<a name="a18" doxytag="TView::show"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TView::show </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+If the view is <a class="el" href="views_8h.html#a26">sfVisible</a>, nothing happens. Otherwise, <a class="el" href="classTView.html#a18">show()</a> displays the view by calling <a class="el" href="classTView.html#a50">setState()</a> to set the <a class="el" href="views_8h.html#a26">sfVisible</a> flag in state data member. </td>
+ </tr>
+</table>
+<a name="a36" doxytag="TView::showCursor"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TView::showCursor </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Turns on the hardware cursor by setting the <a class="el" href="views_8h.html#a27">sfCursorVis</a> bit in state data member. Note that the cursor is invisible by default. </td>
+ </tr>
+</table>
+<a name="a67" doxytag="TView::shutDown"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TView::shutDown </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Used internally by <a class="el" href="classTObject.html#d0">TObject::destroy()</a> to ensure correct destruction of derived and related objects. <a class="el" href="classTView.html#a67">shutDown()</a> is overridden in many classes to ensure the proper setting of related data members when <a class="el" href="classTObject.html#d0">destroy()</a> is called.
+<p>
+Reimplemented from <a class="el" href="classTObject.html#a1">TObject</a>.
+<p>
+Reimplemented in <a class="el" href="classTDeskTop.html#a5">TDeskTop</a>, <a class="el" href="classTProgram.html#a15">TProgram</a>, <a class="el" href="classTLabel.html#a4">TLabel</a>, <a class="el" href="classTHistory.html#a6">THistory</a>, <a class="el" href="classTEditor.html#a2">TEditor</a>, <a class="el" href="classTFileEditor.html#a9">TFileEditor</a>, <a class="el" href="classTFileDialog.html#a7">TFileDialog</a>, <a class="el" href="classTChDirDialog.html#a6">TChDirDialog</a>, <a class="el" href="classTScroller.html#a9">TScroller</a>, <a class="el" href="classTListViewer.html#a12">TListViewer</a>, <a class="el" href="classTGroup.html#a2">TGroup</a>, and <a class="el" href="classTWindow.html#a10">TWindow</a>. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="TView::sizeLimits"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TView::sizeLimits </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTPoint.html">TPoint</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>min</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTPoint.html">TPoint</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>max</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Sets, in the `min' and `max' arguments, the minimum and maximum values that size data member may assume.
+<p>
+The default <a class="el" href="classTView.html#a2">TView::sizeLimits</a> returns (0, 0) in `min' and owner-&gt;size in `max'. If owner data member is 0, `max.x' and `max.y' are both set to INT_MAX.
+<p>
+Reimplemented in <a class="el" href="classTEditWindow.html#a4">TEditWindow</a>, and <a class="el" href="classTWindow.html#a7">TWindow</a>. </td>
+ </tr>
+</table>
+<a name="a60" doxytag="TView::TopView"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TView* TView::TopView </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns a pointer to the current modal view, or 0 if none such. </td>
+ </tr>
+</table>
+<a name="a16" doxytag="TView::valid"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="ttypes_8h.html#a13">Boolean</a> TView::valid </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>command</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Use this member function to check the validity of a view after it has been constructed or at the point in time when a modal state ends (due to a call to <a class="el" href="classTView.html#a43">endModal()</a>).
+<p>
+A `command' argument of cmValid (zero) indicates that the view should check the result of its constructor: valid(cmValid) should return True if the view was successfully constructed and is now ready to be used, False otherwise.
+<p>
+Any other (nonzero) `command' argument indicates that the current modal state (such as a modal dialog box) is about to end with a resulting value of `command'. In this case, <a class="el" href="classTView.html#a16">valid()</a> should check the validity of the view.
+<p>
+It is the responsibility of <a class="el" href="classTView.html#a16">valid()</a> to alert the user in case the view is invalid. The default <a class="el" href="classTView.html#a16">TView::valid()</a> simply returns True.
+<p>
+Reimplemented in <a class="el" href="classTDialog.html#a3">TDialog</a>, <a class="el" href="classTInputLine.html#a10">TInputLine</a>, <a class="el" href="classTEditor.html#a26">TEditor</a>, <a class="el" href="classTFileEditor.html#a11">TFileEditor</a>, <a class="el" href="classTFileDialog.html#a6">TFileDialog</a>, <a class="el" href="classTChDirDialog.html#a5">TChDirDialog</a>, and <a class="el" href="classTGroup.html#a37">TGroup</a>. </td>
+ </tr>
+</table>
+<a name="b1" doxytag="TView::write"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TView::write </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>os</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Writes to the output stream `os'.
+<p>
+Implements <a class="el" href="classTStreamable.html#b1">TStreamable</a>.
+<p>
+Reimplemented in <a class="el" href="classTBackground.html#b1">TBackground</a>, <a class="el" href="classTColorSelector.html#b1">TColorSelector</a>, <a class="el" href="classTColorDisplay.html#b1">TColorDisplay</a>, <a class="el" href="classTColorGroupList.html#b1">TColorGroupList</a>, <a class="el" href="classTColorDialog.html#b1">TColorDialog</a>, <a class="el" href="classTInputLine.html#b1">TInputLine</a>, <a class="el" href="classTButton.html#b1">TButton</a>, <a class="el" href="classTCluster.html#b1">TCluster</a>, <a class="el" href="classTMultiCheckBoxes.html#b1">TMultiCheckBoxes</a>, <a class="el" href="classTListBox.html#b1">TListBox</a>, <a class="el" href="classTStaticText.html#b1">TStaticText</a>, <a class="el" href="classTParamText.html#b1">TParamText</a>, <a class="el" href="classTLabel.html#b1">TLabel</a>, <a class="el" href="classTHistory.html#b1">THistory</a>, <a class="el" href="classTEditor.html#b1">TEditor</a>, <a class="el" href="classTMemo.html#b1">TMemo</a>, <a class="el" href="classTFileEditor.html#b1">TFileEditor</a>, <a class="el" href="classTEditWindow.html#b1">TEditWindow</a>, <a class="el" href="classTMenuView.html#b1">TMenuView</a>, <a class="el" href="classTStatusLine.html#b1">TStatusLine</a>, <a class="el" href="classTOutlineViewer.html#b0">TOutlineViewer</a>, <a class="el" href="classTOutline.html#b0">TOutline</a>, <a class="el" href="classTFileDialog.html#b1">TFileDialog</a>, <a class="el" href="classTChDirDialog.html#b1">TChDirDialog</a>, <a class="el" href="classTScrollBar.html#b1">TScrollBar</a>, <a class="el" href="classTScroller.html#b1">TScroller</a>, <a class="el" href="classTListViewer.html#b1">TListViewer</a>, <a class="el" href="classTGroup.html#b1">TGroup</a>, and <a class="el" href="classTWindow.html#b1">TWindow</a>. </td>
+ </tr>
+</table>
+<a name="a62" doxytag="TView::writeBuf"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TView::writeBuf </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">short&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>x</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>short&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>y</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>short&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>w</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>short&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>h</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>const <a class="el" href="classTDrawBuffer.html">TDrawBuffer</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>b</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Writes the given buffer to the screen starting at the coordinates (x, y), and filling the region of width `w' and height `h'. Should only be used in <a class="el" href="classTView.html#a19">draw()</a> member functions. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTDrawBuffer.html">TDrawBuffer</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l01913">1913</a> of file <a class="el" href="views_8h-source.html">views.h</a>.
+<p>
+References <a class="el" href="drawbuf_8h-source.html#l00110">TDrawBuffer::data</a>, and <a class="el" href="classTView.html#a61">writeBuf()</a>. </td>
+ </tr>
+</table>
+<a name="a61" doxytag="TView::writeBuf"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TView::writeBuf </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">short&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>x</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>short&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>y</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>short&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>w</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>short&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>h</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>const void *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>b</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Writes the given buffer to the screen starting at the coordinates (x, y), and filling the region of width `w' and height `h'. Should only be used in <a class="el" href="classTView.html#a19">draw()</a> member functions. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTDrawBuffer.html">TDrawBuffer</a> </dl>
+<p>
+Referenced by <a class="el" href="views_8h-source.html#l01913">writeBuf()</a>. </td>
+ </tr>
+</table>
+<a name="a63" doxytag="TView::writeChar"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TView::writeChar </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">short&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>x</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>short&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>y</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>char&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>c</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a1">uchar</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>color</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>short&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>count</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Beginning at the point (x, y), writes `count' copies of the character `c' in the color determined by the color'th entry in the current view's palette. Should only be used in <a class="el" href="classTView.html#a19">draw()</a> functions. </td>
+ </tr>
+</table>
+<a name="a65" doxytag="TView::writeLine"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TView::writeLine </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">short&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>x</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>short&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>y</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>short&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>w</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>short&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>h</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>const void *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>b</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Writes the line contained in the buffer `b' to the screen, beginning at the point (x, y) within the rectangle defined by the width `w' and the height `h'. If `h' is greater than 1, the line will be repeated `h' times. Should only be used in <a class="el" href="classTView.html#a19">draw()</a> member functions. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTDrawBuffer.html">TDrawBuffer</a> </dl> </td>
+ </tr>
+</table>
+<a name="a64" doxytag="TView::writeLine"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TView::writeLine </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">short&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>x</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>short&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>y</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>short&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>w</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>short&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>h</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>const <a class="el" href="classTDrawBuffer.html">TDrawBuffer</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>b</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Writes the line contained in the buffer `b' to the screen, beginning at the point (x, y) within the rectangle defined by the width `w' and the height `h'. If `h' is greater than 1, the line will be repeated `h' times. Should only be used in <a class="el" href="classTView.html#a19">draw()</a> member functions. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTDrawBuffer.html">TDrawBuffer</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l01919">1919</a> of file <a class="el" href="views_8h-source.html">views.h</a>.
+<p>
+References <a class="el" href="drawbuf_8h-source.html#l00110">TDrawBuffer::data</a>. </td>
+ </tr>
+</table>
+<a name="a66" doxytag="TView::writeStr"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void TView::writeStr </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">short&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>x</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>short&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>y</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>const char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>str</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a1">uchar</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>color</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Writes the string `str' with the color attributes of the color'th entry in the view's palette, beginning at the point (x, y). Should only be used in <a class="el" href="classTView.html#a19">draw()</a> member functions. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="p0" doxytag="TView::commandSetChanged"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a13">Boolean</a> TView::commandSetChanged<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set to True whenever the view's command set is changed via an enable or disable command call. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#d3">TView::disableCommand</a> , <a class="el" href="classTView.html#d1">TView::disableCommands</a> , <a class="el" href="classTView.html#d4">TView::enableCommand</a> , <a class="el" href="classTView.html#d2">TView::enableCommands</a> , <a class="el" href="classTView.html#d6">TView::setCommands</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l01774">1774</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="p1" doxytag="TView::curCommandSet"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTCommandSet.html">TCommandSet</a> TView::curCommandSet<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Holds the set of commands currently enabled for this view. Initially, the following commands are disabled: cmZoom, cmClose, cmResize, cmNext, cmPrev.
+<p>
+This data member is constantly monitored by <a class="el" href="classTView.html#a41">handleEvent()</a> to determine which of the received command events needs to be serviced.
+<p>
+curCommandSet should not be altered directly: use the appropriate set, enable, or disable calls. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#d3">TView::disableCommand</a> , <a class="el" href="classTView.html#d1">TView::disableCommands</a> , <a class="el" href="classTView.html#d4">TView::enableCommand</a> , <a class="el" href="classTView.html#d2">TView::enableCommands</a> , <a class="el" href="classTView.html#d6">TView::setCommands</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l01792">1792</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="m6" doxytag="TView::cursor"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTPoint.html">TPoint</a> TView::cursor
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The location of the hardware cursor within the view. The cursor is visible only if the view is focused (<a class="el" href="views_8h.html#a32">sfFocused</a>) and the cursor turned on (<a class="el" href="views_8h.html#a27">sfCursorVis</a>). <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#m4">TView::state</a></dl>The shape of the cursor is either an underline or block (determined by <a class="el" href="views_8h.html#a28">sfCursorIns</a>).
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l01680">1680</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="m8" doxytag="TView::dragMode"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a1">uchar</a> TView::dragMode
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Determines how the view should behave when mouse-dragged. The dragMode bits are defined as follows:
+<p>
+<pre>
+ Constant Value Meaning
+
+ <a class="el" href="views_8h.html#a57">dmDragMove</a> 0x01 Allow the view to move
+ <a class="el" href="views_8h.html#a58">dmDragGrow</a> 0x02 Allow the view to change size
+ <a class="el" href="views_8h.html#a59">dmLimitLoX</a> 0x10 The view's left-hand side cannot move outside limits
+ <a class="el" href="views_8h.html#a60">dmLimitLoY</a> 0x20 The view's top side cannot move outside limits
+ <a class="el" href="views_8h.html#a61">dmLimitHiX</a> 0x40 The view's right-hand side cannot move outside limits
+ <a class="el" href="views_8h.html#a62">dmLimitHiY</a> 0x80 The view's bottom side cannot move outside limits
+ <a class="el" href="views_8h.html#a63">dmLimitAll</a> 0xF0 No part of the view can move outside limits
+ </pre>
+<p>
+By default, the TView constructor sets the dragMode data member to <a class="el" href="views_8h.html#a60">dmLimitLoY</a>. Currently, these constants and dragMode are only used to compose the `mode' argument of <a class="el" href="classTView.html#a9">TView::dragView()</a> calls when a view is moved or resized.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l01740">1740</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="p3" doxytag="TView::errorAttr"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a1">uchar</a> TView::errorAttr<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Attribute used to signal an invalid palette selection. For example, <a class="el" href="classTView.html#a47">mapColor()</a> returns errorAttr if it is called with an invalid color argument.
+<p>
+By default, errorAttr is set to 0xCF, which shows as flashing red on white.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l01815">1815</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="m3" doxytag="TView::eventMask"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a0">ushort</a> TView::eventMask
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+eventMask is a bit mask that determines which event classes will be recognized by the view.
+<p>
+The default eventMask enables <a class="el" href="system_8h.html#a0">evMouseDown</a>, <a class="el" href="system_8h.html#a4">evKeyDown</a>, and <a class="el" href="system_8h.html#a5">evCommand</a>. Assigning 0xFFFF to eventMask causes the view to react to all event classes; conversely, a value of zero causes the view to not react to any events.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l01589">1589</a> of file <a class="el" href="views_8h-source.html">views.h</a>.
+<p>
+Referenced by <a class="el" href="menus_8h-source.html#l00401">TMenuView::TMenuView()</a>. </td>
+ </tr>
+</table>
+<a name="m7" doxytag="TView::growMode"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a1">uchar</a> TView::growMode
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Determines how the view will grow when its owner view is resized. To growMode is assigned one or more of the following growMode masks:
+<p>
+<pre>
+ Constant Value Meaning
+
+ <a class="el" href="views_8h.html#a50">gfGrowLoX</a> 0x01 If set, the left-hand side of the view will maintain a
+ constant distance from its owner's right-hand side. If
+ not set, the movement indicated won't occur.
+
+ <a class="el" href="views_8h.html#a51">gfGrowLoY</a> 0x02 If set, the top of the view will maintain a constant
+ distance from the bottom of its owner.
+
+ <a class="el" href="views_8h.html#a52">gfGrowHiX</a> 0x04 If set, the right-hand side of the view will maintain a
+ constant distance from its owner's right side.
+
+ <a class="el" href="views_8h.html#a53">gfGrowHiY</a> 0x08 If set, the bottom of the view will maintain a
+ constant distance from the bottom of its owner's.
+
+ <a class="el" href="views_8h.html#a55">gfGrowRel</a> 0x10 For use with <a class="el" href="classTWindow.html">TWindow</a> objects that are in the
+ desktop. The view will change size relative to the
+ owner's size, maintaining that relative size with
+ respect to the owner even when screen is resized.
+
+ <a class="el" href="views_8h.html#a54">gfGrowAll</a> 0x0F If set, the view will move with the lower-right corner
+ of its owner.
+ </pre>
+<p>
+Note that LoX = left side; LoY = top side; HiX = right side and HiY = bottom side.
+<p>
+Example: <pre>
+ growMode = <a class="el" href="views_8h.html#a50">gfGrowLoX</a> | <a class="el" href="views_8h.html#a51">gfGrowLoY</a>;
+ </pre>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l01718">1718</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="m9" doxytag="TView::helpCtx"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a0">ushort</a> TView::helpCtx
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The help context of the view. When the view is focused, this data member will represent the help context of the application, unless the context number is <a class="el" href="views_8h.html#a64">hcNoContext</a>, in which case there is no help context for the view.
+<p>
+The following default help context constants are defined:
+<p>
+<pre>
+ Constant Value Meaning
+
+ <a class="el" href="views_8h.html#a64">hcNoContext</a> 0 No context specified
+ <a class="el" href="views_8h.html#a65">hcDragging</a> 1 Object is being dragged
+ </pre>
+<p>
+The default value of helpCtx is <a class="el" href="views_8h.html#a64">hcNoContext</a>. <a class="el" href="classTView.html#a15">getHelpCtx()</a> returns <a class="el" href="views_8h.html#a65">hcDragging</a> whenever the view is being dragged (as indicated by the <a class="el" href="views_8h.html#a33">sfDragging</a> state flag).
+<p>
+TVision reserves help context values 0 through 999 for its own use. Programmers may define their own constants in the range 1,000 to 65,535.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l01764">1764</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="p4" doxytag="TView::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* const TView::name<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented in <a class="el" href="classTBackground.html#p0">TBackground</a>, <a class="el" href="classTDeskTop.html#p1">TDeskTop</a>, <a class="el" href="classTColorSelector.html#p1">TColorSelector</a>, <a class="el" href="classTMonoSelector.html#p0">TMonoSelector</a>, <a class="el" href="classTColorDisplay.html#p0">TColorDisplay</a>, <a class="el" href="classTColorGroupList.html#p0">TColorGroupList</a>, <a class="el" href="classTColorItemList.html#p0">TColorItemList</a>, <a class="el" href="classTColorDialog.html#p0">TColorDialog</a>, <a class="el" href="classTDialog.html#p0">TDialog</a>, <a class="el" href="classTInputLine.html#p0">TInputLine</a>, <a class="el" href="classTButton.html#p1">TButton</a>, <a class="el" href="classTCluster.html#p0">TCluster</a>, <a class="el" href="classTRadioButtons.html#p0">TRadioButtons</a>, <a class="el" href="classTCheckBoxes.html#p0">TCheckBoxes</a>, <a class="el" href="classTMultiCheckBoxes.html#p0">TMultiCheckBoxes</a>, <a class="el" href="classTListBox.html#p0">TListBox</a>, <a class="el" href="classTStaticText.html#p0">TStaticText</a>, <a class="el" href="classTParamText.html#p0">TParamText</a>, <a class="el" href="classTLabel.html#p0">TLabel</a>, <a class="el" href="classTHistory.html#p1">THistory</a>, <a class="el" href="classTIndicator.html#p2">TIndicator</a>, <a class="el" href="classTEditor.html#p5">TEditor</a>, <a class="el" href="classTMemo.html#p0">TMemo</a>, <a class="el" href="classTFileEditor.html#p0">TFileEditor</a>, <a class="el" href="classTEditWindow.html#p0">TEditWindow</a>, <a class="el" href="classTMenuView.html#p0">TMenuView</a>, <a class="el" href="classTMenuBar.html#p0">TMenuBar</a>, <a class="el" href="classTMenuBox.html#p1">TMenuBox</a>, <a class="el" href="classTMenuPopup.html#p0">TMenuPopup</a>, <a class="el" href="classTStatusLine.html#p1">TStatusLine</a>, <a class="el" href="classTOutlineViewer.html#p1">TOutlineViewer</a>, <a class="el" href="classTOutline.html#p0">TOutline</a>, <a class="el" href="classTFileInputLine.html#p0">TFileInputLine</a>, <a class="el" href="classTSortedListBox.html#p0">TSortedListBox</a>, <a class="el" href="classTFileList.html#p0">TFileList</a>, <a class="el" href="classTFileInfoPane.html#p0">TFileInfoPane</a>, <a class="el" href="classTFileDialog.html#p0">TFileDialog</a>, <a class="el" href="classTDirListBox.html#p5">TDirListBox</a>, <a class="el" href="classTChDirDialog.html#p0">TChDirDialog</a>, <a class="el" href="classTFrame.html#p3">TFrame</a>, <a class="el" href="classTScrollBar.html#p2">TScrollBar</a>, <a class="el" href="classTScroller.html#p0">TScroller</a>, <a class="el" href="classTListViewer.html#p1">TListViewer</a>, <a class="el" href="classTGroup.html#p0">TGroup</a>, and <a class="el" href="classTWindow.html#p0">TWindow</a>.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l01875">1875</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="m0" doxytag="TView::next"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TView* TView::next
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Pointer to next peer view in Z-order. If this is the last subview, next points to owner's first subview.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l01426">1426</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="m2" doxytag="TView::options"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a0">ushort</a> TView::options
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The options word flags determine various behaviors of the view. The following mnemonics are used to refer to the bit positions of the options data member. Setting a bit position to 1 indicates that the view has that particular attribute; clearing the bit position means that the attribute is off or disabled.
+<p>
+<pre>
+ Constant Value Meaning
+
+ <a class="el" href="views_8h.html#a38">ofSelectable</a> 0x0001 Set if the view should select itself automatically
+ (see <a class="el" href="views_8h.html#a31">sfSelected</a>); for example, by a mouse
+ click in the view, or a Tab in a dialog box.
+
+ <a class="el" href="views_8h.html#a39">ofTopSelect</a> 0x0002 Set if the view should move in front of all other
+ peer views when selected. When the
+ <a class="el" href="views_8h.html#a39">ofTopSelect</a> bit is set, a call to
+ <a class="el" href="classTView.html#a49">select()</a> corresponds to a call to
+ <a class="el" href="classTView.html#a58">makeFirst()</a>. <a class="el" href="classTWindow.html">TWindow</a> and descendants by
+ default have the <a class="el" href="views_8h.html#a39">ofTopSelect</a> bit set, which
+ causes them to move in front of all other windows
+ on the desktop when selected.
+
+ <a class="el" href="views_8h.html#a40">ofFirstClick</a> 0x0004 If clear, a mouse click that selects a view will
+ have no further effect. If set, such a mouse click
+ is processed as a normal mouse click after
+ selecting the view. Has no effect unless
+ <a class="el" href="views_8h.html#a38">ofSelectable</a> is also set. See also
+ <a class="el" href="classTView.html#a41">handleEvent()</a>, <a class="el" href="views_8h.html#a31">sfSelected</a> and
+ <a class="el" href="views_8h.html#a38">ofSelectable</a>.
+
+ <a class="el" href="views_8h.html#a41">ofFramed</a> 0x0008 Set if the view should have a frame drawn around
+ it. A <a class="el" href="classTWindow.html">TWindow</a> and any class derived from
+ <a class="el" href="classTWindow.html">TWindow</a>, has a <a class="el" href="classTFrame.html">TFrame</a> as its last
+ subview. When drawing itself, the <a class="el" href="classTFrame.html">TFrame</a>
+ will also draw a frame around any other subviews
+ that have the <a class="el" href="views_8h.html#a41">ofFramed</a> bit set.
+
+ <a class="el" href="views_8h.html#a42">ofPreProcess</a> 0x0010 Set if the view should receive focused events
+ before they are sent to the focused view.
+ Otherwise clear. See also <a class="el" href="views_8h.html#a32">sfFocused</a>,
+ <a class="el" href="views_8h.html#a43">ofPostProcess</a>, and <a class="el" href="classTGroup.html#m3">TGroup::phase</a>.
+
+ <a class="el" href="views_8h.html#a43">ofPostProcess</a> 0x0020 Set if the view should receive focused events
+ whenever the focused view fails to handle them.
+ Otherwise clear. See also <a class="el" href="views_8h.html#a32">sfFocused</a>,
+ <a class="el" href="views_8h.html#a42">ofPreProcess</a> and <a class="el" href="classTGroup.html#m3">TGroup::phase</a>.
+
+ <a class="el" href="views_8h.html#a44">ofBuffered</a> 0x0040 Used for <a class="el" href="classTGroup.html">TGroup</a> objects and classes derived
+ from <a class="el" href="classTGroup.html">TGroup</a> only. Set if a cache buffer
+ should be allocated if sufficient memory is
+ available. The group buffer holds a screen image
+ of the whole group so that group redraws can be
+ speeded up. In the absence of a buffer,
+ <a class="el" href="classTGroup.html#a29">TGroup::draw()</a> calls on each subview's
+ <a class="el" href="classTView.html#a20">drawView()</a> method. If subsequent memory
+ allocation calls fail, group buffers will be
+ deallocated to make memory available.
+
+ <a class="el" href="views_8h.html#a45">ofTileable</a> 0x0080 Set if the desktop can tile (or cascade) this
+ view. Usually used only with <a class="el" href="classTWindow.html">TWindow</a> objects.
+
+ <a class="el" href="views_8h.html#a46">ofCenterX</a> 0x0100 Set if the view should be centered on the x-axis
+ of its owner when inserted in a group using
+ <a class="el" href="classTGroup.html#a15">TGroup::insert()</a>.
+
+ <a class="el" href="views_8h.html#a47">ofCenterY</a> 0x0200 Set if the view should be centered on the y-axis
+ of its owner when inserted in a group using
+ <a class="el" href="classTGroup.html#a15">TGroup::insert()</a>.
+
+ <a class="el" href="views_8h.html#a48">ofCentered</a> 0x0300 Set if the view should be centered on both axes of
+ its owner when inserted in a group using
+ <a class="el" href="classTGroup.html#a15">TGroup::insert()</a>.
+ </pre>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l01579">1579</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="m5" doxytag="TView::origin"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTPoint.html">TPoint</a> TView::origin
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The (x, y) coordinates, relative to the owner's origin, of the top-left corner of the view.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l01670">1670</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="m10" doxytag="TView::owner"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTGroup.html">TGroup</a>* TView::owner
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Points to the <a class="el" href="classTGroup.html">TGroup</a> object that owns this view. If 0, the view has no owner. The view is displayed within its owner's view and will be clipped by the owner's bounding rectangle.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l01799">1799</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="p2" doxytag="TView::showMarkers"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a13">Boolean</a> TView::showMarkers<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Used to indicate whether indicators should be placed around focused controls. <a class="el" href="classTProgram.html#a8">TProgram::initScreen()</a> sets showMarkers to True if the video mode is monochrome; otherwise it is False. The value may, however, be set on in color and black and white modes if desired.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l01806">1806</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="m1" doxytag="TView::size"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTPoint.html">TPoint</a> TView::size
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The size of the view.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l01503">1503</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="m4" doxytag="TView::state"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a0">ushort</a> TView::state
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The state of the view is represented by bits set or clear in the state data member. The bits are represented mnemonically by constants as follows.
+<p>
+<pre>
+ Constant Value Meaning
+
+ <a class="el" href="views_8h.html#a26">sfVisible</a> 0x001 Set if the view is visible on its owner. Views are by
+ default <a class="el" href="views_8h.html#a26">sfVisible</a>. Use <a class="el" href="classTView.html#a18">show()</a> and
+ <a class="el" href="classTView.html#a17">hide()</a> to modify <a class="el" href="views_8h.html#a26">sfVisible</a>. An
+ <a class="el" href="views_8h.html#a26">sfVisible</a> view is not necessarily visible on the
+ screen, since its owner might not be visible. To test
+ for visibility on the screen, examine the
+ <a class="el" href="views_8h.html#a37">sfExposed</a> bit or call <a class="el" href="classTView.html#a21">exposed()</a>.
+
+ <a class="el" href="views_8h.html#a27">sfCursorVis</a> 0x002 Set if a view's cursor is visible. Clear is the
+ default. You can use <a class="el" href="classTView.html#a36">showCursor()</a> and
+ <a class="el" href="classTView.html#a23">hideCursor()</a> to modify <a class="el" href="views_8h.html#a27">sfCursorVis</a>.
+
+ <a class="el" href="views_8h.html#a28">sfCursorIns</a> 0x004 Set if the view's cursor is a solid block; clear if
+ the view's cursor is an underline (the default). Use
+ <a class="el" href="classTView.html#a32">blockCursor()</a> and <a class="el" href="classTView.html#a33">normalCursor()</a> to modify
+ this bit.
+
+ <a class="el" href="views_8h.html#a29">sfShadow</a> 0x008 Set if the view has a shadow.
+
+ <a class="el" href="views_8h.html#a30">sfActive</a> 0x010 Set if the view is the active window or a subview in
+ the active window.
+
+ <a class="el" href="views_8h.html#a31">sfSelected</a> 0x020 Set if the view is the currently selected subview
+ within its owner. Each <a class="el" href="classTGroup.html">TGroup</a> object has a
+ <a class="el" href="classTGroup.html#m0">TGroup::current</a> data member that points to the
+ currently selected subview (or is 0 if no subview is
+ selected). There can be only one currently selected
+ subview in a <a class="el" href="classTGroup.html">TGroup</a>.
+
+ <a class="el" href="views_8h.html#a32">sfFocused</a> 0x040 Set if the view is focused. A view is focused if it
+ is selected and all owners above it are also
+ selected. The last view on the focused chain is the
+ final target of all focused events.
+
+ <a class="el" href="views_8h.html#a33">sfDragging</a> 0x080 Set if the view is being dragged.
+
+ <a class="el" href="views_8h.html#a34">sfDisabled</a> 0x100 Set if the view is disabled. A disabled view will
+ ignore all events sent to it.
+
+ <a class="el" href="views_8h.html#a35">sfModal</a> 0x200 Set if the view is modal. There is always exactly one
+ modal view in a running TVision application, usually
+ a <a class="el" href="classTApplication.html">TApplication</a> or <a class="el" href="classTDialog.html">TDialog</a> object. When a
+ view starts executing (through an
+ <a class="el" href="classTGroup.html#a3">TGroup::execView()</a> call), that view becomes
+ modal. The modal view represents the apex (root) of
+ the active event tree, getting and handling events
+ until its <a class="el" href="classTView.html#a43">endModal()</a> method is called. During
+ this "local" event loop, events are passed down to
+ lower subviews in the view tree. Events from these
+ lower views pass back up the tree, but go no further
+ than the modal view. See also <a class="el" href="classTView.html#a50">setState()</a>,
+ <a class="el" href="classTView.html#a41">handleEvent()</a> and <a class="el" href="classTGroup.html#a3">TGroup::execView()</a>.
+
+ <a class="el" href="views_8h.html#a36">sfDefault</a> 0x400 This is a spare flag, available to specify some
+ user-defined default state.
+
+ <a class="el" href="views_8h.html#a37">sfExposed</a> 0x800 Set if the view is owned directly or indirectly by
+ the application object, and therefore possibly
+ visible on the. <a class="el" href="classTView.html#a21">exposed()</a> uses this flag in
+ combination with further clipping calculations to
+ determine whether any part of the view is actually
+ visible on the screen.
+ </pre>
+<p>
+Many TView member functions test and/or alter the state data member by calling <a class="el" href="classTView.html#a48">getState()</a> and/or <a class="el" href="classTView.html#a50">setState()</a>.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l01665">1665</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="views_8h-source.html">views.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:18 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTView.png b/freebsdtvision/doc/html/classTView.png
new file mode 100644
index 0000000..6a22eef
--- /dev/null
+++ b/freebsdtvision/doc/html/classTView.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTWindow-members.html b/freebsdtvision/doc/html/classTWindow-members.html
new file mode 100644
index 0000000..8f4b305
--- /dev/null
+++ b/freebsdtvision/doc/html/classTWindow-members.html
@@ -0,0 +1,171 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TWindow Member List</h1>This is the complete list of members for <a class="el" href="classTWindow.html">TWindow</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a17">at</a>(short index)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a5">awaken</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a32">blockCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m4">buffer</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#d1">build</a>()</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a10">calcBounds</a>(TRect &amp;bounds, TPoint delta)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a25">changeBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a38">clearEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m2">clip</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a2">close</a>()</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d0">commandEnabled</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p0">commandSetChanged</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a7">containsMouse</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindowInit.html#n0">createFrame</a></td><td><a class="el" href="classTWindowInit.html">TWindowInit</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p1">curCommandSet</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m0">current</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m6">cursor</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a26">dataSize</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#d0">destroy</a>(TObject *o)</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [inline, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d3">disableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d1">disableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m8">dragMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a9">dragView</a>(TEvent &amp;event, uchar mode, TRect &amp;limits, TPoint minSize, TPoint maxSize)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a29">draw</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a37">drawCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a24">drawHide</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a25">drawShow</a>(TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a24">drawSubViews</a>(TView *p, TView *bottom)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a26">drawUnderRect</a>(TRect &amp;r, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a27">drawUnderView</a>(Boolean doShadow, TView *lastView)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a20">drawView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d4">enableCommand</a>(ushort command)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d2">enableCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a34">endModal</a>(ushort command)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m6">endState</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>enterSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p3">errorAttr</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a39">eventAvail</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a35">eventError</a>(TEvent &amp;event)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m3">eventMask</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a4">execute</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a3">execView</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a21">exposed</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a21">first</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a18">firstMatch</a>(ushort aState, ushort aOptions)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a12">firstThat</a>(Boolean(*func)(TView *, void *), void *args)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#m0">flags</a></td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a22">focus</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a13">focusNext</a>(Boolean forwards)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a14">forEach</a>(void(*func)(TView *, void *), void *args)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#m4">frame</a></td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a38">freeBuffer</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a3">getBounds</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a39">getBuffer</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a5">getClipRect</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a45">getColor</a>(ushort color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d5">getCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a27">getData</a>(void *rec)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a40">getEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a4">getExtent</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a36">getHelpCtx</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a3">getPalette</a>() const</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a48">getState</a>(ushort aState)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a4">getTitle</a>(short maxSize)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m7">growMode</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a12">growTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a5">handleEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m9">helpCtx</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a17">hide</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a23">hideCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a19">indexOf</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#d0">initFrame</a>(TRect)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a15">insert</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a16">insertBefore</a>(TView *p, TView *Target)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a6">insertView</a>(TView *p, TView *Target)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a51">keyEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m1">last</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>leaveSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a8">locate</a>(TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a31">lock</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m5">lockFlag</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a58">makeFirst</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a53">makeGlobal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a54">makeLocal</a>(TPoint source)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a47">mapColor</a>(uchar)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a20">matches</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a52">mouseEvent</a>(TEvent &amp;event, ushort mask)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a6">mouseInView</a>(TPoint mouse)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a13">moveTo</a>(short x, short y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#p0">name</a></td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m0">next</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a55">nextView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a33">normalCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>normalSelect</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#m2">number</a></td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m2">options</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m5">origin</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m10">owner</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#m3">palette</a></td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#m3">phase</a></td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s6">phaseType</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phFocused</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPostProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>phPreProcess</b> enum value (defined in <a class="el" href="classTView.html">TView</a>)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a57">prev</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a56">prevView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a42">putEvent</a>(TEvent &amp;event)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a59">putInFrontOf</a>(TView *Target)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#b2">read</a>(ipstream &amp;is)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a30">redraw</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a7">remove</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a8">removeView</a>(TView *p)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a9">resetCurrent</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a33">resetCursor</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a49">select</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#s7">selectMode</a> enum name</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a11">selectNext</a>(Boolean forwards)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a14">setBounds</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d7">setCmdState</a>(TCommandSet &amp;commands, Boolean enable)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#d6">setCommands</a>(TCommandSet &amp;commands)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a10">setCurrent</a>(TView *p, selectMode mode)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a35">setCursor</a>(int x, int y)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a28">setData</a>(void *rec)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a6">setState</a>(ushort aState, Boolean enable)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a18">show</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a36">showCursor</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#p2">showMarkers</a></td><td><a class="el" href="classTView.html">TView</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a10">shutDown</a>()</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m1">size</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a7">sizeLimits</a>(TPoint &amp;min, TPoint &amp;max)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a8">standardScrollBar</a>(ushort aOptions)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#m4">state</a></td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a0">TGroup</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#b0">TGroup</a>(StreamableInit)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#m5">title</a></td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a60">TopView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a0">TView</a>(const TRect &amp;bounds)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#b0">TView</a>(StreamableInit)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a0">TWindow</a>(const TRect &amp;bounds, const char *aTitle, short aNumber)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#b0">TWindow</a>(StreamableInit)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindowInit.html#a0">TWindowInit</a>(TFrame *(*cFrame)(TRect bounds))</td><td><a class="el" href="classTWindowInit.html">TWindowInit</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a32">unlock</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a37">valid</a>(ushort command)</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#b1">write</a>(opstream &amp;os)</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a61">writeBuf</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a62">writeBuf</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a63">writeChar</a>(short x, short y, char c, uchar color, short count)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a64">writeLine</a>(short x, short y, short w, short h, const TDrawBuffer &amp;b)</td><td><a class="el" href="classTView.html">TView</a></td><td><code> [inline]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a65">writeLine</a>(short x, short y, short w, short h, const void *b)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a66">writeStr</a>(short x, short y, const char *str, uchar color)</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a9">zoom</a>()</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#m1">zoomRect</a></td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTGroup.html#a1">~TGroup</a>()</td><td><a class="el" href="classTGroup.html">TGroup</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTObject.html#a0">~TObject</a>()</td><td><a class="el" href="classTObject.html">TObject</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTView.html#a1">~TView</a>()</td><td><a class="el" href="classTView.html">TView</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindow.html#a1">~TWindow</a>()</td><td><a class="el" href="classTWindow.html">TWindow</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:18 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTWindow.html b/freebsdtvision/doc/html/classTWindow.html
new file mode 100644
index 0000000..dd3bb13
--- /dev/null
+++ b/freebsdtvision/doc/html/classTWindow.html
@@ -0,0 +1,840 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TWindow class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TWindow Class Reference</h1>Implements a window.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="views_8h-source.html">views.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TWindow:
+<p><center><img src="classTWindow.png" usemap="#TWindow_map" border="0" alt=""></center>
+<map name="TWindow_map">
+<area href="classTGroup.html" alt="TGroup" shape="rect" coords="226,112,329,136">
+<area href="classTWindowInit.html" alt="TWindowInit" shape="rect" coords="339,112,442,136">
+<area href="classTView.html" alt="TView" shape="rect" coords="226,56,329,80">
+<area href="classTObject.html" alt="TObject" shape="rect" coords="169,0,272,24">
+<area href="classTStreamable.html" alt="TStreamable" shape="rect" coords="282,0,385,24">
+<area href="classTDialog.html" alt="TDialog" shape="rect" coords="113,224,216,248">
+<area href="classTEditWindow.html" alt="TEditWindow" shape="rect" coords="226,224,329,248">
+<area href="classTHelpWindow.html" alt="THelpWindow" shape="rect" coords="339,224,442,248">
+<area href="classTHistoryWindow.html" alt="THistoryWindow" shape="rect" coords="452,224,555,248">
+<area href="classTChDirDialog.html" alt="TChDirDialog" shape="rect" coords="0,280,103,304">
+<area href="classTColorDialog.html" alt="TColorDialog" shape="rect" coords="113,280,216,304">
+<area href="classTFileDialog.html" alt="TFileDialog" shape="rect" coords="226,280,329,304">
+</map>
+<a href="classTWindow-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTWindow.html#a0">TWindow</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;bounds, const char *aTitle, short aNumber)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTWindow.html#a1">~TWindow</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTWindow.html#a2">close</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual <a class="el" href="classTPalette.html">TPalette</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="classTWindow.html#a3">getPalette</a> () const</td></tr>
+<tr><td nowrap align=right valign=top>virtual const char *&nbsp;</td><td valign=bottom><a class="el" href="classTWindow.html#a4">getTitle</a> (short maxSize)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTWindow.html#a5">handleEvent</a> (<a class="el" href="structTEvent.html">TEvent</a> &amp;event)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTWindow.html#a6">setState</a> (<a class="el" href="ttypes_8h.html#a0">ushort</a> aState, <a class="el" href="ttypes_8h.html#a13">Boolean</a> enable)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTWindow.html#a7">sizeLimits</a> (<a class="el" href="classTPoint.html">TPoint</a> &amp;min, <a class="el" href="classTPoint.html">TPoint</a> &amp;max)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTScrollBar.html">TScrollBar</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTWindow.html#a8">standardScrollBar</a> (<a class="el" href="ttypes_8h.html#a0">ushort</a> aOptions)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTWindow.html#a9">zoom</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTWindow.html#a10">shutDown</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTFrame.html">TFrame</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTWindow.html#d0">initFrame</a> (<a class="el" href="classTRect.html">TRect</a>)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStreamable.html">TStreamable</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTWindow.html#d1">build</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a1">uchar</a>&nbsp;</td><td valign=bottom><a class="el" href="classTWindow.html#m0">flags</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTRect.html">TRect</a>&nbsp;</td><td valign=bottom><a class="el" href="classTWindow.html#m1">zoomRect</a></td></tr>
+<tr><td nowrap align=right valign=top>short&nbsp;</td><td valign=bottom><a class="el" href="classTWindow.html#m2">number</a></td></tr>
+<tr><td nowrap align=right valign=top>short&nbsp;</td><td valign=bottom><a class="el" href="classTWindow.html#m3">palette</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTFrame.html">TFrame</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTWindow.html#m4">frame</a></td></tr>
+<tr><td nowrap align=right valign=top>const char *&nbsp;</td><td valign=bottom><a class="el" href="classTWindow.html#m5">title</a></td></tr>
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>const char *const&nbsp;</td><td valign=bottom><a class="el" href="classTWindow.html#p0">name</a></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTWindow.html#b0">TWindow</a> (<a class="el" href="ttypes_8h.html#a14">StreamableInit</a>)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTWindow.html#b1">write</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void *&nbsp;</td><td valign=bottom><a class="el" href="classTWindow.html#b2">read</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+A TWindow object is a specialized group that typically owns a <a class="el" href="classTFrame.html">TFrame</a> object, an interior <a class="el" href="classTScroller.html">TScroller</a> object, and one or two <a class="el" href="classTScrollBar.html">TScrollBar</a> objects. These attached subviews provide the "visibility" to the TWindow object.
+<p>
+TWindow inherits multiply from <a class="el" href="classTGroup.html">TGroup</a> and the virtual base class <a class="el" href="classTWindowInit.html">TWindowInit</a>.
+<p>
+
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l03441">3441</a> of file <a class="el" href="views_8h-source.html">views.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TWindow::TWindow"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TWindow::TWindow </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>bounds</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>const char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aTitle</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>short&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aNumber</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Calls the <a class="el" href="classTGroup.html">TGroup</a> constructor to set window bounds to `bounds'. Sets default state to <a class="el" href="views_8h.html#a29">sfShadow</a>. Sets default options to (<a class="el" href="views_8h.html#a38">ofSelectable</a> | <a class="el" href="views_8h.html#a39">ofTopSelect</a>). Sets default <a class="el" href="classTView.html#m7">growMode</a> to <a class="el" href="views_8h.html#a54">gfGrowAll</a> | <a class="el" href="views_8h.html#a55">gfGrowRel</a>. Sets default flags to (<a class="el" href="views_8h.html#a78">wfMove</a> | <a class="el" href="views_8h.html#a79">wfGrow</a> | <a class="el" href="views_8h.html#a80">wfClose</a> | <a class="el" href="views_8h.html#a81">wfZoom</a>). Sets the title data member to `aTitle' and the number data member to `aNumber'.
+<p>
+Calls <a class="el" href="classTWindow.html#d0">initFrame()</a> by default, and if the resulting frame pointer is nonzero, inserts it in this window's group. Finally, the default <a class="el" href="classTWindow.html#m1">zoomRect</a> is set to the given bounds.
+<p>
+`aNumber' is the number assigned to this window. If `aNumber' is between 1 and 9, the number will appear in the frame title, and the window can be selected with the Alt-n keys (n = 1 to 9).
+<p>
+Use the constant <a class="el" href="views_8h.html#a89">wnNoNumber</a> to indicate that the window is not to be numbered and cannot be selected via the Alt+number key. <a class="el" href="views_8h.html#a89">wnNoNumber</a> is defined in `<a class="el" href="views_8h.html">views.h</a>' as:
+<p>
+<pre>
+ const ushort <a class="el" href="views_8h.html#a89">wnNoNumber</a> = 0;
+ </pre> </td>
+ </tr>
+</table>
+<a name="a1" doxytag="TWindow::~TWindow"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TWindow::~TWindow </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Deletes title, then disposes of the window and any subviews by calling the parent destructor(s). </td>
+ </tr>
+</table>
+<a name="b0" doxytag="TWindow::TWindow"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TWindow::TWindow </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a14">StreamableInit</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Each streamable class needs a "builder" to allocate the correct memory for its objects together with the initialized virtual table pointers. This is achieved by calling this constructor with an argument of type <a class="el" href="ttypes_8h.html#a14">StreamableInit</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="d1" doxytag="TWindow::build"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStreamable.html">TStreamable</a>* TWindow::build </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called to create an object in certain stream-reading situations.
+<p>
+Reimplemented from <a class="el" href="classTGroup.html#d0">TGroup</a>.
+<p>
+Reimplemented in <a class="el" href="classTColorDialog.html#d0">TColorDialog</a>, <a class="el" href="classTDialog.html#d0">TDialog</a>, <a class="el" href="classTEditWindow.html#d0">TEditWindow</a>, <a class="el" href="classTFileDialog.html#d0">TFileDialog</a>, and <a class="el" href="classTChDirDialog.html#d0">TChDirDialog</a>. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="TWindow::close"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TWindow::close </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Calls valid(cmClose); if True is returned, the calling window is deleted. <dl compact><dt><b>See also: </b></dt><dd>
+TGroup::Valid </dl>
+<p>
+Reimplemented in <a class="el" href="classTEditWindow.html#a1">TEditWindow</a>. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="TWindow::getPalette"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="classTPalette.html">TPalette</a>&amp; TWindow::getPalette </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the palette string given by the palette index in the palette data member.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a46">TView</a>.
+<p>
+Reimplemented in <a class="el" href="classTDialog.html#a1">TDialog</a>, <a class="el" href="classTHistoryWindow.html#a1">THistoryWindow</a>, and <a class="el" href="classTHelpWindow.html#a1">THelpWindow</a>. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="TWindow::getTitle"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual const char* TWindow::getTitle </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">short&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>maxSize</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns title data member, the window's title string.
+<p>
+Reimplemented in <a class="el" href="classTEditWindow.html#a2">TEditWindow</a>. </td>
+ </tr>
+</table>
+<a name="a5" doxytag="TWindow::handleEvent"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TWindow::handleEvent </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="structTEvent.html">TEvent</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>event</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+First calls <a class="el" href="classTGroup.html#a23">TGroup::handleEvent()</a>, and then handles events specific to a TWindow as follows:
+<p>
+<ol>
+<li>The following <a class="el" href="system_8h.html#a5">evCommand</a> events are handled if the flags data member permits that operation:<ul>
+<li>cmResize (move or resize the window using the <a class="el" href="classTView.html#a9">dragView()</a> member function);<li>cmClose (close the window by creating a cmCancel event);<li>cmZoom (zoom the window using the <a class="el" href="classTWindow.html#a9">zoom()</a> member function).</ul>
+<li><a class="el" href="system_8h.html#a4">evKeyDown</a> events with a keyCode value of kbTab or kbShiftTab are handled by selecting the next or previous selectable subview (if any).<li>An <a class="el" href="system_8h.html#a6">evBroadcast</a> event with a command value of cmSelectWindowNum is handled by selecting the window if the `event.infoInt' data member is equal to number data member. </ol>
+
+<p>
+Reimplemented from <a class="el" href="classTGroup.html#a23">TGroup</a>.
+<p>
+Reimplemented in <a class="el" href="classTColorDialog.html#a4">TColorDialog</a>, <a class="el" href="classTDialog.html#a2">TDialog</a>, <a class="el" href="classTEditWindow.html#a3">TEditWindow</a>, <a class="el" href="classTFileDialog.html#a4">TFileDialog</a>, and <a class="el" href="classTChDirDialog.html#a3">TChDirDialog</a>. </td>
+ </tr>
+</table>
+<a name="d0" doxytag="TWindow::initFrame"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTFrame.html">TFrame</a>* TWindow::initFrame </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTRect.html">TRect</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a <a class="el" href="classTFrame.html">TFrame</a> object for the window and stores a pointer to the frame in the frame data member. TWindow constructor calls <a class="el" href="classTWindow.html#d0">initFrame()</a>; it should never be called directly. You can override <a class="el" href="classTWindow.html#d0">initFrame()</a> to instantiate a user-defined class derived from <a class="el" href="classTFrame.html">TFrame</a> instead of the standard <a class="el" href="classTFrame.html">TFrame</a>.
+<p>
+Referenced by <a class="el" href="stddlg_8h-source.html#l01451">TChDirDialog::TChDirDialog()</a>, and <a class="el" href="stddlg_8h-source.html#l00888">TFileDialog::TFileDialog()</a>. </td>
+ </tr>
+</table>
+<a name="b2" doxytag="TWindow::read"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void* TWindow::read </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>is</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Reads from the input stream `is'.
+<p>
+Reimplemented from <a class="el" href="classTGroup.html#b2">TGroup</a>.
+<p>
+Reimplemented in <a class="el" href="classTColorDialog.html#b2">TColorDialog</a>, <a class="el" href="classTEditWindow.html#b2">TEditWindow</a>, <a class="el" href="classTFileDialog.html#b2">TFileDialog</a>, and <a class="el" href="classTChDirDialog.html#b2">TChDirDialog</a>. </td>
+ </tr>
+</table>
+<a name="a6" doxytag="TWindow::setState"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TWindow::setState </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aState</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>enable</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+First calls TGroup::setState(aState, enable). Then, if `aState' is equal to <a class="el" href="views_8h.html#a31">sfSelected</a>, activates or deactivates the window and all its subviews using a call to setState(sfActive, enable), and calls <a class="el" href="classTView.html#d2">enableCommands()</a> or <a class="el" href="classTView.html#d1">disableCommands()</a> for cmNext, cmPrev, cmResize, cmClose and cmZoom. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTGroup.html#a22">TGroup::setState</a> , <a class="el" href="classTView.html#m4">TView::state</a> </dl>
+<p>
+Reimplemented from <a class="el" href="classTGroup.html#a22">TGroup</a>. </td>
+ </tr>
+</table>
+<a name="a10" doxytag="TWindow::shutDown"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TWindow::shutDown </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Used internally by <a class="el" href="classTObject.html#d0">TObject::destroy()</a> to ensure correct destruction of derived and related objects. <a class="el" href="classTWindow.html#a10">shutDown()</a> is overridden in many classes to ensure the proper setting of related data members when <a class="el" href="classTObject.html#d0">destroy()</a> is called.
+<p>
+Reimplemented from <a class="el" href="classTGroup.html#a2">TGroup</a>.
+<p>
+Reimplemented in <a class="el" href="classTFileDialog.html#a7">TFileDialog</a>, and <a class="el" href="classTChDirDialog.html#a6">TChDirDialog</a>. </td>
+ </tr>
+</table>
+<a name="a7" doxytag="TWindow::sizeLimits"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TWindow::sizeLimits </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTPoint.html">TPoint</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>min</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTPoint.html">TPoint</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>max</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Overrides <a class="el" href="classTView.html#a2">TView::sizeLimits()</a>. First calls TView::sizeLimits(min, max) and then changes `min' to the minimum window size, minWinSize, a <a class="el" href="classTPoint.html">TPoint</a> constant defined at the head of file `TWindow.cc'. minWinSize is currently set to (16, 6).
+<p>
+minWinSize defines the minimum size of a TWindow or of any class derived from TWindow. Any change to minWinSize affects all windows, unless a window's <a class="el" href="classTWindow.html#a7">sizeLimits()</a> member function is overridden.
+<p>
+Reimplemented from <a class="el" href="classTView.html#a2">TView</a>.
+<p>
+Reimplemented in <a class="el" href="classTEditWindow.html#a4">TEditWindow</a>. </td>
+ </tr>
+</table>
+<a name="a8" doxytag="TWindow::standardScrollBar"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTScrollBar.html">TScrollBar</a>* TWindow::standardScrollBar </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>aOptions</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates, inserts, and returns a pointer to a "standard" scroll bar for the window. "Standard" means the scroll bar fits onto the frame of the window without covering the corners or the resize icon.
+<p>
+The `aOptions' parameter can be either <a class="el" href="views_8h.html#a75">sbHorizontal</a> to produce a horizontal scroll bar along the bottom of the window or <a class="el" href="views_8h.html#a76">sbVertical</a> to produce a vertical scroll bar along the right side of the window.
+<p>
+Either may be combined with <a class="el" href="views_8h.html#a77">sbHandleKeyboard</a> to allow the scroll bar to respond to arrows and page keys from the keyboard in addition to mouse clicks.
+<p>
+The following values can be passed to <a class="el" href="classTWindow.html#a8">standardScrollBar()</a>:
+<p>
+<pre>
+ Constant Value Meaning
+
+ <a class="el" href="views_8h.html#a75">sbHorizontal</a> 0x0000 Scroll bar is horizontal
+ <a class="el" href="views_8h.html#a76">sbVertical</a> 0x0001 Scroll bar is vertical
+ <a class="el" href="views_8h.html#a77">sbHandleKeyboard</a> 0x0002 Scroll bar responds to keyboard commands
+ </pre> </td>
+ </tr>
+</table>
+<a name="b1" doxytag="TWindow::write"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TWindow::write </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>os</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Writes to the output stream `os'.
+<p>
+Reimplemented from <a class="el" href="classTGroup.html#b1">TGroup</a>.
+<p>
+Reimplemented in <a class="el" href="classTColorDialog.html#b1">TColorDialog</a>, <a class="el" href="classTEditWindow.html#b1">TEditWindow</a>, <a class="el" href="classTFileDialog.html#b1">TFileDialog</a>, and <a class="el" href="classTChDirDialog.html#b1">TChDirDialog</a>. </td>
+ </tr>
+</table>
+<a name="a9" doxytag="TWindow::zoom"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void TWindow::zoom </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Zooms the calling window. This member function is usually called in response to a cmZoom command (triggered by a click on the zoom icon). <a class="el" href="classTWindow.html#a9">zoom()</a> takes into account the relative sizes of the calling window and its owner, and the value of <a class="el" href="classTWindow.html#m1">zoomRect</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="m0" doxytag="TWindow::flags"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a1">uchar</a> TWindow::flags
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The flags data member contains a combination of mnemonics constants that define bits. If the bits are set, the window will have the corresponding attribute: the window can move, grow, close or zoom.
+<p>
+The window flags are defined as follows:
+<p>
+<pre>
+ Constant Value Meaning
+
+ <a class="el" href="views_8h.html#a78">wfMove</a> 0x01 Window can be moved
+
+ <a class="el" href="views_8h.html#a79">wfGrow</a> 0x02 Window can be resized and has a grow icon in the
+ lower-right corner
+
+ <a class="el" href="views_8h.html#a80">wfClose</a> 0x04 Window frame has a close icon that can be mouse-clicked
+ to close the window
+
+ <a class="el" href="views_8h.html#a81">wfZoom</a> 0x08 Window frame has a zoom icon that can be mouse-clicked
+ to zoom the window
+ </pre>
+<p>
+If a particular bit is set, the corresponding property is enabled; otherwise that property is disabled.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l03604">3604</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="m4" doxytag="TWindow::frame"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTFrame.html">TFrame</a>* TWindow::frame
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Pointer to this window's associated <a class="el" href="classTFrame.html">TFrame</a> object.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l03635">3635</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="p0" doxytag="TWindow::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* const TWindow::name<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Reimplemented from <a class="el" href="classTGroup.html#p0">TGroup</a>.
+<p>
+Reimplemented in <a class="el" href="classTColorDialog.html#p0">TColorDialog</a>, <a class="el" href="classTDialog.html#p0">TDialog</a>, <a class="el" href="classTEditWindow.html#p0">TEditWindow</a>, <a class="el" href="classTFileDialog.html#p0">TFileDialog</a>, and <a class="el" href="classTChDirDialog.html#p0">TChDirDialog</a>.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l03664">3664</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="m2" doxytag="TWindow::number"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> short TWindow::number
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The number assigned to this window. If number is between 1 and 9, the number will appear in the frame title, and the window can be selected with the Alt-n keys (n = 1 to 9).
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l03614">3614</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="m3" doxytag="TWindow::palette"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> short TWindow::palette
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Specifies which palette the window is to use: <a class="el" href="views_8h.html#a90">wpBlueWindow</a>, <a class="el" href="views_8h.html#a91">wpCyanWindow</a> or <a class="el" href="views_8h.html#a92">wpGrayWindow</a>. These constants define the three standard color mapping assignments for windows:
+<p>
+<pre>
+ Constant Value Meaning
+
+ <a class="el" href="views_8h.html#a90">wpBlueWindow</a> 0 Window text is yellow on blue
+ <a class="el" href="views_8h.html#a91">wpCyanWindow</a> 1 Window text is blue on cyan
+ <a class="el" href="views_8h.html#a92">wpGrayWindow</a> 2 Window text is black on gray
+ </pre>
+<p>
+By default, the TWindow palette is <a class="el" href="views_8h.html#a90">wpBlueWindow</a>. The default for <a class="el" href="classTDialog.html">TDialog</a> objects is <a class="el" href="views_8h.html#a92">wpGrayWindow</a>.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l03631">3631</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="m5" doxytag="TWindow::title"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* TWindow::title
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+A character string giving the (optional) title that appears on the frame.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l03640">3640</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="m1" doxytag="TWindow::zoomRect"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTRect.html">TRect</a> TWindow::zoomRect
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The normal, unzoomed boundary of the window.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l03608">3608</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="views_8h-source.html">views.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:18 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTWindow.png b/freebsdtvision/doc/html/classTWindow.png
new file mode 100644
index 0000000..d9032ac
--- /dev/null
+++ b/freebsdtvision/doc/html/classTWindow.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTWindowInit-members.html b/freebsdtvision/doc/html/classTWindowInit-members.html
new file mode 100644
index 0000000..77059ac
--- /dev/null
+++ b/freebsdtvision/doc/html/classTWindowInit-members.html
@@ -0,0 +1,17 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TWindowInit Member List</h1>This is the complete list of members for <a class="el" href="classTWindowInit.html">TWindowInit</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindowInit.html#n0">createFrame</a></td><td><a class="el" href="classTWindowInit.html">TWindowInit</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTWindowInit.html#a0">TWindowInit</a>(TFrame *(*cFrame)(TRect bounds))</td><td><a class="el" href="classTWindowInit.html">TWindowInit</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:18 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTWindowInit.html b/freebsdtvision/doc/html/classTWindowInit.html
new file mode 100644
index 0000000..f60f4fb
--- /dev/null
+++ b/freebsdtvision/doc/html/classTWindowInit.html
@@ -0,0 +1,102 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TWindowInit class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TWindowInit Class Reference</h1>Virtual base class for <a class="el" href="classTWindow.html">TWindow</a>.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="views_8h-source.html">views.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for TWindowInit:
+<p><center><img src="classTWindowInit.png" usemap="#TWindowInit_map" border="0" alt=""></center>
+<map name="TWindowInit_map">
+<area href="classTWindow.html" alt="TWindow" shape="rect" coords="282,56,385,80">
+<area href="classTDialog.html" alt="TDialog" shape="rect" coords="113,112,216,136">
+<area href="classTEditWindow.html" alt="TEditWindow" shape="rect" coords="226,112,329,136">
+<area href="classTHelpWindow.html" alt="THelpWindow" shape="rect" coords="339,112,442,136">
+<area href="classTHistoryWindow.html" alt="THistoryWindow" shape="rect" coords="452,112,555,136">
+<area href="classTChDirDialog.html" alt="TChDirDialog" shape="rect" coords="0,168,103,192">
+<area href="classTColorDialog.html" alt="TColorDialog" shape="rect" coords="113,168,216,192">
+<area href="classTFileDialog.html" alt="TFileDialog" shape="rect" coords="226,168,329,192">
+</map>
+<a href="classTWindowInit-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTWindowInit.html#a0">TWindowInit</a> (<a class="el" href="classTFrame.html">TFrame</a> *(*cFrame)(<a class="el" href="classTRect.html">TRect</a> bounds))</td></tr>
+<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTFrame.html">TFrame</a> *(*&nbsp;</td><td valign=bottom><a class="el" href="classTWindowInit.html#n0">createFrame</a> )(<a class="el" href="classTRect.html">TRect</a> bounds)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<a class="el" href="classTWindow.html">TWindow</a> inherits multiply from <a class="el" href="classTGroup.html">TGroup</a> and the virtual base class TWindowInit.
+<p>
+TWindowInit provides a constructor and <a class="el" href="classTWindowInit.html#n0">TWindowInit::createFrame()</a> member function used in creating and inserting a frame object. A similar technique is used for <a class="el" href="classTProgram.html">TProgram</a>, <a class="el" href="classTHistoryWindow.html">THistoryWindow</a> and <a class="el" href="classTDeskTop.html">TDeskTop</a>.
+<p>
+
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l03392">3392</a> of file <a class="el" href="views_8h-source.html">views.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TWindowInit::TWindowInit"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TWindowInit::TWindowInit </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTFrame.html">TFrame</a> *(*&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>cFrame</em>)(<a class="el" href="classTRect.html">TRect</a> bounds) </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This constructor takes a function address argument, usually &amp;<a class="el" href="classTWindow.html#d0">TWindow::initFrame</a>. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTWindow.html#d0">TWindow::initFrame</a></dl>Note: the <a class="el" href="classTWindow.html">TWindow</a> constructor invokes <a class="el" href="classTGroup.html">TGroup</a> constructor and TWindowInit(&amp;initFrame) to create a window object of size `bounds' and associated frame. The latter is inserted in the window group object. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTGroup.html#a0">TGroup::TGroup</a> , <a class="el" href="classTWindow.html#a0">TWindow::TWindow</a> </dl> </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="n0" doxytag="TWindowInit::createFrame"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTFrame.html">TFrame</a>*(* TWindowInit::createFrame)( <a class="el" href="classTRect.html">TRect</a> bounds )<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called by the TWindowInit constructor to create a <a class="el" href="classTFrame.html">TFrame</a> object with the given bounds and return a pointer to it. A 0 pointer indicates lack of success in this endeavor. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="views_8h-source.html">views.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:18 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTWindowInit.png b/freebsdtvision/doc/html/classTWindowInit.png
new file mode 100644
index 0000000..d5793ae
--- /dev/null
+++ b/freebsdtvision/doc/html/classTWindowInit.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classTerminalBuf-members.html b/freebsdtvision/doc/html/classTerminalBuf-members.html
new file mode 100644
index 0000000..f862eaf
--- /dev/null
+++ b/freebsdtvision/doc/html/classTerminalBuf-members.html
@@ -0,0 +1,19 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TerminalBuf Member List</h1>This is the complete list of members for <a class="el" href="classTerminalBuf.html">TerminalBuf</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTerminalBuf.html#a1">overflow</a>(int c=EOF)</td><td><a class="el" href="classTerminalBuf.html">TerminalBuf</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTerminalBuf.html#a2">sync</a>()</td><td><a class="el" href="classTerminalBuf.html">TerminalBuf</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTerminalBuf.html#n0">term</a></td><td><a class="el" href="classTerminalBuf.html">TerminalBuf</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classTerminalBuf.html#a0">TerminalBuf</a>(TTerminal *tt)</td><td><a class="el" href="classTerminalBuf.html">TerminalBuf</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:13 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classTerminalBuf.html b/freebsdtvision/doc/html/classTerminalBuf.html
new file mode 100644
index 0000000..477aa4e
--- /dev/null
+++ b/freebsdtvision/doc/html/classTerminalBuf.html
@@ -0,0 +1,149 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TerminalBuf class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TerminalBuf Class Reference</h1><code>#include &lt;<a class="el" href="textview_8h-source.html">textview.h</a>&gt;</code>
+<p>
+<a href="classTerminalBuf-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTerminalBuf.html#a0">TerminalBuf</a> (<a class="el" href="classTTerminal.html">TTerminal</a> *tt)</td></tr>
+<tr><td nowrap align=right valign=top>virtual int&nbsp;</td><td valign=bottom><a class="el" href="classTerminalBuf.html#a1">overflow</a> (int c=EOF)</td></tr>
+<tr><td nowrap align=right valign=top>virtual int&nbsp;</td><td valign=bottom><a class="el" href="classTerminalBuf.html#a2">sync</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTTerminal.html">TTerminal</a> *&nbsp;</td><td valign=bottom><a class="el" href="classTerminalBuf.html#n0">term</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Undocumented.
+<p>
+
+<p>
+Definition at line <a class="el" href="textview_8h-source.html#l00178">178</a> of file <a class="el" href="textview_8h-source.html">textview.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TerminalBuf::TerminalBuf"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TerminalBuf::TerminalBuf </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTTerminal.html">TTerminal</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>tt</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="a1" doxytag="TerminalBuf::overflow"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual int TerminalBuf::overflow </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>c</em> = EOF </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Overrides the corresponding function in class streambuf.
+<p>
+When the internal buffer in a streambuf is full and the iostream associated with that streambuf tries to put another character into the buffer, <a class="el" href="classTerminalBuf.html#a1">overflow()</a> is called. Its argument `c' is the character that caused the overflow.
+<p>
+In TerminalBuf the underlying streambuf has no buffer, so every character results in an <a class="el" href="classTerminalBuf.html#a1">overflow()</a> call. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="TerminalBuf::sync"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual int TerminalBuf::sync </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="n0" doxytag="TerminalBuf::term"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTTerminal.html">TTerminal</a>* TerminalBuf::term<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="textview_8h-source.html#l00184">184</a> of file <a class="el" href="textview_8h-source.html">textview.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="textview_8h-source.html">textview.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:13 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classes.html b/freebsdtvision/doc/html/classes.html
new file mode 100644
index 0000000..4d790d8
--- /dev/null
+++ b/freebsdtvision/doc/html/classes.html
@@ -0,0 +1,55 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Alphabetical index</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TVision Compound Index</h1><table align=center width="95%" border="0" cellspacing="0" cellpadding="0">
+<tr><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;A&nbsp;&nbsp;</td></tr></table></td><td><a class="el" href="classTFileDialog.html">TFileDialog</a>&nbsp;&nbsp;&nbsp;</td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;M&nbsp;&nbsp;</td></tr></table></td><td><a class="el" href="classTRadioButtons.html">TRadioButtons</a>&nbsp;&nbsp;&nbsp;</td></tr>
+<tr><td><a class="el" href="classTApplication.html">TApplication</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTFileEditor.html">TFileEditor</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTMemo.html">TMemo</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTRangeValidator.html">TRangeValidator</a>&nbsp;&nbsp;&nbsp;</td></tr>
+<tr><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;B&nbsp;&nbsp;</td></tr></table></td><td><a class="el" href="classTFileInfoPane.html">TFileInfoPane</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structTMemoData.html">TMemoData</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTRect.html">TRect</a>&nbsp;&nbsp;&nbsp;</td></tr>
+<tr><td><a class="el" href="classTBackground.html">TBackground</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTFileInputLine.html">TFileInputLine</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTMenu.html">TMenu</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structTReplaceDialogRec.html">TReplaceDialogRec</a>&nbsp;&nbsp;&nbsp;</td></tr>
+<tr><td><a class="el" href="classTBufListEntry.html">TBufListEntry</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTFileList.html">TFileList</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTMenuBar.html">TMenuBar</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTResourceCollection.html">TResourceCollection</a>&nbsp;&nbsp;&nbsp;</td></tr>
+<tr><td><a class="el" href="classTButton.html">TButton</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTFilterValidator.html">TFilterValidator</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTMenuBox.html">TMenuBox</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTResourceFile.html">TResourceFile</a>&nbsp;&nbsp;&nbsp;</td></tr>
+<tr><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;C&nbsp;&nbsp;</td></tr></table></td><td><a class="el" href="structTFindDialogRec.html">TFindDialogRec</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTMenuItem.html">TMenuItem</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structTResourceItem.html">TResourceItem</a>&nbsp;&nbsp;&nbsp;</td></tr>
+<tr><td><a class="el" href="structCharScanType.html">CharScanType</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structfLink.html">fLink</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTMenuPopup.html">TMenuPopup</a>&nbsp;&nbsp;&nbsp;</td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;S&nbsp;&nbsp;</td></tr></table></td></tr>
+<tr><td><a class="el" href="classTChDirDialog.html">TChDirDialog</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classfpbase.html">fpbase</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTMenuView.html">TMenuView</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTScreen.html">TScreen</a>&nbsp;&nbsp;&nbsp;</td></tr>
+<tr><td><a class="el" href="classTCheckBoxes.html">TCheckBoxes</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classfpstream.html">fpstream</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structMessageEvent.html">MessageEvent</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTScrollBar.html">TScrollBar</a>&nbsp;&nbsp;&nbsp;</td></tr>
+<tr><td><a class="el" href="classTCluster.html">TCluster</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTFrame.html">TFrame</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTMonoSelector.html">TMonoSelector</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTScroller.html">TScroller</a>&nbsp;&nbsp;&nbsp;</td></tr>
+<tr><td><a class="el" href="classTCollection.html">TCollection</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structftime.html">ftime</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structMouseEventType.html">MouseEventType</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structTSearchRec.html">TSearchRec</a>&nbsp;&nbsp;&nbsp;</td></tr>
+<tr><td><a class="el" href="classTColorDialog.html">TColorDialog</a>&nbsp;&nbsp;&nbsp;</td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;G&nbsp;&nbsp;</td></tr></table></td><td><a class="el" href="classMsgBoxText.html">MsgBoxText</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTSItem.html">TSItem</a>&nbsp;&nbsp;&nbsp;</td></tr>
+<tr><td><a class="el" href="classTColorDisplay.html">TColorDisplay</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTGroup.html">TGroup</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTMultiCheckBoxes.html">TMultiCheckBoxes</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTSortedCollection.html">TSortedCollection</a>&nbsp;&nbsp;&nbsp;</td></tr>
+<tr><td><a class="el" href="classTColorGroup.html">TColorGroup</a>&nbsp;&nbsp;&nbsp;</td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;H&nbsp;&nbsp;</td></tr></table></td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;N&nbsp;&nbsp;</td></tr></table></td><td><a class="el" href="classTSortedListBox.html">TSortedListBox</a>&nbsp;&nbsp;&nbsp;</td></tr>
+<tr><td><a class="el" href="classTColorGroupList.html">TColorGroupList</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTHelpFile.html">THelpFile</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTNode.html">TNode</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTStaticText.html">TStaticText</a>&nbsp;&nbsp;&nbsp;</td></tr>
+<tr><td><a class="el" href="classTColorIndex.html">TColorIndex</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTHelpIndex.html">THelpIndex</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTNSCollection.html">TNSCollection</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTStatusDef.html">TStatusDef</a>&nbsp;&nbsp;&nbsp;</td></tr>
+<tr><td><a class="el" href="classTColorItem.html">TColorItem</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTHelpTopic.html">THelpTopic</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTNSSortedCollection.html">TNSSortedCollection</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTStatusItem.html">TStatusItem</a>&nbsp;&nbsp;&nbsp;</td></tr>
+<tr><td><a class="el" href="classTColorItemList.html">TColorItemList</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTHelpViewer.html">THelpViewer</a>&nbsp;&nbsp;&nbsp;</td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;O&nbsp;&nbsp;</td></tr></table></td><td><a class="el" href="classTStatusLine.html">TStatusLine</a>&nbsp;&nbsp;&nbsp;</td></tr>
+<tr><td><a class="el" href="classTColorSelector.html">TColorSelector</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTHelpWindow.html">THelpWindow</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTObject.html">TObject</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTStreamable.html">TStreamable</a>&nbsp;&nbsp;&nbsp;</td></tr>
+<tr><td><a class="el" href="classTCommandSet.html">TCommandSet</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTHistInit.html">THistInit</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classofpstream.html">ofpstream</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTStreamableClass.html">TStreamableClass</a>&nbsp;&nbsp;&nbsp;</td></tr>
+<tr><td><a class="el" href="classTCrossRef.html">TCrossRef</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTHistory.html">THistory</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classopstream.html">opstream</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTStreamableTypes.html">TStreamableTypes</a>&nbsp;&nbsp;&nbsp;</td></tr>
+<tr><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;D&nbsp;&nbsp;</td></tr></table></td><td><a class="el" href="classTHistoryViewer.html">THistoryViewer</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classotstream.html">otstream</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTStrIndexRec.html">TStrIndexRec</a>&nbsp;&nbsp;&nbsp;</td></tr>
+<tr><td><a class="el" href="classTDeskInit.html">TDeskInit</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTHistoryWindow.html">THistoryWindow</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTOutline.html">TOutline</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTStringCollection.html">TStringCollection</a>&nbsp;&nbsp;&nbsp;</td></tr>
+<tr><td><a class="el" href="classTDeskTop.html">TDeskTop</a>&nbsp;&nbsp;&nbsp;</td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;I&nbsp;&nbsp;</td></tr></table></td><td><a class="el" href="classTOutlineViewer.html">TOutlineViewer</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTStringList.html">TStringList</a>&nbsp;&nbsp;&nbsp;</td></tr>
+<tr><td><a class="el" href="classTDialog.html">TDialog</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classifpstream.html">ifpstream</a>&nbsp;&nbsp;&nbsp;</td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;P&nbsp;&nbsp;</td></tr></table></td><td><a class="el" href="classTStringLookupValidator.html">TStringLookupValidator</a>&nbsp;&nbsp;&nbsp;</td></tr>
+<tr><td><a class="el" href="classTDirCollection.html">TDirCollection</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTIndicator.html">TIndicator</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTPalette.html">TPalette</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTStrListMaker.html">TStrListMaker</a>&nbsp;&nbsp;&nbsp;</td></tr>
+<tr><td><a class="el" href="classTDirEntry.html">TDirEntry</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTInputLine.html">TInputLine</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTParagraph.html">TParagraph</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTSubMenu.html">TSubMenu</a>&nbsp;&nbsp;&nbsp;</td></tr>
+<tr><td><a class="el" href="classTDirListBox.html">TDirListBox</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classiopstream.html">iopstream</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTParamText.html">TParamText</a>&nbsp;&nbsp;&nbsp;</td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;T&nbsp;&nbsp;</td></tr></table></td></tr>
+<tr><td><a class="el" href="classTDisplay.html">TDisplay</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classipstream.html">ipstream</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTPoint.html">TPoint</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTTerminal.html">TTerminal</a>&nbsp;&nbsp;&nbsp;</td></tr>
+<tr><td><a class="el" href="classTDrawBuffer.html">TDrawBuffer</a>&nbsp;&nbsp;&nbsp;</td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;K&nbsp;&nbsp;</td></tr></table></td><td><a class="el" href="classTPReadObjects.html">TPReadObjects</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTTextDevice.html">TTextDevice</a>&nbsp;&nbsp;&nbsp;</td></tr>
+<tr><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;E&nbsp;&nbsp;</td></tr></table></td><td><a class="el" href="structKeyDownEvent.html">KeyDownEvent</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTProgInit.html">TProgInit</a>&nbsp;&nbsp;&nbsp;</td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;V&nbsp;&nbsp;</td></tr></table></td></tr>
+<tr><td><a class="el" href="classTEditor.html">TEditor</a>&nbsp;&nbsp;&nbsp;</td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;L&nbsp;&nbsp;</td></tr></table></td><td><a class="el" href="classTProgram.html">TProgram</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTValidator.html">TValidator</a>&nbsp;&nbsp;&nbsp;</td></tr>
+<tr><td><a class="el" href="classTEditWindow.html">TEditWindow</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTLabel.html">TLabel</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classpstream.html">pstream</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTView.html">TView</a>&nbsp;&nbsp;&nbsp;</td></tr>
+<tr><td><a class="el" href="classTerminalBuf.html">TerminalBuf</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTListBox.html">TListBox</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTPWObj.html">TPWObj</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTVMemMgr.html">TVMemMgr</a>&nbsp;&nbsp;&nbsp;</td></tr>
+<tr><td><a class="el" href="structTEvent.html">TEvent</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structTListBoxRec.html">TListBoxRec</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTPWrittenObjects.html">TPWrittenObjects</a>&nbsp;&nbsp;&nbsp;</td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;W&nbsp;&nbsp;</td></tr></table></td></tr>
+<tr><td><a class="el" href="classTEventQueue.html">TEventQueue</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTListViewer.html">TListViewer</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTPXPictureValidator.html">TPXPictureValidator</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTWindow.html">TWindow</a>&nbsp;&nbsp;&nbsp;</td></tr>
+<tr><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;F&nbsp;&nbsp;</td></tr></table></td><td><a class="el" href="classTLookupValidator.html">TLookupValidator</a>&nbsp;&nbsp;&nbsp;</td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;R&nbsp;&nbsp;</td></tr></table></td><td><a class="el" href="classTWindowInit.html">TWindowInit</a>&nbsp;&nbsp;&nbsp;</td></tr>
+<tr><td><a class="el" href="classTFileCollection.html">TFileCollection</a>&nbsp;&nbsp;&nbsp;</td></tr>
+</table>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:11 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classfpbase-members.html b/freebsdtvision/doc/html/classfpbase-members.html
new file mode 100644
index 0000000..69701c8
--- /dev/null
+++ b/freebsdtvision/doc/html/classfpbase-members.html
@@ -0,0 +1,53 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>fpbase Member List</h1>This is the complete list of members for <a class="el" href="classfpbase.html">fpbase</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classfpbase.html#a6">attach</a>(int f)</td><td><a class="el" href="classfpbase.html">fpbase</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a5">bad</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#n0">bp</a></td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a7">clear</a>(int sState=0)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classfpbase.html#a7">close</a>()</td><td><a class="el" href="classfpbase.html">fpbase</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a3">eof</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a11">error</a>(StreamableError)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a12">error</a>(StreamableError, const TStreamable &amp;)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a4">fail</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classfpbase.html#a0">fpbase</a>()</td><td><a class="el" href="classfpbase.html">fpbase</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classfpbase.html#a1">fpbase</a>(const char *name, int omode, int prot=filebuf::openprot)</td><td><a class="el" href="classfpbase.html">fpbase</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classfpbase.html#a2">fpbase</a>(int f)</td><td><a class="el" href="classfpbase.html">fpbase</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classfpbase.html#a3">fpbase</a>(int f, char *b, int len)</td><td><a class="el" href="classfpbase.html">fpbase</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a6">good</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#b1">init</a>(streambuf *sbp)</td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#d0">initTypes</a>()</td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classfpbase.html#a5">open</a>(const char *name, int omode, int prot=filebuf::openprot)</td><td><a class="el" href="classfpbase.html">fpbase</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a8">operator void *</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a9">operator!</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>peInvalidType</b> enum value (defined in <a class="el" href="classpstream.html">pstream</a>)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>peNotRegistered</b> enum value (defined in <a class="el" href="classpstream.html">pstream</a>)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#s6">PointerTypes</a> enum name</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a0">pstream</a>(streambuf *buf)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#b0">pstream</a>()</td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>ptIndexed</b> enum value (defined in <a class="el" href="classpstream.html">pstream</a>)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>ptNull</b> enum value (defined in <a class="el" href="classpstream.html">pstream</a>)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>ptObject</b> enum value (defined in <a class="el" href="classpstream.html">pstream</a>)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classfpbase.html#a9">rdbuf</a>()</td><td><a class="el" href="classfpbase.html">fpbase</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a10">pstream::rdbuf</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a2">rdstate</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#d1">registerType</a>(TStreamableClass *ts)</td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classfpbase.html#a8">setbuf</a>(char *buf, int len)</td><td><a class="el" href="classfpbase.html">fpbase</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#b2">setstate</a>(int b)</td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#n1">state</a></td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#s5">StreamableError</a> enum name</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#q0">types</a></td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [protected, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classfpbase.html#a4">~fpbase</a>()</td><td><a class="el" href="classfpbase.html">fpbase</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a1">~pstream</a>()</td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [virtual]</code></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:13 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classfpbase.html b/freebsdtvision/doc/html/classfpbase.html
new file mode 100644
index 0000000..233bcbf
--- /dev/null
+++ b/freebsdtvision/doc/html/classfpbase.html
@@ -0,0 +1,394 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>fpbase class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>fpbase Class Reference</h1>Base class for handling streamable objects on file streams.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="tobjstrm_8h-source.html">tobjstrm.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for fpbase:
+<p><center><img src="classfpbase.png" usemap="#fpbase_map" border="0" alt=""></center>
+<map name="fpbase_map">
+<area href="classpstream.html" alt="pstream" shape="rect" coords="77,0,144,24">
+<area href="classfpstream.html" alt="fpstream" shape="rect" coords="0,112,67,136">
+<area href="classifpstream.html" alt="ifpstream" shape="rect" coords="77,112,144,136">
+<area href="classofpstream.html" alt="ofpstream" shape="rect" coords="154,112,221,136">
+</map>
+<a href="classfpbase-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classfpbase.html#a0">fpbase</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classfpbase.html#a1">fpbase</a> (const char *name, int omode, int prot=filebuf::openprot)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classfpbase.html#a2">fpbase</a> (int f)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classfpbase.html#a3">fpbase</a> (int f, char *b, int len)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classfpbase.html#a4">~fpbase</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classfpbase.html#a5">open</a> (const char *name, int omode, int prot=filebuf::openprot)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classfpbase.html#a6">attach</a> (int f)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classfpbase.html#a7">close</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classfpbase.html#a8">setbuf</a> (char *buf, int len)</td></tr>
+<tr><td nowrap align=right valign=top>filebuf *&nbsp;</td><td valign=bottom><a class="el" href="classfpbase.html#a9">rdbuf</a> ()</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+fpbase provides the basic operations common to all object file stream I/O.
+<p>
+
+<p>
+Definition at line <a class="el" href="tobjstrm_8h-source.html#l00959">959</a> of file <a class="el" href="tobjstrm_8h-source.html">tobjstrm.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="fpbase::fpbase"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> fpbase::fpbase </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a buffered fpbase object. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="fpbase::fpbase"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> fpbase::fpbase </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>name</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>omode</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>prot</em> = filebuf::openprot</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a buffered fpbase object. You can open a file and attach it to the stream by specifying the `name', `omode', and `prot' (protection) arguments. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="fpbase::fpbase"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> fpbase::fpbase </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>f</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a buffered fpbase object. You can open a file and attach it to the stream by specifying the file descriptor, `f'. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="fpbase::fpbase"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> fpbase::fpbase </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>f</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>b</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>len</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a buffered fpbase object. You can set the size and initial contents of the buffer with the `len' and `b' arguments. You can open a file and attach it to the stream by specifying the file descriptor, `f'. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="fpbase::~fpbase"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> fpbase::~fpbase </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Destroys the fpbase object. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="a6" doxytag="fpbase::attach"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void fpbase::attach </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>f</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Attaches the file with descriptor `f' to this stream if possible. </td>
+ </tr>
+</table>
+<a name="a7" doxytag="fpbase::close"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void fpbase::close </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Closes the stream and associated file. </td>
+ </tr>
+</table>
+<a name="a5" doxytag="fpbase::open"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void fpbase::open </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>name</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>omode</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>prot</em> = filebuf::openprot</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Opens the named file in the given mode (app, ate, in, out, binary, trunc, nocreate, noreplace) and protection. The opened file is attached to this stream.
+<p>
+Reimplemented in <a class="el" href="classifpstream.html#a6">ifpstream</a>, <a class="el" href="classofpstream.html#a6">ofpstream</a>, and <a class="el" href="classfpstream.html#a6">fpstream</a>. </td>
+ </tr>
+</table>
+<a name="a9" doxytag="fpbase::rdbuf"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> filebuf* fpbase::rdbuf </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns a pointer to the current file buffer.
+<p>
+Reimplemented in <a class="el" href="classifpstream.html#a5">ifpstream</a>, <a class="el" href="classofpstream.html#a5">ofpstream</a>, and <a class="el" href="classfpstream.html#a5">fpstream</a>. </td>
+ </tr>
+</table>
+<a name="a8" doxytag="fpbase::setbuf"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void fpbase::setbuf </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>buf</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>len</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Allocates a buffer of size `len'. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="tobjstrm_8h-source.html">tobjstrm.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:13 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classfpbase.png b/freebsdtvision/doc/html/classfpbase.png
new file mode 100644
index 0000000..6a61a00
--- /dev/null
+++ b/freebsdtvision/doc/html/classfpbase.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classfpstream-members.html b/freebsdtvision/doc/html/classfpstream-members.html
new file mode 100644
index 0000000..0de86e1
--- /dev/null
+++ b/freebsdtvision/doc/html/classfpstream-members.html
@@ -0,0 +1,121 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>fpstream Member List</h1>This is the complete list of members for <a class="el" href="classfpstream.html">fpstream</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classfpbase.html#a6">attach</a>(int f)</td><td><a class="el" href="classfpbase.html">fpbase</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a5">bad</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#n0">bp</a></td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a7">clear</a>(int sState=0)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classfpbase.html#a7">close</a>()</td><td><a class="el" href="classfpbase.html">fpbase</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a3">eof</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a11">error</a>(StreamableError)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a12">error</a>(StreamableError, const TStreamable &amp;)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a4">fail</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#b4">ipstream::find</a>(P_id_type id)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#b4">opstream::find</a>(const void *adr)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#a5">flush</a>()</td><td><a class="el" href="classopstream.html">opstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classfpbase.html#a0">fpbase</a>()</td><td><a class="el" href="classfpbase.html">fpbase</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classfpbase.html#a1">fpbase</a>(const char *name, int omode, int prot=filebuf::openprot)</td><td><a class="el" href="classfpbase.html">fpbase</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classfpbase.html#a2">fpbase</a>(int f)</td><td><a class="el" href="classfpbase.html">fpbase</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classfpbase.html#a3">fpbase</a>(int f, char *b, int len)</td><td><a class="el" href="classfpbase.html">fpbase</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classfpstream.html#a0">fpstream</a>()</td><td><a class="el" href="classfpstream.html">fpstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classfpstream.html#a1">fpstream</a>(const char *name, int omode, int prot=filebuf::openprot)</td><td><a class="el" href="classfpstream.html">fpstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classfpstream.html#a2">fpstream</a>(int f)</td><td><a class="el" href="classfpstream.html">fpstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classfpstream.html#a3">fpstream</a>(int f, char *b, int len)</td><td><a class="el" href="classfpstream.html">fpstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a6">good</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#b1">init</a>(streambuf *sbp)</td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#d0">initTypes</a>()</td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classiopstream.html#a0">iopstream</a>(streambuf *buf)</td><td><a class="el" href="classiopstream.html">iopstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classiopstream.html#b0">iopstream</a>()</td><td><a class="el" href="classiopstream.html">iopstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#a0">ipstream</a>(streambuf *buf)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#b0">ipstream</a>()</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classfpstream.html#a6">open</a>(const char *name, int omode, int prot=filebuf::openprot)</td><td><a class="el" href="classfpstream.html">fpstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a8">operator void *</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a9">operator!</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#l0">operator&lt;&lt;</a>(opstream &amp;, char)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#l1">operator&lt;&lt;</a>(opstream &amp;, signed char)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#l2">operator&lt;&lt;</a>(opstream &amp;, unsigned char)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#l3">operator&lt;&lt;</a>(opstream &amp;, signed short)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#l4">operator&lt;&lt;</a>(opstream &amp;, unsigned short)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#l5">operator&lt;&lt;</a>(opstream &amp;, signed int)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#l6">operator&lt;&lt;</a>(opstream &amp;, unsigned int)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#l7">operator&lt;&lt;</a>(opstream &amp;, signed long)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#l8">operator&lt;&lt;</a>(opstream &amp;, unsigned long)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#l9">operator&lt;&lt;</a>(opstream &amp;, float)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#l10">operator&lt;&lt;</a>(opstream &amp;, double)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#l11">operator&lt;&lt;</a>(opstream &amp;, long double)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#l12">operator&lt;&lt;</a>(opstream &amp;, TStreamable &amp;)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#l13">operator&lt;&lt;</a>(opstream &amp;, TStreamable *)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#l0">operator&gt;&gt;</a>(ipstream &amp;, char &amp;)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#l1">operator&gt;&gt;</a>(ipstream &amp;, signed char &amp;)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#l2">operator&gt;&gt;</a>(ipstream &amp;, unsigned char &amp;)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#l3">operator&gt;&gt;</a>(ipstream &amp;, signed short &amp;)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#l4">operator&gt;&gt;</a>(ipstream &amp;, unsigned short &amp;)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#l5">operator&gt;&gt;</a>(ipstream &amp;, signed int &amp;)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#l6">operator&gt;&gt;</a>(ipstream &amp;, unsigned int &amp;)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#l7">operator&gt;&gt;</a>(ipstream &amp;, signed long &amp;)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#l8">operator&gt;&gt;</a>(ipstream &amp;, unsigned long &amp;)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#l9">operator&gt;&gt;</a>(ipstream &amp;, float &amp;)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#l10">operator&gt;&gt;</a>(ipstream &amp;, double &amp;)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#l11">operator&gt;&gt;</a>(ipstream &amp;, long double &amp;)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#l12">operator&gt;&gt;</a>(ipstream &amp;, TStreamable &amp;)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#l13">operator&gt;&gt;</a>(ipstream &amp;, void *&amp;)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#a0">opstream</a>(streambuf *buf)</td><td><a class="el" href="classopstream.html">opstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#b0">opstream</a>()</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>peInvalidType</b> enum value (defined in <a class="el" href="classpstream.html">pstream</a>)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>peNotRegistered</b> enum value (defined in <a class="el" href="classpstream.html">pstream</a>)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#s6">PointerTypes</a> enum name</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a0">pstream</a>(streambuf *buf)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#b0">pstream</a>()</td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>ptIndexed</b> enum value (defined in <a class="el" href="classpstream.html">pstream</a>)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>ptNull</b> enum value (defined in <a class="el" href="classpstream.html">pstream</a>)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>ptObject</b> enum value (defined in <a class="el" href="classpstream.html">pstream</a>)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classfpstream.html#a5">rdbuf</a>()</td><td><a class="el" href="classfpstream.html">fpstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a10">pstream::rdbuf</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a2">rdstate</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#a5">readByte</a>()</td><td><a class="el" href="classipstream.html">ipstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#a6">readBytes</a>(void *data, size_t sz)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#b2">readData</a>(const TStreamableClass *c, TStreamable *mem)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#b1">readPrefix</a>()</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#a8">readString</a>()</td><td><a class="el" href="classipstream.html">ipstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#a9">readString</a>(char *buf, unsigned maxLen)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#b3">readSuffix</a>()</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#a7">readWord</a>()</td><td><a class="el" href="classipstream.html">ipstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#b5">ipstream::registerObject</a>(const void *adr)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#b5">opstream::registerObject</a>(const void *adr)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#d1">registerType</a>(TStreamableClass *ts)</td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#a3">seekg</a>(streampos pos)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#a4">seekg</a>(streamoff off, ios::seek_dir dir)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#a3">seekp</a>(streampos pos)</td><td><a class="el" href="classopstream.html">opstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#a4">seekp</a>(streamoff off, ios::seek_dir dir)</td><td><a class="el" href="classopstream.html">opstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classfpbase.html#a8">setbuf</a>(char *buf, int len)</td><td><a class="el" href="classfpbase.html">fpbase</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#b2">setstate</a>(int b)</td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#n1">state</a></td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#s5">StreamableError</a> enum name</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#a2">tellg</a>()</td><td><a class="el" href="classipstream.html">ipstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#a2">tellp</a>()</td><td><a class="el" href="classopstream.html">opstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#q0">types</a></td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [protected, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#a6">writeByte</a>(uchar ch)</td><td><a class="el" href="classopstream.html">opstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#a7">writeBytes</a>(const void *data, size_t sz)</td><td><a class="el" href="classopstream.html">opstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#b2">writeData</a>(TStreamable &amp;)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#b1">writePrefix</a>(const TStreamable &amp;)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#a9">writeString</a>(const char *str)</td><td><a class="el" href="classopstream.html">opstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#b3">writeSuffix</a>(const TStreamable &amp;)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#a8">writeWord</a>(ushort us)</td><td><a class="el" href="classopstream.html">opstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classfpbase.html#a4">~fpbase</a>()</td><td><a class="el" href="classfpbase.html">fpbase</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classfpstream.html#a4">~fpstream</a>()</td><td><a class="el" href="classfpstream.html">fpstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classiopstream.html#a1">~iopstream</a>()</td><td><a class="el" href="classiopstream.html">iopstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#a1">~ipstream</a>()</td><td><a class="el" href="classipstream.html">ipstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#a1">~opstream</a>()</td><td><a class="el" href="classopstream.html">opstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a1">~pstream</a>()</td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [virtual]</code></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:13 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classfpstream.html b/freebsdtvision/doc/html/classfpstream.html
new file mode 100644
index 0000000..b5832f5
--- /dev/null
+++ b/freebsdtvision/doc/html/classfpstream.html
@@ -0,0 +1,299 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>fpstream class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>fpstream Class Reference</h1>Provides the base class for simultaneous writing and reading streamable objects to bidirectional file streams.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="tobjstrm_8h-source.html">tobjstrm.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for fpstream:
+<p><center><img src="classfpstream.png" usemap="#fpstream_map" border="0" alt=""></center>
+<map name="fpstream_map">
+<area href="classfpbase.html" alt="fpbase" shape="rect" coords="0,112,66,136">
+<area href="classiopstream.html" alt="iopstream" shape="rect" coords="114,112,180,136">
+<area href="classpstream.html" alt="pstream" shape="rect" coords="0,56,66,80">
+<area href="classipstream.html" alt="ipstream" shape="rect" coords="76,56,142,80">
+<area href="classopstream.html" alt="opstream" shape="rect" coords="152,56,218,80">
+<area href="classpstream.html" alt="pstream" shape="rect" coords="76,0,142,24">
+<area href="classpstream.html" alt="pstream" shape="rect" coords="152,0,218,24">
+</map>
+<a href="classfpstream-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classfpstream.html#a0">fpstream</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classfpstream.html#a1">fpstream</a> (const char *name, int omode, int prot=filebuf::openprot)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classfpstream.html#a2">fpstream</a> (int f)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classfpstream.html#a3">fpstream</a> (int f, char *b, int len)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classfpstream.html#a4">~fpstream</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>filebuf *&nbsp;</td><td valign=bottom><a class="el" href="classfpstream.html#a5">rdbuf</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classfpstream.html#a6">open</a> (const char *name, int omode, int prot=filebuf::openprot)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+fpstream is a simple "mix" of its bases, fpbase and iopstream. It provides the base class for simultaneous writing and reading streamable objects to bidirectional file streams. It is analogous to class fstream, defined in `fstream.h' for the standard C++ stream library.
+<p>
+
+<p>
+Definition at line <a class="el" href="tobjstrm_8h-source.html#l01170">1170</a> of file <a class="el" href="tobjstrm_8h-source.html">tobjstrm.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="fpstream::fpstream"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> fpstream::fpstream </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a buffered fpstream object. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="fpstream::fpstream"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> fpstream::fpstream </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>name</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>omode</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>prot</em> = filebuf::openprot</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a buffered fpstream object. You can open a file and attach it to the stream by specifying the `name', `omode', and `prot' (protection) arguments. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="fpstream::fpstream"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> fpstream::fpstream </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>f</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a buffered fpstream object. You can open a file and attach it to the stream by specifying the file descriptor, `f'. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="fpstream::fpstream"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> fpstream::fpstream </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>f</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>b</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>len</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a buffered fpstream object. You can set the size and initial contents of the buffer using the `len' and `b' arguments. You can open a file and attach it to the stream by specifying the file descriptor, `f'. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="fpstream::~fpstream"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> fpstream::~fpstream </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Destroys the fpstream object. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="a6" doxytag="fpstream::open"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void fpstream::open </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>name</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>omode</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>prot</em> = filebuf::openprot</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Opens the named file in the given mode (app, ate, in, out, binary, trunc, nocreate, noreplace) and protection. The opened file is attatched to this stream.
+<p>
+Reimplemented from <a class="el" href="classfpbase.html#a5">fpbase</a>. </td>
+ </tr>
+</table>
+<a name="a5" doxytag="fpstream::rdbuf"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> filebuf* fpstream::rdbuf </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the data member bp.
+<p>
+Reimplemented from <a class="el" href="classfpbase.html#a9">fpbase</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="tobjstrm_8h-source.html">tobjstrm.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:13 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classfpstream.png b/freebsdtvision/doc/html/classfpstream.png
new file mode 100644
index 0000000..c18de1a
--- /dev/null
+++ b/freebsdtvision/doc/html/classfpstream.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classifpstream-members.html b/freebsdtvision/doc/html/classifpstream-members.html
new file mode 100644
index 0000000..36e4366
--- /dev/null
+++ b/freebsdtvision/doc/html/classifpstream-members.html
@@ -0,0 +1,88 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>ifpstream Member List</h1>This is the complete list of members for <a class="el" href="classifpstream.html">ifpstream</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classfpbase.html#a6">attach</a>(int f)</td><td><a class="el" href="classfpbase.html">fpbase</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a5">bad</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#n0">bp</a></td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a7">clear</a>(int sState=0)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classfpbase.html#a7">close</a>()</td><td><a class="el" href="classfpbase.html">fpbase</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a3">eof</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a11">error</a>(StreamableError)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a12">error</a>(StreamableError, const TStreamable &amp;)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a4">fail</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#b4">find</a>(P_id_type id)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classfpbase.html#a0">fpbase</a>()</td><td><a class="el" href="classfpbase.html">fpbase</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classfpbase.html#a1">fpbase</a>(const char *name, int omode, int prot=filebuf::openprot)</td><td><a class="el" href="classfpbase.html">fpbase</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classfpbase.html#a2">fpbase</a>(int f)</td><td><a class="el" href="classfpbase.html">fpbase</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classfpbase.html#a3">fpbase</a>(int f, char *b, int len)</td><td><a class="el" href="classfpbase.html">fpbase</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a6">good</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classifpstream.html#a0">ifpstream</a>()</td><td><a class="el" href="classifpstream.html">ifpstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classifpstream.html#a1">ifpstream</a>(const char *name, int omode=ios::in, int prot=filebuf::openprot)</td><td><a class="el" href="classifpstream.html">ifpstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classifpstream.html#a2">ifpstream</a>(int f)</td><td><a class="el" href="classifpstream.html">ifpstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classifpstream.html#a3">ifpstream</a>(int f, char *b, int len)</td><td><a class="el" href="classifpstream.html">ifpstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#b1">init</a>(streambuf *sbp)</td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#d0">initTypes</a>()</td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#a0">ipstream</a>(streambuf *buf)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#b0">ipstream</a>()</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classifpstream.html#a6">open</a>(const char *name, int omode=ios::in, int prot=filebuf::openprot)</td><td><a class="el" href="classifpstream.html">ifpstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a8">operator void *</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a9">operator!</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#l0">operator&gt;&gt;</a>(ipstream &amp;, char &amp;)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#l1">operator&gt;&gt;</a>(ipstream &amp;, signed char &amp;)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#l2">operator&gt;&gt;</a>(ipstream &amp;, unsigned char &amp;)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#l3">operator&gt;&gt;</a>(ipstream &amp;, signed short &amp;)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#l4">operator&gt;&gt;</a>(ipstream &amp;, unsigned short &amp;)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#l5">operator&gt;&gt;</a>(ipstream &amp;, signed int &amp;)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#l6">operator&gt;&gt;</a>(ipstream &amp;, unsigned int &amp;)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#l7">operator&gt;&gt;</a>(ipstream &amp;, signed long &amp;)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#l8">operator&gt;&gt;</a>(ipstream &amp;, unsigned long &amp;)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#l9">operator&gt;&gt;</a>(ipstream &amp;, float &amp;)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#l10">operator&gt;&gt;</a>(ipstream &amp;, double &amp;)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#l11">operator&gt;&gt;</a>(ipstream &amp;, long double &amp;)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#l12">operator&gt;&gt;</a>(ipstream &amp;, TStreamable &amp;)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#l13">operator&gt;&gt;</a>(ipstream &amp;, void *&amp;)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>peInvalidType</b> enum value (defined in <a class="el" href="classpstream.html">pstream</a>)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>peNotRegistered</b> enum value (defined in <a class="el" href="classpstream.html">pstream</a>)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#s6">PointerTypes</a> enum name</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a0">pstream</a>(streambuf *buf)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#b0">pstream</a>()</td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>ptIndexed</b> enum value (defined in <a class="el" href="classpstream.html">pstream</a>)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>ptNull</b> enum value (defined in <a class="el" href="classpstream.html">pstream</a>)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>ptObject</b> enum value (defined in <a class="el" href="classpstream.html">pstream</a>)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classifpstream.html#a5">rdbuf</a>()</td><td><a class="el" href="classifpstream.html">ifpstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a10">pstream::rdbuf</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a2">rdstate</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#a5">readByte</a>()</td><td><a class="el" href="classipstream.html">ipstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#a6">readBytes</a>(void *data, size_t sz)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#b2">readData</a>(const TStreamableClass *c, TStreamable *mem)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#b1">readPrefix</a>()</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#a8">readString</a>()</td><td><a class="el" href="classipstream.html">ipstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#a9">readString</a>(char *buf, unsigned maxLen)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#b3">readSuffix</a>()</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#a7">readWord</a>()</td><td><a class="el" href="classipstream.html">ipstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#b5">registerObject</a>(const void *adr)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#d1">registerType</a>(TStreamableClass *ts)</td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#a3">seekg</a>(streampos pos)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#a4">seekg</a>(streamoff off, ios::seek_dir dir)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classfpbase.html#a8">setbuf</a>(char *buf, int len)</td><td><a class="el" href="classfpbase.html">fpbase</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#b2">setstate</a>(int b)</td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#n1">state</a></td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#s5">StreamableError</a> enum name</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#a2">tellg</a>()</td><td><a class="el" href="classipstream.html">ipstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#q0">types</a></td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [protected, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classfpbase.html#a4">~fpbase</a>()</td><td><a class="el" href="classfpbase.html">fpbase</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classifpstream.html#a4">~ifpstream</a>()</td><td><a class="el" href="classifpstream.html">ifpstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#a1">~ipstream</a>()</td><td><a class="el" href="classipstream.html">ipstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a1">~pstream</a>()</td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [virtual]</code></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:14 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classifpstream.html b/freebsdtvision/doc/html/classifpstream.html
new file mode 100644
index 0000000..105288c
--- /dev/null
+++ b/freebsdtvision/doc/html/classifpstream.html
@@ -0,0 +1,296 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>ifpstream class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>ifpstream Class Reference</h1>Provides the base class for reading (extracting) streamable objects from file streams.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="tobjstrm_8h-source.html">tobjstrm.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for ifpstream:
+<p><center><img src="classifpstream.png" usemap="#ifpstream_map" border="0" alt=""></center>
+<map name="ifpstream_map">
+<area href="classfpbase.html" alt="fpbase" shape="rect" coords="0,56,63,80">
+<area href="classipstream.html" alt="ipstream" shape="rect" coords="73,56,136,80">
+<area href="classpstream.html" alt="pstream" shape="rect" coords="0,0,63,24">
+<area href="classpstream.html" alt="pstream" shape="rect" coords="73,0,136,24">
+</map>
+<a href="classifpstream-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classifpstream.html#a0">ifpstream</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classifpstream.html#a1">ifpstream</a> (const char *name, int omode=ios::in, int prot=filebuf::openprot)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classifpstream.html#a2">ifpstream</a> (int f)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classifpstream.html#a3">ifpstream</a> (int f, char *b, int len)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classifpstream.html#a4">~ifpstream</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>filebuf *&nbsp;</td><td valign=bottom><a class="el" href="classifpstream.html#a5">rdbuf</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classifpstream.html#a6">open</a> (const char *name, int omode=ios::in, int prot=filebuf::openprot)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+ifpstream is a simple "mix" of its bases, fpbase and ipstream. It provides the base class for reading (extracting) streamable objects from file streams.
+<p>
+
+<p>
+Definition at line <a class="el" href="tobjstrm_8h-source.html#l01036">1036</a> of file <a class="el" href="tobjstrm_8h-source.html">tobjstrm.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="ifpstream::ifpstream"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> ifpstream::ifpstream </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a buffered ifpstream object. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="ifpstream::ifpstream"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> ifpstream::ifpstream </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>name</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>omode</em> = ios::in, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>prot</em> = filebuf::openprot</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a buffered ifpstream object. You can open a file and attach it to the stream by specifying the `name', `omode', and `prot' (protection) arguments. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="ifpstream::ifpstream"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> ifpstream::ifpstream </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>f</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a buffered ifpstream object. You can open a file and attach it to the stream by specifying the file descriptor, `f'. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="ifpstream::ifpstream"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> ifpstream::ifpstream </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>f</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>b</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>len</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a buffered ifpstream object. You can set the size and initial contents of the buffer with the `len' and `b' arguments. You can open a file and attach it to the stream by specifying the file descriptor, `f'. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="ifpstream::~ifpstream"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> ifpstream::~ifpstream </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Destroys the ifpstream object. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="a6" doxytag="ifpstream::open"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void ifpstream::open </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>name</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>omode</em> = ios::in, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>prot</em> = filebuf::openprot</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Opens the the named file in the given mode (app, ate, in, out, binary, trunc, nocreate, or noreplace) and protection. The default mode is in (input) with openprot protection. The opened file is attached to this stream.
+<p>
+Reimplemented from <a class="el" href="classfpbase.html#a5">fpbase</a>. </td>
+ </tr>
+</table>
+<a name="a5" doxytag="ifpstream::rdbuf"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> filebuf* ifpstream::rdbuf </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns a pointer to the current file buffer.
+<p>
+Reimplemented from <a class="el" href="classfpbase.html#a9">fpbase</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="tobjstrm_8h-source.html">tobjstrm.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:14 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classifpstream.png b/freebsdtvision/doc/html/classifpstream.png
new file mode 100644
index 0000000..fb45f08
--- /dev/null
+++ b/freebsdtvision/doc/html/classifpstream.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classiopstream-members.html b/freebsdtvision/doc/html/classiopstream-members.html
new file mode 100644
index 0000000..bed1943
--- /dev/null
+++ b/freebsdtvision/doc/html/classiopstream-members.html
@@ -0,0 +1,106 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>iopstream Member List</h1>This is the complete list of members for <a class="el" href="classiopstream.html">iopstream</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a5">bad</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#n0">bp</a></td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a7">clear</a>(int sState=0)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a3">eof</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a11">error</a>(StreamableError)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a12">error</a>(StreamableError, const TStreamable &amp;)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a4">fail</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#b4">ipstream::find</a>(P_id_type id)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#b4">opstream::find</a>(const void *adr)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#a5">flush</a>()</td><td><a class="el" href="classopstream.html">opstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a6">good</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#b1">init</a>(streambuf *sbp)</td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#d0">initTypes</a>()</td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classiopstream.html#a0">iopstream</a>(streambuf *buf)</td><td><a class="el" href="classiopstream.html">iopstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classiopstream.html#b0">iopstream</a>()</td><td><a class="el" href="classiopstream.html">iopstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#a0">ipstream</a>(streambuf *buf)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#b0">ipstream</a>()</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a8">operator void *</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a9">operator!</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#l0">operator&lt;&lt;</a>(opstream &amp;, char)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#l1">operator&lt;&lt;</a>(opstream &amp;, signed char)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#l2">operator&lt;&lt;</a>(opstream &amp;, unsigned char)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#l3">operator&lt;&lt;</a>(opstream &amp;, signed short)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#l4">operator&lt;&lt;</a>(opstream &amp;, unsigned short)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#l5">operator&lt;&lt;</a>(opstream &amp;, signed int)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#l6">operator&lt;&lt;</a>(opstream &amp;, unsigned int)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#l7">operator&lt;&lt;</a>(opstream &amp;, signed long)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#l8">operator&lt;&lt;</a>(opstream &amp;, unsigned long)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#l9">operator&lt;&lt;</a>(opstream &amp;, float)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#l10">operator&lt;&lt;</a>(opstream &amp;, double)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#l11">operator&lt;&lt;</a>(opstream &amp;, long double)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#l12">operator&lt;&lt;</a>(opstream &amp;, TStreamable &amp;)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#l13">operator&lt;&lt;</a>(opstream &amp;, TStreamable *)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#l0">operator&gt;&gt;</a>(ipstream &amp;, char &amp;)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#l1">operator&gt;&gt;</a>(ipstream &amp;, signed char &amp;)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#l2">operator&gt;&gt;</a>(ipstream &amp;, unsigned char &amp;)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#l3">operator&gt;&gt;</a>(ipstream &amp;, signed short &amp;)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#l4">operator&gt;&gt;</a>(ipstream &amp;, unsigned short &amp;)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#l5">operator&gt;&gt;</a>(ipstream &amp;, signed int &amp;)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#l6">operator&gt;&gt;</a>(ipstream &amp;, unsigned int &amp;)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#l7">operator&gt;&gt;</a>(ipstream &amp;, signed long &amp;)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#l8">operator&gt;&gt;</a>(ipstream &amp;, unsigned long &amp;)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#l9">operator&gt;&gt;</a>(ipstream &amp;, float &amp;)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#l10">operator&gt;&gt;</a>(ipstream &amp;, double &amp;)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#l11">operator&gt;&gt;</a>(ipstream &amp;, long double &amp;)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#l12">operator&gt;&gt;</a>(ipstream &amp;, TStreamable &amp;)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#l13">operator&gt;&gt;</a>(ipstream &amp;, void *&amp;)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#a0">opstream</a>(streambuf *buf)</td><td><a class="el" href="classopstream.html">opstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#b0">opstream</a>()</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>peInvalidType</b> enum value (defined in <a class="el" href="classpstream.html">pstream</a>)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>peNotRegistered</b> enum value (defined in <a class="el" href="classpstream.html">pstream</a>)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#s6">PointerTypes</a> enum name</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a0">pstream</a>(streambuf *buf)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#b0">pstream</a>()</td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>ptIndexed</b> enum value (defined in <a class="el" href="classpstream.html">pstream</a>)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>ptNull</b> enum value (defined in <a class="el" href="classpstream.html">pstream</a>)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>ptObject</b> enum value (defined in <a class="el" href="classpstream.html">pstream</a>)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a10">rdbuf</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a2">rdstate</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#a5">readByte</a>()</td><td><a class="el" href="classipstream.html">ipstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#a6">readBytes</a>(void *data, size_t sz)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#b2">readData</a>(const TStreamableClass *c, TStreamable *mem)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#b1">readPrefix</a>()</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#a8">readString</a>()</td><td><a class="el" href="classipstream.html">ipstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#a9">readString</a>(char *buf, unsigned maxLen)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#b3">readSuffix</a>()</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#a7">readWord</a>()</td><td><a class="el" href="classipstream.html">ipstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#b5">ipstream::registerObject</a>(const void *adr)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#b5">opstream::registerObject</a>(const void *adr)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#d1">registerType</a>(TStreamableClass *ts)</td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#a3">seekg</a>(streampos pos)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#a4">seekg</a>(streamoff off, ios::seek_dir dir)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#a3">seekp</a>(streampos pos)</td><td><a class="el" href="classopstream.html">opstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#a4">seekp</a>(streamoff off, ios::seek_dir dir)</td><td><a class="el" href="classopstream.html">opstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#b2">setstate</a>(int b)</td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#n1">state</a></td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#s5">StreamableError</a> enum name</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#a2">tellg</a>()</td><td><a class="el" href="classipstream.html">ipstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#a2">tellp</a>()</td><td><a class="el" href="classopstream.html">opstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#q0">types</a></td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [protected, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#a6">writeByte</a>(uchar ch)</td><td><a class="el" href="classopstream.html">opstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#a7">writeBytes</a>(const void *data, size_t sz)</td><td><a class="el" href="classopstream.html">opstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#b2">writeData</a>(TStreamable &amp;)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#b1">writePrefix</a>(const TStreamable &amp;)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#a9">writeString</a>(const char *str)</td><td><a class="el" href="classopstream.html">opstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#b3">writeSuffix</a>(const TStreamable &amp;)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#a8">writeWord</a>(ushort us)</td><td><a class="el" href="classopstream.html">opstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classiopstream.html#a1">~iopstream</a>()</td><td><a class="el" href="classiopstream.html">iopstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#a1">~ipstream</a>()</td><td><a class="el" href="classipstream.html">ipstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#a1">~opstream</a>()</td><td><a class="el" href="classopstream.html">opstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a1">~pstream</a>()</td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [virtual]</code></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:14 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classiopstream.html b/freebsdtvision/doc/html/classiopstream.html
new file mode 100644
index 0000000..ec08db9
--- /dev/null
+++ b/freebsdtvision/doc/html/classiopstream.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>iopstream class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>iopstream Class Reference</h1>The base class for simultaneous writing and reading streamable objects to and from streams.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="tobjstrm_8h-source.html">tobjstrm.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for iopstream:
+<p><center><img src="classiopstream.png" usemap="#iopstream_map" border="0" alt=""></center>
+<map name="iopstream_map">
+<area href="classipstream.html" alt="ipstream" shape="rect" coords="0,56,66,80">
+<area href="classopstream.html" alt="opstream" shape="rect" coords="76,56,142,80">
+<area href="classpstream.html" alt="pstream" shape="rect" coords="0,0,66,24">
+<area href="classpstream.html" alt="pstream" shape="rect" coords="76,0,142,24">
+<area href="classfpstream.html" alt="fpstream" shape="rect" coords="38,168,104,192">
+</map>
+<a href="classiopstream-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classiopstream.html#a0">iopstream</a> (streambuf *buf)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classiopstream.html#a1">~iopstream</a> ()</td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classiopstream.html#b0">iopstream</a> ()</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Class iopstream is a simple "mix" of its bases, opstream and ipstream. It provides the base class for simultaneous writing and reading streamable objects.
+<p>
+
+<p>
+Definition at line <a class="el" href="tobjstrm_8h-source.html#l00921">921</a> of file <a class="el" href="tobjstrm_8h-source.html">tobjstrm.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="iopstream::iopstream"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> iopstream::iopstream </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">streambuf *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>buf</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a buffered iopstream with the given buffer and sets the bp data member to `buf'. The state data member is set to 0. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="iopstream::~iopstream"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> iopstream::~iopstream </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Destroys the iopstream object. </td>
+ </tr>
+</table>
+<a name="b0" doxytag="iopstream::iopstream"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> iopstream::iopstream </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="tobjstrm_8h-source.html">tobjstrm.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:14 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classiopstream.png b/freebsdtvision/doc/html/classiopstream.png
new file mode 100644
index 0000000..4bd1d28
--- /dev/null
+++ b/freebsdtvision/doc/html/classiopstream.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classipstream-members.html b/freebsdtvision/doc/html/classipstream-members.html
new file mode 100644
index 0000000..6461f7f
--- /dev/null
+++ b/freebsdtvision/doc/html/classipstream-members.html
@@ -0,0 +1,73 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>ipstream Member List</h1>This is the complete list of members for <a class="el" href="classipstream.html">ipstream</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a5">bad</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#n0">bp</a></td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a7">clear</a>(int sState=0)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a3">eof</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a11">error</a>(StreamableError)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a12">error</a>(StreamableError, const TStreamable &amp;)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a4">fail</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#b4">find</a>(P_id_type id)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a6">good</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#b1">init</a>(streambuf *sbp)</td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#d0">initTypes</a>()</td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#a0">ipstream</a>(streambuf *buf)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#b0">ipstream</a>()</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a8">operator void *</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a9">operator!</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#l0">operator&gt;&gt;</a>(ipstream &amp;, char &amp;)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#l1">operator&gt;&gt;</a>(ipstream &amp;, signed char &amp;)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#l2">operator&gt;&gt;</a>(ipstream &amp;, unsigned char &amp;)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#l3">operator&gt;&gt;</a>(ipstream &amp;, signed short &amp;)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#l4">operator&gt;&gt;</a>(ipstream &amp;, unsigned short &amp;)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#l5">operator&gt;&gt;</a>(ipstream &amp;, signed int &amp;)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#l6">operator&gt;&gt;</a>(ipstream &amp;, unsigned int &amp;)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#l7">operator&gt;&gt;</a>(ipstream &amp;, signed long &amp;)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#l8">operator&gt;&gt;</a>(ipstream &amp;, unsigned long &amp;)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#l9">operator&gt;&gt;</a>(ipstream &amp;, float &amp;)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#l10">operator&gt;&gt;</a>(ipstream &amp;, double &amp;)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#l11">operator&gt;&gt;</a>(ipstream &amp;, long double &amp;)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#l12">operator&gt;&gt;</a>(ipstream &amp;, TStreamable &amp;)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#l13">operator&gt;&gt;</a>(ipstream &amp;, void *&amp;)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>peInvalidType</b> enum value (defined in <a class="el" href="classpstream.html">pstream</a>)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>peNotRegistered</b> enum value (defined in <a class="el" href="classpstream.html">pstream</a>)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#s6">PointerTypes</a> enum name</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a0">pstream</a>(streambuf *buf)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#b0">pstream</a>()</td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>ptIndexed</b> enum value (defined in <a class="el" href="classpstream.html">pstream</a>)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>ptNull</b> enum value (defined in <a class="el" href="classpstream.html">pstream</a>)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>ptObject</b> enum value (defined in <a class="el" href="classpstream.html">pstream</a>)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a10">rdbuf</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a2">rdstate</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#a5">readByte</a>()</td><td><a class="el" href="classipstream.html">ipstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#a6">readBytes</a>(void *data, size_t sz)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#b2">readData</a>(const TStreamableClass *c, TStreamable *mem)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#b1">readPrefix</a>()</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#a8">readString</a>()</td><td><a class="el" href="classipstream.html">ipstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#a9">readString</a>(char *buf, unsigned maxLen)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#b3">readSuffix</a>()</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#a7">readWord</a>()</td><td><a class="el" href="classipstream.html">ipstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#b5">registerObject</a>(const void *adr)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#d1">registerType</a>(TStreamableClass *ts)</td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#a3">seekg</a>(streampos pos)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#a4">seekg</a>(streamoff off, ios::seek_dir dir)</td><td><a class="el" href="classipstream.html">ipstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#b2">setstate</a>(int b)</td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#n1">state</a></td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#s5">StreamableError</a> enum name</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#a2">tellg</a>()</td><td><a class="el" href="classipstream.html">ipstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#q0">types</a></td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [protected, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classipstream.html#a1">~ipstream</a>()</td><td><a class="el" href="classipstream.html">ipstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a1">~pstream</a>()</td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [virtual]</code></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:14 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classipstream.html b/freebsdtvision/doc/html/classipstream.html
new file mode 100644
index 0000000..0b330ab
--- /dev/null
+++ b/freebsdtvision/doc/html/classipstream.html
@@ -0,0 +1,1108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>ipstream class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>ipstream Class Reference</h1>The base class for reading (extracting) streamable objects from streams.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="tobjstrm_8h-source.html">tobjstrm.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for ipstream:
+<p><center><img src="classipstream.png" usemap="#ipstream_map" border="0" alt=""></center>
+<map name="ipstream_map">
+<area href="classpstream.html" alt="pstream" shape="rect" coords="38,0,104,24">
+<area href="classifpstream.html" alt="ifpstream" shape="rect" coords="0,112,66,136">
+<area href="classiopstream.html" alt="iopstream" shape="rect" coords="76,112,142,136">
+<area href="classfpstream.html" alt="fpstream" shape="rect" coords="76,168,142,192">
+</map>
+<a href="classipstream-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classipstream.html#a0">ipstream</a> (streambuf *buf)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classipstream.html#a1">~ipstream</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>streampos&nbsp;</td><td valign=bottom><a class="el" href="classipstream.html#a2">tellg</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>ipstream &amp;&nbsp;</td><td valign=bottom><a class="el" href="classipstream.html#a3">seekg</a> (streampos pos)</td></tr>
+<tr><td nowrap align=right valign=top>ipstream &amp;&nbsp;</td><td valign=bottom><a class="el" href="classipstream.html#a4">seekg</a> (streamoff off, ios::seek_dir dir)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a1">uchar</a>&nbsp;</td><td valign=bottom><a class="el" href="classipstream.html#a5">readByte</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classipstream.html#a6">readBytes</a> (void *data, size_t sz)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="classipstream.html#a7">readWord</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>char *&nbsp;</td><td valign=bottom><a class="el" href="classipstream.html#a8">readString</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>char *&nbsp;</td><td valign=bottom><a class="el" href="classipstream.html#a9">readString</a> (char *buf, unsigned maxLen)</td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classipstream.html#b0">ipstream</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>const <a class="el" href="classTStreamableClass.html">TStreamableClass</a> *&nbsp;</td><td valign=bottom><a class="el" href="classipstream.html#b1">readPrefix</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void *&nbsp;</td><td valign=bottom><a class="el" href="classipstream.html#b2">readData</a> (const <a class="el" href="classTStreamableClass.html">TStreamableClass</a> *c, <a class="el" href="classTStreamable.html">TStreamable</a> *mem)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classipstream.html#b3">readSuffix</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>const void *&nbsp;</td><td valign=bottom><a class="el" href="classipstream.html#b4">find</a> (<a class="el" href="tobjstrm_8h.html#a0">P_id_type</a> id)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classipstream.html#b5">registerObject</a> (const void *adr)</td></tr>
+<tr><td colspan=2><br><h2>Friends</h2></td></tr>
+<tr><td nowrap align=right valign=top>ipstream &amp;&nbsp;</td><td valign=bottom><a class="el" href="classipstream.html#l0">operator&gt;&gt;</a> (ipstream &amp;, char &amp;)</td></tr>
+<tr><td nowrap align=right valign=top>ipstream &amp;&nbsp;</td><td valign=bottom><a class="el" href="classipstream.html#l1">operator&gt;&gt;</a> (ipstream &amp;, signed char &amp;)</td></tr>
+<tr><td nowrap align=right valign=top>ipstream &amp;&nbsp;</td><td valign=bottom><a class="el" href="classipstream.html#l2">operator&gt;&gt;</a> (ipstream &amp;, unsigned char &amp;)</td></tr>
+<tr><td nowrap align=right valign=top>ipstream &amp;&nbsp;</td><td valign=bottom><a class="el" href="classipstream.html#l3">operator&gt;&gt;</a> (ipstream &amp;, signed short &amp;)</td></tr>
+<tr><td nowrap align=right valign=top>ipstream &amp;&nbsp;</td><td valign=bottom><a class="el" href="classipstream.html#l4">operator&gt;&gt;</a> (ipstream &amp;, unsigned short &amp;)</td></tr>
+<tr><td nowrap align=right valign=top>ipstream &amp;&nbsp;</td><td valign=bottom><a class="el" href="classipstream.html#l5">operator&gt;&gt;</a> (ipstream &amp;, signed int &amp;)</td></tr>
+<tr><td nowrap align=right valign=top>ipstream &amp;&nbsp;</td><td valign=bottom><a class="el" href="classipstream.html#l6">operator&gt;&gt;</a> (ipstream &amp;, unsigned int &amp;)</td></tr>
+<tr><td nowrap align=right valign=top>ipstream &amp;&nbsp;</td><td valign=bottom><a class="el" href="classipstream.html#l7">operator&gt;&gt;</a> (ipstream &amp;, signed long &amp;)</td></tr>
+<tr><td nowrap align=right valign=top>ipstream &amp;&nbsp;</td><td valign=bottom><a class="el" href="classipstream.html#l8">operator&gt;&gt;</a> (ipstream &amp;, unsigned long &amp;)</td></tr>
+<tr><td nowrap align=right valign=top>ipstream &amp;&nbsp;</td><td valign=bottom><a class="el" href="classipstream.html#l9">operator&gt;&gt;</a> (ipstream &amp;, float &amp;)</td></tr>
+<tr><td nowrap align=right valign=top>ipstream &amp;&nbsp;</td><td valign=bottom><a class="el" href="classipstream.html#l10">operator&gt;&gt;</a> (ipstream &amp;, double &amp;)</td></tr>
+<tr><td nowrap align=right valign=top>ipstream &amp;&nbsp;</td><td valign=bottom><a class="el" href="classipstream.html#l11">operator&gt;&gt;</a> (ipstream &amp;, long double &amp;)</td></tr>
+<tr><td nowrap align=right valign=top>ipstream &amp;&nbsp;</td><td valign=bottom><a class="el" href="classipstream.html#l12">operator&gt;&gt;</a> (ipstream &amp;, <a class="el" href="classTStreamable.html">TStreamable</a> &amp;)</td></tr>
+<tr><td nowrap align=right valign=top>ipstream &amp;&nbsp;</td><td valign=bottom><a class="el" href="classipstream.html#l13">operator&gt;&gt;</a> (ipstream &amp;, void *&amp;)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+ipstream, a specialized input stream derivative of pstream, is the base class for reading (extracting) streamable objects. ipstream is analogous to istream, defined in `iostream.h' for the standard C++ stream library. ipstream is a friend class of <a class="el" href="classTPReadObjects.html">TPReadObjects</a>.
+<p>
+The overloaded operators &gt;&gt; extract (read) from the given ipstream object to the given argument. A reference to the stream is returned, allowing you to chain &gt;&gt; operations in the usual way. The data type of the argument determines how the read is performed. For example, reading a signed char is implemented using <a class="el" href="classipstream.html#a5">readByte()</a>. <dl compact><dt><b>See also: </b></dt><dd>
+opstream </dl>
+<p>
+
+<p>
+Definition at line <a class="el" href="tobjstrm_8h-source.html#l00573">573</a> of file <a class="el" href="tobjstrm_8h-source.html">tobjstrm.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="ipstream::ipstream"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> ipstream::ipstream </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">streambuf *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>buf</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This form creates a buffered ipstream with the given buffer and sets the bp data member to `buf'. The state data member is set to 0. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="ipstream::~ipstream"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> ipstream::~ipstream </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Destroys the ipstream object. </td>
+ </tr>
+</table>
+<a name="b0" doxytag="ipstream::ipstream"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> ipstream::ipstream </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This form does nothing. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="b4" doxytag="ipstream::find"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const void* ipstream::find </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="tobjstrm_8h.html#a0">P_id_type</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>id</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns a pointer to the object corresponding to `id'. </td>
+ </tr>
+</table>
+<a name="a5" doxytag="ipstream::readByte"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a1">uchar</a> ipstream::readByte </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the character at the current stream position. </td>
+ </tr>
+</table>
+<a name="a6" doxytag="ipstream::readBytes"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void ipstream::readBytes </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>data</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>size_t&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>sz</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Reads `sz' bytes from current stream position, and writes them to the address given in `data'. </td>
+ </tr>
+</table>
+<a name="b2" doxytag="ipstream::readData"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void* ipstream::readData </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTStreamableClass.html">TStreamableClass</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>c</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTStreamable.html">TStreamable</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>mem</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Invokes the appropriate read function to read from the stream to the object `mem'. If `mem' is 0, the appropriate build function is called first. </td>
+ </tr>
+</table>
+<a name="b1" doxytag="ipstream::readPrefix"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="classTStreamableClass.html">TStreamableClass</a>* ipstream::readPrefix </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the <a class="el" href="classTStreamableClass.html">TStreamableClass</a> object corresponding to the class name stored at the current position. </td>
+ </tr>
+</table>
+<a name="a9" doxytag="ipstream::readString"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> char* ipstream::readString </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>buf</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>unsigned&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>maxLen</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns a string read from the current stream position. </td>
+ </tr>
+</table>
+<a name="a8" doxytag="ipstream::readString"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> char* ipstream::readString </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns a string read from the current stream position. </td>
+ </tr>
+</table>
+<a name="b3" doxytag="ipstream::readSuffix"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void ipstream::readSuffix </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Reads and checks the final byte of an object's name field. </td>
+ </tr>
+</table>
+<a name="a7" doxytag="ipstream::readWord"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a0">ushort</a> ipstream::readWord </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the word at the current stream position. </td>
+ </tr>
+</table>
+<a name="b5" doxytag="ipstream::registerObject"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void ipstream::registerObject </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const void *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>adr</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Registers the class of the object pointed by `adr'. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="ipstream::seekg"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> ipstream&amp; ipstream::seekg </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">streamoff&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>off</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>ios::seek_dir&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>dir</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This form moves to a position relative to the current position by an offset `off' (+ or -) starting at `dir'. Parameter `dir' can be set to:
+<p>
+<pre>
+ beg (start of stream)
+
+ cur (current stream position)
+
+ end (end of stream)
+ </pre> </td>
+ </tr>
+</table>
+<a name="a3" doxytag="ipstream::seekg"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> ipstream&amp; ipstream::seekg </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">streampos&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>pos</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This form moves the stream position to the absolute position given by `pos'. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="ipstream::tellg"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> streampos ipstream::tellg </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the (absolute) current stream position. </td>
+ </tr>
+</table>
+<hr><h2>Friends And Related Function Documentation</h2>
+<a name="l13" doxytag="ipstream::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> ipstream&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">ipstream &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>void *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [friend]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="l12" doxytag="ipstream::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> ipstream&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">ipstream &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTStreamable.html">TStreamable</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [friend]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="l11" doxytag="ipstream::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> ipstream&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">ipstream &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>long double &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [friend]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="l10" doxytag="ipstream::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> ipstream&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">ipstream &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>double &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [friend]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="l9" doxytag="ipstream::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> ipstream&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">ipstream &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>float &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [friend]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="l8" doxytag="ipstream::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> ipstream&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">ipstream &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>unsigned long &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [friend]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="l7" doxytag="ipstream::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> ipstream&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">ipstream &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>signed long &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [friend]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="l6" doxytag="ipstream::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> ipstream&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">ipstream &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>unsigned int &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [friend]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="l5" doxytag="ipstream::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> ipstream&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">ipstream &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>signed int &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [friend]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="l4" doxytag="ipstream::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> ipstream&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">ipstream &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>unsigned short &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [friend]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="l3" doxytag="ipstream::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> ipstream&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">ipstream &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>signed short &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [friend]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="l2" doxytag="ipstream::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> ipstream&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">ipstream &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>unsigned char &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [friend]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="l1" doxytag="ipstream::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> ipstream&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">ipstream &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>signed char &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [friend]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="l0" doxytag="ipstream::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> ipstream&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">ipstream &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>char &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [friend]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="tobjstrm_8h-source.html">tobjstrm.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:14 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classipstream.png b/freebsdtvision/doc/html/classipstream.png
new file mode 100644
index 0000000..a02c35c
--- /dev/null
+++ b/freebsdtvision/doc/html/classipstream.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classofpstream-members.html b/freebsdtvision/doc/html/classofpstream-members.html
new file mode 100644
index 0000000..9e0ce5e
--- /dev/null
+++ b/freebsdtvision/doc/html/classofpstream-members.html
@@ -0,0 +1,88 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>ofpstream Member List</h1>This is the complete list of members for <a class="el" href="classofpstream.html">ofpstream</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classfpbase.html#a6">attach</a>(int f)</td><td><a class="el" href="classfpbase.html">fpbase</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a5">bad</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#n0">bp</a></td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a7">clear</a>(int sState=0)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classfpbase.html#a7">close</a>()</td><td><a class="el" href="classfpbase.html">fpbase</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a3">eof</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a11">error</a>(StreamableError)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a12">error</a>(StreamableError, const TStreamable &amp;)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a4">fail</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#b4">find</a>(const void *adr)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#a5">flush</a>()</td><td><a class="el" href="classopstream.html">opstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classfpbase.html#a0">fpbase</a>()</td><td><a class="el" href="classfpbase.html">fpbase</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classfpbase.html#a1">fpbase</a>(const char *name, int omode, int prot=filebuf::openprot)</td><td><a class="el" href="classfpbase.html">fpbase</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classfpbase.html#a2">fpbase</a>(int f)</td><td><a class="el" href="classfpbase.html">fpbase</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classfpbase.html#a3">fpbase</a>(int f, char *b, int len)</td><td><a class="el" href="classfpbase.html">fpbase</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a6">good</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#b1">init</a>(streambuf *sbp)</td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#d0">initTypes</a>()</td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classofpstream.html#a0">ofpstream</a>()</td><td><a class="el" href="classofpstream.html">ofpstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classofpstream.html#a1">ofpstream</a>(const char *name, int omode=ios::out, int prot=filebuf::openprot)</td><td><a class="el" href="classofpstream.html">ofpstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classofpstream.html#a2">ofpstream</a>(int f)</td><td><a class="el" href="classofpstream.html">ofpstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classofpstream.html#a3">ofpstream</a>(int f, char *b, int len)</td><td><a class="el" href="classofpstream.html">ofpstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classofpstream.html#a6">open</a>(const char *name, int omode=ios::out, int prot=filebuf::openprot)</td><td><a class="el" href="classofpstream.html">ofpstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a8">operator void *</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a9">operator!</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#l0">operator&lt;&lt;</a>(opstream &amp;, char)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#l1">operator&lt;&lt;</a>(opstream &amp;, signed char)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#l2">operator&lt;&lt;</a>(opstream &amp;, unsigned char)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#l3">operator&lt;&lt;</a>(opstream &amp;, signed short)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#l4">operator&lt;&lt;</a>(opstream &amp;, unsigned short)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#l5">operator&lt;&lt;</a>(opstream &amp;, signed int)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#l6">operator&lt;&lt;</a>(opstream &amp;, unsigned int)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#l7">operator&lt;&lt;</a>(opstream &amp;, signed long)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#l8">operator&lt;&lt;</a>(opstream &amp;, unsigned long)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#l9">operator&lt;&lt;</a>(opstream &amp;, float)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#l10">operator&lt;&lt;</a>(opstream &amp;, double)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#l11">operator&lt;&lt;</a>(opstream &amp;, long double)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#l12">operator&lt;&lt;</a>(opstream &amp;, TStreamable &amp;)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#l13">operator&lt;&lt;</a>(opstream &amp;, TStreamable *)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#a0">opstream</a>(streambuf *buf)</td><td><a class="el" href="classopstream.html">opstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#b0">opstream</a>()</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>peInvalidType</b> enum value (defined in <a class="el" href="classpstream.html">pstream</a>)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>peNotRegistered</b> enum value (defined in <a class="el" href="classpstream.html">pstream</a>)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#s6">PointerTypes</a> enum name</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a0">pstream</a>(streambuf *buf)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#b0">pstream</a>()</td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>ptIndexed</b> enum value (defined in <a class="el" href="classpstream.html">pstream</a>)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>ptNull</b> enum value (defined in <a class="el" href="classpstream.html">pstream</a>)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>ptObject</b> enum value (defined in <a class="el" href="classpstream.html">pstream</a>)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classofpstream.html#a5">rdbuf</a>()</td><td><a class="el" href="classofpstream.html">ofpstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a10">pstream::rdbuf</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a2">rdstate</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#b5">registerObject</a>(const void *adr)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#d1">registerType</a>(TStreamableClass *ts)</td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#a3">seekp</a>(streampos pos)</td><td><a class="el" href="classopstream.html">opstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#a4">seekp</a>(streamoff off, ios::seek_dir dir)</td><td><a class="el" href="classopstream.html">opstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classfpbase.html#a8">setbuf</a>(char *buf, int len)</td><td><a class="el" href="classfpbase.html">fpbase</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#b2">setstate</a>(int b)</td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#n1">state</a></td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#s5">StreamableError</a> enum name</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#a2">tellp</a>()</td><td><a class="el" href="classopstream.html">opstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#q0">types</a></td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [protected, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#a6">writeByte</a>(uchar ch)</td><td><a class="el" href="classopstream.html">opstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#a7">writeBytes</a>(const void *data, size_t sz)</td><td><a class="el" href="classopstream.html">opstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#b2">writeData</a>(TStreamable &amp;)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#b1">writePrefix</a>(const TStreamable &amp;)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#a9">writeString</a>(const char *str)</td><td><a class="el" href="classopstream.html">opstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#b3">writeSuffix</a>(const TStreamable &amp;)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#a8">writeWord</a>(ushort us)</td><td><a class="el" href="classopstream.html">opstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classfpbase.html#a4">~fpbase</a>()</td><td><a class="el" href="classfpbase.html">fpbase</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classofpstream.html#a4">~ofpstream</a>()</td><td><a class="el" href="classofpstream.html">ofpstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#a1">~opstream</a>()</td><td><a class="el" href="classopstream.html">opstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a1">~pstream</a>()</td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [virtual]</code></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:15 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classofpstream.html b/freebsdtvision/doc/html/classofpstream.html
new file mode 100644
index 0000000..3b5b539
--- /dev/null
+++ b/freebsdtvision/doc/html/classofpstream.html
@@ -0,0 +1,296 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>ofpstream class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>ofpstream Class Reference</h1>Provides the base class for writing (inserting) streamable objects to file streams.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="tobjstrm_8h-source.html">tobjstrm.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for ofpstream:
+<p><center><img src="classofpstream.png" usemap="#ofpstream_map" border="0" alt=""></center>
+<map name="ofpstream_map">
+<area href="classfpbase.html" alt="fpbase" shape="rect" coords="0,56,67,80">
+<area href="classopstream.html" alt="opstream" shape="rect" coords="77,56,144,80">
+<area href="classpstream.html" alt="pstream" shape="rect" coords="0,0,67,24">
+<area href="classpstream.html" alt="pstream" shape="rect" coords="77,0,144,24">
+</map>
+<a href="classofpstream-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classofpstream.html#a0">ofpstream</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classofpstream.html#a1">ofpstream</a> (const char *name, int omode=ios::out, int prot=filebuf::openprot)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classofpstream.html#a2">ofpstream</a> (int f)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classofpstream.html#a3">ofpstream</a> (int f, char *b, int len)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classofpstream.html#a4">~ofpstream</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>filebuf *&nbsp;</td><td valign=bottom><a class="el" href="classofpstream.html#a5">rdbuf</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classofpstream.html#a6">open</a> (const char *name, int omode=ios::out, int prot=filebuf::openprot)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Class ofpstream is a simple "mix" of its bases, fpbase and opstream. It provides the base class for writing (inserting) streamable objects to file streams.
+<p>
+
+<p>
+Definition at line <a class="el" href="tobjstrm_8h-source.html#l01102">1102</a> of file <a class="el" href="tobjstrm_8h-source.html">tobjstrm.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="ofpstream::ofpstream"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> ofpstream::ofpstream </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a buffered ofpstream object. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="ofpstream::ofpstream"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> ofpstream::ofpstream </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>name</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>omode</em> = ios::out, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>prot</em> = filebuf::openprot</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a buffered ofpstream object. You can open a file and attach it to the stream by specifying the `name', `omode', and `prot' (protection) arguments. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="ofpstream::ofpstream"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> ofpstream::ofpstream </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>f</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a buffered ofpstream object. You can open a file and attach it to the stream by specifying the file descriptor, `f'. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="ofpstream::ofpstream"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> ofpstream::ofpstream </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>f</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>b</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>len</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates a buffered ofpstream object. You can set the size and initial contents of the buffer using the `len' and `b' arguments. You can open a file and attach it to the stream by specifying the file descriptor, `f'. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="ofpstream::~ofpstream"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> ofpstream::~ofpstream </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Destroys the ofpstream object. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="a6" doxytag="ofpstream::open"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void ofpstream::open </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>name</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>omode</em> = ios::out, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>prot</em> = filebuf::openprot</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Opens the the named file in the given mode (app, ate, in, out, binary, trunc, nocreate, or noreplace) and protection. The default mode is out (output) with openprot protection. The opened file is attached to this stream.
+<p>
+Reimplemented from <a class="el" href="classfpbase.html#a5">fpbase</a>. </td>
+ </tr>
+</table>
+<a name="a5" doxytag="ofpstream::rdbuf"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> filebuf* ofpstream::rdbuf </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the current file buffer.
+<p>
+Reimplemented from <a class="el" href="classfpbase.html#a9">fpbase</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="tobjstrm_8h-source.html">tobjstrm.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:15 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classofpstream.png b/freebsdtvision/doc/html/classofpstream.png
new file mode 100644
index 0000000..c56401c
--- /dev/null
+++ b/freebsdtvision/doc/html/classofpstream.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classopstream-members.html b/freebsdtvision/doc/html/classopstream-members.html
new file mode 100644
index 0000000..f883cb1
--- /dev/null
+++ b/freebsdtvision/doc/html/classopstream-members.html
@@ -0,0 +1,73 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>opstream Member List</h1>This is the complete list of members for <a class="el" href="classopstream.html">opstream</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a5">bad</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#n0">bp</a></td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a7">clear</a>(int sState=0)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a3">eof</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a11">error</a>(StreamableError)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a12">error</a>(StreamableError, const TStreamable &amp;)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a4">fail</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#b4">find</a>(const void *adr)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#a5">flush</a>()</td><td><a class="el" href="classopstream.html">opstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a6">good</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#b1">init</a>(streambuf *sbp)</td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#d0">initTypes</a>()</td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a8">operator void *</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a9">operator!</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#l0">operator&lt;&lt;</a>(opstream &amp;, char)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#l1">operator&lt;&lt;</a>(opstream &amp;, signed char)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#l2">operator&lt;&lt;</a>(opstream &amp;, unsigned char)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#l3">operator&lt;&lt;</a>(opstream &amp;, signed short)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#l4">operator&lt;&lt;</a>(opstream &amp;, unsigned short)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#l5">operator&lt;&lt;</a>(opstream &amp;, signed int)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#l6">operator&lt;&lt;</a>(opstream &amp;, unsigned int)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#l7">operator&lt;&lt;</a>(opstream &amp;, signed long)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#l8">operator&lt;&lt;</a>(opstream &amp;, unsigned long)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#l9">operator&lt;&lt;</a>(opstream &amp;, float)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#l10">operator&lt;&lt;</a>(opstream &amp;, double)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#l11">operator&lt;&lt;</a>(opstream &amp;, long double)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#l12">operator&lt;&lt;</a>(opstream &amp;, TStreamable &amp;)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#l13">operator&lt;&lt;</a>(opstream &amp;, TStreamable *)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [friend]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#a0">opstream</a>(streambuf *buf)</td><td><a class="el" href="classopstream.html">opstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#b0">opstream</a>()</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>peInvalidType</b> enum value (defined in <a class="el" href="classpstream.html">pstream</a>)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>peNotRegistered</b> enum value (defined in <a class="el" href="classpstream.html">pstream</a>)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#s6">PointerTypes</a> enum name</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a0">pstream</a>(streambuf *buf)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#b0">pstream</a>()</td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>ptIndexed</b> enum value (defined in <a class="el" href="classpstream.html">pstream</a>)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>ptNull</b> enum value (defined in <a class="el" href="classpstream.html">pstream</a>)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>ptObject</b> enum value (defined in <a class="el" href="classpstream.html">pstream</a>)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a10">rdbuf</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a2">rdstate</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#b5">registerObject</a>(const void *adr)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#d1">registerType</a>(TStreamableClass *ts)</td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#a3">seekp</a>(streampos pos)</td><td><a class="el" href="classopstream.html">opstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#a4">seekp</a>(streamoff off, ios::seek_dir dir)</td><td><a class="el" href="classopstream.html">opstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#b2">setstate</a>(int b)</td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#n1">state</a></td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#s5">StreamableError</a> enum name</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#a2">tellp</a>()</td><td><a class="el" href="classopstream.html">opstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#q0">types</a></td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [protected, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#a6">writeByte</a>(uchar ch)</td><td><a class="el" href="classopstream.html">opstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#a7">writeBytes</a>(const void *data, size_t sz)</td><td><a class="el" href="classopstream.html">opstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#b2">writeData</a>(TStreamable &amp;)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#b1">writePrefix</a>(const TStreamable &amp;)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#a9">writeString</a>(const char *str)</td><td><a class="el" href="classopstream.html">opstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#b3">writeSuffix</a>(const TStreamable &amp;)</td><td><a class="el" href="classopstream.html">opstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#a8">writeWord</a>(ushort us)</td><td><a class="el" href="classopstream.html">opstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classopstream.html#a1">~opstream</a>()</td><td><a class="el" href="classopstream.html">opstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a1">~pstream</a>()</td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [virtual]</code></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:16 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classopstream.html b/freebsdtvision/doc/html/classopstream.html
new file mode 100644
index 0000000..aca564d
--- /dev/null
+++ b/freebsdtvision/doc/html/classopstream.html
@@ -0,0 +1,1098 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>opstream class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>opstream Class Reference</h1>The base class for writing (inserting) streamable objects into streams.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="tobjstrm_8h-source.html">tobjstrm.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for opstream:
+<p><center><img src="classopstream.png" usemap="#opstream_map" border="0" alt=""></center>
+<map name="opstream_map">
+<area href="classpstream.html" alt="pstream" shape="rect" coords="38,0,105,24">
+<area href="classiopstream.html" alt="iopstream" shape="rect" coords="0,112,67,136">
+<area href="classofpstream.html" alt="ofpstream" shape="rect" coords="77,112,144,136">
+<area href="classfpstream.html" alt="fpstream" shape="rect" coords="0,168,67,192">
+</map>
+<a href="classopstream-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classopstream.html#a0">opstream</a> (streambuf *buf)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classopstream.html#a1">~opstream</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>streampos&nbsp;</td><td valign=bottom><a class="el" href="classopstream.html#a2">tellp</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>opstream &amp;&nbsp;</td><td valign=bottom><a class="el" href="classopstream.html#a3">seekp</a> (streampos pos)</td></tr>
+<tr><td nowrap align=right valign=top>opstream &amp;&nbsp;</td><td valign=bottom><a class="el" href="classopstream.html#a4">seekp</a> (streamoff off, ios::seek_dir dir)</td></tr>
+<tr><td nowrap align=right valign=top>opstream &amp;&nbsp;</td><td valign=bottom><a class="el" href="classopstream.html#a5">flush</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classopstream.html#a6">writeByte</a> (<a class="el" href="ttypes_8h.html#a1">uchar</a> ch)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classopstream.html#a7">writeBytes</a> (const void *data, size_t sz)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classopstream.html#a8">writeWord</a> (<a class="el" href="ttypes_8h.html#a0">ushort</a> us)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classopstream.html#a9">writeString</a> (const char *str)</td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classopstream.html#b0">opstream</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classopstream.html#b1">writePrefix</a> (const <a class="el" href="classTStreamable.html">TStreamable</a> &amp;)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classopstream.html#b2">writeData</a> (<a class="el" href="classTStreamable.html">TStreamable</a> &amp;)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classopstream.html#b3">writeSuffix</a> (const <a class="el" href="classTStreamable.html">TStreamable</a> &amp;)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="tobjstrm_8h.html#a0">P_id_type</a>&nbsp;</td><td valign=bottom><a class="el" href="classopstream.html#b4">find</a> (const void *adr)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classopstream.html#b5">registerObject</a> (const void *adr)</td></tr>
+<tr><td colspan=2><br><h2>Friends</h2></td></tr>
+<tr><td nowrap align=right valign=top>opstream &amp;&nbsp;</td><td valign=bottom><a class="el" href="classopstream.html#l0">operator&lt;&lt;</a> (opstream &amp;, char)</td></tr>
+<tr><td nowrap align=right valign=top>opstream &amp;&nbsp;</td><td valign=bottom><a class="el" href="classopstream.html#l1">operator&lt;&lt;</a> (opstream &amp;, signed char)</td></tr>
+<tr><td nowrap align=right valign=top>opstream &amp;&nbsp;</td><td valign=bottom><a class="el" href="classopstream.html#l2">operator&lt;&lt;</a> (opstream &amp;, unsigned char)</td></tr>
+<tr><td nowrap align=right valign=top>opstream &amp;&nbsp;</td><td valign=bottom><a class="el" href="classopstream.html#l3">operator&lt;&lt;</a> (opstream &amp;, signed short)</td></tr>
+<tr><td nowrap align=right valign=top>opstream &amp;&nbsp;</td><td valign=bottom><a class="el" href="classopstream.html#l4">operator&lt;&lt;</a> (opstream &amp;, unsigned short)</td></tr>
+<tr><td nowrap align=right valign=top>opstream &amp;&nbsp;</td><td valign=bottom><a class="el" href="classopstream.html#l5">operator&lt;&lt;</a> (opstream &amp;, signed int)</td></tr>
+<tr><td nowrap align=right valign=top>opstream &amp;&nbsp;</td><td valign=bottom><a class="el" href="classopstream.html#l6">operator&lt;&lt;</a> (opstream &amp;, unsigned int)</td></tr>
+<tr><td nowrap align=right valign=top>opstream &amp;&nbsp;</td><td valign=bottom><a class="el" href="classopstream.html#l7">operator&lt;&lt;</a> (opstream &amp;, signed long)</td></tr>
+<tr><td nowrap align=right valign=top>opstream &amp;&nbsp;</td><td valign=bottom><a class="el" href="classopstream.html#l8">operator&lt;&lt;</a> (opstream &amp;, unsigned long)</td></tr>
+<tr><td nowrap align=right valign=top>opstream &amp;&nbsp;</td><td valign=bottom><a class="el" href="classopstream.html#l9">operator&lt;&lt;</a> (opstream &amp;, float)</td></tr>
+<tr><td nowrap align=right valign=top>opstream &amp;&nbsp;</td><td valign=bottom><a class="el" href="classopstream.html#l10">operator&lt;&lt;</a> (opstream &amp;, double)</td></tr>
+<tr><td nowrap align=right valign=top>opstream &amp;&nbsp;</td><td valign=bottom><a class="el" href="classopstream.html#l11">operator&lt;&lt;</a> (opstream &amp;, long double)</td></tr>
+<tr><td nowrap align=right valign=top>opstream &amp;&nbsp;</td><td valign=bottom><a class="el" href="classopstream.html#l12">operator&lt;&lt;</a> (opstream &amp;, <a class="el" href="classTStreamable.html">TStreamable</a> &amp;)</td></tr>
+<tr><td nowrap align=right valign=top>opstream &amp;&nbsp;</td><td valign=bottom><a class="el" href="classopstream.html#l13">operator&lt;&lt;</a> (opstream &amp;, <a class="el" href="classTStreamable.html">TStreamable</a> *)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+opstream, a specialized output stream derivative of pstream, is the base class for writing (inserting) streamable objects. opstream is analogous to ostream, defined in `iostream.h' for the standard C++ stream library. opstream is a friend class of <a class="el" href="classTPWrittenObjects.html">TPWrittenObjects</a>.
+<p>
+The overloaded operators &lt;&lt; insert (write) the given argument to the given opstream object. A reference to the stream is returned, allowing you to chain &lt;&lt; operations in the usual way. The data type of the argument determines the form of write operation employed. For example, writing a signed char is implemented using <a class="el" href="classopstream.html#a6">writeByte()</a>. <dl compact><dt><b>See also: </b></dt><dd>
+ipstream </dl>
+<p>
+
+<p>
+Definition at line <a class="el" href="tobjstrm_8h-source.html#l00750">750</a> of file <a class="el" href="tobjstrm_8h-source.html">tobjstrm.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="opstream::opstream"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> opstream::opstream </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">streambuf *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>buf</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This form creates a buffered opstream with the given buffer and sets the bp data member to `buf'. The state data member is set to 0. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="opstream::~opstream"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> opstream::~opstream </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Destroys the opstream object. </td>
+ </tr>
+</table>
+<a name="b0" doxytag="opstream::opstream"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> opstream::opstream </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This form allocates a default buffer. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="b4" doxytag="opstream::find"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="tobjstrm_8h.html#a0">P_id_type</a> opstream::find </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const void *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>adr</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the type ID for the object ad address `adr'. </td>
+ </tr>
+</table>
+<a name="a5" doxytag="opstream::flush"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> opstream&amp; opstream::flush </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Flushes the stream. </td>
+ </tr>
+</table>
+<a name="b5" doxytag="opstream::registerObject"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void opstream::registerObject </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const void *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>adr</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Registers the class of the object ad address `adr'. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="opstream::seekp"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> opstream&amp; opstream::seekp </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">streamoff&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>off</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>ios::seek_dir&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>dir</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This form moves to a position relative to the current position by an offset `off' (+ or -) starting at `dir'. Parameter `dir' can be set to:
+<p>
+<pre>
+ beg (start of stream)
+
+ cur (current stream position)
+
+ end (end of stream)
+ </pre> </td>
+ </tr>
+</table>
+<a name="a3" doxytag="opstream::seekp"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> opstream&amp; opstream::seekp </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">streampos&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>pos</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This form moves the stream's current position to the absolute position given by `pos'. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="opstream::tellp"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> streampos opstream::tellp </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the (absolute) current stream position. </td>
+ </tr>
+</table>
+<a name="a6" doxytag="opstream::writeByte"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void opstream::writeByte </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a1">uchar</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>ch</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Writes character `ch' to the stream. </td>
+ </tr>
+</table>
+<a name="a7" doxytag="opstream::writeBytes"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void opstream::writeBytes </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const void *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>data</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>size_t&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>sz</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Writes `sz' bytes from `data' buffer to the stream. </td>
+ </tr>
+</table>
+<a name="b2" doxytag="opstream::writeData"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void opstream::writeData </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTStreamable.html">TStreamable</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Writes data to the stream by calling the appropriate class's write member function for the object being written. </td>
+ </tr>
+</table>
+<a name="b1" doxytag="opstream::writePrefix"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void opstream::writePrefix </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTStreamable.html">TStreamable</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Writes the class name prefix to the stream.
+<p>
+The &lt;&lt; operator uses this function to write a prefix and suffix around the data written with <a class="el" href="classopstream.html#b2">writeData()</a>. The prefix/suffix is used to ensure type-safe stream I/O. </td>
+ </tr>
+</table>
+<a name="a9" doxytag="opstream::writeString"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void opstream::writeString </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>str</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Writes `str' to the stream (together with a leading length byte). </td>
+ </tr>
+</table>
+<a name="b3" doxytag="opstream::writeSuffix"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void opstream::writeSuffix </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTStreamable.html">TStreamable</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Writes the class name suffix to the stream.
+<p>
+The &lt;&lt; operator uses this function to write a prefix and suffix around the data written with <a class="el" href="classopstream.html#b2">writeData()</a>. The prefix/suffix is used to ensure type-safe stream I/O. </td>
+ </tr>
+</table>
+<a name="a8" doxytag="opstream::writeWord"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void opstream::writeWord </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>us</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Writes the word `us' to the stream. </td>
+ </tr>
+</table>
+<hr><h2>Friends And Related Function Documentation</h2>
+<a name="l13" doxytag="opstream::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> opstream&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">opstream &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTStreamable.html">TStreamable</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [friend]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="l12" doxytag="opstream::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> opstream&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">opstream &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTStreamable.html">TStreamable</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [friend]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="l11" doxytag="opstream::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> opstream&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">opstream &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>long&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>double</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [friend]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="l10" doxytag="opstream::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> opstream&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">opstream &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>double&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [friend]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="l9" doxytag="opstream::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> opstream&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">opstream &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>float&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [friend]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="l8" doxytag="opstream::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> opstream&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">opstream &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>unsigned&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>long</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [friend]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="l7" doxytag="opstream::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> opstream&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">opstream &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>signed&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>long</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [friend]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="l6" doxytag="opstream::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> opstream&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">opstream &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>unsigned&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>int</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [friend]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="l5" doxytag="opstream::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> opstream&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">opstream &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>signed&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>int</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [friend]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="l4" doxytag="opstream::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> opstream&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">opstream &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>unsigned&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>short</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [friend]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="l3" doxytag="opstream::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> opstream&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">opstream &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>signed&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>short</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [friend]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="l2" doxytag="opstream::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> opstream&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">opstream &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>unsigned&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>char</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [friend]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="l1" doxytag="opstream::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> opstream&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">opstream &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>signed&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>char</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [friend]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="l0" doxytag="opstream::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> opstream&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">opstream &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>char&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [friend]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="tobjstrm_8h-source.html">tobjstrm.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:16 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classopstream.png b/freebsdtvision/doc/html/classopstream.png
new file mode 100644
index 0000000..fc2b8cb
--- /dev/null
+++ b/freebsdtvision/doc/html/classopstream.png
Binary files differ
diff --git a/freebsdtvision/doc/html/classotstream-members.html b/freebsdtvision/doc/html/classotstream-members.html
new file mode 100644
index 0000000..0f1a88f
--- /dev/null
+++ b/freebsdtvision/doc/html/classotstream-members.html
@@ -0,0 +1,17 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>otstream Member List</h1>This is the complete list of members for <a class="el" href="classotstream.html">otstream</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classotstream.html#n0">buf</a></td><td><a class="el" href="classotstream.html">otstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classotstream.html#a0">otstream</a>(TTerminal *tt)</td><td><a class="el" href="classotstream.html">otstream</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:16 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classotstream.html b/freebsdtvision/doc/html/classotstream.html
new file mode 100644
index 0000000..87332d1
--- /dev/null
+++ b/freebsdtvision/doc/html/classotstream.html
@@ -0,0 +1,85 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>otstream class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>otstream Class Reference</h1><code>#include &lt;<a class="el" href="textview_8h-source.html">textview.h</a>&gt;</code>
+<p>
+<a href="classotstream-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classotstream.html#a0">otstream</a> (<a class="el" href="classTTerminal.html">TTerminal</a> *tt)</td></tr>
+<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTerminalBuf.html">TerminalBuf</a>&nbsp;</td><td valign=bottom><a class="el" href="classotstream.html#n0">buf</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Undocumented.
+<p>
+
+<p>
+Definition at line <a class="el" href="textview_8h-source.html#l00211">211</a> of file <a class="el" href="textview_8h-source.html">textview.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="otstream::otstream"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> otstream::otstream </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTTerminal.html">TTerminal</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>tt</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="n0" doxytag="otstream::buf"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTerminalBuf.html">TerminalBuf</a> otstream::buf<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="textview_8h-source.html#l00217">217</a> of file <a class="el" href="textview_8h-source.html">textview.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="textview_8h-source.html">textview.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:16 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classpstream-members.html b/freebsdtvision/doc/html/classpstream-members.html
new file mode 100644
index 0000000..2c0d56f
--- /dev/null
+++ b/freebsdtvision/doc/html/classpstream-members.html
@@ -0,0 +1,43 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>pstream Member List</h1>This is the complete list of members for <a class="el" href="classpstream.html">pstream</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a5">bad</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#n0">bp</a></td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a7">clear</a>(int sState=0)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a3">eof</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a11">error</a>(StreamableError)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a12">error</a>(StreamableError, const TStreamable &amp;)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a4">fail</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a6">good</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#b1">init</a>(streambuf *sbp)</td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#d0">initTypes</a>()</td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a8">operator void *</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a9">operator!</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>peInvalidType</b> enum value (defined in <a class="el" href="classpstream.html">pstream</a>)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>peNotRegistered</b> enum value (defined in <a class="el" href="classpstream.html">pstream</a>)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#s6">PointerTypes</a> enum name</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a0">pstream</a>(streambuf *buf)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#b0">pstream</a>()</td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>ptIndexed</b> enum value (defined in <a class="el" href="classpstream.html">pstream</a>)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>ptNull</b> enum value (defined in <a class="el" href="classpstream.html">pstream</a>)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>ptObject</b> enum value (defined in <a class="el" href="classpstream.html">pstream</a>)</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a10">rdbuf</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a2">rdstate</a>() const</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#d1">registerType</a>(TStreamableClass *ts)</td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#b2">setstate</a>(int b)</td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#n1">state</a></td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [protected]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#s5">StreamableError</a> enum name</td><td><a class="el" href="classpstream.html">pstream</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#q0">types</a></td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [protected, static]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classpstream.html#a1">~pstream</a>()</td><td><a class="el" href="classpstream.html">pstream</a></td><td><code> [virtual]</code></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:16 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classpstream.html b/freebsdtvision/doc/html/classpstream.html
new file mode 100644
index 0000000..4bc512d
--- /dev/null
+++ b/freebsdtvision/doc/html/classpstream.html
@@ -0,0 +1,728 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>pstream class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>pstream Class Reference</h1>The base class for handling streamable objects.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="tobjstrm_8h-source.html">tobjstrm.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for pstream:
+<p><center><img src="classpstream.png" usemap="#pstream_map" border="0" alt=""></center>
+<map name="pstream_map">
+<area href="classfpbase.html" alt="fpbase" shape="rect" coords="77,56,144,80">
+<area href="classipstream.html" alt="ipstream" shape="rect" coords="269,56,336,80">
+<area href="classopstream.html" alt="opstream" shape="rect" coords="423,56,490,80">
+<area href="classfpstream.html" alt="fpstream" shape="rect" coords="0,112,67,136">
+<area href="classifpstream.html" alt="ifpstream" shape="rect" coords="77,112,144,136">
+<area href="classofpstream.html" alt="ofpstream" shape="rect" coords="154,112,221,136">
+<area href="classifpstream.html" alt="ifpstream" shape="rect" coords="231,112,298,136">
+<area href="classiopstream.html" alt="iopstream" shape="rect" coords="308,112,375,136">
+<area href="classiopstream.html" alt="iopstream" shape="rect" coords="385,112,452,136">
+<area href="classofpstream.html" alt="ofpstream" shape="rect" coords="462,112,529,136">
+<area href="classfpstream.html" alt="fpstream" shape="rect" coords="308,168,375,192">
+<area href="classfpstream.html" alt="fpstream" shape="rect" coords="385,168,452,192">
+</map>
+<a href="classpstream-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Types</h2></td></tr>
+<tr><td nowrap align=right valign=top>enum &nbsp;</td><td valign=bottom><a class="el" href="classpstream.html#s5">StreamableError</a> </td></tr>
+<tr><td nowrap align=right valign=top>enum &nbsp;</td><td valign=bottom><a class="el" href="classpstream.html#s6">PointerTypes</a> </td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classpstream.html#a0">pstream</a> (streambuf *buf)</td></tr>
+<tr><td nowrap align=right valign=top>virtual&nbsp;</td><td valign=bottom><a class="el" href="classpstream.html#a1">~pstream</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classpstream.html#a2">rdstate</a> () const</td></tr>
+<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classpstream.html#a3">eof</a> () const</td></tr>
+<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classpstream.html#a4">fail</a> () const</td></tr>
+<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classpstream.html#a5">bad</a> () const</td></tr>
+<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classpstream.html#a6">good</a> () const</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classpstream.html#a7">clear</a> (int sState=0)</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classpstream.html#a8">operator void *</a> () const</td></tr>
+<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classpstream.html#a9">operator!</a> () const</td></tr>
+<tr><td nowrap align=right valign=top>streambuf *&nbsp;</td><td valign=bottom><a class="el" href="classpstream.html#a10">rdbuf</a> () const</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classpstream.html#a11">error</a> (<a class="el" href="classpstream.html#s5">StreamableError</a>)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classpstream.html#a12">error</a> (<a class="el" href="classpstream.html#s5">StreamableError</a>, const <a class="el" href="classTStreamable.html">TStreamable</a> &amp;)</td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classpstream.html#d0">initTypes</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classpstream.html#d1">registerType</a> (<a class="el" href="classTStreamableClass.html">TStreamableClass</a> *ts)</td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classpstream.html#b0">pstream</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classpstream.html#b1">init</a> (streambuf *sbp)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classpstream.html#b2">setstate</a> (int b)</td></tr>
+<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>streambuf *&nbsp;</td><td valign=bottom><a class="el" href="classpstream.html#n0">bp</a></td></tr>
+<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classpstream.html#n1">state</a></td></tr>
+<tr><td colspan=2><br><h2>Static Protected Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStreamableTypes.html">TStreamableTypes</a> *&nbsp;</td><td valign=bottom><a class="el" href="classpstream.html#q0">types</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+pstream is the base class for handling streamable objects.
+<p>
+
+<p>
+Definition at line <a class="el" href="tobjstrm_8h-source.html#l00424">424</a> of file <a class="el" href="tobjstrm_8h-source.html">tobjstrm.h</a>.<hr><h2>Member Enumeration Documentation</h2>
+<a name="s6" doxytag="pstream::PointerTypes"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> enum pstream::PointerTypes
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="tobjstrm_8h-source.html#l00435">435</a> of file <a class="el" href="tobjstrm_8h-source.html">tobjstrm.h</a>. </td>
+ </tr>
+</table>
+<a name="s5" doxytag="pstream::StreamableError"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> enum pstream::StreamableError
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="tobjstrm_8h-source.html#l00431">431</a> of file <a class="el" href="tobjstrm_8h-source.html">tobjstrm.h</a>. </td>
+ </tr>
+</table>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="pstream::pstream"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> pstream::pstream </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">streambuf *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>buf</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This form creates a buffered pstream with the given buffer and sets the bp data member to `buf'. The state data member is set to 0. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="pstream::~pstream"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual pstream::~pstream </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Destroys the pstream object. </td>
+ </tr>
+</table>
+<a name="b0" doxytag="pstream::pstream"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> pstream::pstream </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This form allocates a default buffer. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="a5" doxytag="pstream::bad"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> int pstream::bad </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns nonzero if an error occurs. </td>
+ </tr>
+</table>
+<a name="a7" doxytag="pstream::clear"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void pstream::clear </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>sState</em> = 0 </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set the stream state data member to the given value (defaults to 0). </td>
+ </tr>
+</table>
+<a name="a3" doxytag="pstream::eof"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> int pstream::eof </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns nonzero on end of stream. </td>
+ </tr>
+</table>
+<a name="a12" doxytag="pstream::error"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void pstream::error </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classpstream.html#s5">StreamableError</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>const <a class="el" href="classTStreamable.html">TStreamable</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Sets the given error condition, where StreamableError is defined as follows:
+<p>
+<pre>
+ enum StreamableError { peNotRegistered, peInvalidType };
+ </pre> </td>
+ </tr>
+</table>
+<a name="a11" doxytag="pstream::error"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void pstream::error </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classpstream.html#s5">StreamableError</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Sets the given error condition, where StreamableError is defined as follows:
+<p>
+<pre>
+ enum StreamableError { peNotRegistered, peInvalidType };
+ </pre> </td>
+ </tr>
+</table>
+<a name="a4" doxytag="pstream::fail"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> int pstream::fail </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns nonzero if a stream operation fails. </td>
+ </tr>
+</table>
+<a name="a6" doxytag="pstream::good"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> int pstream::good </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns nonzero if no state bits are set (that is, no errors occurred). </td>
+ </tr>
+</table>
+<a name="b1" doxytag="pstream::init"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void pstream::init </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">streambuf *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>sbp</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Initializes the stream: sets state to 0 and bp to `sbp'. </td>
+ </tr>
+</table>
+<a name="d0" doxytag="pstream::initTypes"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void pstream::initTypes </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Creates the associated <a class="el" href="classTStreamableTypes.html">TStreamableTypes</a> object types. Called by the <a class="el" href="classTStreamableClass.html">TStreamableClass</a> constructor. </td>
+ </tr>
+</table>
+<a name="a8" doxytag="pstream::operator void *"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> pstream::operator void * </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Overloads the pointer-to-void cast operator.
+<p>
+Returns 0 if operation has failed (that is, <a class="el" href="classpstream.html#a4">fail()</a> returned nonzero); otherwise returns nonzero. </td>
+ </tr>
+</table>
+<a name="a9" doxytag="pstream::operator!"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> int pstream::operator! </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Overloads the NOT operator. Returns the value returned by <a class="el" href="classpstream.html#a4">fail()</a>. </td>
+ </tr>
+</table>
+<a name="a10" doxytag="pstream::rdbuf"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> streambuf* pstream::rdbuf </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the bp pointer to this stream's assigned buffer. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="pstream::rdstate"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> int pstream::rdstate </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the current state value. </td>
+ </tr>
+</table>
+<a name="d1" doxytag="pstream::registerType"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void pstream::registerType </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTStreamableClass.html">TStreamableClass</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>ts</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="b2" doxytag="pstream::setstate"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void pstream::setstate </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>b</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Updates the state data member with state |= (b &amp; 0 xFF). </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="n0" doxytag="pstream::bp"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> streambuf* pstream::bp<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Pointer to the stream buffer.
+<p>
+Definition at line <a class="el" href="tobjstrm_8h-source.html#l00520">520</a> of file <a class="el" href="tobjstrm_8h-source.html">tobjstrm.h</a>. </td>
+ </tr>
+</table>
+<a name="n1" doxytag="pstream::state"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> int pstream::state<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The format state flags, as enumerated in ios. Use <a class="el" href="classpstream.html#a2">rdstate()</a> to access the current state.
+<p>
+Definition at line <a class="el" href="tobjstrm_8h-source.html#l00525">525</a> of file <a class="el" href="tobjstrm_8h-source.html">tobjstrm.h</a>. </td>
+ </tr>
+</table>
+<a name="q0" doxytag="pstream::types"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStreamableTypes.html">TStreamableTypes</a>* pstream::types<code> [static, protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Pointer to the <a class="el" href="classTStreamableTypes.html">TStreamableTypes</a> data base of all registered types in this application.
+<p>
+Definition at line <a class="el" href="tobjstrm_8h-source.html#l00538">538</a> of file <a class="el" href="tobjstrm_8h-source.html">tobjstrm.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="tobjstrm_8h-source.html">tobjstrm.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:16 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/classpstream.png b/freebsdtvision/doc/html/classpstream.png
new file mode 100644
index 0000000..caffa7c
--- /dev/null
+++ b/freebsdtvision/doc/html/classpstream.png
Binary files differ
diff --git a/freebsdtvision/doc/html/colorsel_8h-source.html b/freebsdtvision/doc/html/colorsel_8h-source.html
new file mode 100644
index 0000000..b0dbea4
--- /dev/null
+++ b/freebsdtvision/doc/html/colorsel_8h-source.html
@@ -0,0 +1,384 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>colorsel.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>colorsel.h</h1><a href="colorsel_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="comment">/*</span>
+00002 <span class="comment"> * colorsel.h</span>
+00003 <span class="comment"> *</span>
+00004 <span class="comment"> * Turbo Vision - Version 2.0</span>
+00005 <span class="comment"> *</span>
+00006 <span class="comment"> * Copyright (c) 1994 by Borland International</span>
+00007 <span class="comment"> * All Rights Reserved.</span>
+00008 <span class="comment"> *</span>
+00009 <span class="comment"> * Modified by Sergio Sigala &lt;sergio@sigala.it&gt;</span>
+00010 <span class="comment"> */</span>
+00011
+00012 <span class="preprocessor">#if !defined( __COLOR_COMMAND_CODES )</span>
+00013 <span class="preprocessor"></span><span class="preprocessor">#define __COLOR_COMMAND_CODES</span>
+00014 <span class="preprocessor"></span>
+00019 <span class="keyword">const</span>
+00020 <span class="keywordtype">int</span> cmColorForegroundChanged = 71,
+00021 cmColorBackgroundChanged = 72,
+00022 cmColorSet = 73,
+00023 cmNewColorItem = 74,
+00024 cmNewColorIndex = 75,
+00025 cmSaveColorIndex = 76;
+00026
+00027 <span class="preprocessor">#endif // __COLOR_COMMAND_CODES</span>
+00028 <span class="preprocessor"></span>
+00029 <span class="keyword">class </span><a class="code" href="classTColorItem.html">TColorItem</a>;
+00030 <span class="keyword">class </span><a class="code" href="classTColorGroup.html">TColorGroup</a>;
+00031
+00032 <a class="code" href="classTColorItem.html">TColorItem</a>&amp; <a class="code" href="menus_8h.html#a3">operator + </a>( <a class="code" href="classTColorItem.html">TColorItem</a>&amp; i1, <a class="code" href="classTColorItem.html">TColorItem</a>&amp; i2 );
+00033 <a class="code" href="classTColorGroup.html">TColorGroup</a>&amp; <a class="code" href="menus_8h.html#a3">operator + </a>( <a class="code" href="classTColorGroup.html">TColorGroup</a>&amp; g, <a class="code" href="classTColorItem.html">TColorItem</a>&amp; i );
+00034 <a class="code" href="classTColorGroup.html">TColorGroup</a>&amp; <a class="code" href="menus_8h.html#a3">operator + </a>( <a class="code" href="classTColorGroup.html">TColorGroup</a>&amp; g1, <a class="code" href="classTColorGroup.html">TColorGroup</a>&amp; g2 );
+00035
+00036 <span class="preprocessor">#if defined( Uses_TColorItem ) &amp;&amp; !defined( __TColorItem )</span>
+00037 <span class="preprocessor"></span><span class="preprocessor">#define __TColorItem</span>
+00038 <span class="preprocessor"></span>
+00039 <span class="keyword">class </span><a class="code" href="classTColorGroup.html">TColorGroup</a>;
+00040
+<a name="l00052"></a><a class="code" href="classTColorItem.html">00052</a> <span class="keyword">class </span><a class="code" href="classTColorItem.html">TColorItem</a>
+00053 {
+00054 <span class="keyword">public</span>:
+00067 <a class="code" href="classTColorItem.html#a0">TColorItem</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *nm, <a class="code" href="ttypes_8h.html#a1">uchar</a> idx, <a class="code" href="classTColorItem.html">TColorItem</a> *nxt = 0 );
+00071 <span class="keyword">virtual</span> <a class="code" href="classTColorItem.html#a1">~TColorItem</a>();
+<a name="l00075"></a><a class="code" href="classTColorItem.html#m0">00075</a> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classTColorItem.html#m0">name</a>;
+<a name="l00079"></a><a class="code" href="classTColorItem.html#m1">00079</a> <a class="code" href="ttypes_8h.html#a1">uchar</a> <a class="code" href="classTColorItem.html#m1">index</a>;
+<a name="l00083"></a><a class="code" href="classTColorItem.html#m2">00083</a> <a class="code" href="classTColorItem.html">TColorItem</a> *<a class="code" href="classTColorItem.html#m2">next</a>;
+00088 <span class="keyword">friend</span> <a class="code" href="classTColorGroup.html">TColorGroup</a>&amp; <a class="code" href="classTColorItem.html#l0">operator + </a>( <a class="code" href="classTColorGroup.html">TColorGroup</a>&amp; g, <a class="code" href="classTColorItem.html">TColorItem</a>&amp; i );
+00093 <span class="keyword">friend</span> <a class="code" href="classTColorItem.html">TColorItem</a>&amp; <a class="code" href="classTColorItem.html#l0">operator + </a>( <a class="code" href="classTColorItem.html">TColorItem</a>&amp; i1, <a class="code" href="classTColorItem.html">TColorItem</a>&amp; i2 );
+00094 };
+00095
+00096 <span class="preprocessor">#endif // Uses_TColorItem</span>
+00097 <span class="preprocessor"></span>
+00098 <span class="preprocessor">#if defined( Uses_TColorGroup ) &amp;&amp; !defined( __TColorGroup )</span>
+00099 <span class="preprocessor"></span><span class="preprocessor">#define __TColorGroup</span>
+00100 <span class="preprocessor"></span>
+00101 <span class="keyword">class </span><a class="code" href="classTColorItem.html">TColorItem</a>;
+00102
+<a name="l00115"></a><a class="code" href="classTColorGroup.html">00115</a> <span class="keyword">class </span><a class="code" href="classTColorGroup.html">TColorGroup</a>
+00116 {
+00117 <span class="keyword">public</span>:
+00130 <a class="code" href="classTColorGroup.html#a0">TColorGroup</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *nm, <a class="code" href="classTColorItem.html">TColorItem</a> *itm = 0, <a class="code" href="classTColorGroup.html">TColorGroup</a> *nxt = 0 );
+00134 <span class="keyword">virtual</span> <a class="code" href="classTColorGroup.html#a1">~TColorGroup</a>();
+<a name="l00138"></a><a class="code" href="classTColorGroup.html#m0">00138</a> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classTColorGroup.html#m0">name</a>;
+<a name="l00142"></a><a class="code" href="classTColorGroup.html#m1">00142</a> <a class="code" href="ttypes_8h.html#a1">uchar</a> <a class="code" href="classTColorGroup.html#m1">index</a>;
+<a name="l00147"></a><a class="code" href="classTColorGroup.html#m2">00147</a> <a class="code" href="classTColorItem.html">TColorItem</a> *<a class="code" href="classTColorGroup.html#m2">items</a>;
+<a name="l00151"></a><a class="code" href="classTColorGroup.html#m3">00151</a> <a class="code" href="classTColorGroup.html">TColorGroup</a> *<a class="code" href="classTColorGroup.html#m3">next</a>;
+00156 <span class="keyword">friend</span> <a class="code" href="classTColorGroup.html">TColorGroup</a>&amp; <a class="code" href="classTColorGroup.html#l0">operator + </a>( <a class="code" href="classTColorGroup.html">TColorGroup</a>&amp; g, <a class="code" href="classTColorItem.html">TColorItem</a>&amp; i);
+00162 <span class="keyword">friend</span> <a class="code" href="classTColorGroup.html">TColorGroup</a>&amp; <a class="code" href="classTColorGroup.html#l0">operator + </a>( <a class="code" href="classTColorGroup.html">TColorGroup</a>&amp; g1, <a class="code" href="classTColorGroup.html">TColorGroup</a>&amp; g2 );
+00163 };
+00164
+<a name="l00169"></a><a class="code" href="classTColorIndex.html">00169</a> <span class="keyword">class </span><a class="code" href="classTColorIndex.html">TColorIndex</a>
+00170 {
+00171 <span class="keyword">public</span>:
+<a name="l00175"></a><a class="code" href="classTColorIndex.html#m0">00175</a> <a class="code" href="ttypes_8h.html#a1">uchar</a> <a class="code" href="classTColorIndex.html#m0">groupIndex</a>;
+<a name="l00179"></a><a class="code" href="classTColorIndex.html#m1">00179</a> <a class="code" href="ttypes_8h.html#a1">uchar</a> <a class="code" href="classTColorIndex.html#m1">colorSize</a>;
+<a name="l00183"></a><a class="code" href="classTColorIndex.html#m2">00183</a> <a class="code" href="ttypes_8h.html#a1">uchar</a> <a class="code" href="classTColorIndex.html#m2">colorIndex</a>[256];
+00184 };
+00185
+00186
+00187 <span class="preprocessor">#endif // Uses_TColorGroup</span>
+00188 <span class="preprocessor"></span>
+00189 <span class="preprocessor">#if defined( Uses_TColorSelector ) &amp;&amp; !defined( __TColorSelector )</span>
+00190 <span class="preprocessor"></span><span class="preprocessor">#define __TColorSelector</span>
+00191 <span class="preprocessor"></span>
+00192 <span class="keyword">class </span><a class="code" href="classTRect.html">TRect</a>;
+00193 <span class="keyword">class </span><a class="code" href="structTEvent.html">TEvent</a>;
+00194
+<a name="l00206"></a><a class="code" href="classTColorSelector.html">00206</a> <span class="keyword">class </span><a class="code" href="classTColorSelector.html">TColorSelector</a> : <span class="keyword">public</span> <a class="code" href="classTView.html">TView</a>
+00207 {
+00208 <span class="keyword">public</span>:
+<a name="l00213"></a><a class="code" href="classTColorSelector.html#s2">00213</a> <span class="keyword">enum</span> <a class="code" href="classTColorSelector.html#s2">ColorSel</a> { csBackground = 0, csForeground };
+00231 <a class="code" href="classTColorSelector.html#a0">TColorSelector</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; bounds, <a class="code" href="classTColorSelector.html#s2">ColorSel</a> aSelType );
+00235 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTColorSelector.html#a1">draw</a>();
+00243 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTColorSelector.html#a2">handleEvent</a>( <a class="code" href="structTEvent.html">TEvent</a>&amp; event );
+<a name="l00247"></a><a class="code" href="classTColorSelector.html#p0">00247</a> <span class="keyword">static</span> <span class="keywordtype">char</span> <a class="code" href="classTColorSelector.html#p0">icon</a>;
+00248 <span class="keyword">protected</span>:
+<a name="l00252"></a><a class="code" href="classTColorSelector.html#n0">00252</a> <a class="code" href="ttypes_8h.html#a1">uchar</a> <a class="code" href="classTColorSelector.html#n0">color</a>;
+<a name="l00264"></a><a class="code" href="classTColorSelector.html#n1">00264</a> <a class="code" href="classTColorSelector.html#s2">ColorSel</a> <a class="code" href="classTColorSelector.html#n1">selType</a>;
+00265 <span class="keyword">private</span>:
+00266 <span class="keywordtype">void</span> colorChanged();
+00267 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *streamableName()<span class="keyword"> const</span>
+00268 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classTColorSelector.html#p1">name</a>; }
+00269 <span class="keyword">protected</span>:
+00275 <a class="code" href="classTColorSelector.html#a0">TColorSelector</a>( <a class="code" href="ttypes_8h.html#a14">StreamableInit</a> );
+00279 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTColorSelector.html#b1">write</a>( <a class="code" href="classopstream.html">opstream</a>&amp; os );
+00284 <span class="keyword">virtual</span> <span class="keywordtype">void</span> *<a class="code" href="classTColorSelector.html#b2">read</a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is );
+00285 <span class="keyword">public</span>:
+<a name="l00289"></a><a class="code" href="classTColorSelector.html#p1">00289</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classTColorSelector.html#p1">name</a>;
+00295 <span class="keyword">static</span> <a class="code" href="classTStreamable.html">TStreamable</a> *<a class="code" href="classTColorSelector.html#d0">build</a>();
+00296 };
+00297
+<a name="l00301"></a><a class="code" href="colorsel_8h.html#a9">00301</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTColorSelector.html">TColorSelector</a>&amp; cl )
+00302 { <span class="keywordflow">return</span> is &gt;&gt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l00306"></a><a class="code" href="colorsel_8h.html#a10">00306</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTColorSelector.html">TColorSelector</a>*&amp; cl )
+00307 { <span class="keywordflow">return</span> is &gt;&gt; (<span class="keywordtype">void</span> *&amp;)cl; }
+00308
+<a name="l00312"></a><a class="code" href="colorsel_8h.html#a11">00312</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTColorSelector.html">TColorSelector</a>&amp; cl )
+00313 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l00317"></a><a class="code" href="colorsel_8h.html#a12">00317</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTColorSelector.html">TColorSelector</a>* cl )
+00318 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a> *)cl; }
+00319
+00320 <span class="preprocessor">#endif // Uses_TColorSelector</span>
+00321 <span class="preprocessor"></span>
+00322
+00323 <span class="preprocessor">#if defined( Uses_TMonoSelector ) &amp;&amp; !defined( __TMonoSelector )</span>
+00324 <span class="preprocessor"></span><span class="preprocessor">#define __TMonoSelector</span>
+00325 <span class="preprocessor"></span>
+00326 <span class="keyword">class </span><a class="code" href="classTRect.html">TRect</a>;
+00327 <span class="keyword">class </span><a class="code" href="structTEvent.html">TEvent</a>;
+00328
+<a name="l00341"></a><a class="code" href="classTMonoSelector.html">00341</a> <span class="keyword">class </span><a class="code" href="classTMonoSelector.html">TMonoSelector</a> : <span class="keyword">public</span> <a class="code" href="classTCluster.html">TCluster</a>
+00342 {
+00343 <span class="keyword">public</span>:
+00353 <a class="code" href="classTMonoSelector.html#a0">TMonoSelector</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; bounds );
+00357 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTMonoSelector.html#a1">draw</a>();
+00364 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTMonoSelector.html#a2">handleEvent</a>( <a class="code" href="structTEvent.html">TEvent</a>&amp; event );
+00369 <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTMonoSelector.html#a3">mark</a>( <span class="keywordtype">int</span> item );
+00373 <span class="keywordtype">void</span> <a class="code" href="classTMonoSelector.html#a4">newColor</a>();
+00377 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTMonoSelector.html#a5">press</a>( <span class="keywordtype">int</span> item );
+00381 <span class="keywordtype">void</span> <a class="code" href="classTMonoSelector.html#a6">movedTo</a>( <span class="keywordtype">int</span> item );
+00382 <span class="keyword">private</span>:
+00383 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * button;
+00384 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * normal;
+00385 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * highlight;
+00386 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * underline;
+00387 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * inverse;
+00388 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *streamableName()<span class="keyword"> const</span>
+00389 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classTMonoSelector.html#p0">name</a>; }
+00390 <span class="keyword">protected</span>:
+00396 <a class="code" href="classTMonoSelector.html#a0">TMonoSelector</a>( <a class="code" href="ttypes_8h.html#a14">StreamableInit</a> );
+00397 <span class="keyword">public</span>:
+<a name="l00401"></a><a class="code" href="classTMonoSelector.html#p0">00401</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classTMonoSelector.html#p0">name</a>;
+00408 <span class="keyword">static</span> <a class="code" href="classTStreamable.html">TStreamable</a> *<a class="code" href="classTMonoSelector.html#d0">build</a>();
+00409 };
+00410
+<a name="l00414"></a><a class="code" href="colorsel_8h.html#a13">00414</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTMonoSelector.html">TMonoSelector</a>&amp; cl )
+00415 { <span class="keywordflow">return</span> is &gt;&gt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l00419"></a><a class="code" href="colorsel_8h.html#a14">00419</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTMonoSelector.html">TMonoSelector</a>*&amp; cl )
+00420 { <span class="keywordflow">return</span> is &gt;&gt; (<span class="keywordtype">void</span> *&amp;)cl; }
+00421
+<a name="l00425"></a><a class="code" href="colorsel_8h.html#a15">00425</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTMonoSelector.html">TMonoSelector</a>&amp; cl )
+00426 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l00430"></a><a class="code" href="colorsel_8h.html#a16">00430</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTMonoSelector.html">TMonoSelector</a>* cl )
+00431 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a> *)cl; }
+00432
+00433 <span class="preprocessor">#endif // Uses_TMonoSelector</span>
+00434 <span class="preprocessor"></span>
+00435 <span class="preprocessor">#if defined( Uses_TColorDisplay ) &amp;&amp; !defined( __TColorDisplay )</span>
+00436 <span class="preprocessor"></span><span class="preprocessor">#define __TColorDisplay</span>
+00437 <span class="preprocessor"></span>
+00438 <span class="keyword">class </span><a class="code" href="classTRect.html">TRect</a>;
+00439 <span class="keyword">class </span><a class="code" href="structTEvent.html">TEvent</a>;
+00440
+<a name="l00454"></a><a class="code" href="classTColorDisplay.html">00454</a> <span class="keyword">class </span><a class="code" href="classTColorDisplay.html">TColorDisplay</a> : <span class="keyword">public</span> <a class="code" href="classTView.html">TView</a>
+00455 {
+00456 <span class="keyword">public</span>:
+00466 <a class="code" href="classTColorDisplay.html#a0">TColorDisplay</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; bounds, <span class="keyword">const</span> <span class="keywordtype">char</span> *aText );
+00472 <span class="keyword">virtual</span> <a class="code" href="classTColorDisplay.html#a1">~TColorDisplay</a>();
+00476 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTColorDisplay.html#a2">draw</a>();
+00482 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTColorDisplay.html#a3">handleEvent</a>( <a class="code" href="structTEvent.html">TEvent</a>&amp; event );
+00488 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTColorDisplay.html#a4">setColor</a>( <a class="code" href="ttypes_8h.html#a1">uchar</a> *aColor );
+00489 <span class="keyword">protected</span>:
+<a name="l00493"></a><a class="code" href="classTColorDisplay.html#n0">00493</a> <a class="code" href="ttypes_8h.html#a1">uchar</a> *<a class="code" href="classTColorDisplay.html#n0">color</a>;
+<a name="l00497"></a><a class="code" href="classTColorDisplay.html#n1">00497</a> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classTColorDisplay.html#n1">text</a>;
+00498 <span class="keyword">private</span>:
+00499 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *streamableName()<span class="keyword"> const</span>
+00500 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classTColorDisplay.html#p0">name</a>; }
+00501 <span class="keyword">protected</span>:
+00507 <a class="code" href="classTColorDisplay.html#a0">TColorDisplay</a>( <a class="code" href="ttypes_8h.html#a14">StreamableInit</a> );
+00511 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTColorDisplay.html#b1">write</a>( <a class="code" href="classopstream.html">opstream</a>&amp; os );
+00516 <span class="keyword">virtual</span> <span class="keywordtype">void</span> *<a class="code" href="classTColorDisplay.html#b2">read</a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is );
+00517 <span class="keyword">public</span>:
+<a name="l00521"></a><a class="code" href="classTColorDisplay.html#p0">00521</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classTColorDisplay.html#p0">name</a>;
+00528 <span class="keyword">static</span> <a class="code" href="classTStreamable.html">TStreamable</a> *<a class="code" href="classTColorDisplay.html#d0">build</a>();
+00529 };
+00530
+<a name="l00534"></a><a class="code" href="colorsel_8h.html#a17">00534</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTColorDisplay.html">TColorDisplay</a>&amp; cl )
+00535 { <span class="keywordflow">return</span> is &gt;&gt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l00539"></a><a class="code" href="colorsel_8h.html#a18">00539</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTColorDisplay.html">TColorDisplay</a>*&amp; cl )
+00540 { <span class="keywordflow">return</span> is &gt;&gt; (<span class="keywordtype">void</span> *&amp;)cl; }
+00541
+<a name="l00545"></a><a class="code" href="colorsel_8h.html#a19">00545</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTColorDisplay.html">TColorDisplay</a>&amp; cl )
+00546 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l00550"></a><a class="code" href="colorsel_8h.html#a20">00550</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTColorDisplay.html">TColorDisplay</a>* cl )
+00551 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a> *)cl; }
+00552
+00553 <span class="preprocessor">#endif // Uses_TColorDisplay</span>
+00554 <span class="preprocessor"></span>
+00555
+00556 <span class="preprocessor">#if defined( Uses_TColorGroupList ) &amp;&amp; !defined( __TColorGroupList )</span>
+00557 <span class="preprocessor"></span><span class="preprocessor">#define __TColorGroupList</span>
+00558 <span class="preprocessor"></span>
+00559 <span class="keyword">class </span><a class="code" href="classTRect.html">TRect</a>;
+00560 <span class="keyword">class </span><a class="code" href="classTScrollBar.html">TScrollBar</a>;
+00561 <span class="keyword">class </span><a class="code" href="classTColorGroup.html">TColorGroup</a>;
+00562 <span class="keyword">class </span><a class="code" href="classTColorItem.html">TColorItem</a>;
+00563
+<a name="l00580"></a><a class="code" href="classTColorGroupList.html">00580</a> <span class="keyword">class </span><a class="code" href="classTColorGroupList.html">TColorGroupList</a> : <span class="keyword">public</span> <a class="code" href="classTListViewer.html">TListViewer</a>
+00581 {
+00582 <span class="keyword">public</span>:
+00591 <a class="code" href="classTColorGroupList.html#a0">TColorGroupList</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; bounds,
+00592 <a class="code" href="classTScrollBar.html">TScrollBar</a> *aScrollBar,
+00593 <a class="code" href="classTColorGroup.html">TColorGroup</a> *aGroups
+00594 );
+00598 <span class="keyword">virtual</span> <a class="code" href="classTColorGroupList.html#a1">~TColorGroupList</a>();
+00604 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTColorGroupList.html#a2">focusItem</a>( <span class="keywordtype">short</span> item );
+00608 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTColorGroupList.html#a3">getText</a>( <span class="keywordtype">char</span> *dest, <span class="keywordtype">short</span> item, <span class="keywordtype">short</span> maxLen );
+00612 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTColorGroupList.html#a4">handleEvent</a>(<a class="code" href="structTEvent.html">TEvent</a>&amp;);
+00613 <span class="keyword">protected</span>:
+<a name="l00617"></a><a class="code" href="classTColorGroupList.html#n0">00617</a> <a class="code" href="classTColorGroup.html">TColorGroup</a> *<a class="code" href="classTColorGroupList.html#n0">groups</a>;
+00618 <span class="keyword">private</span>:
+00619 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *streamableName()<span class="keyword"> const</span>
+00620 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classTColorGroupList.html#p0">name</a>; }
+00621 <span class="keyword">static</span> <span class="keywordtype">void</span> writeItems( <a class="code" href="classopstream.html">opstream</a>&amp;, <a class="code" href="classTColorItem.html">TColorItem</a> * );
+00622 <span class="keyword">static</span> <span class="keywordtype">void</span> writeGroups( <a class="code" href="classopstream.html">opstream</a>&amp;, <a class="code" href="classTColorGroup.html">TColorGroup</a> * );
+00623 <span class="keyword">static</span> <a class="code" href="classTColorItem.html">TColorItem</a> *readItems( <a class="code" href="classipstream.html">ipstream</a>&amp; );
+00624 <span class="keyword">static</span> <a class="code" href="classTColorGroup.html">TColorGroup</a> *readGroups( <a class="code" href="classipstream.html">ipstream</a>&amp; );
+00625 <span class="keyword">protected</span>:
+00629 <a class="code" href="classTColorGroupList.html#a0">TColorGroupList</a>( <a class="code" href="ttypes_8h.html#a14">StreamableInit</a> );
+00633 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTColorGroupList.html#b1">write</a>( <a class="code" href="classopstream.html">opstream</a>&amp; os );
+00637 <span class="keyword">virtual</span> <span class="keywordtype">void</span> *<a class="code" href="classTColorGroupList.html#b2">read</a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is );
+00638 <span class="keyword">public</span>:
+00642 <span class="keywordtype">void</span> <a class="code" href="classTColorGroupList.html#a5">setGroupIndex</a>(<a class="code" href="ttypes_8h.html#a1">uchar</a> groupNum, <a class="code" href="ttypes_8h.html#a1">uchar</a> itemNum);
+00646 <a class="code" href="classTColorGroup.html">TColorGroup</a>* <a class="code" href="classTColorGroupList.html#a6">getGroup</a>(<a class="code" href="ttypes_8h.html#a1">uchar</a> groupNum);
+00650 <a class="code" href="ttypes_8h.html#a1">uchar</a> <a class="code" href="classTColorGroupList.html#a7">getGroupIndex</a>(<a class="code" href="ttypes_8h.html#a1">uchar</a> groupNum);
+00654 <a class="code" href="ttypes_8h.html#a1">uchar</a> <a class="code" href="classTColorGroupList.html#a8">getNumGroups</a>();
+<a name="l00658"></a><a class="code" href="classTColorGroupList.html#p0">00658</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classTColorGroupList.html#p0">name</a>;
+00662 <span class="keyword">static</span> <a class="code" href="classTStreamable.html">TStreamable</a> *<a class="code" href="classTColorGroupList.html#d0">build</a>();
+00663 };
+00664
+<a name="l00668"></a><a class="code" href="colorsel_8h.html#a21">00668</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTColorGroupList.html">TColorGroupList</a>&amp; cl )
+00669 { <span class="keywordflow">return</span> is &gt;&gt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l00673"></a><a class="code" href="colorsel_8h.html#a22">00673</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTColorGroupList.html">TColorGroupList</a>*&amp; cl )
+00674 { <span class="keywordflow">return</span> is &gt;&gt; (<span class="keywordtype">void</span> *&amp;)cl; }
+00675
+<a name="l00679"></a><a class="code" href="colorsel_8h.html#a23">00679</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTColorGroupList.html">TColorGroupList</a>&amp; cl )
+00680 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l00684"></a><a class="code" href="colorsel_8h.html#a24">00684</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTColorGroupList.html">TColorGroupList</a>* cl )
+00685 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a> *)cl; }
+00686
+00687 <span class="preprocessor">#endif // Uses_TColorGroupList</span>
+00688 <span class="preprocessor"></span>
+00689
+00690 <span class="preprocessor">#if defined( Uses_TColorItemList ) &amp;&amp; !defined( __TColorItemList )</span>
+00691 <span class="preprocessor"></span><span class="preprocessor">#define __TColorItemList</span>
+00692 <span class="preprocessor"></span>
+00693 <span class="keyword">class </span><a class="code" href="classTRect.html">TRect</a>;
+00694 <span class="keyword">class </span><a class="code" href="classTScrollBar.html">TScrollBar</a>;
+00695 <span class="keyword">class </span><a class="code" href="classTColorItem.html">TColorItem</a>;
+00696 <span class="keyword">class </span><a class="code" href="structTEvent.html">TEvent</a>;
+00697
+<a name="l00717"></a><a class="code" href="classTColorItemList.html">00717</a> <span class="keyword">class </span><a class="code" href="classTColorItemList.html">TColorItemList</a> : <span class="keyword">public</span> <a class="code" href="classTListViewer.html">TListViewer</a>
+00718 {
+00719 <span class="keyword">public</span>:
+00727 <a class="code" href="classTColorItemList.html#a0">TColorItemList</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; bounds,
+00728 <a class="code" href="classTScrollBar.html">TScrollBar</a> *aScrollBar,
+00729 <a class="code" href="classTColorItem.html">TColorItem</a> *aItems
+00730 );
+00736 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTColorItemList.html#a1">focusItem</a>( <span class="keywordtype">short</span> item );
+00740 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTColorItemList.html#a2">getText</a>( <span class="keywordtype">char</span> *dest, <span class="keywordtype">short</span> item, <span class="keywordtype">short</span> maxLen );
+00746 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTColorItemList.html#a3">handleEvent</a>( <a class="code" href="structTEvent.html">TEvent</a>&amp; event );
+00747 <span class="keyword">protected</span>:
+<a name="l00751"></a><a class="code" href="classTColorItemList.html#n0">00751</a> <a class="code" href="classTColorItem.html">TColorItem</a> *<a class="code" href="classTColorItemList.html#n0">items</a>;
+00752 <span class="keyword">private</span>:
+00753 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *streamableName()<span class="keyword"> const</span>
+00754 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classTColorItemList.html#p0">name</a>; }
+00755 <span class="keyword">protected</span>:
+00762 <a class="code" href="classTColorItemList.html#a0">TColorItemList</a>( <a class="code" href="ttypes_8h.html#a14">StreamableInit</a> );
+00763 <span class="keyword">public</span>:
+<a name="l00767"></a><a class="code" href="classTColorItemList.html#p0">00767</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classTColorItemList.html#p0">name</a>;
+00771 <span class="keyword">static</span> <a class="code" href="classTStreamable.html">TStreamable</a> *<a class="code" href="classTColorItemList.html#d0">build</a>();
+00772 };
+00773
+<a name="l00777"></a><a class="code" href="colorsel_8h.html#a25">00777</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTColorItemList.html">TColorItemList</a>&amp; cl )
+00778 { <span class="keywordflow">return</span> is &gt;&gt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l00782"></a><a class="code" href="colorsel_8h.html#a26">00782</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTColorItemList.html">TColorItemList</a>*&amp; cl )
+00783 { <span class="keywordflow">return</span> is &gt;&gt; (<span class="keywordtype">void</span> *&amp;)cl; }
+00784
+<a name="l00788"></a><a class="code" href="colorsel_8h.html#a27">00788</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTColorItemList.html">TColorItemList</a>&amp; cl )
+00789 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l00793"></a><a class="code" href="colorsel_8h.html#a28">00793</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTColorItemList.html">TColorItemList</a>* cl )
+00794 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a> *)cl; }
+00795
+00796 <span class="preprocessor">#endif // Uses_TColorItemList</span>
+00797 <span class="preprocessor"></span>
+00798
+00799 <span class="preprocessor">#if defined( Uses_TColorDialog ) &amp;&amp; !defined( __TColorDialog )</span>
+00800 <span class="preprocessor"></span><span class="preprocessor">#define __TColorDialog</span>
+00801 <span class="preprocessor"></span>
+00802 <span class="keyword">class </span><a class="code" href="classTColorGroup.html">TColorGroup</a>;
+00803 <span class="keyword">class </span><a class="code" href="structTEvent.html">TEvent</a>;
+00804 <span class="keyword">class </span><a class="code" href="classTColorDisplay.html">TColorDisplay</a>;
+00805 <span class="keyword">class </span><a class="code" href="classTColorGroupList.html">TColorGroupList</a>;
+00806 <span class="keyword">class </span><a class="code" href="classTLabel.html">TLabel</a>;
+00807 <span class="keyword">class </span><a class="code" href="classTColorSelector.html">TColorSelector</a>;
+00808 <span class="keyword">class </span><a class="code" href="classTMonoSelector.html">TMonoSelector</a>;
+00809 <span class="keyword">class </span><a class="code" href="classTPalette.html">TPalette</a>;
+00810
+<a name="l00825"></a><a class="code" href="classTColorDialog.html">00825</a> <span class="keyword">class </span><a class="code" href="classTColorDialog.html">TColorDialog</a> : <span class="keyword">public</span> <a class="code" href="classTDialog.html">TDialog</a>
+00826 {
+00827 <span class="keyword">public</span>:
+00848 <a class="code" href="classTColorDialog.html#a0">TColorDialog</a>( <a class="code" href="classTPalette.html">TPalette</a> *aPalette, <a class="code" href="classTColorGroup.html">TColorGroup</a> *aGroups );
+00854 <a class="code" href="classTColorDialog.html#a1">~TColorDialog</a>();
+00859 <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="classTColorDialog.html#a2">dataSize</a>();
+00868 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTColorDialog.html#a3">getData</a>( <span class="keywordtype">void</span> *rec );
+00873 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTColorDialog.html#a4">handleEvent</a>( <a class="code" href="structTEvent.html">TEvent</a>&amp; event );
+00881 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTColorDialog.html#a5">setData</a>( <span class="keywordtype">void</span> *rec);
+<a name="l00885"></a><a class="code" href="classTColorDialog.html#m0">00885</a> <a class="code" href="classTPalette.html">TPalette</a> *<a class="code" href="classTColorDialog.html#m0">pal</a>;
+00886 <span class="keyword">protected</span>:
+<a name="l00890"></a><a class="code" href="classTColorDialog.html#n0">00890</a> <a class="code" href="classTColorDisplay.html">TColorDisplay</a> *<a class="code" href="classTColorDialog.html#n0">display</a>;
+<a name="l00894"></a><a class="code" href="classTColorDialog.html#n1">00894</a> <a class="code" href="classTColorGroupList.html">TColorGroupList</a> *<a class="code" href="classTColorDialog.html#n1">groups</a>;
+<a name="l00898"></a><a class="code" href="classTColorDialog.html#n2">00898</a> <a class="code" href="classTLabel.html">TLabel</a> *<a class="code" href="classTColorDialog.html#n2">forLabel</a>;
+<a name="l00902"></a><a class="code" href="classTColorDialog.html#n3">00902</a> <a class="code" href="classTColorSelector.html">TColorSelector</a> *<a class="code" href="classTColorDialog.html#n3">forSel</a>;
+<a name="l00906"></a><a class="code" href="classTColorDialog.html#n4">00906</a> <a class="code" href="classTLabel.html">TLabel</a> *<a class="code" href="classTColorDialog.html#n4">bakLabel</a>;
+<a name="l00910"></a><a class="code" href="classTColorDialog.html#n5">00910</a> <a class="code" href="classTColorSelector.html">TColorSelector</a> *<a class="code" href="classTColorDialog.html#n5">bakSel</a>;
+<a name="l00914"></a><a class="code" href="classTColorDialog.html#n6">00914</a> <a class="code" href="classTLabel.html">TLabel</a> *<a class="code" href="classTColorDialog.html#n6">monoLabel</a>;
+<a name="l00918"></a><a class="code" href="classTColorDialog.html#n7">00918</a> <a class="code" href="classTMonoSelector.html">TMonoSelector</a> *<a class="code" href="classTColorDialog.html#n7">monoSel</a>;
+<a name="l00922"></a><a class="code" href="classTColorDialog.html#n8">00922</a> <a class="code" href="ttypes_8h.html#a1">uchar</a> <a class="code" href="classTColorDialog.html#n8">groupIndex</a>;
+00923 <span class="keyword">private</span>:
+00924 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * colors;
+00925 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * groupText;
+00926 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * itemText;
+00927 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * forText;
+00928 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * bakText;
+00929 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * textText;
+00930 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * colorText;
+00931 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * okText;
+00932 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * cancelText;
+00933 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *streamableName()<span class="keyword"> const</span>
+00934 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classTColorDialog.html#p0">name</a>; }
+00935 <span class="keyword">protected</span>:
+00948 <a class="code" href="classTColorDialog.html#a0">TColorDialog</a>( <a class="code" href="ttypes_8h.html#a14">StreamableInit</a> );
+00952 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTColorDialog.html#b1">write</a>( <a class="code" href="classopstream.html">opstream</a>&amp; os );
+00957 <span class="keyword">virtual</span> <span class="keywordtype">void</span> *<a class="code" href="classTColorDialog.html#b2">read</a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is );
+00958 <span class="keyword">public</span>:
+00962 <span class="keywordtype">void</span> <a class="code" href="classTColorDialog.html#a6">getIndexes</a>(<a class="code" href="classTColorIndex.html">TColorIndex</a>*&amp;);
+00966 <span class="keywordtype">void</span> <a class="code" href="classTColorDialog.html#a7">setIndexes</a>(<a class="code" href="classTColorIndex.html">TColorIndex</a>*&amp;);
+<a name="l00970"></a><a class="code" href="classTColorDialog.html#p0">00970</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classTColorDialog.html#p0">name</a>;
+00974 <span class="keyword">static</span> <a class="code" href="classTStreamable.html">TStreamable</a> *<a class="code" href="classTColorDialog.html#d0">build</a>();
+00975 };
+00976
+<a name="l00980"></a><a class="code" href="colorsel_8h.html#a29">00980</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTColorDialog.html">TColorDialog</a>&amp; cl )
+00981 { <span class="keywordflow">return</span> is &gt;&gt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l00985"></a><a class="code" href="colorsel_8h.html#a30">00985</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTColorDialog.html">TColorDialog</a>*&amp; cl )
+00986 { <span class="keywordflow">return</span> is &gt;&gt; (<span class="keywordtype">void</span> *&amp;)cl; }
+00987
+<a name="l00991"></a><a class="code" href="colorsel_8h.html#a31">00991</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTColorDialog.html">TColorDialog</a>&amp; cl )
+00992 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l00996"></a><a class="code" href="colorsel_8h.html#a32">00996</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTColorDialog.html">TColorDialog</a>* cl )
+00997 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a> *)cl; }
+00998
+00999 <span class="preprocessor">#endif // TColorDialog</span>
+</pre></div><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:08 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/colorsel_8h.html b/freebsdtvision/doc/html/colorsel_8h.html
new file mode 100644
index 0000000..af66c7e
--- /dev/null
+++ b/freebsdtvision/doc/html/colorsel_8h.html
@@ -0,0 +1,1147 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>colorsel.h File Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>colorsel.h File Reference</h1>
+<p>
+<a href="colorsel_8h-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Compounds</h2></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTColorDialog.html">TColorDialog</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Viewer used to examine and change the standard palette.</em> <a href="classTColorDialog.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTColorDisplay.html">TColorDisplay</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Viewer used to display and select colors.</em> <a href="classTColorDisplay.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTColorGroup.html">TColorGroup</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Stores a set of color items.</em> <a href="classTColorGroup.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTColorGroupList.html">TColorGroupList</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Implements a scrollable list of named color groups.</em> <a href="classTColorGroupList.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTColorIndex.html">TColorIndex</a></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTColorItem.html">TColorItem</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Information about a color item.</em> <a href="classTColorItem.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTColorItemList.html">TColorItemList</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Used to view and select single color items.</em> <a href="classTColorItemList.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTColorSelector.html">TColorSelector</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Color viewer used to display available color selections.</em> <a href="classTColorSelector.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTMonoSelector.html">TMonoSelector</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Monochrome color selector.</em> <a href="classTMonoSelector.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td colspan=2><br><h2>Functions</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTColorItem.html">TColorItem</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="colorsel_8h.html#a6">operator+</a> (<a class="el" href="classTColorItem.html">TColorItem</a> &amp;i1, <a class="el" href="classTColorItem.html">TColorItem</a> &amp;i2)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTColorGroup.html">TColorGroup</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="colorsel_8h.html#a7">operator+</a> (<a class="el" href="classTColorGroup.html">TColorGroup</a> &amp;g, <a class="el" href="classTColorItem.html">TColorItem</a> &amp;i)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTColorGroup.html">TColorGroup</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="colorsel_8h.html#a8">operator+</a> (<a class="el" href="classTColorGroup.html">TColorGroup</a> &amp;g1, <a class="el" href="classTColorGroup.html">TColorGroup</a> &amp;g2)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="colorsel_8h.html#a9">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTColorSelector.html">TColorSelector</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="colorsel_8h.html#a10">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTColorSelector.html">TColorSelector</a> *&amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="colorsel_8h.html#a11">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTColorSelector.html">TColorSelector</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="colorsel_8h.html#a12">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTColorSelector.html">TColorSelector</a> *cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="colorsel_8h.html#a13">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTMonoSelector.html">TMonoSelector</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="colorsel_8h.html#a14">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTMonoSelector.html">TMonoSelector</a> *&amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="colorsel_8h.html#a15">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTMonoSelector.html">TMonoSelector</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="colorsel_8h.html#a16">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTMonoSelector.html">TMonoSelector</a> *cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="colorsel_8h.html#a17">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTColorDisplay.html">TColorDisplay</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="colorsel_8h.html#a18">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTColorDisplay.html">TColorDisplay</a> *&amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="colorsel_8h.html#a19">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTColorDisplay.html">TColorDisplay</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="colorsel_8h.html#a20">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTColorDisplay.html">TColorDisplay</a> *cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="colorsel_8h.html#a21">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTColorGroupList.html">TColorGroupList</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="colorsel_8h.html#a22">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTColorGroupList.html">TColorGroupList</a> *&amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="colorsel_8h.html#a23">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTColorGroupList.html">TColorGroupList</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="colorsel_8h.html#a24">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTColorGroupList.html">TColorGroupList</a> *cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="colorsel_8h.html#a25">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTColorItemList.html">TColorItemList</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="colorsel_8h.html#a26">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTColorItemList.html">TColorItemList</a> *&amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="colorsel_8h.html#a27">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTColorItemList.html">TColorItemList</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="colorsel_8h.html#a28">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTColorItemList.html">TColorItemList</a> *cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="colorsel_8h.html#a29">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTColorDialog.html">TColorDialog</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="colorsel_8h.html#a30">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTColorDialog.html">TColorDialog</a> *&amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="colorsel_8h.html#a31">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTColorDialog.html">TColorDialog</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="colorsel_8h.html#a32">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTColorDialog.html">TColorDialog</a> *cl)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+ <a class="el" href="colorsel_8h.html">colorsel.h</a>
+<p>
+
+<p>
+Definition in file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>.<hr><h2>Function Documentation</h2>
+<a name="a8" doxytag="colorsel.h::operator+"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTColorGroup.html">TColorGroup</a>&amp; operator+ </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTColorGroup.html">TColorGroup</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>g1</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTColorGroup.html">TColorGroup</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>g2</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Inserts another color group after this one by changing the <a class="el" href="classTColorGroup.html#m3">TColorGroup::next</a> pointer. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTColorItem.html">TColorItem</a> </dl> </td>
+ </tr>
+</table>
+<a name="a7" doxytag="colorsel.h::operator+"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTColorGroup.html">TColorGroup</a>&amp; operator+ </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTColorGroup.html">TColorGroup</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>g</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTColorItem.html">TColorItem</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>i</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Inserts color item `i' in color group `g'. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTColorGroup.html">TColorGroup</a> </dl> </td>
+ </tr>
+</table>
+<a name="a6" doxytag="colorsel.h::operator+"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTColorItem.html">TColorItem</a>&amp; operator+ </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTColorItem.html">TColorItem</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>i1</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTColorItem.html">TColorItem</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>i2</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Inserts another color item after this one by changing the <a class="el" href="classTColorItem.html#m2">TColorItem::next</a> pointer. </td>
+ </tr>
+</table>
+<a name="a32" doxytag="colorsel.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTColorDialog.html">TColorDialog</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00996">996</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>. </td>
+ </tr>
+</table>
+<a name="a31" doxytag="colorsel.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTColorDialog.html">TColorDialog</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00991">991</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>. </td>
+ </tr>
+</table>
+<a name="a28" doxytag="colorsel.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTColorItemList.html">TColorItemList</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00793">793</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>. </td>
+ </tr>
+</table>
+<a name="a27" doxytag="colorsel.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTColorItemList.html">TColorItemList</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00788">788</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>. </td>
+ </tr>
+</table>
+<a name="a24" doxytag="colorsel.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTColorGroupList.html">TColorGroupList</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00684">684</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>. </td>
+ </tr>
+</table>
+<a name="a23" doxytag="colorsel.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTColorGroupList.html">TColorGroupList</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00679">679</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>. </td>
+ </tr>
+</table>
+<a name="a20" doxytag="colorsel.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTColorDisplay.html">TColorDisplay</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00550">550</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>. </td>
+ </tr>
+</table>
+<a name="a19" doxytag="colorsel.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTColorDisplay.html">TColorDisplay</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00545">545</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>. </td>
+ </tr>
+</table>
+<a name="a16" doxytag="colorsel.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTMonoSelector.html">TMonoSelector</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00430">430</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>. </td>
+ </tr>
+</table>
+<a name="a15" doxytag="colorsel.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTMonoSelector.html">TMonoSelector</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00425">425</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>. </td>
+ </tr>
+</table>
+<a name="a12" doxytag="colorsel.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTColorSelector.html">TColorSelector</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00317">317</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>. </td>
+ </tr>
+</table>
+<a name="a11" doxytag="colorsel.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTColorSelector.html">TColorSelector</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00312">312</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>. </td>
+ </tr>
+</table>
+<a name="a30" doxytag="colorsel.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTColorDialog.html">TColorDialog</a> *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00985">985</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>. </td>
+ </tr>
+</table>
+<a name="a29" doxytag="colorsel.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTColorDialog.html">TColorDialog</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00980">980</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>. </td>
+ </tr>
+</table>
+<a name="a26" doxytag="colorsel.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTColorItemList.html">TColorItemList</a> *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00782">782</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>. </td>
+ </tr>
+</table>
+<a name="a25" doxytag="colorsel.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTColorItemList.html">TColorItemList</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00777">777</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>. </td>
+ </tr>
+</table>
+<a name="a22" doxytag="colorsel.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTColorGroupList.html">TColorGroupList</a> *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00673">673</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>. </td>
+ </tr>
+</table>
+<a name="a21" doxytag="colorsel.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTColorGroupList.html">TColorGroupList</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00668">668</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>. </td>
+ </tr>
+</table>
+<a name="a18" doxytag="colorsel.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTColorDisplay.html">TColorDisplay</a> *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00539">539</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>. </td>
+ </tr>
+</table>
+<a name="a17" doxytag="colorsel.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTColorDisplay.html">TColorDisplay</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00534">534</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>. </td>
+ </tr>
+</table>
+<a name="a14" doxytag="colorsel.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTMonoSelector.html">TMonoSelector</a> *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00419">419</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>. </td>
+ </tr>
+</table>
+<a name="a13" doxytag="colorsel.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTMonoSelector.html">TMonoSelector</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00414">414</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>. </td>
+ </tr>
+</table>
+<a name="a10" doxytag="colorsel.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTColorSelector.html">TColorSelector</a> *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00306">306</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>. </td>
+ </tr>
+</table>
+<a name="a9" doxytag="colorsel.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTColorSelector.html">TColorSelector</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="colorsel_8h-source.html#l00301">301</a> of file <a class="el" href="colorsel_8h-source.html">colorsel.h</a>. </td>
+ </tr>
+</table>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:10 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/dialogs_8h-source.html b/freebsdtvision/doc/html/dialogs_8h-source.html
new file mode 100644
index 0000000..bb2b454
--- /dev/null
+++ b/freebsdtvision/doc/html/dialogs_8h-source.html
@@ -0,0 +1,878 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>dialogs.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>dialogs.h</h1><a href="dialogs_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="comment">/*</span>
+00002 <span class="comment"> * dialogs.h</span>
+00003 <span class="comment"> *</span>
+00004 <span class="comment"> * Turbo Vision - Version 2.0</span>
+00005 <span class="comment"> *</span>
+00006 <span class="comment"> * Copyright (c) 1994 by Borland International</span>
+00007 <span class="comment"> * All Rights Reserved.</span>
+00008 <span class="comment"> *</span>
+00009 <span class="comment"> * Modified by Sergio Sigala &lt;sergio@sigala.it&gt;</span>
+00010 <span class="comment"> */</span>
+00011
+00012 <span class="preprocessor">#if !defined( __BUTTON_TYPE )</span>
+00013 <span class="preprocessor"></span><span class="preprocessor">#define __BUTTON_TYPE</span>
+00014 <span class="preprocessor"></span>
+00023 <span class="keyword">const</span> <span class="keywordtype">int</span>
+<a name="l00024"></a><a class="code" href="dialogs_8h.html#a1">00024</a> <a class="code" href="dialogs_8h.html#a0">bfNormal</a> = 0x00,
+00025
+<a name="l00031"></a><a class="code" href="dialogs_8h.html#a2">00031</a> <a class="code" href="dialogs_8h.html#a1">bfDefault</a> = 0x01,
+00032
+<a name="l00038"></a><a class="code" href="dialogs_8h.html#a3">00038</a> <a class="code" href="dialogs_8h.html#a2">bfLeftJust</a> = 0x02,
+00039
+<a name="l00044"></a><a class="code" href="dialogs_8h.html#a4">00044</a> <a class="code" href="dialogs_8h.html#a3">bfBroadcast</a> = 0x04,
+00045
+00050 <a class="code" href="dialogs_8h.html#a4">bfGrabFocus</a> = 0x08,
+00051 cmRecordHistory = 60;
+00052
+00053 <span class="preprocessor">#endif // __BUTTON_TYPE</span>
+00054 <span class="preprocessor"></span>
+00055 <span class="comment">/* ---------------------------------------------------------------------- */</span>
+00056 <span class="comment">/* class TDialog */</span>
+00057 <span class="comment">/* */</span>
+00058 <span class="comment">/* Palette layout */</span>
+00059 <span class="comment">/* 1 = Frame passive */</span>
+00060 <span class="comment">/* 2 = Frame active */</span>
+00061 <span class="comment">/* 3 = Frame icon */</span>
+00062 <span class="comment">/* 4 = ScrollBar page area */</span>
+00063 <span class="comment">/* 5 = ScrollBar controls */</span>
+00064 <span class="comment">/* 6 = StaticText */</span>
+00065 <span class="comment">/* 7 = Label normal */</span>
+00066 <span class="comment">/* 8 = Label selected */</span>
+00067 <span class="comment">/* 9 = Label shortcut */</span>
+00068 <span class="comment">/* 10 = Button normal */</span>
+00069 <span class="comment">/* 11 = Button default */</span>
+00070 <span class="comment">/* 12 = Button selected */</span>
+00071 <span class="comment">/* 13 = Button disabled */</span>
+00072 <span class="comment">/* 14 = Button shortcut */</span>
+00073 <span class="comment">/* 15 = Button shadow */</span>
+00074 <span class="comment">/* 16 = Cluster normal */</span>
+00075 <span class="comment">/* 17 = Cluster selected */</span>
+00076 <span class="comment">/* 18 = Cluster shortcut */</span>
+00077 <span class="comment">/* 19 = InputLine normal text */</span>
+00078 <span class="comment">/* 20 = InputLine selected text */</span>
+00079 <span class="comment">/* 21 = InputLine arrows */</span>
+00080 <span class="comment">/* 22 = History arrow */</span>
+00081 <span class="comment">/* 23 = History sides */</span>
+00082 <span class="comment">/* 24 = HistoryWindow scrollbar page area */</span>
+00083 <span class="comment">/* 25 = HistoryWindow scrollbar controls */</span>
+00084 <span class="comment">/* 26 = ListViewer normal */</span>
+00085 <span class="comment">/* 27 = ListViewer focused */</span>
+00086 <span class="comment">/* 28 = ListViewer selected */</span>
+00087 <span class="comment">/* 29 = ListViewer divider */</span>
+00088 <span class="comment">/* 30 = InfoPane */</span>
+00089 <span class="comment">/* 31 = Cluster Disabled */</span>
+00090 <span class="comment">/* 32 = Reserved */</span>
+00091 <span class="comment">/* ---------------------------------------------------------------------- */</span>
+00092
+00093 <span class="preprocessor">#if defined( Uses_TDialog ) &amp;&amp; !defined( __TDialog )</span>
+00094 <span class="preprocessor"></span><span class="preprocessor">#define __TDialog</span>
+00095 <span class="preprocessor"></span>
+00096 <span class="preprocessor">#define cpGrayDialog \</span>
+00097 <span class="preprocessor"> "\x20\x21\x22\x23\x24\x25\x26\x27\x28\x29\x2A\x2B\x2C\x2D\x2E\x2F"\</span>
+00098 <span class="preprocessor"> "\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x3A\x3B\x3C\x3D\x3E\x3F"</span>
+00099 <span class="preprocessor"></span>
+00100 <span class="preprocessor">#define cpBlueDialog \</span>
+00101 <span class="preprocessor"> "\x40\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f"\</span>
+00102 <span class="preprocessor"> "\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f"</span>
+00103 <span class="preprocessor"></span>
+00104 <span class="preprocessor">#define cpCyanDialog \</span>
+00105 <span class="preprocessor"> "\x60\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f"\</span>
+00106 <span class="preprocessor"> "\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f"</span>
+00107 <span class="preprocessor"></span>
+00108 <span class="preprocessor">#define cpDialog cpGrayDialog</span>
+00109 <span class="preprocessor"></span>
+00110 <span class="keyword">const</span> <span class="keywordtype">int</span> dpBlueDialog = 0,
+00111 dpCyanDialog = 1,
+00112 dpGrayDialog = 2;
+00113
+00114 <span class="keyword">class </span><a class="code" href="classTRect.html">TRect</a>;
+00115 <span class="keyword">class </span><a class="code" href="structTEvent.html">TEvent</a>;
+00116 <span class="keyword">class </span><a class="code" href="classTValidator.html">TValidator</a>;
+00117
+<a name="l00136"></a><a class="code" href="classTDialog.html">00136</a> <span class="keyword">class </span><a class="code" href="classTDialog.html">TDialog</a> : <span class="keyword">public</span> <a class="code" href="classTWindow.html">TWindow</a>
+00137 {
+00138 <span class="keyword">public</span>:
+00157 <a class="code" href="classTDialog.html#a0">TDialog</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; bounds, <span class="keyword">const</span> <span class="keywordtype">char</span> *aTitle );
+00161 <span class="keyword">virtual</span> <a class="code" href="classTPalette.html">TPalette</a>&amp; <a class="code" href="classTDialog.html#a1">getPalette</a>() <span class="keyword">const</span>;
+00176 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTDialog.html#a2">handleEvent</a>( <a class="code" href="structTEvent.html">TEvent</a>&amp; event );
+00193 <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTDialog.html#a3">valid</a>( <a class="code" href="ttypes_8h.html#a0">ushort</a> command );
+00194 <span class="keyword">private</span>:
+00195 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *streamableName()<span class="keyword"> const</span>
+00196 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classTDialog.html#p0">name</a>; }
+00197 <span class="keyword">protected</span>:
+00205 <a class="code" href="classTDialog.html#a0">TDialog</a>( <a class="code" href="ttypes_8h.html#a14">StreamableInit</a> );
+00206 <span class="keyword">public</span>:
+<a name="l00207"></a><a class="code" href="classTDialog.html#p0">00207</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classTDialog.html#p0">name</a>;
+00211 <span class="keyword">static</span> <a class="code" href="classTStreamable.html">TStreamable</a> *<a class="code" href="classTDialog.html#d0">build</a>();
+00212 };
+00213
+<a name="l00217"></a><a class="code" href="dialogs_8h.html#a13">00217</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTDialog.html">TDialog</a>&amp; cl )
+00218 { <span class="keywordflow">return</span> is &gt;&gt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l00222"></a><a class="code" href="dialogs_8h.html#a14">00222</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTDialog.html">TDialog</a>*&amp; cl )
+00223 { <span class="keywordflow">return</span> is &gt;&gt; (<span class="keywordtype">void</span> *&amp;)cl; }
+00224
+<a name="l00228"></a><a class="code" href="dialogs_8h.html#a15">00228</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTDialog.html">TDialog</a>&amp; cl )
+00229 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l00233"></a><a class="code" href="dialogs_8h.html#a16">00233</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTDialog.html">TDialog</a>* cl )
+00234 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a> *)cl; }
+00235
+00236 <span class="preprocessor">#endif // Uses_TDialog</span>
+00237 <span class="preprocessor"></span>
+00238 <span class="comment">/* ---------------------------------------------------------------------- */</span>
+00239 <span class="comment">/* class TInputLine */</span>
+00240 <span class="comment">/* */</span>
+00241 <span class="comment">/* Palette layout */</span>
+00242 <span class="comment">/* 1 = Passive */</span>
+00243 <span class="comment">/* 2 = Active */</span>
+00244 <span class="comment">/* 3 = Selected */</span>
+00245 <span class="comment">/* 4 = Arrows */</span>
+00246 <span class="comment">/* ---------------------------------------------------------------------- */</span>
+00247
+00248 <span class="preprocessor">#if defined( Uses_TInputLine ) &amp;&amp; !defined( __TInputLine )</span>
+00249 <span class="preprocessor"></span><span class="preprocessor">#define __TInputLine</span>
+00250 <span class="preprocessor"></span>
+00251 <span class="keyword">class </span><a class="code" href="classTRect.html">TRect</a>;
+00252 <span class="keyword">class </span><a class="code" href="structTEvent.html">TEvent</a>;
+00253 <span class="keyword">class </span><a class="code" href="classTValidator.html">TValidator</a>;
+00254
+<a name="l00261"></a><a class="code" href="classTInputLine.html">00261</a> <span class="keyword">class </span><a class="code" href="classTInputLine.html">TInputLine</a> : <span class="keyword">public</span> <a class="code" href="classTView.html">TView</a>
+00262 {
+00263 <span class="keyword">public</span>:
+00282 <a class="code" href="classTInputLine.html#a0">TInputLine</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; bounds, <span class="keywordtype">int</span> aMaxLen, <a class="code" href="classTValidator.html">TValidator</a> *aValid = 0 );
+00288 <a class="code" href="classTInputLine.html#a1">~TInputLine</a>();
+00297 <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="classTInputLine.html#a2">dataSize</a>();
+00310 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTInputLine.html#a3">draw</a>();
+00321 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTInputLine.html#a4">getData</a>( <span class="keywordtype">void</span> *rec );
+00325 <span class="keyword">virtual</span> <a class="code" href="classTPalette.html">TPalette</a>&amp; <a class="code" href="classTInputLine.html#a5">getPalette</a>() <span class="keyword">const</span>;
+00346 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTInputLine.html#a6">handleEvent</a>( <a class="code" href="structTEvent.html">TEvent</a>&amp; event );
+00357 <span class="keywordtype">void</span> <a class="code" href="classTInputLine.html#a7">selectAll</a>( <a class="code" href="ttypes_8h.html#a13">Boolean</a> enable );
+00371 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTInputLine.html#a8">setData</a>( <span class="keywordtype">void</span> *rec );
+00384 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTInputLine.html#a9">setState</a>( <a class="code" href="ttypes_8h.html#a0">ushort</a> aState, <a class="code" href="ttypes_8h.html#a13">Boolean</a> enable );
+00388 <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTInputLine.html#a10">valid</a>( <a class="code" href="ttypes_8h.html#a0">ushort</a> cmd );
+00392 <span class="keywordtype">void</span> <a class="code" href="classTInputLine.html#a11">setValidator</a>( <a class="code" href="classTValidator.html">TValidator</a>* aValid );
+<a name="l00396"></a><a class="code" href="classTInputLine.html#m0">00396</a> <span class="keywordtype">char</span>* <a class="code" href="classTInputLine.html#m0">data</a>;
+<a name="l00400"></a><a class="code" href="classTInputLine.html#m1">00400</a> <span class="keywordtype">int</span> <a class="code" href="classTInputLine.html#m1">maxLen</a>;
+<a name="l00404"></a><a class="code" href="classTInputLine.html#m2">00404</a> <span class="keywordtype">int</span> <a class="code" href="classTInputLine.html#m2">curPos</a>;
+<a name="l00408"></a><a class="code" href="classTInputLine.html#m3">00408</a> <span class="keywordtype">int</span> <a class="code" href="classTInputLine.html#m3">firstPos</a>;
+<a name="l00413"></a><a class="code" href="classTInputLine.html#m4">00413</a> <span class="keywordtype">int</span> <a class="code" href="classTInputLine.html#m4">selStart</a>;
+<a name="l00418"></a><a class="code" href="classTInputLine.html#m5">00418</a> <span class="keywordtype">int</span> <a class="code" href="classTInputLine.html#m5">selEnd</a>;
+00419 <span class="keyword">private</span>:
+00420 <a class="code" href="ttypes_8h.html#a13">Boolean</a> canScroll( <span class="keywordtype">int</span> delta );
+00421 <span class="keywordtype">int</span> mouseDelta( <a class="code" href="structTEvent.html">TEvent</a>&amp; event );
+00422 <span class="keywordtype">int</span> mousePos( <a class="code" href="structTEvent.html">TEvent</a>&amp; event );
+00423 <span class="keywordtype">void</span> deleteSelect();
+00424 <span class="keywordtype">void</span> adjustSelectBlock();
+00425 <span class="keywordtype">void</span> saveState();
+00426 <span class="keywordtype">void</span> restoreState();
+00427 <a class="code" href="ttypes_8h.html#a13">Boolean</a> checkValid(<a class="code" href="ttypes_8h.html#a13">Boolean</a>);
+00428 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> rightArrow;
+00429 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> leftArrow;
+00430 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *streamableName()<span class="keyword"> const</span>
+00431 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classTInputLine.html#p0">name</a>; }
+00432 <a class="code" href="classTValidator.html">TValidator</a>* validator;
+00433 <span class="keywordtype">int</span> anchor;
+00434 <span class="preprocessor">#ifndef __UNPATCHED</span>
+00435 <span class="preprocessor"></span> <span class="keywordtype">int</span> oldAnchor; <span class="comment">// New variable to save another bit of state info</span>
+00436 <span class="preprocessor">#endif</span>
+00437 <span class="preprocessor"></span> <span class="keywordtype">char</span>* oldData;
+00438 <span class="keywordtype">int</span> oldCurPos;
+00439 <span class="keywordtype">int</span> oldFirstPos;
+00440 <span class="keywordtype">int</span> oldSelStart;
+00441 <span class="keywordtype">int</span> oldSelEnd;
+00442 <span class="keyword">protected</span>:
+00450 <a class="code" href="classTInputLine.html#a0">TInputLine</a>( <a class="code" href="ttypes_8h.html#a14">StreamableInit</a> );
+00454 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTInputLine.html#b1">write</a>( <a class="code" href="classopstream.html">opstream</a>&amp; os );
+00458 <span class="keyword">virtual</span> <span class="keywordtype">void</span> *<a class="code" href="classTInputLine.html#b2">read</a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is );
+00459 <span class="keyword">public</span>:
+<a name="l00463"></a><a class="code" href="classTInputLine.html#p0">00463</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classTInputLine.html#p0">name</a>;
+00467 <span class="keyword">static</span> <a class="code" href="classTStreamable.html">TStreamable</a> *<a class="code" href="classTInputLine.html#d0">build</a>();
+00468 };
+00469
+<a name="l00473"></a><a class="code" href="dialogs_8h.html#a17">00473</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTInputLine.html">TInputLine</a>&amp; cl )
+00474 { <span class="keywordflow">return</span> is &gt;&gt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l00478"></a><a class="code" href="dialogs_8h.html#a18">00478</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTInputLine.html">TInputLine</a>*&amp; cl )
+00479 { <span class="keywordflow">return</span> is &gt;&gt; (<span class="keywordtype">void</span> *&amp;)cl; }
+00480
+<a name="l00484"></a><a class="code" href="dialogs_8h.html#a19">00484</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTInputLine.html">TInputLine</a>&amp; cl )
+00485 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l00489"></a><a class="code" href="dialogs_8h.html#a20">00489</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTInputLine.html">TInputLine</a>* cl )
+00490 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a> *)cl; }
+00491
+00492 <span class="preprocessor">#endif // Uses_TInputLine</span>
+00493 <span class="preprocessor"></span>
+00494
+00495 <span class="comment">/* ---------------------------------------------------------------------- */</span>
+00496 <span class="comment">/* TButton object */</span>
+00497 <span class="comment">/* */</span>
+00498 <span class="comment">/* Palette layout */</span>
+00499 <span class="comment">/* 1 = Normal text */</span>
+00500 <span class="comment">/* 2 = Default text */</span>
+00501 <span class="comment">/* 3 = Selected text */</span>
+00502 <span class="comment">/* 4 = Disabled text */</span>
+00503 <span class="comment">/* 5 = Normal shortcut */</span>
+00504 <span class="comment">/* 6 = Default shortcut */</span>
+00505 <span class="comment">/* 7 = Selected shortcut */</span>
+00506 <span class="comment">/* 8 = Shadow */</span>
+00507 <span class="comment">/* ---------------------------------------------------------------------- */</span>
+00508
+00509 <span class="preprocessor">#if defined( Uses_TButton ) &amp;&amp; !defined( __TButton )</span>
+00510 <span class="preprocessor"></span><span class="preprocessor">#define __TButton</span>
+00511 <span class="preprocessor"></span>
+00512 <span class="keyword">class </span><a class="code" href="classTRect.html">TRect</a>;
+00513 <span class="keyword">class </span><a class="code" href="structTEvent.html">TEvent</a>;
+00514 <span class="keyword">class </span><a class="code" href="classTDrawBuffer.html">TDrawBuffer</a>;
+00515
+<a name="l00536"></a><a class="code" href="classTButton.html">00536</a> <span class="keyword">class </span><a class="code" href="classTButton.html">TButton</a> : <span class="keyword">public</span> <a class="code" href="classTView.html">TView</a>
+00537 {
+00538 <span class="keyword">public</span>:
+00585 <a class="code" href="classTButton.html#a0">TButton</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; bounds,
+00586 <span class="keyword">const</span> <span class="keywordtype">char</span> *aTitle,
+00587 <a class="code" href="ttypes_8h.html#a0">ushort</a> aCommand,
+00588 <a class="code" href="ttypes_8h.html#a0">ushort</a> aFlags
+00589 );
+00597 <a class="code" href="classTButton.html#a1">~TButton</a>();
+00602 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTButton.html#a2">draw</a>();
+00613 <span class="keywordtype">void</span> <a class="code" href="classTButton.html#a3">drawState</a>( <a class="code" href="ttypes_8h.html#a13">Boolean</a> down );
+00617 <span class="keyword">virtual</span> <a class="code" href="classTPalette.html">TPalette</a>&amp; <a class="code" href="classTButton.html#a4">getPalette</a>() <span class="keyword">const</span>;
+00634 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTButton.html#a5">handleEvent</a>( <a class="code" href="structTEvent.html">TEvent</a>&amp; event );
+00657 <span class="keywordtype">void</span> <a class="code" href="classTButton.html#a6">makeDefault</a>( <a class="code" href="ttypes_8h.html#a13">Boolean</a> enable );
+00669 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTButton.html#a7">press</a>();
+00681 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTButton.html#a8">setState</a>( <a class="code" href="ttypes_8h.html#a0">ushort</a> aState, <a class="code" href="ttypes_8h.html#a13">Boolean</a> enable );
+<a name="l00685"></a><a class="code" href="classTButton.html#m0">00685</a> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classTButton.html#m0">title</a>;
+<a name="l00691"></a><a class="code" href="classTButton.html#p0">00691</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="classTButton.html#p0">shadows</a>;
+00692 <span class="keyword">protected</span>:
+<a name="l00697"></a><a class="code" href="classTButton.html#n0">00697</a> <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="classTButton.html#n0">command</a>;
+<a name="l00705"></a><a class="code" href="classTButton.html#n1">00705</a> <a class="code" href="ttypes_8h.html#a1">uchar</a> <a class="code" href="classTButton.html#n1">flags</a>;
+<a name="l00712"></a><a class="code" href="classTButton.html#n2">00712</a> <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTButton.html#n2">amDefault</a>;
+00713 <span class="keyword">private</span>:
+00714 <span class="keywordtype">void</span> drawTitle( <a class="code" href="classTDrawBuffer.html">TDrawBuffer</a>&amp;, <span class="keywordtype">int</span>, <span class="keywordtype">int</span>, <a class="code" href="ttypes_8h.html#a0">ushort</a>, <a class="code" href="ttypes_8h.html#a13">Boolean</a> );
+00715 <span class="keywordtype">void</span> pressButton( <a class="code" href="structTEvent.html">TEvent</a>&amp; );
+00716 <a class="code" href="classTRect.html">TRect</a> getActiveRect();
+00717 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * markers;
+00718 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *streamableName()<span class="keyword"> const</span>
+00719 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classTButton.html#p1">name</a>; }
+00720 <span class="keyword">protected</span>:
+<a name="l00731"></a><a class="code" href="classTButton.html#b0">00731</a> <a class="code" href="classTButton.html#a0">TButton</a>( <a class="code" href="ttypes_8h.html#a14">StreamableInit</a> ): <a class="code" href="classTView.html">TView</a>( streamableInit ) {};
+00737 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTButton.html#b1">write</a>( <a class="code" href="classopstream.html">opstream</a>&amp; os );
+00743 <span class="keyword">virtual</span> <span class="keywordtype">void</span> *<a class="code" href="classTButton.html#b2">read</a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is );
+00744 <span class="keyword">public</span>:
+<a name="l00748"></a><a class="code" href="classTButton.html#p1">00748</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classTButton.html#p1">name</a>;
+00755 <span class="keyword">static</span> <a class="code" href="classTStreamable.html">TStreamable</a> *<a class="code" href="classTButton.html#d0">build</a>();
+00756 };
+00757
+<a name="l00761"></a><a class="code" href="dialogs_8h.html#a21">00761</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTButton.html">TButton</a>&amp; cl )
+00762 { <span class="keywordflow">return</span> is &gt;&gt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l00766"></a><a class="code" href="dialogs_8h.html#a22">00766</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTButton.html">TButton</a>*&amp; cl )
+00767 { <span class="keywordflow">return</span> is &gt;&gt; (<span class="keywordtype">void</span> *&amp;)cl; }
+00768
+<a name="l00772"></a><a class="code" href="dialogs_8h.html#a23">00772</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTButton.html">TButton</a>&amp; cl )
+00773 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l00777"></a><a class="code" href="dialogs_8h.html#a24">00777</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTButton.html">TButton</a>* cl )
+00778 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a> *)cl; }
+00779
+00780 <span class="preprocessor">#endif // Uses_TButton</span>
+00781 <span class="preprocessor"></span>
+00782
+00783 <span class="preprocessor">#if defined( Uses_TSItem ) &amp;&amp; !defined( __TSItem )</span>
+00784 <span class="preprocessor"></span><span class="preprocessor">#define __TSItem</span>
+00785 <span class="preprocessor"></span>
+<a name="l00793"></a><a class="code" href="classTSItem.html">00793</a> <span class="keyword">class </span><a class="code" href="classTSItem.html">TSItem</a>
+00794 {
+00795 <span class="keyword">public</span>:
+<a name="l00799"></a><a class="code" href="classTSItem.html#a0">00799</a> <a class="code" href="classTSItem.html#a0">TSItem</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *aValue, <a class="code" href="classTSItem.html">TSItem</a> *aNext )
+00800 { <a class="code" href="classTSItem.html#m0">value</a> = <a class="code" href="util_8h.html#a15">newStr</a>(aValue); <a class="code" href="classTSItem.html#m1">next</a> = aNext; }
+<a name="l00804"></a><a class="code" href="classTSItem.html#a1">00804</a> <a class="code" href="classTSItem.html#a1">~TSItem</a>() { <span class="keyword">delete</span> <a class="code" href="classTSItem.html#m0">value</a>; }
+<a name="l00808"></a><a class="code" href="classTSItem.html#m0">00808</a> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classTSItem.html#m0">value</a>;
+<a name="l00812"></a><a class="code" href="classTSItem.html#m1">00812</a> <a class="code" href="classTSItem.html">TSItem</a> *<a class="code" href="classTSItem.html#m1">next</a>;
+00813 };
+00814
+00815 <span class="preprocessor">#endif // Uses_TSItem</span>
+00816 <span class="preprocessor"></span>
+00817 <span class="comment">/* ---------------------------------------------------------------------- */</span>
+00818 <span class="comment">/* class TCluster */</span>
+00819 <span class="comment">/* */</span>
+00820 <span class="comment">/* Palette layout */</span>
+00821 <span class="comment">/* 1 = Normal text */</span>
+00822 <span class="comment">/* 2 = Selected text */</span>
+00823 <span class="comment">/* 3 = Normal shortcut */</span>
+00824 <span class="comment">/* 4 = Selected shortcut */</span>
+00825 <span class="comment">/* 5 = Disabled text */</span>
+00826 <span class="comment">/* ---------------------------------------------------------------------- */</span>
+00827
+00828 <span class="preprocessor">#if defined( Uses_TCluster ) &amp;&amp; !defined( __TCluster )</span>
+00829 <span class="preprocessor"></span><span class="preprocessor">#define __TCluster</span>
+00830 <span class="preprocessor"></span>
+00831 <span class="keyword">class </span><a class="code" href="classTRect.html">TRect</a>;
+00832 <span class="keyword">class </span><a class="code" href="classTSItem.html">TSItem</a>;
+00833 <span class="keyword">class </span><a class="code" href="structTEvent.html">TEvent</a>;
+00834 <span class="keyword">class </span><a class="code" href="classTPoint.html">TPoint</a>;
+00835 <span class="keyword">class </span><a class="code" href="classTStringCollection.html">TStringCollection</a>;
+00836
+<a name="l00856"></a><a class="code" href="classTCluster.html">00856</a> <span class="keyword">class </span><a class="code" href="classTCluster.html">TCluster</a> : <span class="keyword">public</span> <a class="code" href="classTView.html">TView</a>
+00857 {
+00858 <span class="keyword">public</span>:
+00872 <a class="code" href="classTCluster.html#a0">TCluster</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; bounds, <a class="code" href="classTSItem.html">TSItem</a> *aStrings );
+00878 <a class="code" href="classTCluster.html#a1">~TCluster</a>();
+00889 <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="classTCluster.html#a2">dataSize</a>();
+00908 <span class="keywordtype">void</span> <a class="code" href="classTCluster.html#a3">drawBox</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *icon, <span class="keywordtype">char</span> marker );
+00928 <span class="keywordtype">void</span> <a class="code" href="classTCluster.html#a4">drawMultiBox</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *icon, <span class="keyword">const</span> <span class="keywordtype">char</span>* marker);
+00938 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTCluster.html#a5">getData</a>( <span class="keywordtype">void</span> *rec );
+00950 <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="classTCluster.html#a6">getHelpCtx</a>();
+00954 <span class="keyword">virtual</span> <a class="code" href="classTPalette.html">TPalette</a>&amp; <a class="code" href="classTCluster.html#a7">getPalette</a>() <span class="keyword">const</span>;
+00963 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTCluster.html#a8">handleEvent</a>( <a class="code" href="structTEvent.html">TEvent</a>&amp; event );
+00977 <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTCluster.html#a9">mark</a>( <span class="keywordtype">int</span> item );
+00981 <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a1">uchar</a> <a class="code" href="classTCluster.html#a10">multiMark</a>( <span class="keywordtype">int</span> item );
+00991 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTCluster.html#a11">press</a>( <span class="keywordtype">int</span> item );
+01000 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTCluster.html#a12">movedTo</a>( <span class="keywordtype">int</span> item );
+01009 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTCluster.html#a13">setData</a>( <span class="keywordtype">void</span> *rec );
+01017 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTCluster.html#a14">setState</a>( <a class="code" href="ttypes_8h.html#a0">ushort</a> aState, <a class="code" href="ttypes_8h.html#a13">Boolean</a> enable );
+01024 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTCluster.html#a15">setButtonState</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> aMask, <a class="code" href="ttypes_8h.html#a13">Boolean</a> enable);
+01025 <span class="keyword">protected</span>:
+<a name="l01046"></a><a class="code" href="classTCluster.html#n0">01046</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="classTCluster.html#n0">value</a>;
+<a name="l01054"></a><a class="code" href="classTCluster.html#n1">01054</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="classTCluster.html#n1">enableMask</a>;
+<a name="l01061"></a><a class="code" href="classTCluster.html#n2">01061</a> <span class="keywordtype">int</span> <a class="code" href="classTCluster.html#n2">sel</a>;
+<a name="l01065"></a><a class="code" href="classTCluster.html#n3">01065</a> <a class="code" href="classTStringCollection.html">TStringCollection</a> *<a class="code" href="classTCluster.html#n3">strings</a>;
+01066 <span class="keyword">private</span>:
+01067 <span class="keywordtype">int</span> column( <span class="keywordtype">int</span> item );
+01068 <span class="keywordtype">int</span> findSel( <a class="code" href="classTPoint.html">TPoint</a> p );
+01069 <span class="keywordtype">int</span> row( <span class="keywordtype">int</span> item );
+01070 <span class="keywordtype">void</span> moveSel(<span class="keywordtype">int</span>, <span class="keywordtype">int</span>);
+01071 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *streamableName()<span class="keyword"> const</span>
+01072 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classTCluster.html#p0">name</a>; }
+01073 <span class="keyword">protected</span>:
+01083 <a class="code" href="classTCluster.html#a0">TCluster</a>( <a class="code" href="ttypes_8h.html#a14">StreamableInit</a> );
+01088 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTCluster.html#b1">write</a>( <a class="code" href="classopstream.html">opstream</a>&amp; os );
+01093 <span class="keyword">virtual</span> <span class="keywordtype">void</span> *<a class="code" href="classTCluster.html#b2">read</a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is );
+01094 <span class="keyword">public</span>:
+01102 <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTCluster.html#a16">buttonState</a>(<span class="keywordtype">int</span> item);
+<a name="l01106"></a><a class="code" href="classTCluster.html#p0">01106</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classTCluster.html#p0">name</a>;
+01112 <span class="keyword">static</span> <a class="code" href="classTStreamable.html">TStreamable</a> *<a class="code" href="classTCluster.html#d0">build</a>();
+01113 };
+01114
+<a name="l01118"></a><a class="code" href="dialogs_8h.html#a25">01118</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTCluster.html">TCluster</a>&amp; cl )
+01119 { <span class="keywordflow">return</span> is &gt;&gt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l01123"></a><a class="code" href="dialogs_8h.html#a26">01123</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTCluster.html">TCluster</a>*&amp; cl )
+01124 { <span class="keywordflow">return</span> is &gt;&gt; (<span class="keywordtype">void</span> *&amp;)cl; }
+01125
+<a name="l01129"></a><a class="code" href="dialogs_8h.html#a27">01129</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTCluster.html">TCluster</a>&amp; cl )
+01130 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l01134"></a><a class="code" href="dialogs_8h.html#a28">01134</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTCluster.html">TCluster</a>* cl )
+01135 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a> *)cl; }
+01136
+01137 <span class="preprocessor">#endif // Uses_TCluster</span>
+01138 <span class="preprocessor"></span>
+01139
+01140 <span class="comment">/* ---------------------------------------------------------------------- */</span>
+01141 <span class="comment">/* class TRadioButtons */</span>
+01142 <span class="comment">/* */</span>
+01143 <span class="comment">/* Palette layout */</span>
+01144 <span class="comment">/* 1 = Normal text */</span>
+01145 <span class="comment">/* 2 = Selected text */</span>
+01146 <span class="comment">/* 3 = Normal shortcut */</span>
+01147 <span class="comment">/* 4 = Selected shortcut */</span>
+01148 <span class="comment">/* ---------------------------------------------------------------------- */</span>
+01149
+01150
+01151 <span class="preprocessor">#if defined( Uses_TRadioButtons ) &amp;&amp; !defined( __TRadioButtons )</span>
+01152 <span class="preprocessor"></span><span class="preprocessor">#define __TRadioButtons</span>
+01153 <span class="preprocessor"></span>
+01154 <span class="keyword">class </span><a class="code" href="classTRect.html">TRect</a>;
+01155 <span class="keyword">class </span><a class="code" href="classTSItem.html">TSItem</a>;
+01156
+<a name="l01181"></a><a class="code" href="classTRadioButtons.html">01181</a> <span class="keyword">class </span><a class="code" href="classTRadioButtons.html">TRadioButtons</a> : <span class="keyword">public</span> <a class="code" href="classTCluster.html">TCluster</a>
+01182 {
+01183 <span class="keyword">public</span>:
+01198 <a class="code" href="classTRadioButtons.html#a0">TRadioButtons</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; bounds, <a class="code" href="classTSItem.html">TSItem</a> *aStrings );
+01207 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTRadioButtons.html#a1">draw</a>();
+01215 <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTRadioButtons.html#a2">mark</a>( <span class="keywordtype">int</span> item );
+01224 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTRadioButtons.html#a3">movedTo</a>( <span class="keywordtype">int</span> item );
+01233 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTRadioButtons.html#a4">press</a>( <span class="keywordtype">int</span> item );
+01241 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTRadioButtons.html#a5">setData</a>( <span class="keywordtype">void</span> *rec );
+01242 <span class="keyword">private</span>:
+01243 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * button;
+01244 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *streamableName()<span class="keyword"> const</span>
+01245 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classTRadioButtons.html#p0">name</a>; }
+01246 <span class="keyword">protected</span>:
+01256 <a class="code" href="classTRadioButtons.html#a0">TRadioButtons</a>( <a class="code" href="ttypes_8h.html#a14">StreamableInit</a> );
+01257 <span class="keyword">public</span>:
+<a name="l01261"></a><a class="code" href="classTRadioButtons.html#p0">01261</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classTRadioButtons.html#p0">name</a>;
+01267 <span class="keyword">static</span> <a class="code" href="classTStreamable.html">TStreamable</a> *<a class="code" href="classTRadioButtons.html#d0">build</a>();
+01268 };
+01269
+<a name="l01273"></a><a class="code" href="dialogs_8h.html#a29">01273</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTRadioButtons.html">TRadioButtons</a>&amp; cl )
+01274 { <span class="keywordflow">return</span> is &gt;&gt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l01278"></a><a class="code" href="dialogs_8h.html#a30">01278</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTRadioButtons.html">TRadioButtons</a>*&amp; cl )
+01279 { <span class="keywordflow">return</span> is &gt;&gt; (<span class="keywordtype">void</span> *&amp;)cl; }
+01280
+<a name="l01284"></a><a class="code" href="dialogs_8h.html#a31">01284</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTRadioButtons.html">TRadioButtons</a>&amp; cl )
+01285 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l01289"></a><a class="code" href="dialogs_8h.html#a32">01289</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTRadioButtons.html">TRadioButtons</a>* cl )
+01290 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a> *)cl; }
+01291
+<a name="l01292"></a><a class="code" href="classTRadioButtons.html#a0">01292</a> <span class="keyword">inline</span> <a class="code" href="classTRadioButtons.html#a0">TRadioButtons::TRadioButtons</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; bounds, <a class="code" href="classTSItem.html">TSItem</a> *aStrings ) :
+01293 <a class="code" href="classTCluster.html">TCluster</a>( bounds, aStrings )
+01294 {
+01295 }
+01296
+01297 <span class="preprocessor">#endif // Uses_TRadioButtons</span>
+01298 <span class="preprocessor"></span>
+01299
+01300 <span class="comment">/* ---------------------------------------------------------------------- */</span>
+01301 <span class="comment">/* TCheckBoxes */</span>
+01302 <span class="comment">/* */</span>
+01303 <span class="comment">/* Palette layout */</span>
+01304 <span class="comment">/* 1 = Normal text */</span>
+01305 <span class="comment">/* 2 = Selected text */</span>
+01306 <span class="comment">/* 3 = Normal shortcut */</span>
+01307 <span class="comment">/* 4 = Selected shortcut */</span>
+01308 <span class="comment">/* ---------------------------------------------------------------------- */</span>
+01309
+01310 <span class="preprocessor">#if defined( Uses_TCheckBoxes ) &amp;&amp; !defined( __TCheckBoxes )</span>
+01311 <span class="preprocessor"></span><span class="preprocessor">#define __TCheckBoxes</span>
+01312 <span class="preprocessor"></span>
+01313 <span class="keyword">class </span><a class="code" href="classTRect.html">TRect</a>;
+01314 <span class="keyword">class </span><a class="code" href="classTSItem.html">TSItem</a>;
+01315
+<a name="l01335"></a><a class="code" href="classTCheckBoxes.html">01335</a> <span class="keyword">class </span><a class="code" href="classTCheckBoxes.html">TCheckBoxes</a> : <span class="keyword">public</span> <a class="code" href="classTCluster.html">TCluster</a>
+01336 {
+01337 <span class="keyword">public</span>:
+01352 <a class="code" href="classTCheckBoxes.html#a0">TCheckBoxes</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; bounds, <a class="code" href="classTSItem.html">TSItem</a> *aStrings);
+01361 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTCheckBoxes.html#a1">draw</a>();
+01373 <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTCheckBoxes.html#a2">mark</a>( <span class="keywordtype">int</span> item );
+01382 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTCheckBoxes.html#a3">press</a>( <span class="keywordtype">int</span> item );
+01383 <span class="keyword">private</span>:
+01384 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * button;
+01385 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *streamableName()<span class="keyword"> const</span>
+01386 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classTCheckBoxes.html#p0">name</a>; }
+01387 <span class="keyword">protected</span>:
+01397 <a class="code" href="classTCheckBoxes.html#a0">TCheckBoxes</a>( <a class="code" href="ttypes_8h.html#a14">StreamableInit</a> );
+01398 <span class="keyword">public</span>:
+<a name="l01402"></a><a class="code" href="classTCheckBoxes.html#p0">01402</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classTCheckBoxes.html#p0">name</a>;
+01408 <span class="keyword">static</span> <a class="code" href="classTStreamable.html">TStreamable</a> *<a class="code" href="classTCheckBoxes.html#d0">build</a>();
+01409 };
+01410
+<a name="l01414"></a><a class="code" href="dialogs_8h.html#a33">01414</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTCheckBoxes.html">TCheckBoxes</a>&amp; cl )
+01415 { <span class="keywordflow">return</span> is &gt;&gt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l01419"></a><a class="code" href="dialogs_8h.html#a34">01419</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTCheckBoxes.html">TCheckBoxes</a>*&amp; cl )
+01420 { <span class="keywordflow">return</span> is &gt;&gt; (<span class="keywordtype">void</span> *&amp;)cl; }
+01421
+<a name="l01425"></a><a class="code" href="dialogs_8h.html#a35">01425</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTCheckBoxes.html">TCheckBoxes</a>&amp; cl )
+01426 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l01430"></a><a class="code" href="dialogs_8h.html#a36">01430</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTCheckBoxes.html">TCheckBoxes</a>* cl )
+01431 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a> *)cl; }
+01432
+<a name="l01433"></a><a class="code" href="classTCheckBoxes.html#a0">01433</a> <span class="keyword">inline</span> <a class="code" href="classTCheckBoxes.html#a0">TCheckBoxes::TCheckBoxes</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; bounds, <a class="code" href="classTSItem.html">TSItem</a> *aStrings) :
+01434 <a class="code" href="classTCluster.html">TCluster</a>( bounds, aStrings )
+01435 {
+01436 }
+01437
+01438 <span class="preprocessor">#endif // Uses_TCheckBoxes</span>
+01439 <span class="preprocessor"></span>
+01440
+01441 <span class="preprocessor">#if defined( Uses_TMultiCheckBoxes ) &amp;&amp; !defined( __TMultiCheckBoxes )</span>
+01442 <span class="preprocessor"></span><span class="preprocessor">#define __TMultiCheckBoxes</span>
+01443 <span class="preprocessor"></span>
+01444 <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> cfOneBit = 0x0101,
+01445 cfTwoBits = 0x0203,
+01446 cfFourBits = 0x040F,
+01447 cfEightBits = 0x08FF;
+01448
+01449 <span class="comment">/* ---------------------------------------------------------------------- */</span>
+01450 <span class="comment">/* TMultiCheckBoxes */</span>
+01451 <span class="comment">/* */</span>
+01452 <span class="comment">/* Palette layout */</span>
+01453 <span class="comment">/* 1 = Normal text */</span>
+01454 <span class="comment">/* 2 = Selected text */</span>
+01455 <span class="comment">/* 3 = Normal shortcut */</span>
+01456 <span class="comment">/* 4 = Selected shortcut */</span>
+01457 <span class="comment">/* ---------------------------------------------------------------------- */</span>
+01458
+01459 <span class="keyword">class </span><a class="code" href="classTRect.html">TRect</a>;
+01460 <span class="keyword">class </span><a class="code" href="classTSItem.html">TSItem</a>;
+01461
+<a name="l01466"></a><a class="code" href="classTMultiCheckBoxes.html">01466</a> <span class="keyword">class </span><a class="code" href="classTMultiCheckBoxes.html">TMultiCheckBoxes</a> : <span class="keyword">public</span> <a class="code" href="classTCluster.html">TCluster</a>
+01467 {
+01468 <span class="keyword">public</span>:
+01476 <a class="code" href="classTMultiCheckBoxes.html#a0">TMultiCheckBoxes</a>(<a class="code" href="classTRect.html">TRect</a>&amp; bounds, <a class="code" href="classTSItem.html">TSItem</a> *aStrings, <a class="code" href="ttypes_8h.html#a1">uchar</a> aSelRange,
+01477 <a class="code" href="ttypes_8h.html#a0">ushort</a> aFlags, <span class="keyword">const</span> <span class="keywordtype">char</span>* aStates);
+01484 <a class="code" href="classTMultiCheckBoxes.html#a1">~TMultiCheckBoxes</a>();
+01489 <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="classTMultiCheckBoxes.html#a2">dataSize</a>();
+01496 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTMultiCheckBoxes.html#a3">draw</a>();
+01504 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTMultiCheckBoxes.html#a4">getData</a>(<span class="keywordtype">void</span> *rec);
+01508 <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a1">uchar</a> <a class="code" href="classTMultiCheckBoxes.html#a5">multiMark</a>(<span class="keywordtype">int</span> item);
+01514 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTMultiCheckBoxes.html#a6">press</a>( <span class="keywordtype">int</span> item );
+01522 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTMultiCheckBoxes.html#a7">setData</a>(<span class="keywordtype">void</span>*);
+01523 <span class="keyword">private</span>:
+01524 <a class="code" href="ttypes_8h.html#a1">uchar</a> selRange;
+01549 <a class="code" href="ttypes_8h.html#a0">ushort</a> flags;
+01550 <span class="keywordtype">char</span>* states;
+01551 <span class="preprocessor">#ifndef __UNPATCHED</span>
+01552 <span class="preprocessor"></span> <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *streamableName()<span class="keyword"> const</span>
+01553 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classTMultiCheckBoxes.html#p0">name</a>; }
+01554 <span class="preprocessor">#endif</span>
+01555 <span class="preprocessor"></span><span class="keyword">protected</span>:
+01562 <a class="code" href="classTMultiCheckBoxes.html#a0">TMultiCheckBoxes</a>( <a class="code" href="ttypes_8h.html#a14">StreamableInit</a> );
+01566 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTMultiCheckBoxes.html#b1">write</a>( <a class="code" href="classopstream.html">opstream</a>&amp; os );
+01570 <span class="keyword">virtual</span> <span class="keywordtype">void</span> *<a class="code" href="classTMultiCheckBoxes.html#b2">read</a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is );
+01571 <span class="keyword">public</span>:
+<a name="l01575"></a><a class="code" href="classTMultiCheckBoxes.html#p0">01575</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classTMultiCheckBoxes.html#p0">name</a>;
+01579 <span class="keyword">static</span> <a class="code" href="classTStreamable.html">TStreamable</a> *<a class="code" href="classTMultiCheckBoxes.html#d0">build</a>();
+01580 };
+01581
+<a name="l01585"></a><a class="code" href="dialogs_8h.html#a37">01585</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTMultiCheckBoxes.html">TMultiCheckBoxes</a>&amp; cl )
+01586 { <span class="keywordflow">return</span> is &gt;&gt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l01590"></a><a class="code" href="dialogs_8h.html#a38">01590</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTMultiCheckBoxes.html">TMultiCheckBoxes</a>*&amp; cl )
+01591 { <span class="keywordflow">return</span> is &gt;&gt; (<span class="keywordtype">void</span> *&amp;)cl; }
+01592
+<a name="l01596"></a><a class="code" href="dialogs_8h.html#a39">01596</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTMultiCheckBoxes.html">TMultiCheckBoxes</a>&amp; cl )
+01597 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l01601"></a><a class="code" href="dialogs_8h.html#a40">01601</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTMultiCheckBoxes.html">TMultiCheckBoxes</a>* cl )
+01602 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a> *)cl; }
+01603
+01604 <span class="preprocessor">#endif</span>
+01605 <span class="preprocessor"></span>
+01606
+01607 <span class="preprocessor">#if defined( Uses_TListBox ) &amp;&amp; !defined( __TListBox )</span>
+01608 <span class="preprocessor"></span><span class="preprocessor">#define __TListBox</span>
+01609 <span class="preprocessor"></span>
+01610 <span class="keyword">class </span><a class="code" href="classTRect.html">TRect</a>;
+01611 <span class="keyword">class </span><a class="code" href="classTScrollBar.html">TScrollBar</a>;
+01612 <span class="keyword">class </span><a class="code" href="classTCollection.html">TCollection</a>;
+01613
+<a name="l01621"></a><a class="code" href="structTListBoxRec.html">01621</a> <span class="keyword">struct </span><a class="code" href="structTListBoxRec.html">TListBoxRec</a>
+01622 {
+<a name="l01626"></a><a class="code" href="structTListBoxRec.html#m0">01626</a> <a class="code" href="classTCollection.html">TCollection</a> *<a class="code" href="structTListBoxRec.html#m0">items</a>;
+<a name="l01630"></a><a class="code" href="structTListBoxRec.html#m1">01630</a> <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="structTListBoxRec.html#m1">selection</a>;
+01631 };
+01632
+<a name="l01643"></a><a class="code" href="classTListBox.html">01643</a> <span class="keyword">class </span><a class="code" href="classTListBox.html">TListBox</a> : <span class="keyword">public</span> <a class="code" href="classTListViewer.html">TListViewer</a>
+01644 {
+01645 <span class="keyword">public</span>:
+01661 <a class="code" href="classTListBox.html#a0">TListBox</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; bounds, <a class="code" href="ttypes_8h.html#a0">ushort</a> aNumCols, <a class="code" href="classTScrollBar.html">TScrollBar</a> *aScrollBar );
+01665 <a class="code" href="classTListBox.html#a1">~TListBox</a>();
+01677 <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="classTListBox.html#a2">dataSize</a>();
+01685 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTListBox.html#a3">getData</a>( <span class="keywordtype">void</span> *rec );
+01697 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTListBox.html#a4">getText</a>( <span class="keywordtype">char</span> *dest, <span class="keywordtype">short</span> item, <span class="keywordtype">short</span> maxLen );
+01702 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTListBox.html#a5">newList</a>( <a class="code" href="classTCollection.html">TCollection</a> *aList );
+01710 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTListBox.html#a6">setData</a>( <span class="keywordtype">void</span> *rec );
+01714 <a class="code" href="classTCollection.html">TCollection</a> *<a class="code" href="classTListBox.html#a7">list</a>();
+01715 <span class="keyword">private</span>:
+01716 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *streamableName()<span class="keyword"> const</span>
+01717 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classTListBox.html#p0">name</a>; }
+01718 <span class="keyword">protected</span>:
+<a name="l01726"></a><a class="code" href="classTListBox.html#n0">01726</a> <a class="code" href="classTCollection.html">TCollection</a> *<a class="code" href="classTListBox.html#n0">items</a>;
+01733 <a class="code" href="classTListBox.html#a0">TListBox</a>( <a class="code" href="ttypes_8h.html#a14">StreamableInit</a> );
+01737 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTListBox.html#b1">write</a>( <a class="code" href="classopstream.html">opstream</a>&amp; os );
+01741 <span class="keyword">virtual</span> <span class="keywordtype">void</span> *<a class="code" href="classTListBox.html#b2">read</a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is );
+01742 <span class="keyword">public</span>:
+<a name="l01746"></a><a class="code" href="classTListBox.html#p0">01746</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classTListBox.html#p0">name</a>;
+01750 <span class="keyword">static</span> <a class="code" href="classTStreamable.html">TStreamable</a> *<a class="code" href="classTListBox.html#d0">build</a>();
+01751 };
+01752
+<a name="l01756"></a><a class="code" href="dialogs_8h.html#a41">01756</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTListBox.html">TListBox</a>&amp; cl )
+01757 { <span class="keywordflow">return</span> is &gt;&gt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l01761"></a><a class="code" href="dialogs_8h.html#a42">01761</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTListBox.html">TListBox</a>*&amp; cl )
+01762 { <span class="keywordflow">return</span> is &gt;&gt; (<span class="keywordtype">void</span> *&amp;)cl; }
+01763
+<a name="l01767"></a><a class="code" href="dialogs_8h.html#a43">01767</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTListBox.html">TListBox</a>&amp; cl )
+01768 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l01772"></a><a class="code" href="dialogs_8h.html#a44">01772</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTListBox.html">TListBox</a>* cl )
+01773 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a> *)cl; }
+01774
+<a name="l01775"></a><a class="code" href="classTListBox.html#a7">01775</a> <span class="keyword">inline</span> <a class="code" href="classTCollection.html">TCollection</a> *<a class="code" href="classTListBox.html#a7">TListBox::list</a>()
+01776 {
+01777 <span class="keywordflow">return</span> <a class="code" href="classTListBox.html#n0">items</a>;
+01778 }
+01779
+01780 <span class="preprocessor">#endif // Uses_TListBox</span>
+01781 <span class="preprocessor"></span>
+01782
+01783 <span class="comment">/* ---------------------------------------------------------------------- */</span>
+01784 <span class="comment">/* class TStaticText */</span>
+01785 <span class="comment">/* */</span>
+01786 <span class="comment">/* Palette layout */</span>
+01787 <span class="comment">/* 1 = Text */</span>
+01788 <span class="comment">/* ---------------------------------------------------------------------- */</span>
+01789
+01790 <span class="preprocessor">#if defined( Uses_TStaticText ) &amp;&amp; !defined( __TStaticText )</span>
+01791 <span class="preprocessor"></span><span class="preprocessor">#define __TStaticText</span>
+01792 <span class="preprocessor"></span>
+01793 <span class="keyword">class </span><a class="code" href="classTRect.html">TRect</a>;
+01794
+<a name="l01808"></a><a class="code" href="classTStaticText.html">01808</a> <span class="keyword">class </span><a class="code" href="classTStaticText.html">TStaticText</a> : <span class="keyword">public</span> <a class="code" href="classTView.html">TView</a>
+01809 {
+01810 <span class="keyword">public</span>:
+01821 <a class="code" href="classTStaticText.html#a0">TStaticText</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; bounds, <span class="keyword">const</span> <span class="keywordtype">char</span> *aText );
+01827 <a class="code" href="classTStaticText.html#a1">~TStaticText</a>();
+01833 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTStaticText.html#a2">draw</a>();
+01837 <span class="keyword">virtual</span> <a class="code" href="classTPalette.html">TPalette</a>&amp; <a class="code" href="classTStaticText.html#a3">getPalette</a>() <span class="keyword">const</span>;
+01841 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTStaticText.html#a4">getText</a>( <span class="keywordtype">char</span> *s );
+01842 <span class="keyword">protected</span>:
+<a name="l01846"></a><a class="code" href="classTStaticText.html#n0">01846</a> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classTStaticText.html#n0">text</a>;
+01847 <span class="keyword">private</span>:
+01848 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *streamableName()<span class="keyword"> const</span>
+01849 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classTStaticText.html#p0">name</a>; }
+01850 <span class="keyword">protected</span>:
+01857 <a class="code" href="classTStaticText.html#a0">TStaticText</a>( <a class="code" href="ttypes_8h.html#a14">StreamableInit</a> );
+01861 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTStaticText.html#b1">write</a>( <a class="code" href="classopstream.html">opstream</a>&amp; os );
+01865 <span class="keyword">virtual</span> <span class="keywordtype">void</span> *<a class="code" href="classTStaticText.html#b2">read</a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is );
+01866 <span class="keyword">public</span>:
+<a name="l01870"></a><a class="code" href="classTStaticText.html#p0">01870</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classTStaticText.html#p0">name</a>;
+01876 <span class="keyword">static</span> <a class="code" href="classTStreamable.html">TStreamable</a> *<a class="code" href="classTStaticText.html#d0">build</a>();
+01877 };
+01878
+<a name="l01882"></a><a class="code" href="dialogs_8h.html#a45">01882</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTStaticText.html">TStaticText</a>&amp; cl )
+01883 { <span class="keywordflow">return</span> is &gt;&gt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l01887"></a><a class="code" href="dialogs_8h.html#a46">01887</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTStaticText.html">TStaticText</a>*&amp; cl )
+01888 { <span class="keywordflow">return</span> is &gt;&gt; (<span class="keywordtype">void</span> *&amp;)cl; }
+01889
+<a name="l01893"></a><a class="code" href="dialogs_8h.html#a47">01893</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTStaticText.html">TStaticText</a>&amp; cl )
+01894 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l01898"></a><a class="code" href="dialogs_8h.html#a48">01898</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTStaticText.html">TStaticText</a>* cl )
+01899 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a> *)cl; }
+01900
+01901 <span class="preprocessor">#endif // Uses_TStaticText</span>
+01902 <span class="preprocessor"></span>
+01903
+01904 <span class="comment">/* ---------------------------------------------------------------------- */</span>
+01905 <span class="comment">/* class TParamText */</span>
+01906 <span class="comment">/* */</span>
+01907 <span class="comment">/* Palette layout */</span>
+01908 <span class="comment">/* 1 = Text */</span>
+01909 <span class="comment">/* ---------------------------------------------------------------------- */</span>
+01910
+01911 <span class="preprocessor">#if defined( Uses_TParamText ) &amp;&amp; !defined( __TParamText )</span>
+01912 <span class="preprocessor"></span><span class="preprocessor">#define __TParamText</span>
+01913 <span class="preprocessor"></span>
+01914 <span class="keyword">class </span><a class="code" href="classTRect.html">TRect</a>;
+01915
+<a name="l01924"></a><a class="code" href="classTParamText.html">01924</a> <span class="keyword">class </span><a class="code" href="classTParamText.html">TParamText</a> : <span class="keyword">public</span> <a class="code" href="classTStaticText.html">TStaticText</a>
+01925 {
+01926 <span class="keyword">public</span>:
+01935 <a class="code" href="classTParamText.html#a0">TParamText</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; bounds );
+01939 <a class="code" href="classTParamText.html#a1">~TParamText</a>();
+01944 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTParamText.html#a2">getText</a>( <span class="keywordtype">char</span> *s );
+01951 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTParamText.html#a3">setText</a>( <span class="keywordtype">char</span> *fmt, ... );
+01955 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classTParamText.html#a4">getTextLen</a>();
+01956 <span class="keyword">protected</span>:
+<a name="l01960"></a><a class="code" href="classTParamText.html#n0">01960</a> <span class="keywordtype">char</span> *<a class="code" href="classTParamText.html#n0">str</a>;
+01961 <span class="keyword">private</span>:
+01962 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *streamableName()<span class="keyword"> const</span>
+01963 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classTParamText.html#p0">name</a>; }
+01964 <span class="keyword">protected</span>:
+01971 <a class="code" href="classTParamText.html#a0">TParamText</a>( <a class="code" href="ttypes_8h.html#a14">StreamableInit</a> );
+01972 <span class="preprocessor">#ifndef __UNPATCHED</span>
+01973 <span class="preprocessor"></span>
+01976 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTParamText.html#b1">write</a>( <a class="code" href="classopstream.html">opstream</a>&amp; os );
+01980 <span class="keyword">virtual</span> <span class="keywordtype">void</span> *<a class="code" href="classTParamText.html#b2">read</a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is );
+01981 <span class="preprocessor">#endif</span>
+01982 <span class="preprocessor"></span><span class="keyword">public</span>:
+<a name="l01986"></a><a class="code" href="classTParamText.html#p0">01986</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classTParamText.html#p0">name</a>;
+01992 <span class="keyword">static</span> <a class="code" href="classTStreamable.html">TStreamable</a> *<a class="code" href="classTParamText.html#d0">build</a>();
+01993 };
+01994
+<a name="l01998"></a><a class="code" href="dialogs_8h.html#a49">01998</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTParamText.html">TParamText</a>&amp; cl )
+01999 { <span class="keywordflow">return</span> is &gt;&gt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l02003"></a><a class="code" href="dialogs_8h.html#a50">02003</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTParamText.html">TParamText</a>*&amp; cl )
+02004 { <span class="keywordflow">return</span> is &gt;&gt; (<span class="keywordtype">void</span> *&amp;)cl; }
+02005
+<a name="l02009"></a><a class="code" href="dialogs_8h.html#a51">02009</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTParamText.html">TParamText</a>&amp; cl )
+02010 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l02014"></a><a class="code" href="dialogs_8h.html#a52">02014</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTParamText.html">TParamText</a>* cl )
+02015 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a> *)cl; }
+02016
+02017 <span class="preprocessor">#endif // Uses_TParamText</span>
+02018 <span class="preprocessor"></span>
+02019
+02020 <span class="comment">/* ---------------------------------------------------------------------- */</span>
+02021 <span class="comment">/* class TLabel */</span>
+02022 <span class="comment">/* */</span>
+02023 <span class="comment">/* Palette layout */</span>
+02024 <span class="comment">/* 1 = Normal text */</span>
+02025 <span class="comment">/* 2 = Selected text */</span>
+02026 <span class="comment">/* 3 = Normal shortcut */</span>
+02027 <span class="comment">/* 4 = Selected shortcut */</span>
+02028 <span class="comment">/* ---------------------------------------------------------------------- */</span>
+02029
+02030 <span class="preprocessor">#if defined( Uses_TLabel ) &amp;&amp; !defined( __TLabel )</span>
+02031 <span class="preprocessor"></span><span class="preprocessor">#define __TLabel</span>
+02032 <span class="preprocessor"></span>
+02033 <span class="keyword">class </span><a class="code" href="classTRect.html">TRect</a>;
+02034 <span class="keyword">class </span><a class="code" href="structTEvent.html">TEvent</a>;
+02035 <span class="keyword">class </span><a class="code" href="classTView.html">TView</a>;
+02036
+<a name="l02056"></a><a class="code" href="classTLabel.html">02056</a> <span class="keyword">class </span><a class="code" href="classTLabel.html">TLabel</a> : <span class="keyword">public</span> <a class="code" href="classTStaticText.html">TStaticText</a>
+02057 {
+02058 <span class="keyword">public</span>:
+02077 <a class="code" href="classTLabel.html#a0">TLabel</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; bounds, <span class="keyword">const</span> <span class="keywordtype">char</span> *aText, <a class="code" href="classTView.html">TView</a> *aLink );
+02081 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTLabel.html#a1">draw</a>();
+02085 <span class="keyword">virtual</span> <a class="code" href="classTPalette.html">TPalette</a>&amp; <a class="code" href="classTLabel.html#a2">getPalette</a>() <span class="keyword">const</span>;
+02098 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTLabel.html#a3">handleEvent</a>( <a class="code" href="structTEvent.html">TEvent</a>&amp; event );
+02112 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTLabel.html#a4">shutDown</a>();
+02113 <span class="keyword">protected</span>:
+<a name="l02118"></a><a class="code" href="classTLabel.html#n0">02118</a> <a class="code" href="classTView.html">TView</a> *<a class="code" href="classTLabel.html#n0">link</a>;
+<a name="l02123"></a><a class="code" href="classTLabel.html#n1">02123</a> <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTLabel.html#n1">light</a>;
+02124 <span class="keyword">private</span>:
+02125 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *streamableName()<span class="keyword"> const</span>
+02126 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classTLabel.html#p0">name</a>; }
+02127 <span class="keywordtype">void</span> focusLink(<a class="code" href="structTEvent.html">TEvent</a>&amp;);
+02128 <span class="keyword">protected</span>:
+02135 <a class="code" href="classTLabel.html#a0">TLabel</a>( <a class="code" href="ttypes_8h.html#a14">StreamableInit</a> );
+02140 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTLabel.html#b1">write</a>( <a class="code" href="classopstream.html">opstream</a>&amp; os );
+02145 <span class="keyword">virtual</span> <span class="keywordtype">void</span> *<a class="code" href="classTLabel.html#b2">read</a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is );
+02146 <span class="keyword">public</span>:
+<a name="l02150"></a><a class="code" href="classTLabel.html#p0">02150</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classTLabel.html#p0">name</a>;
+02156 <span class="keyword">static</span> <a class="code" href="classTStreamable.html">TStreamable</a> *<a class="code" href="classTLabel.html#d0">build</a>();
+02157 };
+02158
+<a name="l02162"></a><a class="code" href="dialogs_8h.html#a53">02162</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTLabel.html">TLabel</a>&amp; cl )
+02163 { <span class="keywordflow">return</span> is &gt;&gt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l02167"></a><a class="code" href="dialogs_8h.html#a54">02167</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTLabel.html">TLabel</a>*&amp; cl )
+02168 { <span class="keywordflow">return</span> is &gt;&gt; (<span class="keywordtype">void</span> *&amp;)cl; }
+02169
+<a name="l02173"></a><a class="code" href="dialogs_8h.html#a55">02173</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTLabel.html">TLabel</a>&amp; cl )
+02174 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l02178"></a><a class="code" href="dialogs_8h.html#a56">02178</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTLabel.html">TLabel</a>* cl )
+02179 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a> *)cl; }
+02180
+02181 <span class="preprocessor">#endif // Uses_TLabel</span>
+02182 <span class="preprocessor"></span>
+02183
+02184 <span class="comment">/* ---------------------------------------------------------------------- */</span>
+02185 <span class="comment">/* class THistoryViewer */</span>
+02186 <span class="comment">/* */</span>
+02187 <span class="comment">/* Palette layout */</span>
+02188 <span class="comment">/* 1 = Active */</span>
+02189 <span class="comment">/* 2 = Inactive */</span>
+02190 <span class="comment">/* 3 = Focused */</span>
+02191 <span class="comment">/* 4 = Selected */</span>
+02192 <span class="comment">/* 5 = Divider */</span>
+02193 <span class="comment">/* ---------------------------------------------------------------------- */</span>
+02194
+02195 <span class="preprocessor">#if defined( Uses_THistoryViewer ) &amp;&amp; !defined( __THistoryViewer )</span>
+02196 <span class="preprocessor"></span><span class="preprocessor">#define __THistoryViewer</span>
+02197 <span class="preprocessor"></span>
+02198 <span class="keyword">class </span><a class="code" href="classTRect.html">TRect</a>;
+02199 <span class="keyword">class </span><a class="code" href="classTScrollBar.html">TScrollBar</a>;
+02200
+<a name="l02207"></a><a class="code" href="classTHistoryViewer.html">02207</a> <span class="keyword">class </span><a class="code" href="classTHistoryViewer.html">THistoryViewer</a> : <span class="keyword">public</span> <a class="code" href="classTListViewer.html">TListViewer</a>
+02208 {
+02209 <span class="keyword">public</span>:
+02224 <a class="code" href="classTHistoryViewer.html#a0">THistoryViewer</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; bounds,
+02225 <a class="code" href="classTScrollBar.html">TScrollBar</a> *aHScrollBar,
+02226 <a class="code" href="classTScrollBar.html">TScrollBar</a> *aVScrollBar,
+02227 <a class="code" href="ttypes_8h.html#a0">ushort</a> aHistoryId
+02228 );
+02232 <span class="keyword">virtual</span> <a class="code" href="classTPalette.html">TPalette</a>&amp; <a class="code" href="classTHistoryViewer.html#a1">getPalette</a>() <span class="keyword">const</span>;
+02238 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTHistoryViewer.html#a2">getText</a>( <span class="keywordtype">char</span> *dest, <span class="keywordtype">short</span> item, <span class="keywordtype">short</span> maxLen );
+02248 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTHistoryViewer.html#a3">handleEvent</a>( <a class="code" href="structTEvent.html">TEvent</a>&amp; event );
+02253 <span class="keywordtype">int</span> <a class="code" href="classTHistoryViewer.html#a4">historyWidth</a>();
+02254 <span class="keyword">protected</span>:
+<a name="l02259"></a><a class="code" href="classTHistoryViewer.html#n0">02259</a> <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="classTHistoryViewer.html#n0">historyId</a>;
+02260 };
+02261
+02262 <span class="preprocessor">#endif // Uses_THistoryViewer</span>
+02263 <span class="preprocessor"></span>
+02264 <span class="preprocessor">#if defined( Uses_THistoryWindow ) &amp;&amp; !defined( __THistoryWindow )</span>
+02265 <span class="preprocessor"></span><span class="preprocessor">#define __THistoryWindow</span>
+02266 <span class="preprocessor"></span>
+02267 <span class="keyword">class </span><a class="code" href="classTListViewer.html">TListViewer</a>;
+02268 <span class="keyword">class </span><a class="code" href="classTRect.html">TRect</a>;
+02269 <span class="keyword">class </span><a class="code" href="classTWindow.html">TWindow</a>;
+02270 <span class="keyword">class </span><a class="code" href="classTInputLine.html">TInputLine</a>;
+02271
+<a name="l02282"></a><a class="code" href="classTHistInit.html">02282</a> <span class="keyword">class </span><a class="code" href="classTHistInit.html">THistInit</a>
+02283 {
+02284 <span class="keyword">public</span>:
+02293 <a class="code" href="classTHistInit.html#a0">THistInit</a>( <a class="code" href="classTListViewer.html">TListViewer</a> *(*cListViewer)( <a class="code" href="classTRect.html">TRect</a> r, <a class="code" href="classTWindow.html">TWindow</a> *w,
+02294 <a class="code" href="ttypes_8h.html#a0">ushort</a> histID ));
+02295 <span class="keyword">protected</span>:
+02302 <a class="code" href="classTListViewer.html">TListViewer</a> *(*createListViewer)( <a class="code" href="classTRect.html">TRect</a> r, <a class="code" href="classTWindow.html">TWindow</a> *w, <a class="code" href="ttypes_8h.html#a0">ushort</a> histId );
+02303 };
+02304
+02305 <span class="comment">/* ---------------------------------------------------------------------- */</span>
+02306 <span class="comment">/* THistoryWindow */</span>
+02307 <span class="comment">/* */</span>
+02308 <span class="comment">/* Palette layout */</span>
+02309 <span class="comment">/* 1 = Frame passive */</span>
+02310 <span class="comment">/* 2 = Frame active */</span>
+02311 <span class="comment">/* 3 = Frame icon */</span>
+02312 <span class="comment">/* 4 = ScrollBar page area */</span>
+02313 <span class="comment">/* 5 = ScrollBar controls */</span>
+02314 <span class="comment">/* 6 = HistoryViewer normal text */</span>
+02315 <span class="comment">/* 7 = HistoryViewer selected text */</span>
+02316 <span class="comment">/* ---------------------------------------------------------------------- */</span>
+02317
+<a name="l02328"></a><a class="code" href="classTHistoryWindow.html">02328</a> <span class="keyword">class </span><a class="code" href="classTHistoryWindow.html">THistoryWindow</a> : <span class="keyword">public</span> <a class="code" href="classTWindow.html">TWindow</a>, <span class="keyword">public</span> <span class="keyword">virtual</span> <a class="code" href="classTHistInit.html">THistInit</a>
+02329 {
+02330 <span class="keyword">public</span>:
+02352 <a class="code" href="classTHistoryWindow.html#a0">THistoryWindow</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; bounds, <a class="code" href="ttypes_8h.html#a0">ushort</a> historyId );
+02356 <span class="keyword">virtual</span> <a class="code" href="classTPalette.html">TPalette</a>&amp; <a class="code" href="classTHistoryWindow.html#a1">getPalette</a>() <span class="keyword">const</span>;
+02361 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTHistoryWindow.html#a2">getSelection</a>( <span class="keywordtype">char</span> *dest );
+02370 <span class="keyword">static</span> <a class="code" href="classTListViewer.html">TListViewer</a> *<a class="code" href="classTHistoryWindow.html#d0">initViewer</a>( <a class="code" href="classTRect.html">TRect</a> bounds, <a class="code" href="classTWindow.html">TWindow</a> *w, <a class="code" href="ttypes_8h.html#a0">ushort</a>
+02371 aHistoryId );
+02372 <span class="keyword">protected</span>:
+<a name="l02376"></a><a class="code" href="classTHistoryWindow.html#n0">02376</a> <a class="code" href="classTListViewer.html">TListViewer</a> *<a class="code" href="classTHistoryWindow.html#n0">viewer</a>;
+02377 };
+02378
+02379 <span class="preprocessor">#endif // Uses_THistoryWindow</span>
+02380 <span class="preprocessor"></span>
+02381 <span class="preprocessor">#if defined( Uses_THistory ) &amp;&amp; !defined( __THistory )</span>
+02382 <span class="preprocessor"></span><span class="preprocessor">#define __THistory</span>
+02383 <span class="preprocessor"></span>
+02384 <span class="keyword">class </span><a class="code" href="classTRect.html">TRect</a>;
+02385 <span class="keyword">class </span><a class="code" href="classTInputLine.html">TInputLine</a>;
+02386 <span class="keyword">class </span><a class="code" href="structTEvent.html">TEvent</a>;
+02387 <span class="keyword">class </span><a class="code" href="classTHistoryWindow.html">THistoryWindow</a>;
+02388
+<a name="l02404"></a><a class="code" href="classTHistory.html">02404</a> <span class="keyword">class </span><a class="code" href="classTHistory.html">THistory</a> : <span class="keyword">public</span> <a class="code" href="classTView.html">TView</a>
+02405 {
+02406 <span class="keyword">public</span>:
+02418 <a class="code" href="classTHistory.html#a0">THistory</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; bounds, <a class="code" href="classTInputLine.html">TInputLine</a> *aLink, <a class="code" href="ttypes_8h.html#a0">ushort</a> aHistoryId );
+02422 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTHistory.html#a1">draw</a>();
+02426 <span class="keyword">virtual</span> <a class="code" href="classTPalette.html">TPalette</a>&amp; <a class="code" href="classTHistory.html#a2">getPalette</a>() <span class="keyword">const</span>;
+02432 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTHistory.html#a3">handleEvent</a>( <a class="code" href="structTEvent.html">TEvent</a>&amp; event );
+02443 <span class="keyword">virtual</span> <a class="code" href="classTHistoryWindow.html">THistoryWindow</a> *<a class="code" href="classTHistory.html#a4">initHistoryWindow</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; bounds );
+02447 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTHistory.html#a5">recordHistory</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *s);
+02455 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTHistory.html#a6">shutDown</a>();
+<a name="l02459"></a><a class="code" href="classTHistory.html#p0">02459</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="classTHistory.html#p0">icon</a>;
+02460 <span class="keyword">protected</span>:
+<a name="l02464"></a><a class="code" href="classTHistory.html#n0">02464</a> <a class="code" href="classTInputLine.html">TInputLine</a> *<a class="code" href="classTHistory.html#n0">link</a>;
+<a name="l02471"></a><a class="code" href="classTHistory.html#n1">02471</a> <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="classTHistory.html#n1">historyId</a>;
+02472 <span class="keyword">private</span>:
+02473 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *streamableName()<span class="keyword"> const</span>
+02474 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classTHistory.html#p1">name</a>; }
+02475 <span class="keyword">protected</span>:
+02482 <a class="code" href="classTHistory.html#a0">THistory</a>( <a class="code" href="ttypes_8h.html#a14">StreamableInit</a> );
+02486 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTHistory.html#b1">write</a>( <a class="code" href="classopstream.html">opstream</a>&amp; os );
+02490 <span class="keyword">virtual</span> <span class="keywordtype">void</span> *<a class="code" href="classTHistory.html#b2">read</a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is );
+02491 <span class="keyword">public</span>:
+<a name="l02495"></a><a class="code" href="classTHistory.html#p1">02495</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classTHistory.html#p1">name</a>;
+02499 <span class="keyword">static</span> <a class="code" href="classTStreamable.html">TStreamable</a> *<a class="code" href="classTHistory.html#d0">build</a>();
+02500 };
+02501
+<a name="l02505"></a><a class="code" href="dialogs_8h.html#a57">02505</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTHistory.html">THistory</a>&amp; cl )
+02506 { <span class="keywordflow">return</span> is &gt;&gt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l02510"></a><a class="code" href="dialogs_8h.html#a58">02510</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTHistory.html">THistory</a>*&amp; cl )
+02511 { <span class="keywordflow">return</span> is &gt;&gt; (<span class="keywordtype">void</span> *&amp;)cl; }
+02512
+<a name="l02516"></a><a class="code" href="dialogs_8h.html#a59">02516</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTHistory.html">THistory</a>&amp; cl )
+02517 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l02521"></a><a class="code" href="dialogs_8h.html#a60">02521</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTHistory.html">THistory</a>* cl )
+02522 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a> *)cl; }
+02523
+02524 <span class="preprocessor">#endif // Uses_THistory</span>
+</pre></div><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:08 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/dialogs_8h.html b/freebsdtvision/doc/html/dialogs_8h.html
new file mode 100644
index 0000000..cf14939
--- /dev/null
+++ b/freebsdtvision/doc/html/dialogs_8h.html
@@ -0,0 +1,2158 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>dialogs.h File Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>dialogs.h File Reference</h1>
+<p>
+<a href="dialogs_8h-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Compounds</h2></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTButton.html">TButton</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>The button view.</em> <a href="classTButton.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTCheckBoxes.html">TCheckBoxes</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Cluster of check boxes.</em> <a href="classTCheckBoxes.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTCluster.html">TCluster</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>The base class of <a class="el" href="classTCheckBoxes.html">TCheckBoxes</a> and <a class="el" href="classTRadioButtons.html">TRadioButtons</a>.</em> <a href="classTCluster.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTDialog.html">TDialog</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>A non-growable child of <a class="el" href="classTWindow.html">TWindow</a>, usually used as a modal view.</em> <a href="classTDialog.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTHistInit.html">THistInit</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Virtual base class for <a class="el" href="classTHistoryWindow.html">THistoryWindow</a>.</em> <a href="classTHistInit.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTHistory.html">THistory</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Implements a pick list of previous entries, actions, or choices from which the user can select a "rerun".</em> <a href="classTHistory.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTHistoryViewer.html">THistoryViewer</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Part of the history list system.</em> <a href="classTHistoryViewer.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTHistoryWindow.html">THistoryWindow</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Holds a history list viewer.</em> <a href="classTHistoryWindow.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTInputLine.html">TInputLine</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Provides a basic input line string editor.</em> <a href="classTInputLine.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTLabel.html">TLabel</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Used to attach a label to a view.</em> <a href="classTLabel.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTListBox.html">TListBox</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Displays a list of items, in one or more columns, with an optional vertical scroll bar.</em> <a href="classTListBox.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>struct &nbsp;</td><td valign=bottom><a class="el" href="structTListBoxRec.html">TListBoxRec</a></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTMultiCheckBoxes.html">TMultiCheckBoxes</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Implements a cluster of multistate check boxes.</em> <a href="classTMultiCheckBoxes.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTParamText.html">TParamText</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Shows dynamic, parameterized text in a window.</em> <a href="classTParamText.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTRadioButtons.html">TRadioButtons</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Cluster of radio buttons.</em> <a href="classTRadioButtons.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTSItem.html">TSItem</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Non-view class providing a singly-linked list of character strings.</em> <a href="classTSItem.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTStaticText.html">TStaticText</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Used to show fixed text in a window.</em> <a href="classTStaticText.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td colspan=2><br><h2>Functions</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="dialogs_8h.html#a13">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTDialog.html">TDialog</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="dialogs_8h.html#a14">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTDialog.html">TDialog</a> *&amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="dialogs_8h.html#a15">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTDialog.html">TDialog</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="dialogs_8h.html#a16">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTDialog.html">TDialog</a> *cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="dialogs_8h.html#a17">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTInputLine.html">TInputLine</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="dialogs_8h.html#a18">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTInputLine.html">TInputLine</a> *&amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="dialogs_8h.html#a19">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTInputLine.html">TInputLine</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="dialogs_8h.html#a20">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTInputLine.html">TInputLine</a> *cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="dialogs_8h.html#a21">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTButton.html">TButton</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="dialogs_8h.html#a22">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTButton.html">TButton</a> *&amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="dialogs_8h.html#a23">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTButton.html">TButton</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="dialogs_8h.html#a24">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTButton.html">TButton</a> *cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="dialogs_8h.html#a25">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTCluster.html">TCluster</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="dialogs_8h.html#a26">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTCluster.html">TCluster</a> *&amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="dialogs_8h.html#a27">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTCluster.html">TCluster</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="dialogs_8h.html#a28">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTCluster.html">TCluster</a> *cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="dialogs_8h.html#a29">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTRadioButtons.html">TRadioButtons</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="dialogs_8h.html#a30">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTRadioButtons.html">TRadioButtons</a> *&amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="dialogs_8h.html#a31">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTRadioButtons.html">TRadioButtons</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="dialogs_8h.html#a32">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTRadioButtons.html">TRadioButtons</a> *cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="dialogs_8h.html#a33">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTCheckBoxes.html">TCheckBoxes</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="dialogs_8h.html#a34">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTCheckBoxes.html">TCheckBoxes</a> *&amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="dialogs_8h.html#a35">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTCheckBoxes.html">TCheckBoxes</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="dialogs_8h.html#a36">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTCheckBoxes.html">TCheckBoxes</a> *cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="dialogs_8h.html#a37">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTMultiCheckBoxes.html">TMultiCheckBoxes</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="dialogs_8h.html#a38">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTMultiCheckBoxes.html">TMultiCheckBoxes</a> *&amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="dialogs_8h.html#a39">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTMultiCheckBoxes.html">TMultiCheckBoxes</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="dialogs_8h.html#a40">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTMultiCheckBoxes.html">TMultiCheckBoxes</a> *cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="dialogs_8h.html#a41">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTListBox.html">TListBox</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="dialogs_8h.html#a42">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTListBox.html">TListBox</a> *&amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="dialogs_8h.html#a43">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTListBox.html">TListBox</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="dialogs_8h.html#a44">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTListBox.html">TListBox</a> *cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="dialogs_8h.html#a45">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTStaticText.html">TStaticText</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="dialogs_8h.html#a46">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTStaticText.html">TStaticText</a> *&amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="dialogs_8h.html#a47">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTStaticText.html">TStaticText</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="dialogs_8h.html#a48">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTStaticText.html">TStaticText</a> *cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="dialogs_8h.html#a49">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTParamText.html">TParamText</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="dialogs_8h.html#a50">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTParamText.html">TParamText</a> *&amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="dialogs_8h.html#a51">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTParamText.html">TParamText</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="dialogs_8h.html#a52">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTParamText.html">TParamText</a> *cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="dialogs_8h.html#a53">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTLabel.html">TLabel</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="dialogs_8h.html#a54">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTLabel.html">TLabel</a> *&amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="dialogs_8h.html#a55">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTLabel.html">TLabel</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="dialogs_8h.html#a56">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTLabel.html">TLabel</a> *cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="dialogs_8h.html#a57">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTHistory.html">THistory</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="dialogs_8h.html#a58">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTHistory.html">THistory</a> *&amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="dialogs_8h.html#a59">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTHistory.html">THistory</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="dialogs_8h.html#a60">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTHistory.html">THistory</a> *cl)</td></tr>
+<tr><td colspan=2><br><h2>Variables</h2></td></tr>
+<tr><td nowrap align=right valign=top>const int&nbsp;</td><td valign=bottom><a class="el" href="dialogs_8h.html#a0">bfNormal</a> = 0x00</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="dialogs_8h.html#a1">bfDefault</a> = 0x01</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="dialogs_8h.html#a2">bfLeftJust</a> = 0x02</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="dialogs_8h.html#a3">bfBroadcast</a> = 0x04</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="dialogs_8h.html#a4">bfGrabFocus</a> = 0x08</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+ <a class="el" href="dialogs_8h.html">dialogs.h</a>
+<p>
+
+<p>
+Definition in file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>.<hr><h2>Function Documentation</h2>
+<a name="a60" doxytag="dialogs.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTHistory.html">THistory</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l02521">2521</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="a59" doxytag="dialogs.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTHistory.html">THistory</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l02516">2516</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="a56" doxytag="dialogs.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTLabel.html">TLabel</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l02178">2178</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="a55" doxytag="dialogs.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTLabel.html">TLabel</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l02173">2173</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="a52" doxytag="dialogs.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTParamText.html">TParamText</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l02014">2014</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="a51" doxytag="dialogs.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTParamText.html">TParamText</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l02009">2009</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="a48" doxytag="dialogs.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTStaticText.html">TStaticText</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l01898">1898</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="a47" doxytag="dialogs.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTStaticText.html">TStaticText</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l01893">1893</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="a44" doxytag="dialogs.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTListBox.html">TListBox</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l01772">1772</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="a43" doxytag="dialogs.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTListBox.html">TListBox</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l01767">1767</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="a40" doxytag="dialogs.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTMultiCheckBoxes.html">TMultiCheckBoxes</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l01601">1601</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="a39" doxytag="dialogs.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTMultiCheckBoxes.html">TMultiCheckBoxes</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l01596">1596</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="a36" doxytag="dialogs.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTCheckBoxes.html">TCheckBoxes</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l01430">1430</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="a35" doxytag="dialogs.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTCheckBoxes.html">TCheckBoxes</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l01425">1425</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="a32" doxytag="dialogs.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTRadioButtons.html">TRadioButtons</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l01289">1289</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="a31" doxytag="dialogs.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTRadioButtons.html">TRadioButtons</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l01284">1284</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="a28" doxytag="dialogs.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTCluster.html">TCluster</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l01134">1134</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="a27" doxytag="dialogs.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTCluster.html">TCluster</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l01129">1129</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="a24" doxytag="dialogs.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTButton.html">TButton</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l00777">777</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="a23" doxytag="dialogs.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTButton.html">TButton</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l00772">772</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="a20" doxytag="dialogs.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTInputLine.html">TInputLine</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l00489">489</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="a19" doxytag="dialogs.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTInputLine.html">TInputLine</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l00484">484</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="a16" doxytag="dialogs.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTDialog.html">TDialog</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l00233">233</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="a15" doxytag="dialogs.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTDialog.html">TDialog</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l00228">228</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="a58" doxytag="dialogs.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTHistory.html">THistory</a> *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l02510">2510</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="a57" doxytag="dialogs.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTHistory.html">THistory</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l02505">2505</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="a54" doxytag="dialogs.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTLabel.html">TLabel</a> *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l02167">2167</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="a53" doxytag="dialogs.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTLabel.html">TLabel</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l02162">2162</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="a50" doxytag="dialogs.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTParamText.html">TParamText</a> *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l02003">2003</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="a49" doxytag="dialogs.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTParamText.html">TParamText</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l01998">1998</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="a46" doxytag="dialogs.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTStaticText.html">TStaticText</a> *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l01887">1887</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="a45" doxytag="dialogs.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTStaticText.html">TStaticText</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l01882">1882</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="a42" doxytag="dialogs.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTListBox.html">TListBox</a> *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l01761">1761</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="a41" doxytag="dialogs.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTListBox.html">TListBox</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l01756">1756</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="a38" doxytag="dialogs.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTMultiCheckBoxes.html">TMultiCheckBoxes</a> *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l01590">1590</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="a37" doxytag="dialogs.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTMultiCheckBoxes.html">TMultiCheckBoxes</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l01585">1585</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="a34" doxytag="dialogs.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTCheckBoxes.html">TCheckBoxes</a> *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l01419">1419</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="a33" doxytag="dialogs.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTCheckBoxes.html">TCheckBoxes</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l01414">1414</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="a30" doxytag="dialogs.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTRadioButtons.html">TRadioButtons</a> *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l01278">1278</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="a29" doxytag="dialogs.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTRadioButtons.html">TRadioButtons</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l01273">1273</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="a26" doxytag="dialogs.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTCluster.html">TCluster</a> *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l01123">1123</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="a25" doxytag="dialogs.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTCluster.html">TCluster</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l01118">1118</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="a22" doxytag="dialogs.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTButton.html">TButton</a> *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l00766">766</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="a21" doxytag="dialogs.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTButton.html">TButton</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l00761">761</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="a18" doxytag="dialogs.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTInputLine.html">TInputLine</a> *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l00478">478</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="a17" doxytag="dialogs.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTInputLine.html">TInputLine</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l00473">473</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="a14" doxytag="dialogs.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTDialog.html">TDialog</a> *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l00222">222</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="a13" doxytag="dialogs.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTDialog.html">TDialog</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l00217">217</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<hr><h2>Variable Documentation</h2>
+<a name="a3" doxytag="dialogs.h::bfBroadcast"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bfBroadcast = 0x04
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Sends a broadcast message when pressed. <dl compact><dt><b>See also: </b></dt><dd>
+TButton::flag </dl>
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l00038">38</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="dialogs.h::bfDefault"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bfDefault = 0x01
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Button is the default button: if this bit is set this button will be highlighted as the default button. <dl compact><dt><b>See also: </b></dt><dd>
+TButton::flag </dl>
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l00024">24</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="dialogs.h::bfGrabFocus"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bfGrabFocus = 0x08
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The button grabs the focus when pressed. <dl compact><dt><b>See also: </b></dt><dd>
+TButton::flag </dl>
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l00044">44</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="dialogs.h::bfLeftJust"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bfLeftJust = 0x02
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Button label is left-justified; if this bit is clear the title will be centered. <dl compact><dt><b>See also: </b></dt><dd>
+TButton::flag </dl>
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l00031">31</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="a0" doxytag="dialogs.h::bfNormal"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bfNormal = 0x00
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Button is a normal, non-default button. <dl compact><dt><b>See also: </b></dt><dd>
+TButton::flag </dl> </td>
+ </tr>
+</table>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:10 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/doxygen.css b/freebsdtvision/doc/html/doxygen.css
new file mode 100644
index 0000000..e527a57
--- /dev/null
+++ b/freebsdtvision/doc/html/doxygen.css
@@ -0,0 +1,49 @@
+H1 { text-align: center; }
+CAPTION { font-weight: bold }
+A.qindex {}
+A.qindexRef {}
+A.el { text-decoration: none; font-weight: bold }
+A.elRef { font-weight: bold }
+A.code { text-decoration: none; font-weight: normal; color: #4444ee }
+A.codeRef { font-weight: normal; color: #4444ee }
+A:hover { text-decoration: none; background-color: #f2f2ff }
+DL.el { margin-left: -1cm }
+DIV.fragment { width: 100%; border: none; background-color: #eeeeee }
+DIV.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px }
+TD.md { background-color: #f2f2ff; font-weight: bold; }
+TD.mdname1 { background-color: #f2f2ff; font-weight: bold; color: #602020; }
+TD.mdname { background-color: #f2f2ff; font-weight: bold; color: #602020; width: 600px; }
+DIV.groupHeader { margin-left: 16px; margin-top: 12px; margin-bottom: 6px; font-weight: bold }
+DIV.groupText { margin-left: 16px; font-style: italic; font-size: smaller }
+BODY { background: white }
+TD.indexkey {
+ background-color: #eeeeff;
+ font-weight: bold;
+ padding-right : 10px;
+ padding-top : 2px;
+ padding-left : 10px;
+ padding-bottom : 2px;
+ margin-left : 0px;
+ margin-right : 0px;
+ margin-top : 2px;
+ margin-bottom : 2px
+}
+TD.indexvalue {
+ background-color: #eeeeff;
+ font-style: italic;
+ padding-right : 10px;
+ padding-top : 2px;
+ padding-left : 10px;
+ padding-bottom : 2px;
+ margin-left : 0px;
+ margin-right : 0px;
+ margin-top : 2px;
+ margin-bottom : 2px
+}
+span.keyword { color: #008000 }
+span.keywordtype { color: #604020 }
+span.keywordflow { color: #e08000 }
+span.comment { color: #800000 }
+span.preprocessor { color: #806020 }
+span.stringliteral { color: #002080 }
+span.charliteral { color: #008080 }
diff --git a/freebsdtvision/doc/html/doxygen.png b/freebsdtvision/doc/html/doxygen.png
new file mode 100644
index 0000000..96ae72c
--- /dev/null
+++ b/freebsdtvision/doc/html/doxygen.png
Binary files differ
diff --git a/freebsdtvision/doc/html/drawbuf_8h-source.html b/freebsdtvision/doc/html/drawbuf_8h-source.html
new file mode 100644
index 0000000..59c7a41
--- /dev/null
+++ b/freebsdtvision/doc/html/drawbuf_8h-source.html
@@ -0,0 +1,66 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>drawbuf.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>drawbuf.h</h1><a href="drawbuf_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="comment">/*</span>
+00002 <span class="comment"> * drawbuf.h</span>
+00003 <span class="comment"> *</span>
+00004 <span class="comment"> * Turbo Vision - Version 2.0</span>
+00005 <span class="comment"> *</span>
+00006 <span class="comment"> * Copyright (c) 1994 by Borland International</span>
+00007 <span class="comment"> * All Rights Reserved.</span>
+00008 <span class="comment"> *</span>
+00009 <span class="comment"> * Modified by Sergio Sigala &lt;sergio@sigala.it&gt;</span>
+00010 <span class="comment"> */</span>
+00011
+00012 <span class="preprocessor">#if defined( Uses_TDrawBuffer ) &amp;&amp; !defined( __TDrawBuffer )</span>
+00013 <span class="preprocessor"></span><span class="preprocessor">#define __TDrawBuffer</span>
+00014 <span class="preprocessor"></span>
+<a name="l00044"></a><a class="code" href="classTDrawBuffer.html">00044</a> <span class="keyword">class </span><a class="code" href="classTDrawBuffer.html">TDrawBuffer</a>
+00045 {
+00046 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classTFrame.html">TFrame</a>;
+00047 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classTView.html">TView</a>;
+00048 <span class="keyword">public</span>:
+00059 <span class="keywordtype">void</span> <a class="code" href="classTDrawBuffer.html#a0">moveChar</a>( <a class="code" href="ttypes_8h.html#a0">ushort</a> indent, <span class="keywordtype">char</span> c, <a class="code" href="ttypes_8h.html#a0">ushort</a> attr, <a class="code" href="ttypes_8h.html#a0">ushort</a> count );
+00070 <span class="keywordtype">void</span> <a class="code" href="classTDrawBuffer.html#a1">moveStr</a>( <a class="code" href="ttypes_8h.html#a0">ushort</a> indent, <span class="keyword">const</span> <span class="keywordtype">char</span> *str, <a class="code" href="ttypes_8h.html#a0">ushort</a> attrs );
+00081 <span class="keywordtype">void</span> <a class="code" href="classTDrawBuffer.html#a2">moveCStr</a>( <a class="code" href="ttypes_8h.html#a0">ushort</a> indent, <span class="keyword">const</span> <span class="keywordtype">char</span> *str, <a class="code" href="ttypes_8h.html#a0">ushort</a> attrs );
+00090 <span class="keywordtype">void</span> <a class="code" href="classTDrawBuffer.html#a3">moveBuf</a>( <a class="code" href="ttypes_8h.html#a0">ushort</a> indent, <span class="keyword">const</span> <span class="keywordtype">void</span> *source, <a class="code" href="ttypes_8h.html#a0">ushort</a> attr, <a class="code" href="ttypes_8h.html#a0">ushort</a> count );
+00097 <span class="keywordtype">void</span> <a class="code" href="classTDrawBuffer.html#a4">putAttribute</a>( <a class="code" href="ttypes_8h.html#a0">ushort</a> indent, <a class="code" href="ttypes_8h.html#a0">ushort</a> attr );
+00105 <span class="keywordtype">void</span> <a class="code" href="classTDrawBuffer.html#a5">putChar</a>( <a class="code" href="ttypes_8h.html#a0">ushort</a> indent, <a class="code" href="ttypes_8h.html#a0">ushort</a> c );
+00106 <span class="keyword">protected</span>:
+<a name="l00110"></a><a class="code" href="classTDrawBuffer.html#n0">00110</a> <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="classTDrawBuffer.html#n0">data</a>[<a class="code" href="tvconfig_8h.html#a2">maxViewWidth</a>];
+00111 };
+00112
+00113 <span class="preprocessor">#include &lt;myendian.h&gt;</span>
+00114
+00115 <span class="preprocessor">#if (BYTE_ORDER == LITTLE_ENDIAN)</span>
+00116 <span class="preprocessor"></span><span class="preprocessor"> #define loByte(w) (((uchar *)&amp;w)[0])</span>
+00117 <span class="preprocessor"></span><span class="preprocessor"> #define hiByte(w) (((uchar *)&amp;w)[1])</span>
+00118 <span class="preprocessor"></span><span class="preprocessor">#elif (BYTE_ORDER == BIG_ENDIAN)</span>
+00119 <span class="preprocessor"></span><span class="preprocessor"> #define loByte(w) (((uchar *)&amp;w)[1])</span>
+00120 <span class="preprocessor"></span><span class="preprocessor"> #define hiByte(w) (((uchar *)&amp;w)[0])</span>
+00121 <span class="preprocessor"></span><span class="preprocessor">#else</span>
+00122 <span class="preprocessor"></span><span class="preprocessor"> #error architecture not supported by this library</span>
+00123 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00124 <span class="preprocessor"></span>
+<a name="l00125"></a><a class="code" href="classTDrawBuffer.html#a4">00125</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classTDrawBuffer.html#a4">TDrawBuffer::putAttribute</a>( <a class="code" href="ttypes_8h.html#a0">ushort</a> indent, <a class="code" href="ttypes_8h.html#a0">ushort</a> attr )
+00126 {
+00127 hiByte(<a class="code" href="classTDrawBuffer.html#n0">data</a>[indent]) = <a class="code" href="ttypes_8h.html#a1">uchar</a>(attr);
+00128 }
+00129
+<a name="l00130"></a><a class="code" href="classTDrawBuffer.html#a5">00130</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classTDrawBuffer.html#a5">TDrawBuffer::putChar</a>( <a class="code" href="ttypes_8h.html#a0">ushort</a> indent, <a class="code" href="ttypes_8h.html#a0">ushort</a> c )
+00131 {
+00132 loByte(<a class="code" href="classTDrawBuffer.html#n0">data</a>[indent]) = <a class="code" href="ttypes_8h.html#a1">uchar</a>(c);
+00133 }
+00134
+00135 <span class="preprocessor">#endif // Uses_TDrawBuffer</span>
+</pre></div><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:08 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/drawbuf_8h.html b/freebsdtvision/doc/html/drawbuf_8h.html
new file mode 100644
index 0000000..cd474af
--- /dev/null
+++ b/freebsdtvision/doc/html/drawbuf_8h.html
@@ -0,0 +1,27 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>drawbuf.h File Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>drawbuf.h File Reference</h1>
+<p>
+<a href="drawbuf_8h-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Compounds</h2></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTDrawBuffer.html">TDrawBuffer</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Implements a video buffer.</em> <a href="classTDrawBuffer.html#_details">More...</a><em></em></font><br><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+ <a class="el" href="drawbuf_8h.html">drawbuf.h</a>
+<p>
+
+<p>
+Definition in file <a class="el" href="drawbuf_8h-source.html">drawbuf.h</a>.<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:10 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/editors_8h-source.html b/freebsdtvision/doc/html/editors_8h-source.html
new file mode 100644
index 0000000..344c3f6
--- /dev/null
+++ b/freebsdtvision/doc/html/editors_8h-source.html
@@ -0,0 +1,467 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>editors.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>editors.h</h1><a href="editors_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="comment">/*</span>
+00002 <span class="comment"> * editors.h</span>
+00003 <span class="comment"> *</span>
+00004 <span class="comment"> * Turbo Vision - Version 2.0</span>
+00005 <span class="comment"> *</span>
+00006 <span class="comment"> * Copyright (c) 1994 by Borland International</span>
+00007 <span class="comment"> * All Rights Reserved.</span>
+00008 <span class="comment"> *</span>
+00009 <span class="comment"> * Modified by Sergio Sigala &lt;sergio@sigala.it&gt;</span>
+00010 <span class="comment"> */</span>
+00011
+00012 <span class="preprocessor">#if !defined( __EDIT_COMMAND_CODES )</span>
+00013 <span class="preprocessor"></span><span class="preprocessor">#define __EDIT_COMMAND_CODES</span>
+00014 <span class="preprocessor"></span>
+00019 <span class="keyword">const</span>
+00020 <span class="keywordtype">int</span> ufUpdate = 0x01,
+00021 ufLine = 0x02,
+00022 ufView = 0x04;
+00023
+00024 <span class="keyword">const</span>
+00025 <span class="keywordtype">int</span> smExtend = 0x01,
+00026 smDouble = 0x02;
+00027
+00028 <span class="keyword">const</span> <span class="keywordtype">unsigned</span>
+00029 sfSearchFailed = UINT_MAX;
+00030
+00031 <span class="keyword">const</span>
+00032 <span class="keywordtype">int</span> cmFind = 82,
+00033 cmReplace = 83,
+00034 cmSearchAgain = 84;
+00035
+00036 <span class="keyword">const</span>
+00037 <span class="keywordtype">int</span> cmCharLeft = 500,
+00038 cmCharRight = 501,
+00039 cmWordLeft = 502,
+00040 cmWordRight = 503,
+00041 cmLineStart = 504,
+00042 cmLineEnd = 505,
+00043 cmLineUp = 506,
+00044 cmLineDown = 507,
+00045 cmPageUp = 508,
+00046 cmPageDown = 509,
+00047 cmTextStart = 510,
+00048 cmTextEnd = 511,
+00049 cmNewLine = 512,
+00050 cmBackSpace = 513,
+00051 cmDelChar = 514,
+00052 cmDelWord = 515,
+00053 cmDelStart = 516,
+00054 cmDelEnd = 517,
+00055 cmDelLine = 518,
+00056 cmInsMode = 519,
+00057 cmStartSelect = 520,
+00058 cmHideSelect = 521,
+00059 cmIndentMode = 522,
+00060 cmUpdateTitle = 523;
+00061
+00065 <span class="keyword">const</span> <span class="keywordtype">int</span>
+<a name="l00066"></a><a class="code" href="editors_8h.html#a34">00066</a> <a class="code" href="editors_8h.html#a33">edOutOfMemory</a> = 0,
+00067
+<a name="l00071"></a><a class="code" href="editors_8h.html#a35">00071</a> <a class="code" href="editors_8h.html#a34">edReadError</a> = 1,
+00072
+<a name="l00076"></a><a class="code" href="editors_8h.html#a36">00076</a> <a class="code" href="editors_8h.html#a35">edWriteError</a> = 2,
+00077
+<a name="l00081"></a><a class="code" href="editors_8h.html#a37">00081</a> <a class="code" href="editors_8h.html#a36">edCreateError</a> = 3,
+00082
+<a name="l00086"></a><a class="code" href="editors_8h.html#a38">00086</a> <a class="code" href="editors_8h.html#a37">edSaveModify</a> = 4,
+00087
+<a name="l00091"></a><a class="code" href="editors_8h.html#a39">00091</a> <a class="code" href="editors_8h.html#a38">edSaveUntitled</a> = 5,
+00092
+<a name="l00096"></a><a class="code" href="editors_8h.html#a40">00096</a> <a class="code" href="editors_8h.html#a39">edSaveAs</a> = 6,
+00097
+<a name="l00101"></a><a class="code" href="editors_8h.html#a41">00101</a> <a class="code" href="editors_8h.html#a40">edFind</a> = 7,
+00102
+<a name="l00106"></a><a class="code" href="editors_8h.html#a42">00106</a> <a class="code" href="editors_8h.html#a41">edSearchFailed</a> = 8,
+00107
+<a name="l00111"></a><a class="code" href="editors_8h.html#a43">00111</a> <a class="code" href="editors_8h.html#a42">edReplace</a> = 9,
+00112
+00116 <a class="code" href="editors_8h.html#a43">edReplacePrompt</a> = 10;
+00117
+00122 <span class="keyword">const</span> <span class="keywordtype">int</span>
+<a name="l00123"></a><a class="code" href="editors_8h.html#a45">00123</a> <a class="code" href="editors_8h.html#a44">efCaseSensitive</a> = 0x0001,
+00124
+<a name="l00129"></a><a class="code" href="editors_8h.html#a46">00129</a> <a class="code" href="editors_8h.html#a45">efWholeWordsOnly</a> = 0x0002,
+00130
+<a name="l00135"></a><a class="code" href="editors_8h.html#a47">00135</a> <a class="code" href="editors_8h.html#a46">efPromptOnReplace</a> = 0x0004,
+00136
+<a name="l00141"></a><a class="code" href="editors_8h.html#a48">00141</a> <a class="code" href="editors_8h.html#a47">efReplaceAll</a> = 0x0008,
+00142
+<a name="l00147"></a><a class="code" href="editors_8h.html#a49">00147</a> <a class="code" href="editors_8h.html#a48">efDoReplace</a> = 0x0010,
+00148
+00153 <a class="code" href="editors_8h.html#a49">efBackupFiles</a> = 0x0100;
+00154
+00158 <span class="keyword">const</span>
+00159 <span class="keywordtype">int</span> <a class="code" href="editors_8h.html#a50">maxLineLength</a> = 256;
+00160
+00161 <span class="preprocessor">#endif // __EDIT_COMMAND_CODES</span>
+00162 <span class="preprocessor"></span>
+<a name="l00178"></a><a class="code" href="editors_8h.html#a51">00178</a> <span class="keyword">typedef</span> <a class="code" href="ttypes_8h.html#a0">ushort</a> (*<a class="code" href="editors_8h.html#a51">TEditorDialog</a>)( <span class="keywordtype">int</span>, ... );
+00179
+00188 <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="editors_8h.html#a52">defEditorDialog</a>( <span class="keywordtype">int</span> dialog, ... );
+00189
+00190 <span class="preprocessor">#if defined( Uses_TIndicator ) &amp;&amp; !defined( __TIndicator )</span>
+00191 <span class="preprocessor"></span><span class="preprocessor">#define __TIndicator</span>
+00192 <span class="preprocessor"></span>
+00193 <span class="keyword">class </span><a class="code" href="classTRect.html">TRect</a>;
+00194
+<a name="l00203"></a><a class="code" href="classTIndicator.html">00203</a> <span class="keyword">class </span><a class="code" href="classTIndicator.html">TIndicator</a> : <span class="keyword">public</span> <a class="code" href="classTView.html">TView</a>
+00204 {
+00205 <span class="keyword">public</span>:
+00209 <a class="code" href="classTIndicator.html#a0">TIndicator</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; );
+00214 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTIndicator.html#a1">draw</a>();
+00218 <span class="keyword">virtual</span> <a class="code" href="classTPalette.html">TPalette</a>&amp; <a class="code" href="classTIndicator.html#a2">getPalette</a>() <span class="keyword">const</span>;
+00223 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTIndicator.html#a3">setState</a>( <a class="code" href="ttypes_8h.html#a0">ushort</a>, <a class="code" href="ttypes_8h.html#a13">Boolean</a> );
+00230 <span class="keywordtype">void</span> <a class="code" href="classTIndicator.html#a4">setValue</a>( <span class="keyword">const</span> <a class="code" href="classTPoint.html">TPoint</a>&amp; aLocation, <a class="code" href="ttypes_8h.html#a13">Boolean</a> aModified );
+<a name="l00234"></a><a class="code" href="classTIndicator.html#p0">00234</a> <span class="keyword">static</span> <span class="keywordtype">char</span> <a class="code" href="classTIndicator.html#p0">dragFrame</a>;
+<a name="l00238"></a><a class="code" href="classTIndicator.html#p1">00238</a> <span class="keyword">static</span> <span class="keywordtype">char</span> <a class="code" href="classTIndicator.html#p1">normalFrame</a>;
+00239 <span class="keyword">protected</span>:
+<a name="l00243"></a><a class="code" href="classTIndicator.html#n0">00243</a> <a class="code" href="classTPoint.html">TPoint</a> <a class="code" href="classTIndicator.html#n0">location</a>;
+<a name="l00247"></a><a class="code" href="classTIndicator.html#n1">00247</a> <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTIndicator.html#n1">modified</a>;
+00248 <span class="keyword">private</span>:
+00249 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *streamableName()<span class="keyword"> const</span>
+00250 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classTIndicator.html#p2">name</a>; }
+00251 <span class="keyword">protected</span>:
+00255 <a class="code" href="classTIndicator.html#a0">TIndicator</a>( <a class="code" href="ttypes_8h.html#a14">StreamableInit</a> );
+00256 <span class="keyword">public</span>:
+<a name="l00260"></a><a class="code" href="classTIndicator.html#p2">00260</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classTIndicator.html#p2">name</a>;
+00264 <span class="keyword">static</span> <a class="code" href="classTStreamable.html">TStreamable</a> *<a class="code" href="classTIndicator.html#d0">build</a>();
+00265 };
+00266
+<a name="l00270"></a><a class="code" href="editors_8h.html#a53">00270</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTIndicator.html">TIndicator</a>&amp; cl )
+00271 { <span class="keywordflow">return</span> is &gt;&gt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l00275"></a><a class="code" href="editors_8h.html#a54">00275</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTIndicator.html">TIndicator</a>*&amp; cl )
+00276 { <span class="keywordflow">return</span> is &gt;&gt; (<span class="keywordtype">void</span> *&amp;)cl; }
+00277
+<a name="l00281"></a><a class="code" href="editors_8h.html#a55">00281</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTIndicator.html">TIndicator</a>&amp; cl )
+00282 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l00286"></a><a class="code" href="editors_8h.html#a56">00286</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTIndicator.html">TIndicator</a>* cl )
+00287 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a> *)cl; }
+00288
+00289 <span class="preprocessor">#endif // Uses_TIndicator</span>
+00290 <span class="preprocessor"></span>
+00291
+00292 <span class="preprocessor">#if defined( Uses_TEditor ) &amp;&amp; !defined( __TEditor )</span>
+00293 <span class="preprocessor"></span><span class="preprocessor">#define __TEditor</span>
+00294 <span class="preprocessor"></span>
+00295 <span class="keyword">class </span><a class="code" href="classTRect.html">TRect</a>;
+00296 <span class="keyword">class </span><a class="code" href="classTScrollBar.html">TScrollBar</a>;
+00297 <span class="keyword">class </span><a class="code" href="classTIndicator.html">TIndicator</a>;
+00298 <span class="keyword">class </span><a class="code" href="structTEvent.html">TEvent</a>;
+00299
+<a name="l00308"></a><a class="code" href="classTEditor.html">00308</a> <span class="keyword">class </span><a class="code" href="classTEditor.html">TEditor</a> : <span class="keyword">public</span> <a class="code" href="classTView.html">TView</a>
+00309 {
+00310 <span class="keyword">public</span>:
+00347 <a class="code" href="classTEditor.html#a0">TEditor</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; bounds, <a class="code" href="classTScrollBar.html">TScrollBar</a> *aHScrollBar,
+00348 <a class="code" href="classTScrollBar.html">TScrollBar</a> *aVScrollBar, <a class="code" href="classTIndicator.html">TIndicator</a> *aIndicator, <a class="code" href="ttypes_8h.html#a2">uint</a> aBufSize );
+00354 <span class="keyword">virtual</span> <a class="code" href="classTEditor.html#a1">~TEditor</a>();
+00361 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTEditor.html#a2">shutDown</a>();
+00365 <span class="keywordtype">char</span> <a class="code" href="classTEditor.html#a3">bufChar</a>( <a class="code" href="ttypes_8h.html#a2">uint</a> p );
+00370 <a class="code" href="ttypes_8h.html#a2">uint</a> <a class="code" href="classTEditor.html#a4">bufPtr</a>( <a class="code" href="ttypes_8h.html#a2">uint</a> p );
+00378 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTEditor.html#a5">changeBounds</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; bounds );
+00385 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTEditor.html#a6">convertEvent</a>( <a class="code" href="structTEvent.html">TEvent</a>&amp; event );
+00390 <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTEditor.html#a7">cursorVisible</a>();
+00395 <span class="keywordtype">void</span> <a class="code" href="classTEditor.html#a8">deleteSelect</a>();
+00399 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTEditor.html#a9">doneBuffer</a>();
+00403 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTEditor.html#a10">draw</a>();
+00408 <span class="keyword">virtual</span> <a class="code" href="classTPalette.html">TPalette</a>&amp; <a class="code" href="classTEditor.html#a11">getPalette</a>() <span class="keyword">const</span>;
+00417 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTEditor.html#a12">handleEvent</a>( <a class="code" href="structTEvent.html">TEvent</a>&amp; event );
+00422 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTEditor.html#a13">initBuffer</a>();
+00436 <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTEditor.html#a14">insertBuffer</a>( <span class="keywordtype">char</span> *p, <a class="code" href="ttypes_8h.html#a2">uint</a> offset, <a class="code" href="ttypes_8h.html#a2">uint</a> length,
+00437 <a class="code" href="ttypes_8h.html#a13">Boolean</a> allowUndo, <a class="code" href="ttypes_8h.html#a13">Boolean</a> selectText );
+00460 <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTEditor.html#a15">insertFrom</a>( <a class="code" href="classTEditor.html">TEditor</a> *editor );
+00467 <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTEditor.html#a16">insertText</a>( <span class="keyword">const</span> <span class="keywordtype">void</span> *text, <a class="code" href="ttypes_8h.html#a2">uint</a> length, <a class="code" href="ttypes_8h.html#a13">Boolean</a> selectText );
+00471 <span class="keywordtype">void</span> <a class="code" href="classTEditor.html#a17">scrollTo</a>( <span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y );
+00487 <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTEditor.html#a18">search</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classTEditor.html#p2">findStr</a>, <a class="code" href="ttypes_8h.html#a0">ushort</a> opts );
+00495 <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTEditor.html#a19">setBufSize</a>( <a class="code" href="ttypes_8h.html#a2">uint</a> newSize );
+00505 <span class="keywordtype">void</span> <a class="code" href="classTEditor.html#a20">setCmdState</a>( <a class="code" href="ttypes_8h.html#a0">ushort</a> command, <a class="code" href="ttypes_8h.html#a13">Boolean</a> enable );
+00514 <span class="keywordtype">void</span> <a class="code" href="classTEditor.html#a21">setSelect</a>( <a class="code" href="ttypes_8h.html#a2">uint</a> newStart, <a class="code" href="ttypes_8h.html#a2">uint</a> newEnd, <a class="code" href="ttypes_8h.html#a13">Boolean</a> curStart );
+00524 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTEditor.html#a22">setState</a>( <a class="code" href="ttypes_8h.html#a0">ushort</a> aState, <a class="code" href="ttypes_8h.html#a13">Boolean</a> enable );
+00530 <span class="keywordtype">void</span> <a class="code" href="classTEditor.html#a23">trackCursor</a>( <a class="code" href="ttypes_8h.html#a13">Boolean</a> center );
+00534 <span class="keywordtype">void</span> <a class="code" href="classTEditor.html#a24">undo</a>();
+00539 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTEditor.html#a25">updateCommands</a>();
+00545 <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTEditor.html#a26">valid</a>( <a class="code" href="ttypes_8h.html#a0">ushort</a> command );
+00552 <a class="code" href="ttypes_8h.html#a2">uint</a> <a class="code" href="classTEditor.html#a27">charPos</a>( <a class="code" href="ttypes_8h.html#a2">uint</a> p, <a class="code" href="ttypes_8h.html#a2">uint</a> target );
+00558 <a class="code" href="ttypes_8h.html#a2">uint</a> <a class="code" href="classTEditor.html#a28">charPtr</a>( <a class="code" href="ttypes_8h.html#a2">uint</a> p, <a class="code" href="ttypes_8h.html#a2">uint</a> target );
+00568 <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTEditor.html#a29">clipCopy</a>();
+00573 <span class="keywordtype">void</span> <a class="code" href="classTEditor.html#a30">clipCut</a>();
+00580 <span class="keywordtype">void</span> <a class="code" href="classTEditor.html#a31">clipPaste</a>();
+00586 <span class="keywordtype">void</span> <a class="code" href="classTEditor.html#a32">deleteRange</a>( <a class="code" href="ttypes_8h.html#a2">uint</a> startPtr, <a class="code" href="ttypes_8h.html#a2">uint</a> endPtr, <a class="code" href="ttypes_8h.html#a13">Boolean</a> delSelect );
+00599 <span class="keywordtype">void</span> <a class="code" href="classTEditor.html#a33">doUpdate</a>();
+00620 <span class="keywordtype">void</span> <a class="code" href="classTEditor.html#a34">doSearchReplace</a>();
+00625 <span class="keywordtype">void</span> <a class="code" href="classTEditor.html#a35">drawLines</a>( <span class="keywordtype">int</span> y, <a class="code" href="ttypes_8h.html#a2">uint</a> count, <a class="code" href="ttypes_8h.html#a2">uint</a> linePtr );
+00630 <span class="keywordtype">void</span> <a class="code" href="classTEditor.html#a36">formatLine</a>(<span class="keywordtype">void</span> *buff, <a class="code" href="ttypes_8h.html#a2">uint</a> linePtr, <span class="keywordtype">int</span> x, <a class="code" href="ttypes_8h.html#a0">ushort</a> color);
+00660 <span class="keywordtype">void</span> <a class="code" href="classTEditor.html#a37">find</a>();
+00665 <a class="code" href="ttypes_8h.html#a2">uint</a> <a class="code" href="classTEditor.html#a38">getMousePtr</a>( <a class="code" href="classTPoint.html">TPoint</a> m );
+00671 <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTEditor.html#a39">hasSelection</a>();
+00678 <span class="keywordtype">void</span> <a class="code" href="classTEditor.html#a40">hideSelect</a>();
+00683 <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTEditor.html#a41">isClipboard</a>();
+00688 <a class="code" href="ttypes_8h.html#a2">uint</a> <a class="code" href="classTEditor.html#a42">lineEnd</a>( <a class="code" href="ttypes_8h.html#a2">uint</a> p );
+00693 <a class="code" href="ttypes_8h.html#a2">uint</a> <a class="code" href="classTEditor.html#a43">lineMove</a>( <a class="code" href="ttypes_8h.html#a2">uint</a> p, <span class="keywordtype">int</span> count );
+00698 <a class="code" href="ttypes_8h.html#a2">uint</a> <a class="code" href="classTEditor.html#a44">lineStart</a>( <a class="code" href="ttypes_8h.html#a2">uint</a> p );
+00702 <span class="keywordtype">void</span> <a class="code" href="classTEditor.html#a45">lock</a>();
+00708 <span class="keywordtype">void</span> <a class="code" href="classTEditor.html#a46">newLine</a>();
+00713 <a class="code" href="ttypes_8h.html#a2">uint</a> <a class="code" href="classTEditor.html#a47">nextChar</a>( <a class="code" href="ttypes_8h.html#a2">uint</a> p );
+00718 <a class="code" href="ttypes_8h.html#a2">uint</a> <a class="code" href="classTEditor.html#a48">nextLine</a>( <a class="code" href="ttypes_8h.html#a2">uint</a> p );
+00723 <a class="code" href="ttypes_8h.html#a2">uint</a> <a class="code" href="classTEditor.html#a49">nextWord</a>( <a class="code" href="ttypes_8h.html#a2">uint</a> p );
+00728 <a class="code" href="ttypes_8h.html#a2">uint</a> <a class="code" href="classTEditor.html#a50">prevChar</a>( <a class="code" href="ttypes_8h.html#a2">uint</a> p );
+00733 <a class="code" href="ttypes_8h.html#a2">uint</a> <a class="code" href="classTEditor.html#a51">prevLine</a>( <a class="code" href="ttypes_8h.html#a2">uint</a> p );
+00738 <a class="code" href="ttypes_8h.html#a2">uint</a> <a class="code" href="classTEditor.html#a52">prevWord</a>( <a class="code" href="ttypes_8h.html#a2">uint</a> p );
+00778 <span class="keywordtype">void</span> <a class="code" href="classTEditor.html#a53">replace</a>();
+00793 <span class="keywordtype">void</span> <a class="code" href="classTEditor.html#a54">setBufLen</a>( <a class="code" href="ttypes_8h.html#a2">uint</a> length );
+00799 <span class="keywordtype">void</span> <a class="code" href="classTEditor.html#a55">setCurPtr</a>( <a class="code" href="ttypes_8h.html#a2">uint</a> p, <a class="code" href="ttypes_8h.html#a1">uchar</a> <a class="code" href="classTView.html#s7">selectMode</a> );
+00804 <span class="keywordtype">void</span> <a class="code" href="classTEditor.html#a56">startSelect</a>();
+00809 <span class="keywordtype">void</span> <a class="code" href="classTEditor.html#a57">toggleInsMode</a>();
+00815 <span class="keywordtype">void</span> <a class="code" href="classTEditor.html#a58">unlock</a>();
+00820 <span class="keywordtype">void</span> <a class="code" href="classTEditor.html#a59">update</a>( <a class="code" href="ttypes_8h.html#a1">uchar</a> aFlags );
+00826 <span class="keywordtype">void</span> <a class="code" href="classTEditor.html#a60">checkScrollBar</a>( <span class="keyword">const</span> <a class="code" href="structTEvent.html">TEvent</a>&amp; event, <a class="code" href="classTScrollBar.html">TScrollBar</a> *p, <span class="keywordtype">int</span>&amp; d );
+<a name="l00831"></a><a class="code" href="classTEditor.html#m0">00831</a> <a class="code" href="classTScrollBar.html">TScrollBar</a> *<a class="code" href="classTEditor.html#m0">hScrollBar</a>;
+<a name="l00835"></a><a class="code" href="classTEditor.html#m1">00835</a> <a class="code" href="classTScrollBar.html">TScrollBar</a> *<a class="code" href="classTEditor.html#m1">vScrollBar</a>;
+<a name="l00839"></a><a class="code" href="classTEditor.html#m2">00839</a> <a class="code" href="classTIndicator.html">TIndicator</a> *<a class="code" href="classTEditor.html#m2">indicator</a>;
+<a name="l00843"></a><a class="code" href="classTEditor.html#m3">00843</a> <span class="keywordtype">char</span> *<a class="code" href="classTEditor.html#m3">buffer</a>;
+<a name="l00847"></a><a class="code" href="classTEditor.html#m4">00847</a> <a class="code" href="ttypes_8h.html#a2">uint</a> <a class="code" href="classTEditor.html#m4">bufSize</a>;
+<a name="l00852"></a><a class="code" href="classTEditor.html#m5">00852</a> <a class="code" href="ttypes_8h.html#a2">uint</a> <a class="code" href="classTEditor.html#m5">bufLen</a>;
+<a name="l00857"></a><a class="code" href="classTEditor.html#m6">00857</a> <a class="code" href="ttypes_8h.html#a2">uint</a> <a class="code" href="classTEditor.html#m6">gapLen</a>;
+<a name="l00861"></a><a class="code" href="classTEditor.html#m7">00861</a> <a class="code" href="ttypes_8h.html#a2">uint</a> <a class="code" href="classTEditor.html#m7">selStart</a>;
+<a name="l00865"></a><a class="code" href="classTEditor.html#m8">00865</a> <a class="code" href="ttypes_8h.html#a2">uint</a> <a class="code" href="classTEditor.html#m8">selEnd</a>;
+<a name="l00869"></a><a class="code" href="classTEditor.html#m9">00869</a> <a class="code" href="ttypes_8h.html#a2">uint</a> <a class="code" href="classTEditor.html#m9">curPtr</a>;
+<a name="l00873"></a><a class="code" href="classTEditor.html#m10">00873</a> <a class="code" href="classTPoint.html">TPoint</a> <a class="code" href="classTEditor.html#m10">curPos</a>;
+<a name="l00877"></a><a class="code" href="classTEditor.html#m11">00877</a> <a class="code" href="classTPoint.html">TPoint</a> <a class="code" href="classTEditor.html#m11">delta</a>;
+<a name="l00882"></a><a class="code" href="classTEditor.html#m12">00882</a> <a class="code" href="classTPoint.html">TPoint</a> <a class="code" href="classTEditor.html#m12">limit</a>;
+<a name="l00887"></a><a class="code" href="classTEditor.html#m13">00887</a> <span class="keywordtype">int</span> <a class="code" href="classTEditor.html#m13">drawLine</a>;
+<a name="l00892"></a><a class="code" href="classTEditor.html#m14">00892</a> <a class="code" href="ttypes_8h.html#a2">uint</a> <a class="code" href="classTEditor.html#m14">drawPtr</a>;
+<a name="l00897"></a><a class="code" href="classTEditor.html#m15">00897</a> <a class="code" href="ttypes_8h.html#a2">uint</a> <a class="code" href="classTEditor.html#m15">delCount</a>;
+<a name="l00902"></a><a class="code" href="classTEditor.html#m16">00902</a> <a class="code" href="ttypes_8h.html#a2">uint</a> <a class="code" href="classTEditor.html#m16">insCount</a>;
+<a name="l00906"></a><a class="code" href="classTEditor.html#m17">00906</a> <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTEditor.html#m17">isValid</a>;
+<a name="l00910"></a><a class="code" href="classTEditor.html#m18">00910</a> <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTEditor.html#m18">canUndo</a>;
+<a name="l00914"></a><a class="code" href="classTEditor.html#m19">00914</a> <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTEditor.html#m19">modified</a>;
+<a name="l00919"></a><a class="code" href="classTEditor.html#m20">00919</a> <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTEditor.html#m20">selecting</a>;
+<a name="l00923"></a><a class="code" href="classTEditor.html#m21">00923</a> <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTEditor.html#m21">overwrite</a>;
+<a name="l00927"></a><a class="code" href="classTEditor.html#m22">00927</a> <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTEditor.html#m22">autoIndent</a>;
+<a name="l00953"></a><a class="code" href="classTEditor.html#p0">00953</a> <span class="keyword">static</span> <a class="code" href="editors_8h.html#a51">TEditorDialog</a> <a class="code" href="classTEditor.html#p0">editorDialog</a>;
+<a name="l00970"></a><a class="code" href="classTEditor.html#p1">00970</a> <span class="keyword">static</span> <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="classTEditor.html#p1">editorFlags</a>;
+<a name="l00974"></a><a class="code" href="classTEditor.html#p2">00974</a> <span class="keyword">static</span> <span class="keywordtype">char</span> <a class="code" href="classTEditor.html#p2">findStr</a>[<a class="code" href="tvconfig_8h.html#a3">maxFindStrLen</a>];
+<a name="l00978"></a><a class="code" href="classTEditor.html#p3">00978</a> <span class="keyword">static</span> <span class="keywordtype">char</span> <a class="code" href="classTEditor.html#p3">replaceStr</a>[<a class="code" href="tvconfig_8h.html#a4">maxReplaceStrLen</a>];
+<a name="l00986"></a><a class="code" href="classTEditor.html#p4">00986</a> <span class="keyword">static</span> <a class="code" href="classTEditor.html">TEditor</a> * <a class="code" href="classTEditor.html#p4">clipboard</a>;
+<a name="l00992"></a><a class="code" href="classTEditor.html#m23">00992</a> <a class="code" href="ttypes_8h.html#a1">uchar</a> <a class="code" href="classTEditor.html#m23">lockCount</a>;
+<a name="l00998"></a><a class="code" href="classTEditor.html#m24">00998</a> <a class="code" href="ttypes_8h.html#a1">uchar</a> <a class="code" href="classTEditor.html#m24">updateFlags</a>;
+<a name="l01004"></a><a class="code" href="classTEditor.html#m25">01004</a> <span class="keywordtype">int</span> <a class="code" href="classTEditor.html#m25">keyState</a>;
+01005 <span class="keyword">private</span>:
+01006 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *streamableName()<span class="keyword"> const</span>
+01007 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classTEditor.html#p5">name</a>; }
+01008 <span class="keyword">protected</span>:
+01016 <a class="code" href="classTEditor.html#a0">TEditor</a>( <a class="code" href="ttypes_8h.html#a14">StreamableInit</a> );
+01020 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTEditor.html#b1">write</a>( <a class="code" href="classopstream.html">opstream</a>&amp; os );
+01024 <span class="keyword">virtual</span> <span class="keywordtype">void</span> *<a class="code" href="classTEditor.html#b2">read</a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is );
+01025 <span class="keyword">public</span>:
+<a name="l01029"></a><a class="code" href="classTEditor.html#p5">01029</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classTEditor.html#p5">name</a>;
+01033 <span class="keyword">static</span> <a class="code" href="classTStreamable.html">TStreamable</a> *<a class="code" href="classTEditor.html#d0">build</a>();
+01034 };
+01035
+<a name="l01039"></a><a class="code" href="editors_8h.html#a57">01039</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTEditor.html">TEditor</a>&amp; cl )
+01040 { <span class="keywordflow">return</span> is &gt;&gt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l01044"></a><a class="code" href="editors_8h.html#a58">01044</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTEditor.html">TEditor</a>*&amp; cl )
+01045 { <span class="keywordflow">return</span> is &gt;&gt; (<span class="keywordtype">void</span> *&amp;)cl; }
+01046
+<a name="l01050"></a><a class="code" href="editors_8h.html#a59">01050</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTEditor.html">TEditor</a>&amp; cl )
+01051 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l01055"></a><a class="code" href="editors_8h.html#a60">01055</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTEditor.html">TEditor</a>* cl )
+01056 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a> *)cl; }
+01057
+01058 <span class="preprocessor">#endif // Uses_TEditor</span>
+01059 <span class="preprocessor"></span>
+01060 <span class="preprocessor">#if defined( Uses_TMemo ) &amp;&amp; !defined( __TMemo )</span>
+01061 <span class="preprocessor"></span><span class="preprocessor">#define __TMemo</span>
+01062 <span class="preprocessor"></span>
+01063 <span class="keyword">class </span><a class="code" href="structTEvent.html">TEvent</a>;
+01064
+<a name="l01069"></a><a class="code" href="structTMemoData.html">01069</a> <span class="keyword">struct </span><a class="code" href="structTMemoData.html">TMemoData</a>
+01070 {
+<a name="l01074"></a><a class="code" href="structTMemoData.html#m0">01074</a> <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="structTMemoData.html#m0">length</a>;
+<a name="l01078"></a><a class="code" href="structTMemoData.html#m1">01078</a> <span class="keywordtype">char</span> <a class="code" href="structTMemoData.html#m1">buffer</a>[1];
+01079 };
+01080
+<a name="l01087"></a><a class="code" href="classTMemo.html">01087</a> <span class="keyword">class </span><a class="code" href="classTMemo.html">TMemo</a> : <span class="keyword">public</span> <a class="code" href="classTEditor.html">TEditor</a>
+01088 {
+01089 <span class="keyword">public</span>:
+01094 <a class="code" href="classTMemo.html#a0">TMemo</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; bounds, <a class="code" href="classTScrollBar.html">TScrollBar</a> *aHScrollBar,
+01095 <a class="code" href="classTScrollBar.html">TScrollBar</a> *aVScrollBar, <a class="code" href="classTIndicator.html">TIndicator</a> *aIndicator, <a class="code" href="ttypes_8h.html#a2">uint</a> aBufSize );
+01096 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTMemo.html#a1">getData</a>( <span class="keywordtype">void</span> *rec );
+01097 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTMemo.html#a2">setData</a>( <span class="keywordtype">void</span> *rec );
+01103 <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="classTMemo.html#a3">dataSize</a>();
+01107 <span class="keyword">virtual</span> <a class="code" href="classTPalette.html">TPalette</a>&amp; <a class="code" href="classTMemo.html#a4">getPalette</a>() <span class="keyword">const</span>;
+01113 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTMemo.html#a5">handleEvent</a>( <a class="code" href="structTEvent.html">TEvent</a>&amp; );
+01114 <span class="keyword">private</span>:
+01115 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *streamableName()<span class="keyword"> const</span>
+01116 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classTMemo.html#p0">name</a>; }
+01117 <span class="keyword">protected</span>:
+01125 <a class="code" href="classTMemo.html#a0">TMemo</a>( <a class="code" href="ttypes_8h.html#a14">StreamableInit</a> );
+01129 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTMemo.html#b1">write</a>( <a class="code" href="classopstream.html">opstream</a>&amp; );
+01133 <span class="keyword">virtual</span> <span class="keywordtype">void</span> *<a class="code" href="classTMemo.html#b2">read</a>( <a class="code" href="classipstream.html">ipstream</a>&amp; );
+01134 <span class="keyword">public</span>:
+<a name="l01138"></a><a class="code" href="classTMemo.html#p0">01138</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classTMemo.html#p0">name</a>;
+01142 <span class="keyword">static</span> <a class="code" href="classTStreamable.html">TStreamable</a> *<a class="code" href="classTMemo.html#d0">build</a>();
+01143 };
+01144
+<a name="l01148"></a><a class="code" href="editors_8h.html#a61">01148</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTMemo.html">TMemo</a>&amp; cl )
+01149 { <span class="keywordflow">return</span> is &gt;&gt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l01153"></a><a class="code" href="editors_8h.html#a62">01153</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTMemo.html">TMemo</a>*&amp; cl )
+01154 { <span class="keywordflow">return</span> is &gt;&gt; (<span class="keywordtype">void</span> *&amp;)cl; }
+01155
+<a name="l01159"></a><a class="code" href="editors_8h.html#a63">01159</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTMemo.html">TMemo</a>&amp; cl )
+01160 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l01164"></a><a class="code" href="editors_8h.html#a64">01164</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTMemo.html">TMemo</a>* cl )
+01165 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a> *)cl; }
+01166
+01167 <span class="preprocessor">#endif // Uses_TMemo</span>
+01168 <span class="preprocessor"></span>
+01169
+01170 <span class="preprocessor">#if defined( Uses_TFileEditor ) &amp;&amp; !defined( __TFileEditor )</span>
+01171 <span class="preprocessor"></span><span class="preprocessor">#define __TFileEditor</span>
+01172 <span class="preprocessor"></span>
+01173 <span class="preprocessor">#include &lt;limits.h&gt;</span>
+01174
+01175 <span class="keyword">class </span><a class="code" href="classTRect.html">TRect</a>;
+01176 <span class="keyword">class </span><a class="code" href="classTScrollBar.html">TScrollBar</a>;
+01177 <span class="keyword">class </span><a class="code" href="classTIndicator.html">TIndicator</a>;
+01178 <span class="keyword">class </span><a class="code" href="structTEvent.html">TEvent</a>;
+01179
+<a name="l01185"></a><a class="code" href="classTFileEditor.html">01185</a> <span class="keyword">class </span><a class="code" href="classTFileEditor.html">TFileEditor</a> : <span class="keyword">public</span> <a class="code" href="classTEditor.html">TEditor</a>
+01186 {
+01187 <span class="keyword">public</span>:
+<a name="l01191"></a><a class="code" href="classTFileEditor.html#m0">01191</a> <span class="keywordtype">char</span> <a class="code" href="classTFileEditor.html#m0">fileName</a>[PATH_MAX];
+01205 <a class="code" href="classTFileEditor.html#a0">TFileEditor</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; bounds,
+01206 <a class="code" href="classTScrollBar.html">TScrollBar</a> *aHScrollBar,
+01207 <a class="code" href="classTScrollBar.html">TScrollBar</a> *aVScrollBar,
+01208 <a class="code" href="classTIndicator.html">TIndicator</a> *aIndicator,
+01209 <span class="keyword">const</span> <span class="keywordtype">char</span> *aFileName
+01210 );
+01214 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTFileEditor.html#a1">doneBuffer</a>();
+01222 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTFileEditor.html#a2">handleEvent</a>( <a class="code" href="structTEvent.html">TEvent</a>&amp; );
+01226 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTFileEditor.html#a3">initBuffer</a>();
+01234 <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTFileEditor.html#a4">loadFile</a>();
+01243 <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTFileEditor.html#a5">save</a>();
+01256 <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTFileEditor.html#a6">saveAs</a>();
+01266 <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTFileEditor.html#a7">saveFile</a>();
+01273 <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTFileEditor.html#a8">setBufSize</a>( <a class="code" href="ttypes_8h.html#a2">uint</a> newSize );
+01277 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTFileEditor.html#a9">shutDown</a>();
+01283 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTFileEditor.html#a10">updateCommands</a>();
+01294 <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTFileEditor.html#a11">valid</a>( <a class="code" href="ttypes_8h.html#a0">ushort</a> );
+01295 <span class="keyword">private</span>:
+01296 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * backupExt;
+01297 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *streamableName()<span class="keyword"> const</span>
+01298 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classTFileEditor.html#p0">name</a>; }
+01299 <span class="keyword">protected</span>:
+01307 <a class="code" href="classTFileEditor.html#a0">TFileEditor</a>( <a class="code" href="ttypes_8h.html#a14">StreamableInit</a> );
+01311 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTFileEditor.html#b1">write</a>( <a class="code" href="classopstream.html">opstream</a>&amp; );
+01315 <span class="keyword">virtual</span> <span class="keywordtype">void</span> *<a class="code" href="classTFileEditor.html#b2">read</a>( <a class="code" href="classipstream.html">ipstream</a>&amp; );
+01316 <span class="keyword">public</span>:
+<a name="l01320"></a><a class="code" href="classTFileEditor.html#p0">01320</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classTFileEditor.html#p0">name</a>;
+01324 <span class="keyword">static</span> <a class="code" href="classTStreamable.html">TStreamable</a> *<a class="code" href="classTFileEditor.html#d0">build</a>();
+01325 };
+01326
+<a name="l01330"></a><a class="code" href="editors_8h.html#a65">01330</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTFileEditor.html">TFileEditor</a>&amp; cl )
+01331 { <span class="keywordflow">return</span> is &gt;&gt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l01335"></a><a class="code" href="editors_8h.html#a66">01335</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTFileEditor.html">TFileEditor</a>*&amp; cl )
+01336 { <span class="keywordflow">return</span> is &gt;&gt; (<span class="keywordtype">void</span> *&amp;)cl; }
+01337
+<a name="l01341"></a><a class="code" href="editors_8h.html#a67">01341</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTFileEditor.html">TFileEditor</a>&amp; cl )
+01342 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l01346"></a><a class="code" href="editors_8h.html#a68">01346</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTFileEditor.html">TFileEditor</a>* cl )
+01347 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a> *)cl; }
+01348
+01349 <span class="preprocessor">#endif // Uses_TFileEditor</span>
+01350 <span class="preprocessor"></span>
+01351
+01352 <span class="preprocessor">#if defined( Uses_TEditWindow ) &amp;&amp; !defined( __TEditWindow )</span>
+01353 <span class="preprocessor"></span><span class="preprocessor">#define __TEditWindow</span>
+01354 <span class="preprocessor"></span>
+01355 <span class="keyword">class </span><a class="code" href="classTFileEditor.html">TFileEditor</a>;
+01356
+<a name="l01366"></a><a class="code" href="classTEditWindow.html">01366</a> <span class="keyword">class </span><a class="code" href="classTEditWindow.html">TEditWindow</a> : <span class="keyword">public</span> <a class="code" href="classTWindow.html">TWindow</a>
+01367 {
+01368 <span class="keyword">public</span>:
+01378 <a class="code" href="classTEditWindow.html#a0">TEditWindow</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; bounds, <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName, <span class="keywordtype">int</span> aNumber );
+01383 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTEditWindow.html#a1">close</a>();
+01388 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classTEditWindow.html#a2">getTitle</a>( <span class="keywordtype">short</span> );
+01394 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTEditWindow.html#a3">handleEvent</a>( <a class="code" href="structTEvent.html">TEvent</a>&amp; event );
+01398 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTEditWindow.html#a4">sizeLimits</a>( <a class="code" href="classTPoint.html">TPoint</a>&amp; <a class="code" href="util_8h.html#a0">min</a>, <a class="code" href="classTPoint.html">TPoint</a>&amp; <a class="code" href="util_8h.html#a1">max</a> );
+<a name="l01402"></a><a class="code" href="classTEditWindow.html#m0">01402</a> <a class="code" href="classTFileEditor.html">TFileEditor</a> *<a class="code" href="classTEditWindow.html#m0">editor</a>;
+01403 <span class="keyword">private</span>:
+01404 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * clipboardTitle;
+01405 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * untitled;
+01406 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *streamableName()<span class="keyword"> const</span>
+01407 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classTEditWindow.html#p0">name</a>; }
+01408 <span class="keyword">protected</span>:
+01416 <a class="code" href="classTEditWindow.html#a0">TEditWindow</a>( <a class="code" href="ttypes_8h.html#a14">StreamableInit</a> );
+01420 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTEditWindow.html#b1">write</a>( <a class="code" href="classopstream.html">opstream</a>&amp; );
+01424 <span class="keyword">virtual</span> <span class="keywordtype">void</span> *<a class="code" href="classTEditWindow.html#b2">read</a>( <a class="code" href="classipstream.html">ipstream</a>&amp; );
+01425 <span class="keyword">public</span>:
+<a name="l01429"></a><a class="code" href="classTEditWindow.html#p0">01429</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classTEditWindow.html#p0">name</a>;
+01433 <span class="keyword">static</span> <a class="code" href="classTStreamable.html">TStreamable</a> *<a class="code" href="classTEditWindow.html#d0">build</a>();
+01434 };
+01435
+<a name="l01439"></a><a class="code" href="editors_8h.html#a69">01439</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTEditWindow.html">TEditWindow</a>&amp; cl )
+01440 { <span class="keywordflow">return</span> is &gt;&gt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l01444"></a><a class="code" href="editors_8h.html#a70">01444</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTEditWindow.html">TEditWindow</a>*&amp; cl )
+01445 { <span class="keywordflow">return</span> is &gt;&gt; (<span class="keywordtype">void</span> *&amp;)cl; }
+01446
+<a name="l01450"></a><a class="code" href="editors_8h.html#a71">01450</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTEditWindow.html">TEditWindow</a>&amp; cl )
+01451 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l01455"></a><a class="code" href="editors_8h.html#a72">01455</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTEditWindow.html">TEditWindow</a>* cl )
+01456 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a> *)cl; }
+01457
+01458 <span class="preprocessor">#endif // Uses_TEditWindow</span>
+01459 <span class="preprocessor"></span>
+01460
+01461 <span class="preprocessor">#if defined( Uses_TFindDialogRec ) &amp;&amp; !defined( __TFindDialogRec )</span>
+01462 <span class="preprocessor"></span><span class="preprocessor">#define __TFindDialogRec</span>
+01463 <span class="preprocessor"></span>
+01464 <span class="preprocessor">#include &lt;string.h&gt;</span>
+01465
+<a name="l01474"></a><a class="code" href="structTFindDialogRec.html">01474</a> <span class="keyword">struct </span><a class="code" href="structTFindDialogRec.html">TFindDialogRec</a>
+01475 {
+<a name="l01479"></a><a class="code" href="structTFindDialogRec.html#a0">01479</a> <a class="code" href="structTFindDialogRec.html#a0">TFindDialogRec</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *str, <a class="code" href="ttypes_8h.html#a0">ushort</a> flgs )
+01480 {
+01481 strcpy( <a class="code" href="structTFindDialogRec.html#m0">find</a>, str );
+01482 <a class="code" href="structTFindDialogRec.html#m1">options</a> = flgs;
+01483 }
+<a name="l01487"></a><a class="code" href="structTFindDialogRec.html#m0">01487</a> <span class="keywordtype">char</span> <a class="code" href="structTFindDialogRec.html#m0">find</a>[<a class="code" href="tvconfig_8h.html#a3">maxFindStrLen</a>];
+<a name="l01491"></a><a class="code" href="structTFindDialogRec.html#m1">01491</a> <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="structTFindDialogRec.html#m1">options</a>;
+01492 };
+01493
+01494 <span class="preprocessor">#endif // Uses_TFindDialogRec</span>
+01495 <span class="preprocessor"></span>
+01496 <span class="preprocessor">#if defined( Uses_TReplaceDialogRec ) &amp;&amp; !defined( __TReplaceDialogRec )</span>
+01497 <span class="preprocessor"></span><span class="preprocessor">#define __TReplaceDialogRec</span>
+01498 <span class="preprocessor"></span>
+01499 <span class="preprocessor">#include &lt;string.h&gt;</span>
+01500
+<a name="l01509"></a><a class="code" href="structTReplaceDialogRec.html">01509</a> <span class="keyword">struct </span><a class="code" href="structTReplaceDialogRec.html">TReplaceDialogRec</a>
+01510 {
+<a name="l01514"></a><a class="code" href="structTReplaceDialogRec.html#a0">01514</a> <a class="code" href="structTReplaceDialogRec.html#a0">TReplaceDialogRec</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *str, <span class="keyword">const</span> <span class="keywordtype">char</span> *rep, <a class="code" href="ttypes_8h.html#a0">ushort</a> flgs )
+01515 {
+01516 strcpy( <a class="code" href="structTReplaceDialogRec.html#m0">find</a>, str );
+01517 strcpy( <a class="code" href="structTReplaceDialogRec.html#m1">replace</a>, rep );
+01518 <a class="code" href="structTReplaceDialogRec.html#m2">options</a> = flgs;
+01519 }
+<a name="l01523"></a><a class="code" href="structTReplaceDialogRec.html#m0">01523</a> <span class="keywordtype">char</span> <a class="code" href="structTReplaceDialogRec.html#m0">find</a>[<a class="code" href="tvconfig_8h.html#a3">maxFindStrLen</a>];
+<a name="l01527"></a><a class="code" href="structTReplaceDialogRec.html#m1">01527</a> <span class="keywordtype">char</span> <a class="code" href="structTReplaceDialogRec.html#m1">replace</a>[<a class="code" href="tvconfig_8h.html#a4">maxReplaceStrLen</a>];
+<a name="l01531"></a><a class="code" href="structTReplaceDialogRec.html#m2">01531</a> <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="structTReplaceDialogRec.html#m2">options</a>;
+01532 };
+01533
+01534 <span class="preprocessor">#endif // Uses_TReplaceDialogRec</span>
+</pre></div><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:08 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/editors_8h.html b/freebsdtvision/doc/html/editors_8h.html
new file mode 100644
index 0000000..edd2b09
--- /dev/null
+++ b/freebsdtvision/doc/html/editors_8h.html
@@ -0,0 +1,1396 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>editors.h File Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>editors.h File Reference</h1>
+<p>
+<a href="editors_8h-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Compounds</h2></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTEditor.html">TEditor</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Implements a text editor.</em> <a href="classTEditor.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTEditWindow.html">TEditWindow</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Designed to hold a <a class="el" href="classTFileEditor.html">TFileEditor</a> or the clipboard.</em> <a href="classTEditWindow.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTFileEditor.html">TFileEditor</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Specialized derivative of <a class="el" href="classTEditor.html">TEditor</a> for editing the contents of a file.</em> <a href="classTFileEditor.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>struct &nbsp;</td><td valign=bottom><a class="el" href="structTFindDialogRec.html">TFindDialogRec</a></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTIndicator.html">TIndicator</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>The line and column counter in the lower left corner of the edit window.</em> <a href="classTIndicator.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTMemo.html">TMemo</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Derived from <a class="el" href="classTEditor.html">TEditor</a> and designed for insertion into a dialog or form.</em> <a href="classTMemo.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>struct &nbsp;</td><td valign=bottom><a class="el" href="structTMemoData.html">TMemoData</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Data structure used by <a class="el" href="classTMemo.html">TMemo</a>.</em> <a href="structTMemoData.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>struct &nbsp;</td><td valign=bottom><a class="el" href="structTReplaceDialogRec.html">TReplaceDialogRec</a></td></tr>
+<tr><td colspan=2><br><h2>Typedefs</h2></td></tr>
+<tr><td nowrap align=right valign=top>typedef <a class="el" href="ttypes_8h.html#a0">ushort</a>(*&nbsp;</td><td valign=bottom><a class="el" href="editors_8h.html#a51">TEditorDialog</a> )(int,...)</td></tr>
+<tr><td colspan=2><br><h2>Functions</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="editors_8h.html#a52">defEditorDialog</a> (int dialog,...)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="editors_8h.html#a53">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTIndicator.html">TIndicator</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="editors_8h.html#a54">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTIndicator.html">TIndicator</a> *&amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="editors_8h.html#a55">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTIndicator.html">TIndicator</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="editors_8h.html#a56">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTIndicator.html">TIndicator</a> *cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="editors_8h.html#a57">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTEditor.html">TEditor</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="editors_8h.html#a58">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTEditor.html">TEditor</a> *&amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="editors_8h.html#a59">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTEditor.html">TEditor</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="editors_8h.html#a60">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTEditor.html">TEditor</a> *cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="editors_8h.html#a61">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTMemo.html">TMemo</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="editors_8h.html#a62">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTMemo.html">TMemo</a> *&amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="editors_8h.html#a63">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTMemo.html">TMemo</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="editors_8h.html#a64">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTMemo.html">TMemo</a> *cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="editors_8h.html#a65">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTFileEditor.html">TFileEditor</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="editors_8h.html#a66">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTFileEditor.html">TFileEditor</a> *&amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="editors_8h.html#a67">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTFileEditor.html">TFileEditor</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="editors_8h.html#a68">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTFileEditor.html">TFileEditor</a> *cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="editors_8h.html#a69">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTEditWindow.html">TEditWindow</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="editors_8h.html#a70">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTEditWindow.html">TEditWindow</a> *&amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="editors_8h.html#a71">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTEditWindow.html">TEditWindow</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="editors_8h.html#a72">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTEditWindow.html">TEditWindow</a> *cl)</td></tr>
+<tr><td colspan=2><br><h2>Variables</h2></td></tr>
+<tr><td nowrap align=right valign=top>const int&nbsp;</td><td valign=bottom><a class="el" href="editors_8h.html#a33">edOutOfMemory</a> = 0</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="editors_8h.html#a34">edReadError</a> = 1</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="editors_8h.html#a35">edWriteError</a> = 2</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="editors_8h.html#a36">edCreateError</a> = 3</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="editors_8h.html#a37">edSaveModify</a> = 4</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="editors_8h.html#a38">edSaveUntitled</a> = 5</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="editors_8h.html#a39">edSaveAs</a> = 6</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="editors_8h.html#a40">edFind</a> = 7</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="editors_8h.html#a41">edSearchFailed</a> = 8</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="editors_8h.html#a42">edReplace</a> = 9</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="editors_8h.html#a43">edReplacePrompt</a> = 10</td></tr>
+<tr><td nowrap align=right valign=top>const int&nbsp;</td><td valign=bottom><a class="el" href="editors_8h.html#a44">efCaseSensitive</a> = 0x0001</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="editors_8h.html#a45">efWholeWordsOnly</a> = 0x0002</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="editors_8h.html#a46">efPromptOnReplace</a> = 0x0004</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="editors_8h.html#a47">efReplaceAll</a> = 0x0008</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="editors_8h.html#a48">efDoReplace</a> = 0x0010</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="editors_8h.html#a49">efBackupFiles</a> = 0x0100</td></tr>
+<tr><td nowrap align=right valign=top>const int&nbsp;</td><td valign=bottom><a class="el" href="editors_8h.html#a50">maxLineLength</a> = 256</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+ <a class="el" href="editors_8h.html">editors.h</a>
+<p>
+
+<p>
+Definition in file <a class="el" href="editors_8h-source.html">editors.h</a>.<hr><h2>Typedef Documentation</h2>
+<a name="a51" doxytag="editors.h::TEditorDialog"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> typedef <a class="el" href="ttypes_8h.html#a0">ushort</a>(* TEditorDialog)( int, ... )
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The TEditorDialog data type is a pointer to function returning ushort and taking one int argument and a variable number of additional arguments.
+<p>
+Since dialog boxes are very application-dependent, a <a class="el" href="classTEditor.html">TEditor</a> object does not display its own dialog boxes directly. Instead it controls them through this function pointer.
+<p>
+The various dialog values, passed in the first int argument, are self-explanatory: <a class="el" href="editors_8h.html#a33">edOutOfMemory</a>, <a class="el" href="editors_8h.html#a34">edReadError</a>, <a class="el" href="editors_8h.html#a35">edWriteError</a>, <a class="el" href="editors_8h.html#a36">edCreateError</a>, <a class="el" href="editors_8h.html#a37">edSaveModify</a>, <a class="el" href="editors_8h.html#a38">edSaveUntitled</a>, <a class="el" href="editors_8h.html#a39">edSaveAs</a>, <a class="el" href="editors_8h.html#a40">edFind</a>, <a class="el" href="editors_8h.html#a41">edSearchFailed</a>, <a class="el" href="editors_8h.html#a42">edReplace</a> and <a class="el" href="editors_8h.html#a43">edReplacePrompt</a>. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTEditor.html#p0">TEditor::editorDialog</a> </dl>
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l00178">178</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<hr><h2>Function Documentation</h2>
+<a name="a52" doxytag="editors.h::defEditorDialog"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> defEditorDialog </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>dialog</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>...&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Since dialog boxes are very application-dependent, a <a class="el" href="classTEditor.html">TEditor</a> object does not display its own dialog boxes directly. Instead it controls them through the <a class="el" href="editors_8h.html#a51">TEditorDialog</a> function pointer. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTEditor.html#p0">TEditor::editorDialog</a></dl>This is the default dialog; it simply returns cmCancel. </td>
+ </tr>
+</table>
+<a name="a72" doxytag="editors.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTEditWindow.html">TEditWindow</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l01455">1455</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="a71" doxytag="editors.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTEditWindow.html">TEditWindow</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l01450">1450</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="a68" doxytag="editors.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTFileEditor.html">TFileEditor</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l01346">1346</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="a67" doxytag="editors.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTFileEditor.html">TFileEditor</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l01341">1341</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="a64" doxytag="editors.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTMemo.html">TMemo</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l01164">1164</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="a63" doxytag="editors.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTMemo.html">TMemo</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l01159">1159</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="a60" doxytag="editors.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTEditor.html">TEditor</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l01055">1055</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="a59" doxytag="editors.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTEditor.html">TEditor</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l01050">1050</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="a56" doxytag="editors.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTIndicator.html">TIndicator</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l00286">286</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="a55" doxytag="editors.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTIndicator.html">TIndicator</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l00281">281</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="a70" doxytag="editors.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTEditWindow.html">TEditWindow</a> *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l01444">1444</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="a69" doxytag="editors.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTEditWindow.html">TEditWindow</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l01439">1439</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="a66" doxytag="editors.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTFileEditor.html">TFileEditor</a> *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l01335">1335</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="a65" doxytag="editors.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTFileEditor.html">TFileEditor</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l01330">1330</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="a62" doxytag="editors.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTMemo.html">TMemo</a> *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l01153">1153</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="a61" doxytag="editors.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTMemo.html">TMemo</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l01148">1148</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="a58" doxytag="editors.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTEditor.html">TEditor</a> *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l01044">1044</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="a57" doxytag="editors.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTEditor.html">TEditor</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l01039">1039</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="a54" doxytag="editors.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTIndicator.html">TIndicator</a> *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l00275">275</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="a53" doxytag="editors.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTIndicator.html">TIndicator</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l00270">270</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<hr><h2>Variable Documentation</h2>
+<a name="a36" doxytag="editors.h::edCreateError"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> edCreateError = 3
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTEditor.html#a34">TEditor::doSearchReplace</a> </dl>
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l00076">76</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="a40" doxytag="editors.h::edFind"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> edFind = 7
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTEditor.html#a34">TEditor::doSearchReplace</a> </dl>
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l00096">96</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="a33" doxytag="editors.h::edOutOfMemory"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> edOutOfMemory = 0
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTEditor.html#a34">TEditor::doSearchReplace</a> </dl> </td>
+ </tr>
+</table>
+<a name="a34" doxytag="editors.h::edReadError"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> edReadError = 1
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTEditor.html#a34">TEditor::doSearchReplace</a> </dl>
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l00066">66</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="a42" doxytag="editors.h::edReplace"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> edReplace = 9
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTEditor.html#a34">TEditor::doSearchReplace</a> </dl>
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l00106">106</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="a43" doxytag="editors.h::edReplacePrompt"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> edReplacePrompt = 10
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTEditor.html#a34">TEditor::doSearchReplace</a> </dl>
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l00111">111</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="a39" doxytag="editors.h::edSaveAs"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> edSaveAs = 6
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTEditor.html#a34">TEditor::doSearchReplace</a> </dl>
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l00091">91</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="a37" doxytag="editors.h::edSaveModify"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> edSaveModify = 4
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTEditor.html#a34">TEditor::doSearchReplace</a> </dl>
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l00081">81</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="a38" doxytag="editors.h::edSaveUntitled"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> edSaveUntitled = 5
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTEditor.html#a34">TEditor::doSearchReplace</a> </dl>
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l00086">86</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="a41" doxytag="editors.h::edSearchFailed"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> edSearchFailed = 8
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTEditor.html#a34">TEditor::doSearchReplace</a> </dl>
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l00101">101</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="a35" doxytag="editors.h::edWriteError"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> edWriteError = 2
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTEditor.html#a34">TEditor::doSearchReplace</a> </dl>
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l00071">71</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="a49" doxytag="editors.h::efBackupFiles"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> efBackupFiles = 0x0100
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Create backup files with a trailing ~ on saves. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTEditor.html#p1">TEditor::editorFlags</a> </dl>
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l00147">147</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="a44" doxytag="editors.h::efCaseSensitive"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> efCaseSensitive = 0x0001
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Default to case-sensitive search. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTEditor.html#p1">TEditor::editorFlags</a> </dl> </td>
+ </tr>
+</table>
+<a name="a48" doxytag="editors.h::efDoReplace"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> efDoReplace = 0x0010
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Do replace. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTEditor.html#p1">TEditor::editorFlags</a> </dl>
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l00141">141</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="a46" doxytag="editors.h::efPromptOnReplace"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> efPromptOnReplace = 0x0004
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Prompt on replace. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTEditor.html#p1">TEditor::editorFlags</a> </dl>
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l00129">129</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="a47" doxytag="editors.h::efReplaceAll"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> efReplaceAll = 0x0008
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Replace all occurrences. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTEditor.html#p1">TEditor::editorFlags</a> </dl>
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l00135">135</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="a45" doxytag="editors.h::efWholeWordsOnly"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> efWholeWordsOnly = 0x0002
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Default to whole words only search. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTEditor.html#p1">TEditor::editorFlags</a> </dl>
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l00123">123</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="a50" doxytag="editors.h::maxLineLength"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> maxLineLength = 256
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Maximum allowed line length for text in a <a class="el" href="classTEditor.html">TEditor</a> view. </td>
+ </tr>
+</table>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:10 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/example.gif b/freebsdtvision/doc/html/example.gif
new file mode 100644
index 0000000..8666e27
--- /dev/null
+++ b/freebsdtvision/doc/html/example.gif
Binary files differ
diff --git a/freebsdtvision/doc/html/files.html b/freebsdtvision/doc/html/files.html
new file mode 100644
index 0000000..2f5e21e
--- /dev/null
+++ b/freebsdtvision/doc/html/files.html
@@ -0,0 +1,41 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>File Index</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TVision File List</h1>Here is a list of all documented files with brief descriptions:<table>
+ <tr><td class="indexkey"><a class="el" href="app_8h.html">app.h</a> <a href="app_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="buffers_8h.html">buffers.h</a> <a href="buffers_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="colorsel_8h.html">colorsel.h</a> <a href="colorsel_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="dialogs_8h.html">dialogs.h</a> <a href="dialogs_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="drawbuf_8h.html">drawbuf.h</a> <a href="drawbuf_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="editors_8h.html">editors.h</a> <a href="editors_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="help_8h.html">help.h</a> <a href="help_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="helpbase_8h.html">helpbase.h</a> <a href="helpbase_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="menus_8h.html">menus.h</a> <a href="menus_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="msgbox_8h.html">msgbox.h</a> <a href="msgbox_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="objects_8h.html">objects.h</a> <a href="objects_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="outline_8h.html">outline.h</a> <a href="outline_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="resource_8h.html">resource.h</a> <a href="resource_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="stddlg_8h.html">stddlg.h</a> <a href="stddlg_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="system_8h.html">system.h</a> <a href="system_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="textview_8h.html">textview.h</a> <a href="textview_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="tkeys_8h.html">tkeys.h</a> <a href="tkeys_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="tobjstrm_8h.html">tobjstrm.h</a> <a href="tobjstrm_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="ttypes_8h.html">ttypes.h</a> <a href="ttypes_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="tv_8h.html">tv.h</a> <a href="tv_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="tvconfig_8h.html">tvconfig.h</a> <a href="tvconfig_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="tvobjs_8h.html">tvobjs.h</a> <a href="tvobjs_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="util_8h.html">util.h</a> <a href="util_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="validate_8h.html">validate.h</a> <a href="validate_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="views_8h.html">views.h</a> <a href="views_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+</table>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:08 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/functions.html b/freebsdtvision/doc/html/functions.html
new file mode 100644
index 0000000..e312771
--- /dev/null
+++ b/freebsdtvision/doc/html/functions.html
@@ -0,0 +1,868 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Compound Member Index</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TVision Compound Members</h1><center>
+<a href="#index_a">a</a>&nbsp;|&nbsp;<a href="#index_b">b</a>&nbsp;|&nbsp;<a href="#index_c">c</a>&nbsp;|&nbsp;<a href="#index_d">d</a>&nbsp;|&nbsp;<a href="#index_e">e</a>&nbsp;|&nbsp;<a href="#index_f">f</a>&nbsp;|&nbsp;<a href="#index_g">g</a>&nbsp;|&nbsp;<a href="#index_h">h</a>&nbsp;|&nbsp;<a href="#index_i">i</a>&nbsp;|&nbsp;<a href="#index_k">k</a>&nbsp;|&nbsp;<a href="#index_l">l</a>&nbsp;|&nbsp;<a href="#index_m">m</a>&nbsp;|&nbsp;<a href="#index_n">n</a>&nbsp;|&nbsp;<a href="#index_o">o</a>&nbsp;|&nbsp;<a href="#index_p">p</a>&nbsp;|&nbsp;<a href="#index_q">q</a>&nbsp;|&nbsp;<a href="#index_r">r</a>&nbsp;|&nbsp;<a href="#index_s">s</a>&nbsp;|&nbsp;<a href="#index_t">t</a>&nbsp;|&nbsp;<a href="#index_u">u</a>&nbsp;|&nbsp;<a href="#index_v">v</a>&nbsp;|&nbsp;<a href="#index_w">w</a>&nbsp;|&nbsp;<a href="#index_x">x</a>&nbsp;|&nbsp;<a href="#index_y">y</a>&nbsp;|&nbsp;<a href="#index_z">z</a>&nbsp;|&nbsp;<a href="#index_~">~</a></center>
+
+<p>
+Here is a list of all documented class members with links to the classes they belong to:<h3><a name="index_a">- a -</a>
+</h3><ul>
+<li>a
+: <a class="el" href="classTRect.html#m0">TRect</a><li>add()
+: <a class="el" href="classTHelpIndex.html#a4">THelpIndex</a><li>addCrossRef()
+: <a class="el" href="classTHelpTopic.html#a3">THelpTopic</a><li>addParagraph()
+: <a class="el" href="classTHelpTopic.html#a4">THelpTopic</a><li>adjust()
+: <a class="el" href="classTOutline.html#a2">TOutline</a>, <a class="el" href="classTOutlineViewer.html#a2">TOutlineViewer</a><li>allocateDiscardable()
+: <a class="el" href="classTVMemMgr.html#d3">TVMemMgr</a><li>amDefault
+: <a class="el" href="classTButton.html#n2">TButton</a><li>append()
+: <a class="el" href="classTMenuItem.html#a3">TMenuItem</a><li>application
+: <a class="el" href="classTProgram.html#p0">TProgram</a><li>appPalette
+: <a class="el" href="classTProgram.html#p4">TProgram</a><li>arStep
+: <a class="el" href="classTScrollBar.html#m5">TScrollBar</a><li>at()
+: <a class="el" href="classTGroup.html#a17">TGroup</a>, <a class="el" href="classTNSCollection.html#a3">TNSCollection</a>, <a class="el" href="classTDirCollection.html#a1">TDirCollection</a>, <a class="el" href="classTFileCollection.html#a1">TFileCollection</a><li>atFree()
+: <a class="el" href="classTNSCollection.html#a5">TNSCollection</a><li>atInsert()
+: <a class="el" href="classTNSCollection.html#a11">TNSCollection</a>, <a class="el" href="classTDirCollection.html#a5">TDirCollection</a>, <a class="el" href="classTFileCollection.html#a5">TFileCollection</a><li>atPut()
+: <a class="el" href="classTNSCollection.html#a12">TNSCollection</a>, <a class="el" href="classTDirCollection.html#a6">TDirCollection</a>, <a class="el" href="classTFileCollection.html#a6">TFileCollection</a><li>atRemove()
+: <a class="el" href="classTNSCollection.html#a6">TNSCollection</a><li>attach()
+: <a class="el" href="classfpbase.html#a6">fpbase</a><li>attr
+: <a class="el" href="structTSearchRec.html#m0">TSearchRec</a><li>autoIndent
+: <a class="el" href="classTEditor.html#m22">TEditor</a><li>awaken()
+: <a class="el" href="classTGroup.html#a5">TGroup</a>, <a class="el" href="classTView.html#a31">TView</a></ul>
+<h3><a name="index_b">- b -</a>
+</h3><ul>
+<li>b
+: <a class="el" href="classTRect.html#m1">TRect</a><li>background
+: <a class="el" href="classTDeskTop.html#n0">TDeskTop</a><li>bad()
+: <a class="el" href="classpstream.html#a5">pstream</a><li>bakLabel
+: <a class="el" href="classTColorDialog.html#n4">TColorDialog</a><li>bakSel
+: <a class="el" href="classTColorDialog.html#n5">TColorDialog</a><li>basePos
+: <a class="el" href="classTResourceFile.html#n2">TResourceFile</a><li>blockCursor()
+: <a class="el" href="classTView.html#a32">TView</a><li>bp
+: <a class="el" href="classpstream.html#n0">pstream</a><li>buf
+: <a class="el" href="classotstream.html#n0">otstream</a><li>bufChar()
+: <a class="el" href="classTEditor.html#a3">TEditor</a><li>bufDec()
+: <a class="el" href="classTTerminal.html#b0">TTerminal</a><li>buffer
+: <a class="el" href="classTGroup.html#m4">TGroup</a>, <a class="el" href="classTTerminal.html#n1">TTerminal</a>, <a class="el" href="structTMemoData.html#m1">TMemoData</a>, <a class="el" href="classTEditor.html#m3">TEditor</a><li>bufInc()
+: <a class="el" href="classTTerminal.html#a3">TTerminal</a><li>bufLen
+: <a class="el" href="classTEditor.html#m5">TEditor</a><li>bufPtr()
+: <a class="el" href="classTEditor.html#a4">TEditor</a><li>bufSize
+: <a class="el" href="classTTerminal.html#n0">TTerminal</a>, <a class="el" href="classTEditor.html#m4">TEditor</a><li>build()
+: <a class="el" href="classTWindow.html#d1">TWindow</a>, <a class="el" href="classTGroup.html#d0">TGroup</a>, <a class="el" href="classTListViewer.html#d0">TListViewer</a>, <a class="el" href="classTScroller.html#d0">TScroller</a>, <a class="el" href="classTScrollBar.html#d0">TScrollBar</a>, <a class="el" href="classTFrame.html#d0">TFrame</a>, <a class="el" href="classTView.html#d8">TView</a>, <a class="el" href="classTStringLookupValidator.html#d0">TStringLookupValidator</a>, <a class="el" href="classTLookupValidator.html#d0">TLookupValidator</a>, <a class="el" href="classTRangeValidator.html#d0">TRangeValidator</a>, <a class="el" href="classTFilterValidator.html#d0">TFilterValidator</a>, <a class="el" href="classTPXPictureValidator.html#d0">TPXPictureValidator</a>, <a class="el" href="classTValidator.html#d0">TValidator</a>, <a class="el" href="classTChDirDialog.html#d0">TChDirDialog</a>, <a class="el" href="classTDirListBox.html#d0">TDirListBox</a>, <a class="el" href="classTDirCollection.html#d0">TDirCollection</a>, <a class="el" href="classTFileDialog.html#d0">TFileDialog</a>, <a class="el" href="classTFileInfoPane.html#d0">TFileInfoPane</a>, <a class="el" href="classTFileList.html#d0">TFileList</a>, <a class="el" href="classTSortedListBox.html#d0">TSortedListBox</a>, <a class="el" href="classTFileCollection.html#d0">TFileCollection</a>, <a class="el" href="classTFileInputLine.html#d0">TFileInputLine</a>, <a class="el" href="classTStrListMaker.html#d0">TStrListMaker</a>, <a class="el" href="classTStringList.html#d0">TStringList</a>, <a class="el" href="classTResourceCollection.html#d0">TResourceCollection</a>, <a class="el" href="classTStringCollection.html#d0">TStringCollection</a>, <a class="el" href="classTOutline.html#d0">TOutline</a>, <a class="el" href="classTOutlineViewer.html#d0">TOutlineViewer</a>, <a class="el" href="classTStatusLine.html#d0">TStatusLine</a>, <a class="el" href="classTMenuBox.html#d0">TMenuBox</a>, <a class="el" href="classTMenuBar.html#d0">TMenuBar</a>, <a class="el" href="classTMenuView.html#d0">TMenuView</a>, <a class="el" href="classTHelpIndex.html#d0">THelpIndex</a>, <a class="el" href="classTHelpTopic.html#d0">THelpTopic</a>, <a class="el" href="classTEditWindow.html#d0">TEditWindow</a>, <a class="el" href="classTFileEditor.html#d0">TFileEditor</a>, <a class="el" href="classTMemo.html#d0">TMemo</a>, <a class="el" href="classTEditor.html#d0">TEditor</a>, <a class="el" href="classTIndicator.html#d0">TIndicator</a>, <a class="el" href="classTHistory.html#d0">THistory</a>, <a class="el" href="classTLabel.html#d0">TLabel</a>, <a class="el" href="classTParamText.html#d0">TParamText</a>, <a class="el" href="classTStaticText.html#d0">TStaticText</a>, <a class="el" href="classTListBox.html#d0">TListBox</a>, <a class="el" href="classTMultiCheckBoxes.html#d0">TMultiCheckBoxes</a>, <a class="el" href="classTCheckBoxes.html#d0">TCheckBoxes</a>, <a class="el" href="classTRadioButtons.html#d0">TRadioButtons</a>, <a class="el" href="classTCluster.html#d0">TCluster</a>, <a class="el" href="classTButton.html#d0">TButton</a>, <a class="el" href="classTInputLine.html#d0">TInputLine</a>, <a class="el" href="classTDialog.html#d0">TDialog</a>, <a class="el" href="classTColorDialog.html#d0">TColorDialog</a>, <a class="el" href="classTColorItemList.html#d0">TColorItemList</a>, <a class="el" href="classTColorGroupList.html#d0">TColorGroupList</a>, <a class="el" href="classTColorDisplay.html#d0">TColorDisplay</a>, <a class="el" href="classTMonoSelector.html#d0">TMonoSelector</a>, <a class="el" href="classTColorSelector.html#d0">TColorSelector</a>, <a class="el" href="classTDeskTop.html#d1">TDeskTop</a>, <a class="el" href="classTBackground.html#d0">TBackground</a><li>buttons
+: <a class="el" href="structMouseEventType.html#m3">MouseEventType</a><li>buttonState()
+: <a class="el" href="classTCluster.html#a16">TCluster</a></ul>
+<h3><a name="index_c">- c -</a>
+</h3><ul>
+<li>calcBounds()
+: <a class="el" href="classTView.html#a10">TView</a><li>calcWidth()
+: <a class="el" href="classTTerminal.html#a5">TTerminal</a><li>cancelText
+: <a class="el" href="classMsgBoxText.html#p3">MsgBoxText</a><li>canInsert()
+: <a class="el" href="classTTerminal.html#a4">TTerminal</a><li>canMoveFocus()
+: <a class="el" href="classTProgram.html#a2">TProgram</a><li>canUndo
+: <a class="el" href="classTEditor.html#m18">TEditor</a><li>cascade()
+: <a class="el" href="classTDeskTop.html#a1">TDeskTop</a><li>changeBounds()
+: <a class="el" href="classTGroup.html#a25">TGroup</a>, <a class="el" href="classTListViewer.html#a1">TListViewer</a>, <a class="el" href="classTScroller.html#a1">TScroller</a>, <a class="el" href="classTView.html#a11">TView</a>, <a class="el" href="classTHelpViewer.html#a2">THelpViewer</a>, <a class="el" href="classTEditor.html#a5">TEditor</a><li>charCode
+: <a class="el" href="structCharScanType.html#m0">CharScanType</a><li>charPos()
+: <a class="el" href="classTEditor.html#a27">TEditor</a><li>charPtr()
+: <a class="el" href="classTEditor.html#a28">TEditor</a><li>chars
+: <a class="el" href="classTScrollBar.html#m1">TScrollBar</a><li>charScan
+: <a class="el" href="structKeyDownEvent.html#m1">KeyDownEvent</a><li>checkDraw()
+: <a class="el" href="classTScroller.html#a8">TScroller</a><li>checkScrollBar()
+: <a class="el" href="classTEditor.html#a60">TEditor</a><li>childList
+: <a class="el" href="classTNode.html#m2">TNode</a><li>clear()
+: <a class="el" href="classpstream.html#a7">pstream</a><li>clearEvent()
+: <a class="el" href="classTView.html#a38">TView</a><li>clearSafetyPool()
+: <a class="el" href="classTVMemMgr.html#d2">TVMemMgr</a><li>clip
+: <a class="el" href="classTGroup.html#m2">TGroup</a><li>clipboard
+: <a class="el" href="classTEditor.html#p4">TEditor</a><li>clipCopy()
+: <a class="el" href="classTEditor.html#a29">TEditor</a><li>clipCut()
+: <a class="el" href="classTEditor.html#a30">TEditor</a><li>clipPaste()
+: <a class="el" href="classTEditor.html#a31">TEditor</a><li>close()
+: <a class="el" href="classTWindow.html#a2">TWindow</a>, <a class="el" href="classfpbase.html#a7">fpbase</a>, <a class="el" href="classTEditWindow.html#a1">TEditWindow</a><li>closeIcon
+: <a class="el" href="classTFrame.html#p1">TFrame</a><li>color
+: <a class="el" href="classTColorDisplay.html#n0">TColorDisplay</a>, <a class="el" href="classTColorSelector.html#n0">TColorSelector</a><li>colorIndex
+: <a class="el" href="classTColorIndex.html#m2">TColorIndex</a><li>ColorSel
+: <a class="el" href="classTColorSelector.html#s2">TColorSelector</a><li>colorSize
+: <a class="el" href="classTColorIndex.html#m1">TColorIndex</a><li>command
+: <a class="el" href="structMessageEvent.html#m0">MessageEvent</a>, <a class="el" href="classTStatusItem.html#m3">TStatusItem</a>, <a class="el" href="classTMenuItem.html#m2">TMenuItem</a>, <a class="el" href="classTButton.html#n0">TButton</a><li>commandEnabled()
+: <a class="el" href="classTView.html#d0">TView</a><li>commandSetChanged
+: <a class="el" href="classTView.html#p0">TView</a><li>confirmText
+: <a class="el" href="classMsgBoxText.html#p7">MsgBoxText</a><li>contains()
+: <a class="el" href="classTRect.html#a7">TRect</a><li>containsMouse()
+: <a class="el" href="classTView.html#a7">TView</a><li>controlKeyState
+: <a class="el" href="structKeyDownEvent.html#m2">KeyDownEvent</a>, <a class="el" href="structMouseEventType.html#m2">MouseEventType</a><li>convertEvent()
+: <a class="el" href="classTEditor.html#a6">TEditor</a><li>count
+: <a class="el" href="classTResourceFile.html#a2">TResourceFile</a>, <a class="el" href="classTNSCollection.html#n1">TNSCollection</a>, <a class="el" href="classTStrIndexRec.html#m1">TStrIndexRec</a><li>createBackground
+: <a class="el" href="classTDeskInit.html#n0">TDeskInit</a><li>createDeskTop
+: <a class="el" href="classTProgInit.html#n2">TProgInit</a><li>createFrame
+: <a class="el" href="classTWindowInit.html#n0">TWindowInit</a><li>createGraph()
+: <a class="el" href="classTOutlineViewer.html#a22">TOutlineViewer</a><li>createListViewer
+: <a class="el" href="classTHistInit.html#n0">THistInit</a><li>createMenuBar
+: <a class="el" href="classTProgInit.html#n1">TProgInit</a><li>createStatusLine
+: <a class="el" href="classTProgInit.html#n0">TProgInit</a><li>crossRefs
+: <a class="el" href="classTHelpTopic.html#m2">THelpTopic</a><li>curCommandSet
+: <a class="el" href="classTView.html#p1">TView</a><li>curLineWidth
+: <a class="el" href="classTTerminal.html#n4">TTerminal</a><li>curPos
+: <a class="el" href="classTEditor.html#m10">TEditor</a>, <a class="el" href="classTInputLine.html#m2">TInputLine</a><li>curPtr
+: <a class="el" href="classTEditor.html#m9">TEditor</a><li>current
+: <a class="el" href="classTGroup.html#m0">TGroup</a>, <a class="el" href="classTMenuView.html#n2">TMenuView</a><li>cursor
+: <a class="el" href="classTView.html#m6">TView</a><li>cursorVisible()
+: <a class="el" href="classTEditor.html#a7">TEditor</a></ul>
+<h3><a name="index_d">- d -</a>
+</h3><ul>
+<li>data
+: <a class="el" href="classTPalette.html#m0">TPalette</a>, <a class="el" href="classTDrawBuffer.html#n0">TDrawBuffer</a>, <a class="el" href="classTInputLine.html#m0">TInputLine</a><li>dataSize()
+: <a class="el" href="classTGroup.html#a26">TGroup</a>, <a class="el" href="classTView.html#a28">TView</a>, <a class="el" href="classTChDirDialog.html#a1">TChDirDialog</a>, <a class="el" href="classTFileList.html#a8">TFileList</a>, <a class="el" href="classTMemo.html#a3">TMemo</a>, <a class="el" href="classTListBox.html#a2">TListBox</a>, <a class="el" href="classTMultiCheckBoxes.html#a2">TMultiCheckBoxes</a>, <a class="el" href="classTCluster.html#a2">TCluster</a>, <a class="el" href="classTInputLine.html#a2">TInputLine</a>, <a class="el" href="classTColorDialog.html#a2">TColorDialog</a><li>defaultBkgrnd
+: <a class="el" href="classTDeskTop.html#p0">TDeskTop</a><li>deflt
+: <a class="el" href="classTMenu.html#m1">TMenu</a><li>defs
+: <a class="el" href="classTStatusLine.html#n1">TStatusLine</a><li>delCount
+: <a class="el" href="classTEditor.html#m15">TEditor</a><li>deleteRange()
+: <a class="el" href="classTEditor.html#a32">TEditor</a><li>deleteSelect()
+: <a class="el" href="classTEditor.html#a8">TEditor</a><li>delta
+: <a class="el" href="classTScroller.html#m0">TScroller</a>, <a class="el" href="classTNSCollection.html#n3">TNSCollection</a>, <a class="el" href="classTEditor.html#m11">TEditor</a><li>deskTop
+: <a class="el" href="classTProgram.html#p3">TProgram</a><li>destroy()
+: <a class="el" href="classTObject.html#d0">TObject</a><li>dir()
+: <a class="el" href="classTDirEntry.html#a2">TDirEntry</a><li>directory
+: <a class="el" href="classTFileDialog.html#m3">TFileDialog</a><li>disableCmd()
+: <a class="el" href="classTCommandSet.html#a7">TCommandSet</a><li>disableCommand()
+: <a class="el" href="classTView.html#d3">TView</a><li>disableCommands()
+: <a class="el" href="classTView.html#d1">TView</a><li>disabled
+: <a class="el" href="classTMenuItem.html#m3">TMenuItem</a><li>display
+: <a class="el" href="classTColorDialog.html#n0">TColorDialog</a><li>disposeNode()
+: <a class="el" href="classTOutlineViewer.html#e0">TOutlineViewer</a><li>do_sputn()
+: <a class="el" href="classTTerminal.html#a2">TTerminal</a>, <a class="el" href="classTTextDevice.html#a1">TTextDevice</a><li>doneBuffer()
+: <a class="el" href="classTFileEditor.html#a1">TFileEditor</a>, <a class="el" href="classTEditor.html#a9">TEditor</a><li>doSearchReplace()
+: <a class="el" href="classTEditor.html#a34">TEditor</a><li>doubleDelay
+: <a class="el" href="classTEventQueue.html#p0">TEventQueue</a><li>doUpdate()
+: <a class="el" href="classTEditor.html#a33">TEditor</a><li>dragFrame
+: <a class="el" href="classTIndicator.html#p0">TIndicator</a><li>dragIcon
+: <a class="el" href="classTFrame.html#p2">TFrame</a><li>dragMode
+: <a class="el" href="classTView.html#m8">TView</a><li>dragView()
+: <a class="el" href="classTView.html#a9">TView</a><li>draw()
+: <a class="el" href="classTGroup.html#a29">TGroup</a>, <a class="el" href="classTListViewer.html#a2">TListViewer</a>, <a class="el" href="classTScrollBar.html#a1">TScrollBar</a>, <a class="el" href="classTFrame.html#a1">TFrame</a>, <a class="el" href="classTView.html#a19">TView</a>, <a class="el" href="classTTerminal.html#a6">TTerminal</a>, <a class="el" href="classTFileInfoPane.html#a1">TFileInfoPane</a>, <a class="el" href="classTOutlineViewer.html#a3">TOutlineViewer</a>, <a class="el" href="classTStatusLine.html#a2">TStatusLine</a>, <a class="el" href="classTMenuBox.html#a1">TMenuBox</a>, <a class="el" href="classTMenuBar.html#a3">TMenuBar</a>, <a class="el" href="classTHelpViewer.html#a3">THelpViewer</a>, <a class="el" href="classTEditor.html#a10">TEditor</a>, <a class="el" href="classTIndicator.html#a1">TIndicator</a>, <a class="el" href="classTHistory.html#a1">THistory</a>, <a class="el" href="classTLabel.html#a1">TLabel</a>, <a class="el" href="classTStaticText.html#a2">TStaticText</a>, <a class="el" href="classTMultiCheckBoxes.html#a3">TMultiCheckBoxes</a>, <a class="el" href="classTCheckBoxes.html#a1">TCheckBoxes</a>, <a class="el" href="classTRadioButtons.html#a1">TRadioButtons</a>, <a class="el" href="classTButton.html#a2">TButton</a>, <a class="el" href="classTInputLine.html#a3">TInputLine</a>, <a class="el" href="classTColorDisplay.html#a2">TColorDisplay</a>, <a class="el" href="classTMonoSelector.html#a1">TMonoSelector</a>, <a class="el" href="classTColorSelector.html#a1">TColorSelector</a>, <a class="el" href="classTBackground.html#a1">TBackground</a><li>drawBox()
+: <a class="el" href="classTCluster.html#a3">TCluster</a><li>drawCursor()
+: <a class="el" href="classTView.html#a37">TView</a>, <a class="el" href="classTScreen.html#d5">TScreen</a><li>drawFlag
+: <a class="el" href="classTScroller.html#n1">TScroller</a><li>drawHide()
+: <a class="el" href="classTView.html#a24">TView</a><li>drawLine
+: <a class="el" href="classTEditor.html#m13">TEditor</a><li>drawLines()
+: <a class="el" href="classTEditor.html#a35">TEditor</a><li>drawLock
+: <a class="el" href="classTScroller.html#n0">TScroller</a><li>drawMouse()
+: <a class="el" href="classTScreen.html#d6">TScreen</a><li>drawMultiBox()
+: <a class="el" href="classTCluster.html#a4">TCluster</a><li>drawPos()
+: <a class="el" href="classTScrollBar.html#a10">TScrollBar</a><li>drawPtr
+: <a class="el" href="classTEditor.html#m14">TEditor</a><li>drawShow()
+: <a class="el" href="classTView.html#a25">TView</a><li>drawState()
+: <a class="el" href="classTButton.html#a3">TButton</a><li>drawSubViews()
+: <a class="el" href="classTGroup.html#a24">TGroup</a><li>drawUnderRect()
+: <a class="el" href="classTView.html#a26">TView</a><li>drawUnderView()
+: <a class="el" href="classTView.html#a27">TView</a><li>drawView()
+: <a class="el" href="classTView.html#a20">TView</a><li>duplicates
+: <a class="el" href="classTNSSortedCollection.html#m0">TNSSortedCollection</a></ul>
+<h3><a name="index_e">- e -</a>
+</h3><ul>
+<li>editor
+: <a class="el" href="classTEditWindow.html#m0">TEditWindow</a><li>editorDialog
+: <a class="el" href="classTEditor.html#p0">TEditor</a><li>editorFlags
+: <a class="el" href="classTEditor.html#p1">TEditor</a><li>enableCmd()
+: <a class="el" href="classTCommandSet.html#a8">TCommandSet</a><li>enableCommand()
+: <a class="el" href="classTView.html#d4">TView</a><li>enableCommands()
+: <a class="el" href="classTView.html#d2">TView</a><li>enableMask
+: <a class="el" href="classTCluster.html#n1">TCluster</a><li>endModal()
+: <a class="el" href="classTGroup.html#a34">TGroup</a>, <a class="el" href="classTView.html#a43">TView</a><li>endState
+: <a class="el" href="classTGroup.html#m6">TGroup</a><li>eof()
+: <a class="el" href="classpstream.html#a3">pstream</a><li>error()
+: <a class="el" href="classTStringLookupValidator.html#a2">TStringLookupValidator</a>, <a class="el" href="classTRangeValidator.html#a1">TRangeValidator</a>, <a class="el" href="classTFilterValidator.html#a2">TFilterValidator</a>, <a class="el" href="classTPXPictureValidator.html#a2">TPXPictureValidator</a>, <a class="el" href="classTValidator.html#a1">TValidator</a>, <a class="el" href="classTNSCollection.html#d0">TNSCollection</a>, <a class="el" href="classpstream.html#a12">pstream</a><li>errorAttr
+: <a class="el" href="classTView.html#p3">TView</a><li>errorText
+: <a class="el" href="classMsgBoxText.html#p5">MsgBoxText</a><li>eventAvail()
+: <a class="el" href="classTView.html#a39">TView</a><li>eventError()
+: <a class="el" href="classTGroup.html#a35">TGroup</a><li>eventFlags
+: <a class="el" href="structMouseEventType.html#m1">MouseEventType</a><li>eventMask
+: <a class="el" href="classTView.html#m3">TView</a><li>execute()
+: <a class="el" href="classTGroup.html#a4">TGroup</a>, <a class="el" href="classTView.html#a44">TView</a>, <a class="el" href="classTMenuView.html#a3">TMenuView</a><li>executeDialog()
+: <a class="el" href="classTProgram.html#a3">TProgram</a><li>execView()
+: <a class="el" href="classTGroup.html#a3">TGroup</a><li>expandAll()
+: <a class="el" href="classTOutlineViewer.html#a19">TOutlineViewer</a><li>expanded
+: <a class="el" href="classTNode.html#m3">TNode</a><li>exposed()
+: <a class="el" href="classTView.html#a21">TView</a></ul>
+<h3><a name="index_f">- f -</a>
+</h3><ul>
+<li>f
+: <a class="el" href="structfLink.html#m0">fLink</a><li>fail()
+: <a class="el" href="classpstream.html#a4">pstream</a><li>fdActualExcept
+: <a class="el" href="classTScreen.html#p9">TScreen</a><li>fdActualRead
+: <a class="el" href="classTScreen.html#p7">TScreen</a><li>fdActualWrite
+: <a class="el" href="classTScreen.html#p8">TScreen</a><li>fdSetExcept
+: <a class="el" href="classTScreen.html#p6">TScreen</a><li>fdSetRead
+: <a class="el" href="classTScreen.html#p4">TScreen</a><li>fdSetWrite
+: <a class="el" href="classTScreen.html#p5">TScreen</a><li>fileList
+: <a class="el" href="classTFileDialog.html#m1">TFileDialog</a><li>fileName
+: <a class="el" href="classTFileDialog.html#m0">TFileDialog</a>, <a class="el" href="classTFileEditor.html#m0">TFileEditor</a><li>find
+: <a class="el" href="classopstream.html#b4">opstream</a>, <a class="el" href="classipstream.html#b4">ipstream</a>, <a class="el" href="classTEditor.html#a37">TEditor</a>, <a class="el" href="structTReplaceDialogRec.html#m0">TReplaceDialogRec</a>, <a class="el" href="structTFindDialogRec.html#m0">TFindDialogRec</a><li>findItem()
+: <a class="el" href="classTMenuView.html#a4">TMenuView</a><li>findStr
+: <a class="el" href="classTEditor.html#p2">TEditor</a><li>first()
+: <a class="el" href="classTGroup.html#a21">TGroup</a><li>firstDir
+: <a class="el" href="classTDirListBox.html#p1">TDirListBox</a><li>firstMatch()
+: <a class="el" href="classTGroup.html#a18">TGroup</a><li>firstPos
+: <a class="el" href="classTInputLine.html#m3">TInputLine</a><li>firstThat()
+: <a class="el" href="classTGroup.html#a12">TGroup</a>, <a class="el" href="classTNSCollection.html#a15">TNSCollection</a>, <a class="el" href="classTDirCollection.html#a8">TDirCollection</a>, <a class="el" href="classTFileCollection.html#a8">TFileCollection</a>, <a class="el" href="classTOutlineViewer.html#a20">TOutlineViewer</a><li>flags
+: <a class="el" href="classTWindow.html#m0">TWindow</a>, <a class="el" href="classTButton.html#n1">TButton</a><li>flush()
+: <a class="el" href="classopstream.html#a5">opstream</a>, <a class="el" href="classTResourceFile.html#a4">TResourceFile</a><li>foc
+: <a class="el" href="classTOutlineViewer.html#m0">TOutlineViewer</a><li>focus()
+: <a class="el" href="classTView.html#a22">TView</a><li>focused
+: <a class="el" href="classTOutlineViewer.html#a4">TOutlineViewer</a>, <a class="el" href="classTListViewer.html#m4">TListViewer</a><li>focusItem()
+: <a class="el" href="classTListViewer.html#a3">TListViewer</a>, <a class="el" href="classTFileList.html#a2">TFileList</a>, <a class="el" href="classTColorItemList.html#a1">TColorItemList</a>, <a class="el" href="classTColorGroupList.html#a2">TColorGroupList</a><li>focusItemNum()
+: <a class="el" href="classTListViewer.html#a11">TListViewer</a><li>focusNext()
+: <a class="el" href="classTGroup.html#a13">TGroup</a><li>forEach()
+: <a class="el" href="classTGroup.html#a14">TGroup</a>, <a class="el" href="classTNSCollection.html#a17">TNSCollection</a>, <a class="el" href="classTOutlineViewer.html#a21">TOutlineViewer</a><li>forLabel
+: <a class="el" href="classTColorDialog.html#n2">TColorDialog</a><li>formatLine()
+: <a class="el" href="classTEditor.html#a36">TEditor</a><li>forSel
+: <a class="el" href="classTColorDialog.html#n3">TColorDialog</a><li>fpbase()
+: <a class="el" href="classfpbase.html#a3">fpbase</a><li>fpstream()
+: <a class="el" href="classfpstream.html#a3">fpstream</a><li>frame
+: <a class="el" href="classTWindow.html#m4">TWindow</a><li>frameChars
+: <a class="el" href="classTFrame.html#p0">TFrame</a>, <a class="el" href="classTMenuBox.html#p0">TMenuBox</a><li>free()
+: <a class="el" href="classTNSCollection.html#a9">TNSCollection</a>, <a class="el" href="classTDirCollection.html#a4">TDirCollection</a>, <a class="el" href="classTFileCollection.html#a4">TFileCollection</a><li>freeAll()
+: <a class="el" href="classTNSCollection.html#a10">TNSCollection</a><li>freeBuffer()
+: <a class="el" href="classTGroup.html#a38">TGroup</a><li>freeDiscardable()
+: <a class="el" href="classTVMemMgr.html#d4">TVMemMgr</a><li>ft_day
+: <a class="el" href="structftime.html#m3">ftime</a><li>ft_hour
+: <a class="el" href="structftime.html#m2">ftime</a><li>ft_min
+: <a class="el" href="structftime.html#m1">ftime</a><li>ft_month
+: <a class="el" href="structftime.html#m4">ftime</a><li>ft_tsec
+: <a class="el" href="structftime.html#m0">ftime</a><li>ft_year
+: <a class="el" href="structftime.html#m5">ftime</a></ul>
+<h3><a name="index_g">- g -</a>
+</h3><ul>
+<li>gapLen
+: <a class="el" href="classTEditor.html#m6">TEditor</a><li>get()
+: <a class="el" href="classTStringList.html#a1">TStringList</a>, <a class="el" href="classTResourceFile.html#a5">TResourceFile</a><li>getBounds()
+: <a class="el" href="classTView.html#a3">TView</a><li>getBuffer()
+: <a class="el" href="classTGroup.html#a39">TGroup</a><li>getChild()
+: <a class="el" href="classTOutline.html#a5">TOutline</a>, <a class="el" href="classTOutlineViewer.html#a5">TOutlineViewer</a><li>getClipRect()
+: <a class="el" href="classTView.html#a5">TView</a><li>getColor()
+: <a class="el" href="classTView.html#a45">TView</a><li>getCommands()
+: <a class="el" href="classTView.html#d5">TView</a><li>getCount()
+: <a class="el" href="classTNSCollection.html#a20">TNSCollection</a><li>getCrossRef()
+: <a class="el" href="classTHelpTopic.html#a5">THelpTopic</a><li>getData()
+: <a class="el" href="classTGroup.html#a27">TGroup</a>, <a class="el" href="classTView.html#a29">TView</a>, <a class="el" href="classTChDirDialog.html#a2">TChDirDialog</a>, <a class="el" href="classTFileDialog.html#a2">TFileDialog</a>, <a class="el" href="classTFileList.html#a9">TFileList</a>, <a class="el" href="classTMemo.html#a1">TMemo</a>, <a class="el" href="classTListBox.html#a3">TListBox</a>, <a class="el" href="classTMultiCheckBoxes.html#a4">TMultiCheckBoxes</a>, <a class="el" href="classTCluster.html#a5">TCluster</a>, <a class="el" href="classTInputLine.html#a4">TInputLine</a>, <a class="el" href="classTColorDialog.html#a3">TColorDialog</a><li>getEvent()
+: <a class="el" href="classTView.html#a40">TView</a>, <a class="el" href="classTScreen.html#d0">TScreen</a>, <a class="el" href="classTApplication.html#a2">TApplication</a>, <a class="el" href="classTProgram.html#a4">TProgram</a><li>getExtent()
+: <a class="el" href="classTView.html#a4">TView</a><li>getFileName()
+: <a class="el" href="classTFileDialog.html#a3">TFileDialog</a><li>getGraph()
+: <a class="el" href="classTOutlineViewer.html#a6">TOutlineViewer</a><li>getGroup()
+: <a class="el" href="classTColorGroupList.html#a6">TColorGroupList</a><li>getGroupIndex()
+: <a class="el" href="classTColorGroupList.html#a7">TColorGroupList</a><li>getHelpCtx()
+: <a class="el" href="classTGroup.html#a36">TGroup</a>, <a class="el" href="classTView.html#a15">TView</a>, <a class="el" href="classTMenuView.html#a6">TMenuView</a>, <a class="el" href="classTCluster.html#a6">TCluster</a><li>getIndexes()
+: <a class="el" href="classTColorDialog.html#a6">TColorDialog</a><li>getItemRect()
+: <a class="el" href="classTMenuBox.html#a2">TMenuBox</a>, <a class="el" href="classTMenuBar.html#a4">TMenuBar</a>, <a class="el" href="classTMenuView.html#a5">TMenuView</a><li>getLine()
+: <a class="el" href="classTHelpTopic.html#a6">THelpTopic</a><li>getMousePtr()
+: <a class="el" href="classTEditor.html#a38">TEditor</a><li>getNode()
+: <a class="el" href="classTOutlineViewer.html#a8">TOutlineViewer</a><li>getNumChildren()
+: <a class="el" href="classTOutline.html#a4">TOutline</a>, <a class="el" href="classTOutlineViewer.html#a7">TOutlineViewer</a><li>getNumCrossRefs()
+: <a class="el" href="classTHelpTopic.html#a7">THelpTopic</a><li>getNumGroups()
+: <a class="el" href="classTColorGroupList.html#a8">TColorGroupList</a><li>getPalette()
+: <a class="el" href="classTWindow.html#a3">TWindow</a>, <a class="el" href="classTListViewer.html#a4">TListViewer</a>, <a class="el" href="classTScroller.html#a2">TScroller</a>, <a class="el" href="classTScrollBar.html#a2">TScrollBar</a>, <a class="el" href="classTFrame.html#a2">TFrame</a>, <a class="el" href="classTView.html#a46">TView</a>, <a class="el" href="classTFileInfoPane.html#a2">TFileInfoPane</a>, <a class="el" href="classTOutlineViewer.html#a9">TOutlineViewer</a>, <a class="el" href="classTStatusLine.html#a3">TStatusLine</a>, <a class="el" href="classTMenuView.html#a7">TMenuView</a>, <a class="el" href="classTHelpWindow.html#a1">THelpWindow</a>, <a class="el" href="classTHelpViewer.html#a4">THelpViewer</a>, <a class="el" href="classTMemo.html#a4">TMemo</a>, <a class="el" href="classTEditor.html#a11">TEditor</a>, <a class="el" href="classTIndicator.html#a2">TIndicator</a>, <a class="el" href="classTHistory.html#a2">THistory</a>, <a class="el" href="classTHistoryWindow.html#a1">THistoryWindow</a>, <a class="el" href="classTHistoryViewer.html#a1">THistoryViewer</a>, <a class="el" href="classTLabel.html#a2">TLabel</a>, <a class="el" href="classTStaticText.html#a3">TStaticText</a>, <a class="el" href="classTCluster.html#a7">TCluster</a>, <a class="el" href="classTButton.html#a4">TButton</a>, <a class="el" href="classTInputLine.html#a5">TInputLine</a>, <a class="el" href="classTDialog.html#a1">TDialog</a>, <a class="el" href="classTProgram.html#a5">TProgram</a>, <a class="el" href="classTBackground.html#a2">TBackground</a><li>getPos()
+: <a class="el" href="classTScrollBar.html#a11">TScrollBar</a><li>getRoot()
+: <a class="el" href="classTOutline.html#a3">TOutline</a>, <a class="el" href="classTOutlineViewer.html#a10">TOutlineViewer</a><li>getSelection()
+: <a class="el" href="classTHistoryWindow.html#a2">THistoryWindow</a><li>getSize()
+: <a class="el" href="classTScrollBar.html#a12">TScrollBar</a><li>getState()
+: <a class="el" href="classTView.html#a48">TView</a><li>getText()
+: <a class="el" href="classTListViewer.html#a5">TListViewer</a>, <a class="el" href="classTDirListBox.html#a2">TDirListBox</a>, <a class="el" href="classTFileList.html#a4">TFileList</a>, <a class="el" href="classTOutline.html#a6">TOutline</a>, <a class="el" href="classTOutlineViewer.html#a11">TOutlineViewer</a>, <a class="el" href="classTHistoryViewer.html#a2">THistoryViewer</a>, <a class="el" href="classTParamText.html#a2">TParamText</a>, <a class="el" href="classTStaticText.html#a4">TStaticText</a>, <a class="el" href="classTListBox.html#a4">TListBox</a>, <a class="el" href="classTColorItemList.html#a2">TColorItemList</a>, <a class="el" href="classTColorGroupList.html#a3">TColorGroupList</a><li>getTextLen()
+: <a class="el" href="classTParamText.html#a4">TParamText</a><li>getTitle()
+: <a class="el" href="classTWindow.html#a4">TWindow</a>, <a class="el" href="classTEditWindow.html#a2">TEditWindow</a><li>getTopic()
+: <a class="el" href="classTHelpFile.html#a2">THelpFile</a><li>good()
+: <a class="el" href="classpstream.html#a6">pstream</a><li>graphChars
+: <a class="el" href="classTOutlineViewer.html#p0">TOutlineViewer</a><li>graphics
+: <a class="el" href="classTDirListBox.html#p4">TDirListBox</a><li>groupIndex
+: <a class="el" href="classTColorDialog.html#n8">TColorDialog</a>, <a class="el" href="classTColorIndex.html#m0">TColorIndex</a><li>groups
+: <a class="el" href="classTColorDialog.html#n1">TColorDialog</a>, <a class="el" href="classTColorGroupList.html#n0">TColorGroupList</a><li>grow()
+: <a class="el" href="classTRect.html#a4">TRect</a><li>growMode
+: <a class="el" href="classTView.html#m7">TView</a><li>growTo()
+: <a class="el" href="classTView.html#a12">TView</a></ul>
+<h3><a name="index_h">- h -</a>
+</h3><ul>
+<li>handleEvent()
+: <a class="el" href="classTWindow.html#a5">TWindow</a>, <a class="el" href="classTGroup.html#a23">TGroup</a>, <a class="el" href="classTListViewer.html#a7">TListViewer</a>, <a class="el" href="classTScroller.html#a3">TScroller</a>, <a class="el" href="classTScrollBar.html#a3">TScrollBar</a>, <a class="el" href="classTFrame.html#a3">TFrame</a>, <a class="el" href="classTView.html#a41">TView</a>, <a class="el" href="classTChDirDialog.html#a3">TChDirDialog</a>, <a class="el" href="classTFileDialog.html#a4">TFileDialog</a>, <a class="el" href="classTFileInfoPane.html#a3">TFileInfoPane</a>, <a class="el" href="classTSortedListBox.html#a1">TSortedListBox</a>, <a class="el" href="classTFileInputLine.html#a1">TFileInputLine</a>, <a class="el" href="classTOutlineViewer.html#a12">TOutlineViewer</a>, <a class="el" href="classTStatusLine.html#a4">TStatusLine</a>, <a class="el" href="classTMenuView.html#a8">TMenuView</a>, <a class="el" href="classTHelpViewer.html#a5">THelpViewer</a>, <a class="el" href="classTEditWindow.html#a3">TEditWindow</a>, <a class="el" href="classTFileEditor.html#a2">TFileEditor</a>, <a class="el" href="classTMemo.html#a5">TMemo</a>, <a class="el" href="classTEditor.html#a12">TEditor</a>, <a class="el" href="classTHistory.html#a3">THistory</a>, <a class="el" href="classTHistoryViewer.html#a3">THistoryViewer</a>, <a class="el" href="classTLabel.html#a3">TLabel</a>, <a class="el" href="classTCluster.html#a8">TCluster</a>, <a class="el" href="classTButton.html#a5">TButton</a>, <a class="el" href="classTInputLine.html#a6">TInputLine</a>, <a class="el" href="classTDialog.html#a2">TDialog</a>, <a class="el" href="classTColorDialog.html#a4">TColorDialog</a>, <a class="el" href="classTColorItemList.html#a3">TColorItemList</a>, <a class="el" href="classTColorGroupList.html#a4">TColorGroupList</a>, <a class="el" href="classTColorDisplay.html#a3">TColorDisplay</a>, <a class="el" href="classTMonoSelector.html#a2">TMonoSelector</a>, <a class="el" href="classTColorSelector.html#a2">TColorSelector</a>, <a class="el" href="classTProgram.html#a6">TProgram</a>, <a class="el" href="classTDeskTop.html#a2">TDeskTop</a><li>has()
+: <a class="el" href="classTCommandSet.html#a2">TCommandSet</a><li>hasChildren()
+: <a class="el" href="classTOutline.html#a8">TOutline</a>, <a class="el" href="classTOutlineViewer.html#a13">TOutlineViewer</a><li>hasSelection()
+: <a class="el" href="classTEditor.html#a39">TEditor</a><li>hChars
+: <a class="el" href="classTScrollBar.html#p1">TScrollBar</a><li>helpCtx
+: <a class="el" href="classTView.html#m9">TView</a>, <a class="el" href="classTMenuItem.html#m5">TMenuItem</a><li>hFile
+: <a class="el" href="classTHelpViewer.html#m0">THelpViewer</a><li>hide()
+: <a class="el" href="classTView.html#a17">TView</a><li>hideCursor()
+: <a class="el" href="classTView.html#a23">TView</a><li>hideSelect()
+: <a class="el" href="classTEditor.html#a40">TEditor</a><li>hint()
+: <a class="el" href="classTStatusLine.html#a5">TStatusLine</a><li>hintSeparator
+: <a class="el" href="classTStatusLine.html#p0">TStatusLine</a><li>historyId
+: <a class="el" href="classTHistory.html#n1">THistory</a>, <a class="el" href="classTHistoryViewer.html#n0">THistoryViewer</a><li>historyWidth()
+: <a class="el" href="classTHistoryViewer.html#a4">THistoryViewer</a><li>hotKey()
+: <a class="el" href="classTMenuView.html#a9">TMenuView</a><li>hScrollBar
+: <a class="el" href="classTListViewer.html#m0">TListViewer</a>, <a class="el" href="classTScroller.html#n2">TScroller</a>, <a class="el" href="classTEditor.html#m0">TEditor</a></ul>
+<h3><a name="index_i">- i -</a>
+</h3><ul>
+<li>icon
+: <a class="el" href="classTHistory.html#p0">THistory</a>, <a class="el" href="classTColorSelector.html#p0">TColorSelector</a><li>idle()
+: <a class="el" href="classTProgram.html#a7">TProgram</a><li>ifpstream()
+: <a class="el" href="classifpstream.html#a3">ifpstream</a><li>index
+: <a class="el" href="classTResourceFile.html#n4">TResourceFile</a>, <a class="el" href="classTHelpFile.html#m2">THelpFile</a>, <a class="el" href="classTHelpIndex.html#m1">THelpIndex</a>, <a class="el" href="classTColorGroup.html#m1">TColorGroup</a>, <a class="el" href="classTColorItem.html#m1">TColorItem</a><li>indexOf()
+: <a class="el" href="classTGroup.html#a19">TGroup</a>, <a class="el" href="classTNSSortedCollection.html#a2">TNSSortedCollection</a>, <a class="el" href="classTNSCollection.html#a4">TNSCollection</a>, <a class="el" href="classTDirCollection.html#a2">TDirCollection</a>, <a class="el" href="classTFileCollection.html#a2">TFileCollection</a><li>indexPos
+: <a class="el" href="classTResourceFile.html#n3">TResourceFile</a>, <a class="el" href="classTHelpFile.html#m3">THelpFile</a><li>indicator
+: <a class="el" href="classTEditor.html#m2">TEditor</a><li>infoByte
+: <a class="el" href="structMessageEvent.html#m5">MessageEvent</a><li>infoChar
+: <a class="el" href="structMessageEvent.html#m6">MessageEvent</a><li>infoInt
+: <a class="el" href="structMessageEvent.html#m4">MessageEvent</a><li>infoLong
+: <a class="el" href="structMessageEvent.html#m2">MessageEvent</a><li>infoPtr
+: <a class="el" href="structMessageEvent.html#m1">MessageEvent</a><li>informationText
+: <a class="el" href="classMsgBoxText.html#p6">MsgBoxText</a><li>infoWord
+: <a class="el" href="structMessageEvent.html#m3">MessageEvent</a><li>init()
+: <a class="el" href="classpstream.html#b1">pstream</a><li>initBackground()
+: <a class="el" href="classTDeskTop.html#d0">TDeskTop</a><li>initBuffer()
+: <a class="el" href="classTFileEditor.html#a3">TFileEditor</a>, <a class="el" href="classTEditor.html#a13">TEditor</a><li>initDeskTop()
+: <a class="el" href="classTProgram.html#d2">TProgram</a><li>initFrame()
+: <a class="el" href="classTWindow.html#d0">TWindow</a><li>initHistoryWindow()
+: <a class="el" href="classTHistory.html#a4">THistory</a><li>initMenuBar()
+: <a class="el" href="classTProgram.html#d1">TProgram</a><li>initScreen()
+: <a class="el" href="classTProgram.html#a8">TProgram</a><li>initStatusLine()
+: <a class="el" href="classTProgram.html#d0">TProgram</a><li>initTypes()
+: <a class="el" href="classpstream.html#d0">pstream</a><li>initViewer()
+: <a class="el" href="classTHistoryWindow.html#d0">THistoryWindow</a><li>insCount
+: <a class="el" href="classTEditor.html#m16">TEditor</a><li>insert()
+: <a class="el" href="classTGroup.html#a15">TGroup</a>, <a class="el" href="classTNSSortedCollection.html#a3">TNSSortedCollection</a>, <a class="el" href="classTNSCollection.html#a13">TNSCollection</a>, <a class="el" href="classTDirCollection.html#a7">TDirCollection</a>, <a class="el" href="classTFileCollection.html#a7">TFileCollection</a><li>insertBefore()
+: <a class="el" href="classTGroup.html#a16">TGroup</a><li>insertBuffer()
+: <a class="el" href="classTEditor.html#a14">TEditor</a><li>insertFrom()
+: <a class="el" href="classTEditor.html#a15">TEditor</a><li>insertText()
+: <a class="el" href="classTEditor.html#a16">TEditor</a><li>insertView()
+: <a class="el" href="classTGroup.html#a6">TGroup</a><li>insertWindow()
+: <a class="el" href="classTProgram.html#a12">TProgram</a><li>intersect()
+: <a class="el" href="classTRect.html#a5">TRect</a><li>invalidTopic()
+: <a class="el" href="classTHelpFile.html#a3">THelpFile</a><li>iopstream()
+: <a class="el" href="classiopstream.html#b0">iopstream</a><li>ipstream()
+: <a class="el" href="classipstream.html#b0">ipstream</a><li>isClipboard()
+: <a class="el" href="classTEditor.html#a41">TEditor</a><li>isEmpty()
+: <a class="el" href="classTCommandSet.html#a11">TCommandSet</a>, <a class="el" href="classTRect.html#a10">TRect</a><li>isExpanded()
+: <a class="el" href="classTOutline.html#a7">TOutline</a>, <a class="el" href="classTOutlineViewer.html#a14">TOutlineViewer</a><li>isSelected()
+: <a class="el" href="classTListViewer.html#a6">TListViewer</a>, <a class="el" href="classTDirListBox.html#a3">TDirListBox</a>, <a class="el" href="classTOutlineViewer.html#a15">TOutlineViewer</a><li>isValid
+: <a class="el" href="classTLookupValidator.html#a1">TLookupValidator</a>, <a class="el" href="classTRangeValidator.html#a2">TRangeValidator</a>, <a class="el" href="classTFilterValidator.html#a4">TFilterValidator</a>, <a class="el" href="classTPXPictureValidator.html#a4">TPXPictureValidator</a>, <a class="el" href="classTValidator.html#a3">TValidator</a>, <a class="el" href="classTEditor.html#m17">TEditor</a><li>isValidInput()
+: <a class="el" href="classTFilterValidator.html#a3">TFilterValidator</a>, <a class="el" href="classTPXPictureValidator.html#a3">TPXPictureValidator</a>, <a class="el" href="classTValidator.html#a2">TValidator</a><li>items
+: <a class="el" href="classTNSCollection.html#n0">TNSCollection</a>, <a class="el" href="classTStatusLine.html#n0">TStatusLine</a>, <a class="el" href="classTStatusDef.html#m3">TStatusDef</a>, <a class="el" href="classTMenu.html#m0">TMenu</a>, <a class="el" href="classTListBox.html#n0">TListBox</a>, <a class="el" href="structTListBoxRec.html#m0">TListBoxRec</a>, <a class="el" href="classTColorItemList.html#n0">TColorItemList</a>, <a class="el" href="classTColorGroup.html#m2">TColorGroup</a></ul>
+<h3><a name="index_k">- k -</a>
+</h3><ul>
+<li>key
+: <a class="el" href="classTStrIndexRec.html#m0">TStrIndexRec</a>, <a class="el" href="structTResourceItem.html#m2">TResourceItem</a><li>keyAt()
+: <a class="el" href="classTResourceFile.html#a6">TResourceFile</a><li>keyCode
+: <a class="el" href="structKeyDownEvent.html#m0">KeyDownEvent</a>, <a class="el" href="classTStatusItem.html#m2">TStatusItem</a>, <a class="el" href="classTMenuItem.html#m4">TMenuItem</a><li>keyDown
+: <a class="el" href="structTEvent.html#m2">TEvent</a><li>keyEvent()
+: <a class="el" href="classTView.html#a51">TView</a><li>keyOf()
+: <a class="el" href="classTNSSortedCollection.html#a4">TNSSortedCollection</a>, <a class="el" href="classTResourceCollection.html#a2">TResourceCollection</a><li>keyState
+: <a class="el" href="classTEditor.html#m25">TEditor</a></ul>
+<h3><a name="index_l">- l -</a>
+</h3><ul>
+<li>last
+: <a class="el" href="classTGroup.html#m1">TGroup</a><li>lastDir
+: <a class="el" href="classTDirListBox.html#p3">TDirListBox</a><li>lastThat()
+: <a class="el" href="classTNSCollection.html#a16">TNSCollection</a>, <a class="el" href="classTDirCollection.html#a9">TDirCollection</a>, <a class="el" href="classTFileCollection.html#a9">TFileCollection</a><li>length
+: <a class="el" href="classTCrossRef.html#m2">TCrossRef</a>, <a class="el" href="structTMemoData.html#m0">TMemoData</a><li>light
+: <a class="el" href="classTLabel.html#n1">TLabel</a><li>limit
+: <a class="el" href="classTScroller.html#n4">TScroller</a>, <a class="el" href="classTNSCollection.html#n2">TNSCollection</a>, <a class="el" href="classTEditor.html#m12">TEditor</a><li>lineEnd()
+: <a class="el" href="classTEditor.html#a42">TEditor</a><li>lineMove()
+: <a class="el" href="classTEditor.html#a43">TEditor</a><li>lineStart()
+: <a class="el" href="classTEditor.html#a44">TEditor</a><li>link
+: <a class="el" href="classTHistory.html#n0">THistory</a>, <a class="el" href="classTLabel.html#n0">TLabel</a><li>list()
+: <a class="el" href="classTDirListBox.html#a7">TDirListBox</a>, <a class="el" href="classTFileList.html#a11">TFileList</a>, <a class="el" href="classTSortedListBox.html#a4">TSortedListBox</a>, <a class="el" href="classTListBox.html#a7">TListBox</a><li>loadFile()
+: <a class="el" href="classTFileEditor.html#a4">TFileEditor</a><li>locate()
+: <a class="el" href="classTView.html#a8">TView</a><li>location
+: <a class="el" href="classTIndicator.html#n0">TIndicator</a><li>lock()
+: <a class="el" href="classTGroup.html#a31">TGroup</a>, <a class="el" href="classTEditor.html#a45">TEditor</a><li>lockCount
+: <a class="el" href="classTEditor.html#m23">TEditor</a><li>lockFlag
+: <a class="el" href="classTGroup.html#m5">TGroup</a><li>lookup()
+: <a class="el" href="classTStringLookupValidator.html#a3">TStringLookupValidator</a>, <a class="el" href="classTLookupValidator.html#a2">TLookupValidator</a>, <a class="el" href="classTStreamableTypes.html#a3">TStreamableTypes</a></ul>
+<h3><a name="index_m">- m -</a>
+</h3><ul>
+<li>makeBeep()
+: <a class="el" href="classTScreen.html#d1">TScreen</a><li>makeDefault()
+: <a class="el" href="classTButton.html#a6">TButton</a><li>makeFirst()
+: <a class="el" href="classTView.html#a58">TView</a><li>makeGlobal()
+: <a class="el" href="classTView.html#a53">TView</a><li>makeLocal()
+: <a class="el" href="classTView.html#a54">TView</a><li>makeSelectVisible()
+: <a class="el" href="classTHelpViewer.html#a6">THelpViewer</a><li>mapColor()
+: <a class="el" href="classTView.html#a47">TView</a><li>mark()
+: <a class="el" href="classTCheckBoxes.html#a2">TCheckBoxes</a>, <a class="el" href="classTRadioButtons.html#a2">TRadioButtons</a>, <a class="el" href="classTCluster.html#a9">TCluster</a>, <a class="el" href="classTMonoSelector.html#a3">TMonoSelector</a><li>matches()
+: <a class="el" href="classTGroup.html#a20">TGroup</a><li>max
+: <a class="el" href="classTRangeValidator.html#n1">TRangeValidator</a>, <a class="el" href="classTStatusDef.html#m2">TStatusDef</a><li>maxLen
+: <a class="el" href="classTInputLine.html#m1">TInputLine</a><li>maxVal
+: <a class="el" href="classTScrollBar.html#m3">TScrollBar</a><li>menu
+: <a class="el" href="classTMenuView.html#n1">TMenuView</a><li>menuBar
+: <a class="el" href="classTProgram.html#p2">TProgram</a><li>message
+: <a class="el" href="structTEvent.html#m3">TEvent</a><li>middleDir
+: <a class="el" href="classTDirListBox.html#p2">TDirListBox</a><li>min
+: <a class="el" href="classTRangeValidator.html#n0">TRangeValidator</a>, <a class="el" href="classTStatusDef.html#m1">TStatusDef</a><li>minVal
+: <a class="el" href="classTScrollBar.html#m2">TScrollBar</a><li>modified
+: <a class="el" href="classTResourceFile.html#n1">TResourceFile</a>, <a class="el" href="classTHelpFile.html#m1">THelpFile</a>, <a class="el" href="classTEditor.html#m19">TEditor</a>, <a class="el" href="classTIndicator.html#n1">TIndicator</a><li>monoLabel
+: <a class="el" href="classTColorDialog.html#n6">TColorDialog</a><li>monoSel
+: <a class="el" href="classTColorDialog.html#n7">TColorDialog</a><li>mouse
+: <a class="el" href="structTEvent.html#m1">TEvent</a><li>mouseEvent()
+: <a class="el" href="classTView.html#a52">TView</a><li>mouseInView()
+: <a class="el" href="classTView.html#a6">TView</a><li>mouseReverse
+: <a class="el" href="classTEventQueue.html#p1">TEventQueue</a><li>move()
+: <a class="el" href="classTRect.html#a3">TRect</a><li>moveBuf()
+: <a class="el" href="classTDrawBuffer.html#a3">TDrawBuffer</a><li>moveChar()
+: <a class="el" href="classTDrawBuffer.html#a0">TDrawBuffer</a><li>moveCStr()
+: <a class="el" href="classTDrawBuffer.html#a2">TDrawBuffer</a><li>moveCursor()
+: <a class="el" href="classTScreen.html#d7">TScreen</a><li>movedTo()
+: <a class="el" href="classTRadioButtons.html#a3">TRadioButtons</a>, <a class="el" href="classTCluster.html#a12">TCluster</a>, <a class="el" href="classTMonoSelector.html#a6">TMonoSelector</a><li>moveStr()
+: <a class="el" href="classTDrawBuffer.html#a1">TDrawBuffer</a><li>moveTo()
+: <a class="el" href="classTView.html#a13">TView</a><li>multiMark()
+: <a class="el" href="classTMultiCheckBoxes.html#a5">TMultiCheckBoxes</a>, <a class="el" href="classTCluster.html#a10">TCluster</a></ul>
+<h3><a name="index_n">- n -</a>
+</h3><ul>
+<li>name
+: <a class="el" href="classTWindow.html#p0">TWindow</a>, <a class="el" href="classTGroup.html#p0">TGroup</a>, <a class="el" href="classTListViewer.html#p1">TListViewer</a>, <a class="el" href="classTScroller.html#p0">TScroller</a>, <a class="el" href="classTScrollBar.html#p2">TScrollBar</a>, <a class="el" href="classTFrame.html#p3">TFrame</a>, <a class="el" href="classTView.html#p4">TView</a>, <a class="el" href="classTStringLookupValidator.html#p0">TStringLookupValidator</a>, <a class="el" href="classTLookupValidator.html#p0">TLookupValidator</a>, <a class="el" href="classTRangeValidator.html#p0">TRangeValidator</a>, <a class="el" href="classTFilterValidator.html#p0">TFilterValidator</a>, <a class="el" href="classTPXPictureValidator.html#p0">TPXPictureValidator</a>, <a class="el" href="classTValidator.html#p0">TValidator</a>, <a class="el" href="classTChDirDialog.html#p0">TChDirDialog</a>, <a class="el" href="classTDirListBox.html#p5">TDirListBox</a>, <a class="el" href="classTDirCollection.html#p0">TDirCollection</a>, <a class="el" href="classTFileDialog.html#p0">TFileDialog</a>, <a class="el" href="classTFileInfoPane.html#p0">TFileInfoPane</a>, <a class="el" href="classTFileList.html#p0">TFileList</a>, <a class="el" href="classTSortedListBox.html#p0">TSortedListBox</a>, <a class="el" href="classTFileCollection.html#p0">TFileCollection</a>, <a class="el" href="classTFileInputLine.html#p0">TFileInputLine</a>, <a class="el" href="structTSearchRec.html#m3">TSearchRec</a>, <a class="el" href="classTStringList.html#p0">TStringList</a>, <a class="el" href="classTResourceCollection.html#p0">TResourceCollection</a>, <a class="el" href="classTStringCollection.html#p0">TStringCollection</a>, <a class="el" href="classTOutline.html#p0">TOutline</a>, <a class="el" href="classTOutlineViewer.html#p1">TOutlineViewer</a>, <a class="el" href="classTSortedCollection.html#p0">TSortedCollection</a>, <a class="el" href="classTCollection.html#p0">TCollection</a>, <a class="el" href="classTStatusLine.html#p1">TStatusLine</a>, <a class="el" href="classTMenuPopup.html#p0">TMenuPopup</a>, <a class="el" href="classTMenuBox.html#p1">TMenuBox</a>, <a class="el" href="classTMenuBar.html#p0">TMenuBar</a>, <a class="el" href="classTMenuView.html#p0">TMenuView</a>, <a class="el" href="classTMenuItem.html#m1">TMenuItem</a>, <a class="el" href="classTHelpIndex.html#p0">THelpIndex</a>, <a class="el" href="classTHelpTopic.html#p0">THelpTopic</a>, <a class="el" href="classTEditWindow.html#p0">TEditWindow</a>, <a class="el" href="classTFileEditor.html#p0">TFileEditor</a>, <a class="el" href="classTMemo.html#p0">TMemo</a>, <a class="el" href="classTEditor.html#p5">TEditor</a>, <a class="el" href="classTIndicator.html#p2">TIndicator</a>, <a class="el" href="classTHistory.html#p1">THistory</a>, <a class="el" href="classTLabel.html#p0">TLabel</a>, <a class="el" href="classTParamText.html#p0">TParamText</a>, <a class="el" href="classTStaticText.html#p0">TStaticText</a>, <a class="el" href="classTListBox.html#p0">TListBox</a>, <a class="el" href="classTMultiCheckBoxes.html#p0">TMultiCheckBoxes</a>, <a class="el" href="classTCheckBoxes.html#p0">TCheckBoxes</a>, <a class="el" href="classTRadioButtons.html#p0">TRadioButtons</a>, <a class="el" href="classTCluster.html#p0">TCluster</a>, <a class="el" href="classTButton.html#p1">TButton</a>, <a class="el" href="classTInputLine.html#p0">TInputLine</a>, <a class="el" href="classTDialog.html#p0">TDialog</a>, <a class="el" href="classTColorDialog.html#p0">TColorDialog</a>, <a class="el" href="classTColorItemList.html#p0">TColorItemList</a>, <a class="el" href="classTColorGroupList.html#p0">TColorGroupList</a>, <a class="el" href="classTColorDisplay.html#p0">TColorDisplay</a>, <a class="el" href="classTMonoSelector.html#p0">TMonoSelector</a>, <a class="el" href="classTColorSelector.html#p1">TColorSelector</a>, <a class="el" href="classTColorGroup.html#m0">TColorGroup</a>, <a class="el" href="classTColorItem.html#m0">TColorItem</a>, <a class="el" href="classTDeskTop.html#p1">TDeskTop</a>, <a class="el" href="classTBackground.html#p0">TBackground</a><li>newColor()
+: <a class="el" href="classTMonoSelector.html#a4">TMonoSelector</a><li>newDirectory()
+: <a class="el" href="classTDirListBox.html#a5">TDirListBox</a><li>newLine()
+: <a class="el" href="classTEditor.html#a46">TEditor</a><li>newList()
+: <a class="el" href="classTFileList.html#a5">TFileList</a>, <a class="el" href="classTSortedListBox.html#a2">TSortedListBox</a>, <a class="el" href="classTListBox.html#a5">TListBox</a><li>newStringList()
+: <a class="el" href="classTStringLookupValidator.html#a4">TStringLookupValidator</a><li>newSubView()
+: <a class="el" href="classTMenuView.html#a10">TMenuView</a><li>next
+: <a class="el" href="classTView.html#m0">TView</a>, <a class="el" href="classTNode.html#m0">TNode</a>, <a class="el" href="classTStatusDef.html#m0">TStatusDef</a>, <a class="el" href="classTStatusItem.html#m0">TStatusItem</a>, <a class="el" href="classTMenuItem.html#m0">TMenuItem</a>, <a class="el" href="classTParagraph.html#m0">TParagraph</a>, <a class="el" href="classTSItem.html#m1">TSItem</a>, <a class="el" href="classTColorGroup.html#m3">TColorGroup</a>, <a class="el" href="classTColorItem.html#m2">TColorItem</a><li>nextChar()
+: <a class="el" href="classTEditor.html#a47">TEditor</a><li>nextLine()
+: <a class="el" href="classTTerminal.html#a7">TTerminal</a>, <a class="el" href="classTEditor.html#a48">TEditor</a><li>nextView()
+: <a class="el" href="classTView.html#a55">TView</a><li>nextWord()
+: <a class="el" href="classTEditor.html#a49">TEditor</a><li>normalCursor()
+: <a class="el" href="classTView.html#a33">TView</a><li>normalFrame
+: <a class="el" href="classTIndicator.html#p1">TIndicator</a><li>noText
+: <a class="el" href="classMsgBoxText.html#p1">MsgBoxText</a><li>number
+: <a class="el" href="classTWindow.html#m2">TWindow</a><li>numCols
+: <a class="el" href="classTListViewer.html#m2">TListViewer</a><li>numLines()
+: <a class="el" href="classTHelpTopic.html#a8">THelpTopic</a><li>numRefs
+: <a class="el" href="classTHelpTopic.html#m1">THelpTopic</a></ul>
+<h3><a name="index_o">- o -</a>
+</h3><ul>
+<li>offset
+: <a class="el" href="classTStrIndexRec.html#m2">TStrIndexRec</a>, <a class="el" href="classTCrossRef.html#m1">TCrossRef</a><li>ofpstream()
+: <a class="el" href="classofpstream.html#a3">ofpstream</a><li>okText
+: <a class="el" href="classMsgBoxText.html#p2">MsgBoxText</a><li>open()
+: <a class="el" href="classfpstream.html#a6">fpstream</a>, <a class="el" href="classofpstream.html#a6">ofpstream</a>, <a class="el" href="classifpstream.html#a6">ifpstream</a>, <a class="el" href="classfpbase.html#a5">fpbase</a><li>operator &amp;
+: <a class="el" href="classTCommandSet.html#l0">TCommandSet</a><li>operator &amp;=()
+: <a class="el" href="classTCommandSet.html#a12">TCommandSet</a><li>operator new()
+: <a class="el" href="classTStreamableTypes.html#a5">TStreamableTypes</a><li>operator void *()
+: <a class="el" href="classpstream.html#a8">pstream</a><li>operator!()
+: <a class="el" href="classpstream.html#a9">pstream</a><li>operator!=
+: <a class="el" href="classTCommandSet.html#l3">TCommandSet</a>, <a class="el" href="classTRect.html#a9">TRect</a>, <a class="el" href="classTPoint.html#l3">TPoint</a><li>operator+
+: <a class="el" href="classTPoint.html#l1">TPoint</a>, <a class="el" href="classTColorGroup.html#l1">TColorGroup</a>, <a class="el" href="classTColorItem.html#l1">TColorItem</a><li>operator+=()
+: <a class="el" href="classTCommandSet.html#a9">TCommandSet</a>, <a class="el" href="classTPoint.html#a0">TPoint</a><li>operator-
+: <a class="el" href="classTPoint.html#l0">TPoint</a><li>operator-=()
+: <a class="el" href="classTCommandSet.html#a10">TCommandSet</a>, <a class="el" href="classTPoint.html#a1">TPoint</a><li>operator&lt;&lt;
+: <a class="el" href="classopstream.html#l13">opstream</a><li>operator=()
+: <a class="el" href="classTPalette.html#a3">TPalette</a><li>operator==
+: <a class="el" href="classTCommandSet.html#l2">TCommandSet</a>, <a class="el" href="classTRect.html#a8">TRect</a>, <a class="el" href="classTPoint.html#l2">TPoint</a><li>operator&gt;&gt;
+: <a class="el" href="classipstream.html#l13">ipstream</a><li>operator[]()
+: <a class="el" href="classTPalette.html#a4">TPalette</a><li>operator|
+: <a class="el" href="classTCommandSet.html#l1">TCommandSet</a><li>operator|=()
+: <a class="el" href="classTCommandSet.html#a13">TCommandSet</a><li>opstream()
+: <a class="el" href="classopstream.html#b0">opstream</a><li>options
+: <a class="el" href="classTView.html#m2">TView</a>, <a class="el" href="classTValidator.html#m1">TValidator</a>, <a class="el" href="structTReplaceDialogRec.html#m2">TReplaceDialogRec</a>, <a class="el" href="structTFindDialogRec.html#m1">TFindDialogRec</a><li>origin
+: <a class="el" href="classTView.html#m5">TView</a><li>otstream()
+: <a class="el" href="classotstream.html#a0">otstream</a><li>outOfMemory()
+: <a class="el" href="classTProgram.html#a9">TProgram</a><li>overflow()
+: <a class="el" href="classTerminalBuf.html#a1">TerminalBuf</a><li>overwrite
+: <a class="el" href="classTEditor.html#m21">TEditor</a><li>owner
+: <a class="el" href="classTView.html#m10">TView</a></ul>
+<h3><a name="index_p">- p -</a>
+</h3><ul>
+<li>pack()
+: <a class="el" href="classTNSCollection.html#a18">TNSCollection</a><li>pal
+: <a class="el" href="classTColorDialog.html#m0">TColorDialog</a><li>palette
+: <a class="el" href="classTWindow.html#m3">TWindow</a><li>paragraphs
+: <a class="el" href="classTHelpTopic.html#m0">THelpTopic</a><li>param
+: <a class="el" href="classTMenuItem.html#m6">TMenuItem</a><li>parentMenu
+: <a class="el" href="classTMenuView.html#n0">TMenuView</a><li>pathDir
+: <a class="el" href="classTDirListBox.html#p0">TDirListBox</a><li>pattern
+: <a class="el" href="classTBackground.html#n0">TBackground</a><li>pending
+: <a class="el" href="classTProgram.html#q0">TProgram</a><li>pgStep
+: <a class="el" href="classTScrollBar.html#m4">TScrollBar</a><li>phase
+: <a class="el" href="classTGroup.html#m3">TGroup</a><li>phaseType
+: <a class="el" href="classTView.html#s6">TView</a><li>pic
+: <a class="el" href="classTPXPictureValidator.html#n0">TPXPictureValidator</a><li>picture()
+: <a class="el" href="classTPXPictureValidator.html#a5">TPXPictureValidator</a><li>PointerTypes
+: <a class="el" href="classpstream.html#s6">pstream</a><li>pos
+: <a class="el" href="structTResourceItem.html#m0">TResourceItem</a><li>position()
+: <a class="el" href="classTHelpIndex.html#a3">THelpIndex</a><li>press()
+: <a class="el" href="classTMultiCheckBoxes.html#a6">TMultiCheckBoxes</a>, <a class="el" href="classTCheckBoxes.html#a3">TCheckBoxes</a>, <a class="el" href="classTRadioButtons.html#a4">TRadioButtons</a>, <a class="el" href="classTCluster.html#a11">TCluster</a>, <a class="el" href="classTButton.html#a7">TButton</a>, <a class="el" href="classTMonoSelector.html#a5">TMonoSelector</a><li>prev()
+: <a class="el" href="classTView.html#a57">TView</a><li>prevChar()
+: <a class="el" href="classTEditor.html#a50">TEditor</a><li>prevLine()
+: <a class="el" href="classTEditor.html#a51">TEditor</a><li>prevLines()
+: <a class="el" href="classTTerminal.html#a8">TTerminal</a><li>prevView()
+: <a class="el" href="classTView.html#a56">TView</a><li>prevWord()
+: <a class="el" href="classTEditor.html#a52">TEditor</a><li>pstream()
+: <a class="el" href="classpstream.html#b0">pstream</a><li>put()
+: <a class="el" href="classTStrListMaker.html#a2">TStrListMaker</a>, <a class="el" href="classTResourceFile.html#a7">TResourceFile</a><li>putAttribute()
+: <a class="el" href="classTDrawBuffer.html#a4">TDrawBuffer</a><li>putChar()
+: <a class="el" href="classTDrawBuffer.html#a5">TDrawBuffer</a><li>putEvent()
+: <a class="el" href="classTView.html#a42">TView</a>, <a class="el" href="classTScreen.html#d2">TScreen</a>, <a class="el" href="classTProgram.html#a10">TProgram</a><li>putInFrontOf()
+: <a class="el" href="classTView.html#a59">TView</a><li>putTopic()
+: <a class="el" href="classTHelpFile.html#a5">THelpFile</a></ul>
+<h3><a name="index_q">- q -</a>
+</h3><ul>
+<li>queBack
+: <a class="el" href="classTTerminal.html#n3">TTerminal</a><li>queEmpty()
+: <a class="el" href="classTTerminal.html#a9">TTerminal</a><li>queFront
+: <a class="el" href="classTTerminal.html#n2">TTerminal</a></ul>
+<h3><a name="index_r">- r -</a>
+</h3><ul>
+<li>range
+: <a class="el" href="classTListViewer.html#m5">TListViewer</a><li>rdbuf()
+: <a class="el" href="classfpstream.html#a5">fpstream</a>, <a class="el" href="classofpstream.html#a5">ofpstream</a>, <a class="el" href="classifpstream.html#a5">ifpstream</a>, <a class="el" href="classfpbase.html#a9">fpbase</a>, <a class="el" href="classpstream.html#a10">pstream</a><li>rdstate()
+: <a class="el" href="classpstream.html#a2">pstream</a><li>read()
+: <a class="el" href="classTWindow.html#b2">TWindow</a>, <a class="el" href="classTGroup.html#b2">TGroup</a>, <a class="el" href="classTListViewer.html#b2">TListViewer</a>, <a class="el" href="classTScroller.html#b2">TScroller</a>, <a class="el" href="classTScrollBar.html#b2">TScrollBar</a>, <a class="el" href="classTView.html#b2">TView</a>, <a class="el" href="classTStringLookupValidator.html#b2">TStringLookupValidator</a>, <a class="el" href="classTRangeValidator.html#b2">TRangeValidator</a>, <a class="el" href="classTFilterValidator.html#b2">TFilterValidator</a>, <a class="el" href="classTPXPictureValidator.html#b2">TPXPictureValidator</a>, <a class="el" href="classTValidator.html#b2">TValidator</a>, <a class="el" href="classTStreamable.html#b0">TStreamable</a>, <a class="el" href="classTChDirDialog.html#b2">TChDirDialog</a>, <a class="el" href="classTFileDialog.html#b2">TFileDialog</a>, <a class="el" href="classTSortedListBox.html#a3">TSortedListBox</a>, <a class="el" href="classTStrListMaker.html#b2">TStrListMaker</a>, <a class="el" href="classTStringList.html#b2">TStringList</a>, <a class="el" href="classTOutline.html#b1">TOutline</a>, <a class="el" href="classTOutlineViewer.html#b1">TOutlineViewer</a>, <a class="el" href="classTSortedCollection.html#b1">TSortedCollection</a>, <a class="el" href="classTCollection.html#b1">TCollection</a>, <a class="el" href="classTStatusLine.html#b2">TStatusLine</a>, <a class="el" href="classTMenuView.html#b2">TMenuView</a>, <a class="el" href="classTHelpIndex.html#b1">THelpIndex</a>, <a class="el" href="classTHelpTopic.html#b1">THelpTopic</a>, <a class="el" href="classTEditWindow.html#b2">TEditWindow</a>, <a class="el" href="classTFileEditor.html#b2">TFileEditor</a>, <a class="el" href="classTMemo.html#b2">TMemo</a>, <a class="el" href="classTEditor.html#b2">TEditor</a>, <a class="el" href="classTHistory.html#b2">THistory</a>, <a class="el" href="classTLabel.html#b2">TLabel</a>, <a class="el" href="classTParamText.html#b2">TParamText</a>, <a class="el" href="classTStaticText.html#b2">TStaticText</a>, <a class="el" href="classTListBox.html#b2">TListBox</a>, <a class="el" href="classTMultiCheckBoxes.html#b2">TMultiCheckBoxes</a>, <a class="el" href="classTCluster.html#b2">TCluster</a>, <a class="el" href="classTButton.html#b2">TButton</a>, <a class="el" href="classTInputLine.html#b2">TInputLine</a>, <a class="el" href="classTColorDialog.html#b2">TColorDialog</a>, <a class="el" href="classTColorGroupList.html#b2">TColorGroupList</a>, <a class="el" href="classTColorDisplay.html#b2">TColorDisplay</a>, <a class="el" href="classTColorSelector.html#b2">TColorSelector</a>, <a class="el" href="classTBackground.html#b2">TBackground</a><li>readByte()
+: <a class="el" href="classipstream.html#a5">ipstream</a><li>readBytes()
+: <a class="el" href="classipstream.html#a6">ipstream</a><li>readData()
+: <a class="el" href="classipstream.html#b2">ipstream</a><li>readDirectory()
+: <a class="el" href="classTFileList.html#a7">TFileList</a><li>readNode()
+: <a class="el" href="classTOutline.html#b3">TOutline</a><li>readPrefix()
+: <a class="el" href="classipstream.html#b1">ipstream</a><li>readString()
+: <a class="el" href="classipstream.html#a9">ipstream</a><li>readSuffix()
+: <a class="el" href="classipstream.html#b3">ipstream</a><li>readWord()
+: <a class="el" href="classipstream.html#a7">ipstream</a><li>recordHistory()
+: <a class="el" href="classTHistory.html#a5">THistory</a><li>recordPositionInIndex()
+: <a class="el" href="classTHelpFile.html#a4">THelpFile</a><li>redraw()
+: <a class="el" href="classTGroup.html#a30">TGroup</a><li>ref
+: <a class="el" href="classTCrossRef.html#m0">TCrossRef</a><li>registerObject()
+: <a class="el" href="classopstream.html#b5">opstream</a>, <a class="el" href="classipstream.html#b5">ipstream</a><li>registerType()
+: <a class="el" href="classpstream.html#d1">pstream</a>, <a class="el" href="classTStreamableTypes.html#a2">TStreamableTypes</a><li>remove()
+: <a class="el" href="classTGroup.html#a7">TGroup</a>, <a class="el" href="classTNSCollection.html#a7">TNSCollection</a>, <a class="el" href="classTDirCollection.html#a3">TDirCollection</a>, <a class="el" href="classTFileCollection.html#a3">TFileCollection</a>, <a class="el" href="classTResourceFile.html#a3">TResourceFile</a><li>removeAll()
+: <a class="el" href="classTNSCollection.html#a8">TNSCollection</a>, <a class="el" href="classTPReadObjects.html#a0">TPReadObjects</a>, <a class="el" href="classTPWrittenObjects.html#a0">TPWrittenObjects</a><li>removeView()
+: <a class="el" href="classTGroup.html#a8">TGroup</a><li>replace
+: <a class="el" href="classTEditor.html#a53">TEditor</a>, <a class="el" href="structTReplaceDialogRec.html#m1">TReplaceDialogRec</a><li>replaceStr
+: <a class="el" href="classTEditor.html#p3">TEditor</a><li>resetCurrent()
+: <a class="el" href="classTGroup.html#a9">TGroup</a><li>resetCursor()
+: <a class="el" href="classTGroup.html#a33">TGroup</a>, <a class="el" href="classTView.html#a34">TView</a><li>resizeSafetyPool()
+: <a class="el" href="classTVMemMgr.html#d0">TVMemMgr</a><li>resume()
+: <a class="el" href="classTScreen.html#d3">TScreen</a>, <a class="el" href="classTApplication.html#a1">TApplication</a>, <a class="el" href="classTProgram.html#a17">TProgram</a><li>root
+: <a class="el" href="classTOutline.html#m0">TOutline</a><li>run()
+: <a class="el" href="classTProgram.html#a11">TProgram</a></ul>
+<h3><a name="index_s">- s -</a>
+</h3><ul>
+<li>safetyPoolExhausted()
+: <a class="el" href="classTVMemMgr.html#d1">TVMemMgr</a><li>save()
+: <a class="el" href="classTFileEditor.html#a5">TFileEditor</a><li>saveAs()
+: <a class="el" href="classTFileEditor.html#a6">TFileEditor</a><li>saveFile()
+: <a class="el" href="classTFileEditor.html#a7">TFileEditor</a><li>scanCode
+: <a class="el" href="structCharScanType.html#m1">CharScanType</a><li>screenBuffer
+: <a class="el" href="classTScreen.html#p3">TScreen</a><li>screenHeight
+: <a class="el" href="classTScreen.html#p2">TScreen</a><li>screenMode
+: <a class="el" href="classTScreen.html#p0">TScreen</a><li>screenWidth
+: <a class="el" href="classTScreen.html#p1">TScreen</a><li>scrollDraw()
+: <a class="el" href="classTScroller.html#a4">TScroller</a>, <a class="el" href="classTScrollBar.html#a4">TScrollBar</a><li>scrollStep()
+: <a class="el" href="classTScrollBar.html#a5">TScrollBar</a><li>scrollTo()
+: <a class="el" href="classTScroller.html#a5">TScroller</a>, <a class="el" href="classTEditor.html#a17">TEditor</a><li>search()
+: <a class="el" href="classTNSSortedCollection.html#a1">TNSSortedCollection</a>, <a class="el" href="classTEditor.html#a18">TEditor</a><li>seekg()
+: <a class="el" href="classipstream.html#a4">ipstream</a><li>seekp()
+: <a class="el" href="classopstream.html#a4">opstream</a><li>sel
+: <a class="el" href="classTCluster.html#n2">TCluster</a><li>select()
+: <a class="el" href="classTView.html#a49">TView</a><li>selectAll()
+: <a class="el" href="classTInputLine.html#a7">TInputLine</a><li>selected
+: <a class="el" href="classTOutlineViewer.html#a16">TOutlineViewer</a>, <a class="el" href="classTHelpViewer.html#m2">THelpViewer</a><li>selecting
+: <a class="el" href="classTEditor.html#m20">TEditor</a><li>selection
+: <a class="el" href="structTListBoxRec.html#m1">TListBoxRec</a><li>selectItem()
+: <a class="el" href="classTListViewer.html#a8">TListViewer</a>, <a class="el" href="classTDirListBox.html#a4">TDirListBox</a>, <a class="el" href="classTFileList.html#a3">TFileList</a><li>selectMode
+: <a class="el" href="classTView.html#s7">TView</a><li>selectNext()
+: <a class="el" href="classTGroup.html#a11">TGroup</a><li>selEnd
+: <a class="el" href="classTEditor.html#m8">TEditor</a>, <a class="el" href="classTInputLine.html#m5">TInputLine</a><li>selStart
+: <a class="el" href="classTEditor.html#m7">TEditor</a>, <a class="el" href="classTInputLine.html#m4">TInputLine</a><li>selType
+: <a class="el" href="classTColorSelector.html#n1">TColorSelector</a><li>separatorChar
+: <a class="el" href="classTListViewer.html#p0">TListViewer</a><li>setBounds()
+: <a class="el" href="classTView.html#a14">TView</a>, <a class="el" href="classTMenuView.html#a2">TMenuView</a><li>setbuf()
+: <a class="el" href="classfpbase.html#a8">fpbase</a><li>setBufLen()
+: <a class="el" href="classTEditor.html#a54">TEditor</a><li>setBufSize()
+: <a class="el" href="classTFileEditor.html#a8">TFileEditor</a>, <a class="el" href="classTEditor.html#a19">TEditor</a><li>setButtonState()
+: <a class="el" href="classTCluster.html#a15">TCluster</a><li>setCmdState()
+: <a class="el" href="classTView.html#d7">TView</a>, <a class="el" href="classTEditor.html#a20">TEditor</a><li>setColor()
+: <a class="el" href="classTColorDisplay.html#a4">TColorDisplay</a><li>setCommands()
+: <a class="el" href="classTView.html#d6">TView</a><li>setCrossRef()
+: <a class="el" href="classTHelpTopic.html#a9">THelpTopic</a><li>setCurPtr()
+: <a class="el" href="classTEditor.html#a55">TEditor</a><li>setCurrent()
+: <a class="el" href="classTGroup.html#a10">TGroup</a><li>setCursor()
+: <a class="el" href="classTView.html#a35">TView</a><li>setData()
+: <a class="el" href="classTGroup.html#a28">TGroup</a>, <a class="el" href="classTView.html#a30">TView</a>, <a class="el" href="classTChDirDialog.html#a4">TChDirDialog</a>, <a class="el" href="classTFileDialog.html#a5">TFileDialog</a>, <a class="el" href="classTFileList.html#a10">TFileList</a>, <a class="el" href="classTMemo.html#a2">TMemo</a>, <a class="el" href="classTListBox.html#a6">TListBox</a>, <a class="el" href="classTMultiCheckBoxes.html#a7">TMultiCheckBoxes</a>, <a class="el" href="classTRadioButtons.html#a5">TRadioButtons</a>, <a class="el" href="classTCluster.html#a13">TCluster</a>, <a class="el" href="classTInputLine.html#a8">TInputLine</a>, <a class="el" href="classTColorDialog.html#a5">TColorDialog</a><li>setGroupIndex()
+: <a class="el" href="classTColorGroupList.html#a5">TColorGroupList</a><li>setIndexes()
+: <a class="el" href="classTColorDialog.html#a7">TColorDialog</a><li>setLimit()
+: <a class="el" href="classTScroller.html#a6">TScroller</a>, <a class="el" href="classTNSCollection.html#a19">TNSCollection</a><li>setNumCrossRefs()
+: <a class="el" href="classTHelpTopic.html#a10">THelpTopic</a><li>setParams()
+: <a class="el" href="classTScrollBar.html#a6">TScrollBar</a><li>setRange()
+: <a class="el" href="classTListViewer.html#a9">TListViewer</a>, <a class="el" href="classTScrollBar.html#a7">TScrollBar</a><li>setScreenMode()
+: <a class="el" href="classTProgram.html#a13">TProgram</a><li>setSelect()
+: <a class="el" href="classTEditor.html#a21">TEditor</a><li>setstate()
+: <a class="el" href="classpstream.html#b2">pstream</a><li>setState()
+: <a class="el" href="classTWindow.html#a6">TWindow</a>, <a class="el" href="classTGroup.html#a22">TGroup</a>, <a class="el" href="classTListViewer.html#a10">TListViewer</a>, <a class="el" href="classTScroller.html#a7">TScroller</a>, <a class="el" href="classTFrame.html#a4">TFrame</a>, <a class="el" href="classTView.html#a50">TView</a>, <a class="el" href="classTDirListBox.html#a6">TDirListBox</a>, <a class="el" href="classTOutlineViewer.html#a17">TOutlineViewer</a>, <a class="el" href="classTEditor.html#a22">TEditor</a>, <a class="el" href="classTIndicator.html#a3">TIndicator</a>, <a class="el" href="classTCluster.html#a14">TCluster</a>, <a class="el" href="classTButton.html#a8">TButton</a>, <a class="el" href="classTInputLine.html#a9">TInputLine</a><li>setStep()
+: <a class="el" href="classTScrollBar.html#a8">TScrollBar</a><li>setText()
+: <a class="el" href="classTParamText.html#a3">TParamText</a><li>setValidator()
+: <a class="el" href="classTInputLine.html#a11">TInputLine</a><li>setValue()
+: <a class="el" href="classTScrollBar.html#a9">TScrollBar</a>, <a class="el" href="classTIndicator.html#a4">TIndicator</a><li>setWidth()
+: <a class="el" href="classTHelpTopic.html#a11">THelpTopic</a><li>shadows
+: <a class="el" href="classTButton.html#p0">TButton</a><li>shiftState
+: <a class="el" href="classTSortedListBox.html#n0">TSortedListBox</a><li>shouldDelete
+: <a class="el" href="classTNSCollection.html#n4">TNSCollection</a><li>show()
+: <a class="el" href="classTView.html#a18">TView</a><li>showCursor()
+: <a class="el" href="classTView.html#a36">TView</a><li>showMarkers
+: <a class="el" href="classTView.html#p2">TView</a><li>shutDown()
+: <a class="el" href="classTWindow.html#a10">TWindow</a>, <a class="el" href="classTGroup.html#a2">TGroup</a>, <a class="el" href="classTListViewer.html#a12">TListViewer</a>, <a class="el" href="classTScroller.html#a9">TScroller</a>, <a class="el" href="classTView.html#a67">TView</a>, <a class="el" href="classTNSCollection.html#a2">TNSCollection</a>, <a class="el" href="classTObject.html#a1">TObject</a>, <a class="el" href="classTChDirDialog.html#a6">TChDirDialog</a>, <a class="el" href="classTFileDialog.html#a7">TFileDialog</a>, <a class="el" href="classTFileEditor.html#a9">TFileEditor</a>, <a class="el" href="classTEditor.html#a2">TEditor</a>, <a class="el" href="classTHistory.html#a6">THistory</a>, <a class="el" href="classTLabel.html#a4">TLabel</a>, <a class="el" href="classTProgram.html#a15">TProgram</a>, <a class="el" href="classTDeskTop.html#a5">TDeskTop</a><li>size
+: <a class="el" href="classTView.html#m1">TView</a>, <a class="el" href="structTSearchRec.html#m2">TSearchRec</a>, <a class="el" href="structTResourceItem.html#m1">TResourceItem</a>, <a class="el" href="classTHelpIndex.html#m0">THelpIndex</a>, <a class="el" href="classTParagraph.html#m2">TParagraph</a><li>sizeLimits()
+: <a class="el" href="classTWindow.html#a7">TWindow</a>, <a class="el" href="classTView.html#a2">TView</a>, <a class="el" href="classTEditWindow.html#a4">TEditWindow</a><li>standardScrollBar()
+: <a class="el" href="classTWindow.html#a8">TWindow</a><li>startSelect()
+: <a class="el" href="classTEditor.html#a56">TEditor</a><li>state
+: <a class="el" href="classTView.html#m4">TView</a>, <a class="el" href="classpstream.html#n1">pstream</a><li>status
+: <a class="el" href="classTValidator.html#m0">TValidator</a><li>statusLine
+: <a class="el" href="classTProgram.html#p1">TProgram</a><li>str
+: <a class="el" href="classTParamText.html#n0">TParamText</a><li>stream
+: <a class="el" href="classTResourceFile.html#n0">TResourceFile</a>, <a class="el" href="classTHelpFile.html#m0">THelpFile</a><li>StreamableError
+: <a class="el" href="classpstream.html#s5">pstream</a><li>strings
+: <a class="el" href="classTStringLookupValidator.html#n0">TStringLookupValidator</a>, <a class="el" href="classTCluster.html#n3">TCluster</a><li>subMenu
+: <a class="el" href="classTMenuItem.html#m7">TMenuItem</a><li>suspend()
+: <a class="el" href="classTScreen.html#d4">TScreen</a>, <a class="el" href="classTVMemMgr.html#d5">TVMemMgr</a>, <a class="el" href="classTApplication.html#a0">TApplication</a>, <a class="el" href="classTProgram.html#a16">TProgram</a><li>switchTo()
+: <a class="el" href="classTResourceFile.html#a8">TResourceFile</a><li>switchToTopic()
+: <a class="el" href="classTHelpViewer.html#a7">THelpViewer</a><li>sync()
+: <a class="el" href="classTerminalBuf.html#a2">TerminalBuf</a></ul>
+<h3><a name="index_t">- t -</a>
+</h3><ul>
+<li>t
+: <a class="el" href="structfLink.html#m1">fLink</a><li>TApplication()
+: <a class="el" href="classTApplication.html#b0">TApplication</a><li>TBackground()
+: <a class="el" href="classTBackground.html#b0">TBackground</a><li>TButton()
+: <a class="el" href="classTButton.html#b0">TButton</a><li>TChDirDialog()
+: <a class="el" href="classTChDirDialog.html#b0">TChDirDialog</a><li>TCheckBoxes()
+: <a class="el" href="classTCheckBoxes.html#b0">TCheckBoxes</a><li>TCluster()
+: <a class="el" href="classTCluster.html#b0">TCluster</a><li>TCollection()
+: <a class="el" href="classTCollection.html#b0">TCollection</a><li>TColorDialog()
+: <a class="el" href="classTColorDialog.html#b0">TColorDialog</a><li>TColorDisplay()
+: <a class="el" href="classTColorDisplay.html#b0">TColorDisplay</a><li>TColorGroup()
+: <a class="el" href="classTColorGroup.html#a0">TColorGroup</a><li>TColorGroupList()
+: <a class="el" href="classTColorGroupList.html#b0">TColorGroupList</a><li>TColorItem()
+: <a class="el" href="classTColorItem.html#a0">TColorItem</a><li>TColorItemList()
+: <a class="el" href="classTColorItemList.html#b0">TColorItemList</a><li>TColorSelector()
+: <a class="el" href="classTColorSelector.html#b0">TColorSelector</a><li>TCommandSet()
+: <a class="el" href="classTCommandSet.html#a1">TCommandSet</a><li>TCrossRef()
+: <a class="el" href="classTCrossRef.html#a0">TCrossRef</a><li>TDeskInit()
+: <a class="el" href="classTDeskInit.html#a0">TDeskInit</a><li>TDeskTop()
+: <a class="el" href="classTDeskTop.html#b0">TDeskTop</a><li>TDialog()
+: <a class="el" href="classTDialog.html#b0">TDialog</a><li>TDirCollection()
+: <a class="el" href="classTDirCollection.html#b0">TDirCollection</a><li>TDirEntry()
+: <a class="el" href="classTDirEntry.html#a0">TDirEntry</a><li>TDirListBox()
+: <a class="el" href="classTDirListBox.html#b0">TDirListBox</a><li>TDisplay
+: <a class="el" href="classTFrame.html#l0">TFrame</a><li>TEditor()
+: <a class="el" href="classTEditor.html#b0">TEditor</a><li>TEditWindow()
+: <a class="el" href="classTEditWindow.html#b0">TEditWindow</a><li>tellg()
+: <a class="el" href="classipstream.html#a2">ipstream</a><li>tellp()
+: <a class="el" href="classopstream.html#a2">opstream</a><li>term
+: <a class="el" href="classTerminalBuf.html#n0">TerminalBuf</a><li>TerminalBuf()
+: <a class="el" href="classTerminalBuf.html#a0">TerminalBuf</a><li>text
+: <a class="el" href="classTDirEntry.html#a3">TDirEntry</a>, <a class="el" href="classTNode.html#m1">TNode</a>, <a class="el" href="classTStatusItem.html#m1">TStatusItem</a>, <a class="el" href="classTParagraph.html#m3">TParagraph</a>, <a class="el" href="classTStaticText.html#n0">TStaticText</a>, <a class="el" href="classTColorDisplay.html#n1">TColorDisplay</a><li>TFileCollection()
+: <a class="el" href="classTFileCollection.html#b0">TFileCollection</a><li>TFileDialog()
+: <a class="el" href="classTFileDialog.html#b0">TFileDialog</a><li>TFileEditor()
+: <a class="el" href="classTFileEditor.html#b0">TFileEditor</a><li>TFileInfoPane()
+: <a class="el" href="classTFileInfoPane.html#b0">TFileInfoPane</a><li>TFileInputLine()
+: <a class="el" href="classTFileInputLine.html#b0">TFileInputLine</a><li>TFileList()
+: <a class="el" href="classTFileList.html#b0">TFileList</a><li>TFilterValidator()
+: <a class="el" href="classTFilterValidator.html#b0">TFilterValidator</a><li>TFindDialogRec()
+: <a class="el" href="structTFindDialogRec.html#a0">TFindDialogRec</a><li>TFrame()
+: <a class="el" href="classTFrame.html#b0">TFrame</a><li>TGroup()
+: <a class="el" href="classTGroup.html#b0">TGroup</a><li>THelpFile()
+: <a class="el" href="classTHelpFile.html#a0">THelpFile</a><li>THelpIndex()
+: <a class="el" href="classTHelpIndex.html#a1">THelpIndex</a><li>THelpTopic()
+: <a class="el" href="classTHelpTopic.html#a1">THelpTopic</a><li>THelpViewer()
+: <a class="el" href="classTHelpViewer.html#a0">THelpViewer</a><li>THelpWindow()
+: <a class="el" href="classTHelpWindow.html#a0">THelpWindow</a><li>THistInit()
+: <a class="el" href="classTHistInit.html#a0">THistInit</a><li>THistory()
+: <a class="el" href="classTHistory.html#b0">THistory</a><li>THistoryViewer()
+: <a class="el" href="classTHistoryViewer.html#a0">THistoryViewer</a><li>THistoryWindow()
+: <a class="el" href="classTHistoryWindow.html#a0">THistoryWindow</a><li>tile()
+: <a class="el" href="classTDeskTop.html#a3">TDeskTop</a><li>tileColumnsFirst
+: <a class="el" href="classTDeskTop.html#n1">TDeskTop</a><li>tileError()
+: <a class="el" href="classTDeskTop.html#a4">TDeskTop</a><li>time
+: <a class="el" href="structTSearchRec.html#m1">TSearchRec</a><li>TIndicator()
+: <a class="el" href="classTIndicator.html#b0">TIndicator</a><li>TInputLine()
+: <a class="el" href="classTInputLine.html#b0">TInputLine</a><li>title
+: <a class="el" href="classTWindow.html#m5">TWindow</a>, <a class="el" href="classTButton.html#m0">TButton</a><li>TLabel()
+: <a class="el" href="classTLabel.html#b0">TLabel</a><li>TListBox()
+: <a class="el" href="classTListBox.html#b0">TListBox</a><li>TListViewer()
+: <a class="el" href="classTListViewer.html#b0">TListViewer</a><li>TLookupValidator()
+: <a class="el" href="classTLookupValidator.html#b0">TLookupValidator</a><li>TMemo()
+: <a class="el" href="classTMemo.html#b0">TMemo</a><li>TMenu()
+: <a class="el" href="classTMenu.html#a2">TMenu</a><li>TMenuBar()
+: <a class="el" href="classTMenuBar.html#b0">TMenuBar</a><li>TMenuBox()
+: <a class="el" href="classTMenuBox.html#b0">TMenuBox</a><li>TMenuItem()
+: <a class="el" href="classTMenuItem.html#a1">TMenuItem</a><li>TMenuView()
+: <a class="el" href="classTMenuView.html#b0">TMenuView</a><li>TMonoSelector()
+: <a class="el" href="classTMonoSelector.html#b0">TMonoSelector</a><li>TMultiCheckBoxes()
+: <a class="el" href="classTMultiCheckBoxes.html#b0">TMultiCheckBoxes</a><li>TNode()
+: <a class="el" href="classTNode.html#a1">TNode</a><li>TNSCollection()
+: <a class="el" href="classTNSCollection.html#b0">TNSCollection</a><li>TNSSortedCollection()
+: <a class="el" href="classTNSSortedCollection.html#b0">TNSSortedCollection</a><li>toggleInsMode()
+: <a class="el" href="classTEditor.html#a57">TEditor</a><li>topic
+: <a class="el" href="classTHelpViewer.html#m1">THelpViewer</a><li>topItem
+: <a class="el" href="classTListViewer.html#m3">TListViewer</a><li>TopView()
+: <a class="el" href="classTView.html#a60">TView</a><li>TOutline()
+: <a class="el" href="classTOutline.html#b4">TOutline</a><li>TOutlineViewer()
+: <a class="el" href="classTOutlineViewer.html#a1">TOutlineViewer</a><li>TPalette()
+: <a class="el" href="classTPalette.html#a1">TPalette</a><li>TParagraph()
+: <a class="el" href="classTParagraph.html#a0">TParagraph</a><li>TParamText()
+: <a class="el" href="classTParamText.html#b0">TParamText</a><li>TProgInit()
+: <a class="el" href="classTProgInit.html#a0">TProgInit</a><li>TProgram()
+: <a class="el" href="classTProgram.html#a0">TProgram</a><li>TPXPictureValidator()
+: <a class="el" href="classTPXPictureValidator.html#b0">TPXPictureValidator</a><li>trackCursor()
+: <a class="el" href="classTEditor.html#a23">TEditor</a><li>TRadioButtons()
+: <a class="el" href="classTRadioButtons.html#b0">TRadioButtons</a><li>TRangeValidator()
+: <a class="el" href="classTRangeValidator.html#b0">TRangeValidator</a><li>transfer()
+: <a class="el" href="classTRangeValidator.html#a3">TRangeValidator</a>, <a class="el" href="classTValidator.html#a4">TValidator</a><li>TRect()
+: <a class="el" href="classTRect.html#a2">TRect</a><li>TReplaceDialogRec()
+: <a class="el" href="structTReplaceDialogRec.html#a0">TReplaceDialogRec</a><li>TResourceCollection()
+: <a class="el" href="classTResourceCollection.html#a1">TResourceCollection</a><li>TResourceFile()
+: <a class="el" href="classTResourceFile.html#a0">TResourceFile</a><li>TScreen()
+: <a class="el" href="classTScreen.html#a0">TScreen</a><li>TScrollBar()
+: <a class="el" href="classTScrollBar.html#b0">TScrollBar</a><li>TScroller()
+: <a class="el" href="classTScroller.html#b0">TScroller</a><li>TSItem()
+: <a class="el" href="classTSItem.html#a0">TSItem</a><li>TSortedCollection()
+: <a class="el" href="classTSortedCollection.html#b0">TSortedCollection</a><li>TSortedListBox()
+: <a class="el" href="classTSortedListBox.html#b0">TSortedListBox</a><li>TStaticText()
+: <a class="el" href="classTStaticText.html#b0">TStaticText</a><li>TStatusDef()
+: <a class="el" href="classTStatusDef.html#a0">TStatusDef</a><li>TStatusItem()
+: <a class="el" href="classTStatusItem.html#a0">TStatusItem</a><li>TStatusLine()
+: <a class="el" href="classTStatusLine.html#b0">TStatusLine</a><li>TStreamableClass()
+: <a class="el" href="classTStreamableClass.html#a0">TStreamableClass</a><li>TStreamableTypes()
+: <a class="el" href="classTStreamableTypes.html#a0">TStreamableTypes</a><li>TStrIndexRec()
+: <a class="el" href="classTStrIndexRec.html#a0">TStrIndexRec</a><li>TStringCollection()
+: <a class="el" href="classTStringCollection.html#b0">TStringCollection</a><li>TStringList()
+: <a class="el" href="classTStringList.html#b0">TStringList</a><li>TStringLookupValidator()
+: <a class="el" href="classTStringLookupValidator.html#b0">TStringLookupValidator</a><li>TStrListMaker()
+: <a class="el" href="classTStrListMaker.html#b0">TStrListMaker</a><li>TSubMenu()
+: <a class="el" href="classTSubMenu.html#a0">TSubMenu</a><li>TTerminal()
+: <a class="el" href="classTTerminal.html#a0">TTerminal</a><li>TTextDevice()
+: <a class="el" href="classTTextDevice.html#a0">TTextDevice</a><li>TValidator()
+: <a class="el" href="classTValidator.html#b0">TValidator</a><li>TView()
+: <a class="el" href="classTView.html#b0">TView</a><li>TVMemMgr()
+: <a class="el" href="classTVMemMgr.html#a0">TVMemMgr</a><li>TWindow()
+: <a class="el" href="classTWindow.html#b0">TWindow</a><li>TWindowInit()
+: <a class="el" href="classTWindowInit.html#a0">TWindowInit</a><li>types
+: <a class="el" href="classpstream.html#q0">pstream</a></ul>
+<h3><a name="index_u">- u -</a>
+</h3><ul>
+<li>undo()
+: <a class="el" href="classTEditor.html#a24">TEditor</a><li>Union()
+: <a class="el" href="classTRect.html#a6">TRect</a><li>unlock()
+: <a class="el" href="classTGroup.html#a32">TGroup</a>, <a class="el" href="classTEditor.html#a58">TEditor</a><li>update()
+: <a class="el" href="classTOutlineViewer.html#a18">TOutlineViewer</a>, <a class="el" href="classTStatusLine.html#a6">TStatusLine</a>, <a class="el" href="classTEditor.html#a59">TEditor</a><li>updateCommands()
+: <a class="el" href="classTFileEditor.html#a10">TFileEditor</a>, <a class="el" href="classTEditor.html#a25">TEditor</a><li>updateFlags
+: <a class="el" href="classTEditor.html#m24">TEditor</a></ul>
+<h3><a name="index_v">- v -</a>
+</h3><ul>
+<li>valid()
+: <a class="el" href="classTGroup.html#a37">TGroup</a>, <a class="el" href="classTView.html#a16">TView</a>, <a class="el" href="classTChDirDialog.html#a5">TChDirDialog</a>, <a class="el" href="classTFileDialog.html#a6">TFileDialog</a>, <a class="el" href="classTFileEditor.html#a11">TFileEditor</a>, <a class="el" href="classTEditor.html#a26">TEditor</a>, <a class="el" href="classTInputLine.html#a10">TInputLine</a>, <a class="el" href="classTDialog.html#a3">TDialog</a><li>validate()
+: <a class="el" href="classTValidator.html#a5">TValidator</a><li>validChars
+: <a class="el" href="classTFilterValidator.html#n0">TFilterValidator</a><li>validView()
+: <a class="el" href="classTProgram.html#a14">TProgram</a><li>value
+: <a class="el" href="classTScrollBar.html#m0">TScrollBar</a>, <a class="el" href="classTCluster.html#n0">TCluster</a>, <a class="el" href="classTSItem.html#m0">TSItem</a><li>vChars
+: <a class="el" href="classTScrollBar.html#p0">TScrollBar</a><li>videoModes
+: <a class="el" href="classTDisplay.html#s4">TDisplay</a><li>viewer
+: <a class="el" href="classTHistoryWindow.html#n0">THistoryWindow</a><li>vScrollBar
+: <a class="el" href="classTListViewer.html#m1">TListViewer</a>, <a class="el" href="classTScroller.html#n3">TScroller</a>, <a class="el" href="classTEditor.html#m1">TEditor</a></ul>
+<h3><a name="index_w">- w -</a>
+</h3><ul>
+<li>warningText
+: <a class="el" href="classMsgBoxText.html#p4">MsgBoxText</a><li>what
+: <a class="el" href="structTEvent.html#m0">TEvent</a><li>where
+: <a class="el" href="structMouseEventType.html#m0">MouseEventType</a><li>wildCard
+: <a class="el" href="classTFileDialog.html#m2">TFileDialog</a><li>wrap
+: <a class="el" href="classTParagraph.html#m1">TParagraph</a><li>write()
+: <a class="el" href="classTWindow.html#b1">TWindow</a>, <a class="el" href="classTGroup.html#b1">TGroup</a>, <a class="el" href="classTListViewer.html#b1">TListViewer</a>, <a class="el" href="classTScroller.html#b1">TScroller</a>, <a class="el" href="classTScrollBar.html#b1">TScrollBar</a>, <a class="el" href="classTView.html#b1">TView</a>, <a class="el" href="classTStringLookupValidator.html#b1">TStringLookupValidator</a>, <a class="el" href="classTRangeValidator.html#b1">TRangeValidator</a>, <a class="el" href="classTFilterValidator.html#b1">TFilterValidator</a>, <a class="el" href="classTPXPictureValidator.html#b1">TPXPictureValidator</a>, <a class="el" href="classTValidator.html#b1">TValidator</a>, <a class="el" href="classTStreamable.html#b1">TStreamable</a>, <a class="el" href="classTChDirDialog.html#b1">TChDirDialog</a>, <a class="el" href="classTFileDialog.html#b1">TFileDialog</a>, <a class="el" href="classTStrListMaker.html#b1">TStrListMaker</a>, <a class="el" href="classTStringList.html#b1">TStringList</a>, <a class="el" href="classTOutline.html#b0">TOutline</a>, <a class="el" href="classTOutlineViewer.html#b0">TOutlineViewer</a>, <a class="el" href="classTSortedCollection.html#b2">TSortedCollection</a>, <a class="el" href="classTCollection.html#b2">TCollection</a>, <a class="el" href="classTStatusLine.html#b1">TStatusLine</a>, <a class="el" href="classTMenuView.html#b1">TMenuView</a>, <a class="el" href="classTHelpIndex.html#b0">THelpIndex</a>, <a class="el" href="classTHelpTopic.html#b0">THelpTopic</a>, <a class="el" href="classTEditWindow.html#b1">TEditWindow</a>, <a class="el" href="classTFileEditor.html#b1">TFileEditor</a>, <a class="el" href="classTMemo.html#b1">TMemo</a>, <a class="el" href="classTEditor.html#b1">TEditor</a>, <a class="el" href="classTHistory.html#b1">THistory</a>, <a class="el" href="classTLabel.html#b1">TLabel</a>, <a class="el" href="classTParamText.html#b1">TParamText</a>, <a class="el" href="classTStaticText.html#b1">TStaticText</a>, <a class="el" href="classTListBox.html#b1">TListBox</a>, <a class="el" href="classTMultiCheckBoxes.html#b1">TMultiCheckBoxes</a>, <a class="el" href="classTCluster.html#b1">TCluster</a>, <a class="el" href="classTButton.html#b1">TButton</a>, <a class="el" href="classTInputLine.html#b1">TInputLine</a>, <a class="el" href="classTColorDialog.html#b1">TColorDialog</a>, <a class="el" href="classTColorGroupList.html#b1">TColorGroupList</a>, <a class="el" href="classTColorDisplay.html#b1">TColorDisplay</a>, <a class="el" href="classTColorSelector.html#b1">TColorSelector</a>, <a class="el" href="classTBackground.html#b1">TBackground</a><li>writeBuf()
+: <a class="el" href="classTView.html#a62">TView</a><li>writeByte()
+: <a class="el" href="classopstream.html#a6">opstream</a><li>writeBytes()
+: <a class="el" href="classopstream.html#a7">opstream</a><li>writeChar()
+: <a class="el" href="classTView.html#a63">TView</a><li>writeData()
+: <a class="el" href="classopstream.html#b2">opstream</a><li>writeLine()
+: <a class="el" href="classTView.html#a65">TView</a><li>writeNode()
+: <a class="el" href="classTOutline.html#b2">TOutline</a><li>writePrefix()
+: <a class="el" href="classopstream.html#b1">opstream</a><li>writeRow()
+: <a class="el" href="classTScreen.html#d8">TScreen</a><li>writeStr()
+: <a class="el" href="classTView.html#a66">TView</a><li>writeString()
+: <a class="el" href="classopstream.html#a9">opstream</a><li>writeSuffix()
+: <a class="el" href="classopstream.html#b3">opstream</a><li>writeWord()
+: <a class="el" href="classopstream.html#a8">opstream</a></ul>
+<h3><a name="index_x">- x -</a>
+</h3><ul>
+<li>x
+: <a class="el" href="classTPoint.html#m0">TPoint</a></ul>
+<h3><a name="index_y">- y -</a>
+</h3><ul>
+<li>y
+: <a class="el" href="classTPoint.html#m1">TPoint</a><li>yesText
+: <a class="el" href="classMsgBoxText.html#p0">MsgBoxText</a></ul>
+<h3><a name="index_z">- z -</a>
+</h3><ul>
+<li>zoom()
+: <a class="el" href="classTWindow.html#a9">TWindow</a><li>zoomRect
+: <a class="el" href="classTWindow.html#m1">TWindow</a></ul>
+<h3><a name="index_~">- ~ -</a>
+</h3><ul>
+<li>~fpbase()
+: <a class="el" href="classfpbase.html#a4">fpbase</a><li>~fpstream()
+: <a class="el" href="classfpstream.html#a4">fpstream</a><li>~ifpstream()
+: <a class="el" href="classifpstream.html#a4">ifpstream</a><li>~iopstream()
+: <a class="el" href="classiopstream.html#a1">iopstream</a><li>~ipstream()
+: <a class="el" href="classipstream.html#a1">ipstream</a><li>~ofpstream()
+: <a class="el" href="classofpstream.html#a4">ofpstream</a><li>~opstream()
+: <a class="el" href="classopstream.html#a1">opstream</a><li>~pstream()
+: <a class="el" href="classpstream.html#a1">pstream</a><li>~TApplication()
+: <a class="el" href="classTApplication.html#b1">TApplication</a><li>~TButton()
+: <a class="el" href="classTButton.html#a1">TButton</a><li>~TCluster()
+: <a class="el" href="classTCluster.html#a1">TCluster</a><li>~TColorDialog()
+: <a class="el" href="classTColorDialog.html#a1">TColorDialog</a><li>~TColorDisplay()
+: <a class="el" href="classTColorDisplay.html#a1">TColorDisplay</a><li>~TColorGroup()
+: <a class="el" href="classTColorGroup.html#a1">TColorGroup</a><li>~TColorGroupList()
+: <a class="el" href="classTColorGroupList.html#a1">TColorGroupList</a><li>~TColorItem()
+: <a class="el" href="classTColorItem.html#a1">TColorItem</a><li>~TDirEntry()
+: <a class="el" href="classTDirEntry.html#a1">TDirEntry</a><li>~TDirListBox()
+: <a class="el" href="classTDirListBox.html#a1">TDirListBox</a><li>~TEditor()
+: <a class="el" href="classTEditor.html#a1">TEditor</a><li>~TFileDialog()
+: <a class="el" href="classTFileDialog.html#a1">TFileDialog</a><li>~TFileList()
+: <a class="el" href="classTFileList.html#a1">TFileList</a><li>~TFilterValidator()
+: <a class="el" href="classTFilterValidator.html#a1">TFilterValidator</a><li>~TGroup()
+: <a class="el" href="classTGroup.html#a1">TGroup</a><li>~THelpFile()
+: <a class="el" href="classTHelpFile.html#a1">THelpFile</a><li>~THelpIndex()
+: <a class="el" href="classTHelpIndex.html#a2">THelpIndex</a><li>~THelpTopic()
+: <a class="el" href="classTHelpTopic.html#a2">THelpTopic</a><li>~THelpViewer()
+: <a class="el" href="classTHelpViewer.html#a1">THelpViewer</a><li>~TInputLine()
+: <a class="el" href="classTInputLine.html#a1">TInputLine</a><li>~TListBox()
+: <a class="el" href="classTListBox.html#a1">TListBox</a><li>~TMenu()
+: <a class="el" href="classTMenu.html#a3">TMenu</a><li>~TMenuBar()
+: <a class="el" href="classTMenuBar.html#a2">TMenuBar</a><li>~TMenuItem()
+: <a class="el" href="classTMenuItem.html#a2">TMenuItem</a><li>~TMultiCheckBoxes()
+: <a class="el" href="classTMultiCheckBoxes.html#a1">TMultiCheckBoxes</a><li>~TNode()
+: <a class="el" href="classTNode.html#a2">TNode</a><li>~TNSCollection()
+: <a class="el" href="classTNSCollection.html#a1">TNSCollection</a><li>~TObject()
+: <a class="el" href="classTObject.html#a0">TObject</a><li>~TOutline()
+: <a class="el" href="classTOutline.html#a1">TOutline</a><li>~TPalette()
+: <a class="el" href="classTPalette.html#a2">TPalette</a><li>~TParamText()
+: <a class="el" href="classTParamText.html#a1">TParamText</a><li>~TProgram()
+: <a class="el" href="classTProgram.html#a1">TProgram</a><li>~TPXPictureValidator()
+: <a class="el" href="classTPXPictureValidator.html#a1">TPXPictureValidator</a><li>~TResourceFile()
+: <a class="el" href="classTResourceFile.html#a1">TResourceFile</a><li>~TScreen()
+: <a class="el" href="classTScreen.html#a1">TScreen</a><li>~TSItem()
+: <a class="el" href="classTSItem.html#a1">TSItem</a><li>~TStaticText()
+: <a class="el" href="classTStaticText.html#a1">TStaticText</a><li>~TStatusItem()
+: <a class="el" href="classTStatusItem.html#a1">TStatusItem</a><li>~TStatusLine()
+: <a class="el" href="classTStatusLine.html#a1">TStatusLine</a><li>~TStreamableTypes()
+: <a class="el" href="classTStreamableTypes.html#a1">TStreamableTypes</a><li>~TStringList()
+: <a class="el" href="classTStringList.html#a0">TStringList</a><li>~TStringLookupValidator()
+: <a class="el" href="classTStringLookupValidator.html#a1">TStringLookupValidator</a><li>~TStrListMaker()
+: <a class="el" href="classTStrListMaker.html#a1">TStrListMaker</a><li>~TTerminal()
+: <a class="el" href="classTTerminal.html#a1">TTerminal</a><li>~TView()
+: <a class="el" href="classTView.html#a1">TView</a><li>~TWindow()
+: <a class="el" href="classTWindow.html#a1">TWindow</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:11 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/globals.html b/freebsdtvision/doc/html/globals.html
new file mode 100644
index 0000000..3e1371b
--- /dev/null
+++ b/freebsdtvision/doc/html/globals.html
@@ -0,0 +1,236 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>File Member Index</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TVision File Members</h1><center>
+<a href="#index_a">a</a>&nbsp;|&nbsp;<a href="#index_b">b</a>&nbsp;|&nbsp;<a href="#index_c">c</a>&nbsp;|&nbsp;<a href="#index_d">d</a>&nbsp;|&nbsp;<a href="#index_e">e</a>&nbsp;|&nbsp;<a href="#index_f">f</a>&nbsp;|&nbsp;<a href="#index_g">g</a>&nbsp;|&nbsp;<a href="#index_h">h</a>&nbsp;|&nbsp;<a href="#index_i">i</a>&nbsp;|&nbsp;<a href="#index_l">l</a>&nbsp;|&nbsp;<a href="#index_m">m</a>&nbsp;|&nbsp;<a href="#index_n">n</a>&nbsp;|&nbsp;<a href="#index_o">o</a>&nbsp;|&nbsp;<a href="#index_p">p</a>&nbsp;|&nbsp;<a href="#index_s">s</a>&nbsp;|&nbsp;<a href="#index_t">t</a>&nbsp;|&nbsp;<a href="#index_u">u</a>&nbsp;|&nbsp;<a href="#index_v">v</a>&nbsp;|&nbsp;<a href="#index_w">w</a></center>
+
+<p>
+Here is a list of all documented file members with links to the documentation:<h3><a name="index_a">- a -</a>
+</h3><ul>
+<li>apBlackWhite
+: <a class="el" href="app_8h.html#a22">app.h</a><li>apColor
+: <a class="el" href="app_8h.html#a21">app.h</a><li>apMonochrome
+: <a class="el" href="app_8h.html#a23">app.h</a></ul>
+<h3><a name="index_b">- b -</a>
+</h3><ul>
+<li>bfBroadcast
+: <a class="el" href="dialogs_8h.html#a3">dialogs.h</a><li>bfDefault
+: <a class="el" href="dialogs_8h.html#a1">dialogs.h</a><li>bfGrabFocus
+: <a class="el" href="dialogs_8h.html#a4">dialogs.h</a><li>bfLeftJust
+: <a class="el" href="dialogs_8h.html#a2">dialogs.h</a><li>bfNormal
+: <a class="el" href="dialogs_8h.html#a0">dialogs.h</a><li>Boolean
+: <a class="el" href="ttypes_8h.html#a13">ttypes.h</a><li>BUILDER
+: <a class="el" href="tobjstrm_8h.html#a2">tobjstrm.h</a></ul>
+<h3><a name="index_c">- c -</a>
+</h3><ul>
+<li>ccAppFunc
+: <a class="el" href="ttypes_8h.html#a7">ttypes.h</a><li>ccIndex
+: <a class="el" href="ttypes_8h.html#a5">ttypes.h</a><li>ccNotFound
+: <a class="el" href="ttypes_8h.html#a8">ttypes.h</a><li>ccTestFunc
+: <a class="el" href="ttypes_8h.html#a6">ttypes.h</a><li>cmFileDoubleClicked
+: <a class="el" href="stddlg_8h.html#a8">stddlg.h</a><li>cmFileFocused
+: <a class="el" href="stddlg_8h.html#a7">stddlg.h</a><li>crossRefHandler
+: <a class="el" href="helpbase_8h.html#a2">helpbase.h</a>, <a class="el" href="help_8h.html#a0">help.h</a><li>cstrlen()
+: <a class="el" href="util_8h.html#a12">util.h</a><li>ctrlToArrow()
+: <a class="el" href="util_8h.html#a4">util.h</a></ul>
+<h3><a name="index_d">- d -</a>
+</h3><ul>
+<li>DEFAULT_SAFETY_POOL_SIZE
+: <a class="el" href="buffers_8h.html#a0">buffers.h</a><li>defEditorDialog()
+: <a class="el" href="editors_8h.html#a52">editors.h</a><li>dmDragGrow
+: <a class="el" href="views_8h.html#a58">views.h</a><li>dmDragMove
+: <a class="el" href="views_8h.html#a57">views.h</a><li>dmLimitAll
+: <a class="el" href="views_8h.html#a63">views.h</a><li>dmLimitHiX
+: <a class="el" href="views_8h.html#a61">views.h</a><li>dmLimitHiY
+: <a class="el" href="views_8h.html#a62">views.h</a><li>dmLimitLoX
+: <a class="el" href="views_8h.html#a59">views.h</a><li>dmLimitLoY
+: <a class="el" href="views_8h.html#a60">views.h</a></ul>
+<h3><a name="index_e">- e -</a>
+</h3><ul>
+<li>edCreateError
+: <a class="el" href="editors_8h.html#a36">editors.h</a><li>edFind
+: <a class="el" href="editors_8h.html#a40">editors.h</a><li>edOutOfMemory
+: <a class="el" href="editors_8h.html#a33">editors.h</a><li>edReadError
+: <a class="el" href="editors_8h.html#a34">editors.h</a><li>edReplace
+: <a class="el" href="editors_8h.html#a42">editors.h</a><li>edReplacePrompt
+: <a class="el" href="editors_8h.html#a43">editors.h</a><li>edSaveAs
+: <a class="el" href="editors_8h.html#a39">editors.h</a><li>edSaveModify
+: <a class="el" href="editors_8h.html#a37">editors.h</a><li>edSaveUntitled
+: <a class="el" href="editors_8h.html#a38">editors.h</a><li>edSearchFailed
+: <a class="el" href="editors_8h.html#a41">editors.h</a><li>edWriteError
+: <a class="el" href="editors_8h.html#a35">editors.h</a><li>efBackupFiles
+: <a class="el" href="editors_8h.html#a49">editors.h</a><li>efCaseSensitive
+: <a class="el" href="editors_8h.html#a44">editors.h</a><li>efDoReplace
+: <a class="el" href="editors_8h.html#a48">editors.h</a><li>efPromptOnReplace
+: <a class="el" href="editors_8h.html#a46">editors.h</a><li>efReplaceAll
+: <a class="el" href="editors_8h.html#a47">editors.h</a><li>efWholeWordsOnly
+: <a class="el" href="editors_8h.html#a45">editors.h</a><li>EOS
+: <a class="el" href="ttypes_8h.html#a4">ttypes.h</a><li>evBroadcast
+: <a class="el" href="system_8h.html#a6">system.h</a><li>evCommand
+: <a class="el" href="system_8h.html#a5">system.h</a><li>eventQSize
+: <a class="el" href="tvconfig_8h.html#a0">tvconfig.h</a><li>evKeyboard
+: <a class="el" href="system_8h.html#a9">system.h</a><li>evKeyDown
+: <a class="el" href="system_8h.html#a4">system.h</a><li>evMessage
+: <a class="el" href="system_8h.html#a10">system.h</a><li>evMouse
+: <a class="el" href="system_8h.html#a8">system.h</a><li>evMouseAuto
+: <a class="el" href="system_8h.html#a3">system.h</a><li>evMouseDown
+: <a class="el" href="system_8h.html#a0">system.h</a><li>evMouseMove
+: <a class="el" href="system_8h.html#a2">system.h</a><li>evMouseUp
+: <a class="el" href="system_8h.html#a1">system.h</a><li>evNothing
+: <a class="el" href="system_8h.html#a7">system.h</a><li>expandPath()
+: <a class="el" href="util_8h.html#a21">util.h</a></ul>
+<h3><a name="index_f">- f -</a>
+</h3><ul>
+<li>fexpand()
+: <a class="el" href="util_8h.html#a2">util.h</a><li>filelength()
+: <a class="el" href="util_8h.html#a22">util.h</a><li>focusedEvents
+: <a class="el" href="views_8h.html#a108">views.h</a></ul>
+<h3><a name="index_g">- g -</a>
+</h3><ul>
+<li>getAltChar()
+: <a class="el" href="util_8h.html#a5">util.h</a><li>getAltCode()
+: <a class="el" href="util_8h.html#a6">util.h</a><li>getCtrlChar()
+: <a class="el" href="util_8h.html#a7">util.h</a><li>getCtrlCode()
+: <a class="el" href="util_8h.html#a8">util.h</a><li>getCurDir()
+: <a class="el" href="util_8h.html#a19">util.h</a><li>gfFixed
+: <a class="el" href="views_8h.html#a56">views.h</a><li>gfGrowAll
+: <a class="el" href="views_8h.html#a54">views.h</a><li>gfGrowHiX
+: <a class="el" href="views_8h.html#a52">views.h</a><li>gfGrowHiY
+: <a class="el" href="views_8h.html#a53">views.h</a><li>gfGrowLoX
+: <a class="el" href="views_8h.html#a50">views.h</a><li>gfGrowLoY
+: <a class="el" href="views_8h.html#a51">views.h</a><li>gfGrowRel
+: <a class="el" href="views_8h.html#a55">views.h</a></ul>
+<h3><a name="index_h">- h -</a>
+</h3><ul>
+<li>hcDragging
+: <a class="el" href="views_8h.html#a65">views.h</a><li>hcNoContext
+: <a class="el" href="views_8h.html#a64">views.h</a><li>historyAdd()
+: <a class="el" href="util_8h.html#a11">util.h</a><li>historyCount()
+: <a class="el" href="util_8h.html#a9">util.h</a><li>historyStr()
+: <a class="el" href="util_8h.html#a10">util.h</a><li>hotKey()
+: <a class="el" href="util_8h.html#a3">util.h</a></ul>
+<h3><a name="index_i">- i -</a>
+</h3><ul>
+<li>inputBox()
+: <a class="el" href="msgbox_8h.html#a14">msgbox.h</a><li>inputBoxRect()
+: <a class="el" href="msgbox_8h.html#a15">msgbox.h</a><li>isDir()
+: <a class="el" href="util_8h.html#a16">util.h</a><li>isWild()
+: <a class="el" href="util_8h.html#a20">util.h</a></ul>
+<h3><a name="index_l">- l -</a>
+</h3><ul>
+<li>lowMemory()
+: <a class="el" href="util_8h.html#a14">util.h</a></ul>
+<h3><a name="index_m">- m -</a>
+</h3><ul>
+<li>magicHeader
+: <a class="el" href="helpbase_8h.html#a0">helpbase.h</a><li>max()
+: <a class="el" href="util_8h.html#a1">util.h</a><li>maxCollectionSize
+: <a class="el" href="tvconfig_8h.html#a1">tvconfig.h</a><li>maxFindStrLen
+: <a class="el" href="tvconfig_8h.html#a3">tvconfig.h</a><li>maxLineLength
+: <a class="el" href="editors_8h.html#a50">editors.h</a><li>maxReplaceStrLen
+: <a class="el" href="tvconfig_8h.html#a4">tvconfig.h</a><li>maxViewWidth
+: <a class="el" href="tvconfig_8h.html#a2">tvconfig.h</a><li>message()
+: <a class="el" href="util_8h.html#a13">util.h</a><li>messageBox()
+: <a class="el" href="msgbox_8h.html#a11">msgbox.h</a><li>messageBoxRect()
+: <a class="el" href="msgbox_8h.html#a13">msgbox.h</a><li>min()
+: <a class="el" href="util_8h.html#a0">util.h</a></ul>
+<h3><a name="index_n">- n -</a>
+</h3><ul>
+<li>newLine()
+: <a class="el" href="menus_8h.html#a4">menus.h</a><li>newStr()
+: <a class="el" href="util_8h.html#a15">util.h</a><li>notAssigned()
+: <a class="el" href="helpbase_8h.html#a11">helpbase.h</a>, <a class="el" href="help_8h.html#a1">help.h</a></ul>
+<h3><a name="index_o">- o -</a>
+</h3><ul>
+<li>ofBuffered
+: <a class="el" href="views_8h.html#a44">views.h</a><li>ofCentered
+: <a class="el" href="views_8h.html#a48">views.h</a><li>ofCenterX
+: <a class="el" href="views_8h.html#a46">views.h</a><li>ofCenterY
+: <a class="el" href="views_8h.html#a47">views.h</a><li>ofFirstClick
+: <a class="el" href="views_8h.html#a40">views.h</a><li>ofFramed
+: <a class="el" href="views_8h.html#a41">views.h</a><li>ofPostProcess
+: <a class="el" href="views_8h.html#a43">views.h</a><li>ofPreProcess
+: <a class="el" href="views_8h.html#a42">views.h</a><li>ofSelectable
+: <a class="el" href="views_8h.html#a38">views.h</a><li>ofTileable
+: <a class="el" href="views_8h.html#a45">views.h</a><li>ofTopSelect
+: <a class="el" href="views_8h.html#a39">views.h</a><li>ofValidate
+: <a class="el" href="views_8h.html#a49">views.h</a><li>operator!=()
+: <a class="el" href="views_8h.html#a110">views.h</a><li>operator+()
+: <a class="el" href="menus_8h.html#a3">menus.h</a>, <a class="el" href="colorsel_8h.html#a8">colorsel.h</a><li>operator&lt;&lt;()
+: <a class="el" href="views_8h.html#a138">views.h</a>, <a class="el" href="validate_8h.html#a34">validate.h</a>, <a class="el" href="stddlg_8h.html#a53">stddlg.h</a>, <a class="el" href="resource_8h.html#a15">resource.h</a>, <a class="el" href="outline_8h.html#a7">outline.h</a>, <a class="el" href="objects_8h.html#a15">objects.h</a>, <a class="el" href="menus_8h.html#a20">menus.h</a>, <a class="el" href="helpbase_8h.html#a10">helpbase.h</a>, <a class="el" href="editors_8h.html#a72">editors.h</a>, <a class="el" href="dialogs_8h.html#a60">dialogs.h</a>, <a class="el" href="colorsel_8h.html#a32">colorsel.h</a>, <a class="el" href="app_8h.html#a31">app.h</a><li>operator&gt;&gt;()
+: <a class="el" href="views_8h.html#a136">views.h</a>, <a class="el" href="validate_8h.html#a32">validate.h</a>, <a class="el" href="stddlg_8h.html#a51">stddlg.h</a>, <a class="el" href="resource_8h.html#a13">resource.h</a>, <a class="el" href="outline_8h.html#a5">outline.h</a>, <a class="el" href="objects_8h.html#a13">objects.h</a>, <a class="el" href="menus_8h.html#a18">menus.h</a>, <a class="el" href="helpbase_8h.html#a8">helpbase.h</a>, <a class="el" href="editors_8h.html#a70">editors.h</a>, <a class="el" href="dialogs_8h.html#a58">dialogs.h</a>, <a class="el" href="colorsel_8h.html#a30">colorsel.h</a>, <a class="el" href="app_8h.html#a29">app.h</a></ul>
+<h3><a name="index_p">- p -</a>
+</h3><ul>
+<li>P_id_notFound
+: <a class="el" href="tobjstrm_8h.html#a1">tobjstrm.h</a><li>P_id_type
+: <a class="el" href="tobjstrm_8h.html#a0">tobjstrm.h</a><li>pathValid()
+: <a class="el" href="util_8h.html#a17">util.h</a><li>positionalEvents
+: <a class="el" href="views_8h.html#a107">views.h</a></ul>
+<h3><a name="index_s">- s -</a>
+</h3><ul>
+<li>sbDownArrow
+: <a class="el" href="views_8h.html#a71">views.h</a><li>sbHandleKeyboard
+: <a class="el" href="views_8h.html#a77">views.h</a><li>sbHorizontal
+: <a class="el" href="views_8h.html#a75">views.h</a><li>sbIndicator
+: <a class="el" href="views_8h.html#a74">views.h</a><li>sbLeftArrow
+: <a class="el" href="views_8h.html#a66">views.h</a><li>sbPageDown
+: <a class="el" href="views_8h.html#a73">views.h</a><li>sbPageLeft
+: <a class="el" href="views_8h.html#a68">views.h</a><li>sbPageRight
+: <a class="el" href="views_8h.html#a69">views.h</a><li>sbPageUp
+: <a class="el" href="views_8h.html#a72">views.h</a><li>sbRightArrow
+: <a class="el" href="views_8h.html#a67">views.h</a><li>sbUpArrow
+: <a class="el" href="views_8h.html#a70">views.h</a><li>sbVertical
+: <a class="el" href="views_8h.html#a76">views.h</a><li>sfActive
+: <a class="el" href="views_8h.html#a30">views.h</a><li>sfCursorIns
+: <a class="el" href="views_8h.html#a28">views.h</a><li>sfCursorVis
+: <a class="el" href="views_8h.html#a27">views.h</a><li>sfDefault
+: <a class="el" href="views_8h.html#a36">views.h</a><li>sfDisabled
+: <a class="el" href="views_8h.html#a34">views.h</a><li>sfDragging
+: <a class="el" href="views_8h.html#a33">views.h</a><li>sfExposed
+: <a class="el" href="views_8h.html#a37">views.h</a><li>sfFocused
+: <a class="el" href="views_8h.html#a32">views.h</a><li>sfModal
+: <a class="el" href="views_8h.html#a35">views.h</a><li>sfSelected
+: <a class="el" href="views_8h.html#a31">views.h</a><li>sfShadow
+: <a class="el" href="views_8h.html#a29">views.h</a><li>sfVisible
+: <a class="el" href="views_8h.html#a26">views.h</a><li>specialChars
+: <a class="el" href="ttypes_8h.html#a9">ttypes.h</a><li>StreamableInit
+: <a class="el" href="ttypes_8h.html#a14">ttypes.h</a></ul>
+<h3><a name="index_t">- t -</a>
+</h3><ul>
+<li>TCrossRefHandler
+: <a class="el" href="helpbase_8h.html#a1">helpbase.h</a><li>TEditorDialog
+: <a class="el" href="editors_8h.html#a51">editors.h</a><li>TScrollChars
+: <a class="el" href="views_8h.html#a109">views.h</a></ul>
+<h3><a name="index_u">- u -</a>
+</h3><ul>
+<li>uchar
+: <a class="el" href="ttypes_8h.html#a1">ttypes.h</a><li>uint
+: <a class="el" href="ttypes_8h.html#a2">ttypes.h</a><li>ulong
+: <a class="el" href="ttypes_8h.html#a3">ttypes.h</a><li>ushort
+: <a class="el" href="ttypes_8h.html#a0">ttypes.h</a></ul>
+<h3><a name="index_v">- v -</a>
+</h3><ul>
+<li>validFileName()
+: <a class="el" href="util_8h.html#a18">util.h</a></ul>
+<h3><a name="index_w">- w -</a>
+</h3><ul>
+<li>wfClose
+: <a class="el" href="views_8h.html#a80">views.h</a><li>wfGrow
+: <a class="el" href="views_8h.html#a79">views.h</a><li>wfMove
+: <a class="el" href="views_8h.html#a78">views.h</a><li>wfZoom
+: <a class="el" href="views_8h.html#a81">views.h</a><li>wnNoNumber
+: <a class="el" href="views_8h.html#a89">views.h</a><li>wpBlueWindow
+: <a class="el" href="views_8h.html#a90">views.h</a><li>wpCyanWindow
+: <a class="el" href="views_8h.html#a91">views.h</a><li>wpGrayWindow
+: <a class="el" href="views_8h.html#a92">views.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:18 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/help_8h-source.html b/freebsdtvision/doc/html/help_8h-source.html
new file mode 100644
index 0000000..dde16be
--- /dev/null
+++ b/freebsdtvision/doc/html/help_8h-source.html
@@ -0,0 +1,76 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>help.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>help.h</h1><a href="help_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="comment">/*</span>
+00002 <span class="comment"> * help.h</span>
+00003 <span class="comment"> *</span>
+00004 <span class="comment"> * Turbo Vision - Version 2.0</span>
+00005 <span class="comment"> *</span>
+00006 <span class="comment"> * Copyright (c) 1994 by Borland International</span>
+00007 <span class="comment"> * All Rights Reserved.</span>
+00008 <span class="comment"> *</span>
+00009 <span class="comment"> * Modified by Sergio Sigala &lt;sergio@sigala.it&gt;</span>
+00010 <span class="comment"> */</span>
+00011
+00012 <span class="preprocessor">#if !defined( __HELP_H )</span>
+00013 <span class="preprocessor"></span><span class="preprocessor">#define __HELP_H</span>
+00014 <span class="preprocessor"></span>
+00019 <span class="preprocessor">#define Uses_TStreamable</span>
+00020 <span class="preprocessor"></span><span class="preprocessor">#define Uses_ipstream</span>
+00021 <span class="preprocessor"></span><span class="preprocessor">#define Uses_opstream</span>
+00022 <span class="preprocessor"></span><span class="preprocessor">#define Uses_fpstream</span>
+00023 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TObject</span>
+00024 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TPoint</span>
+00025 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TRect</span>
+00026 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TEvent</span>
+00027 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TScroller</span>
+00028 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TScrollBar</span>
+00029 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TWindow</span>
+00030 <span class="preprocessor"></span><span class="preprocessor">#include &lt;tvision/tv.h&gt;</span>
+00031
+00032 <span class="preprocessor">#include &lt;tvision/helpbase.h&gt;</span>
+00033
+00034 <span class="comment">// THelpViewer</span>
+00035
+<a name="l00039"></a><a class="code" href="classTHelpViewer.html">00039</a> <span class="keyword">class </span><a class="code" href="classTHelpViewer.html">THelpViewer</a> : <span class="keyword">public</span> <a class="code" href="classTScroller.html">TScroller</a>
+00040 {
+00041 <span class="keyword">public</span>:
+00045 <a class="code" href="classTHelpViewer.html#a0">THelpViewer</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp;, <a class="code" href="classTScrollBar.html">TScrollBar</a>*, <a class="code" href="classTScrollBar.html">TScrollBar</a>*, <a class="code" href="classTHelpFile.html">THelpFile</a>*, <a class="code" href="ttypes_8h.html#a0">ushort</a> );
+00049 <a class="code" href="classTHelpViewer.html#a1">~THelpViewer</a>();
+00053 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTHelpViewer.html#a2">changeBounds</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; );
+00057 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTHelpViewer.html#a3">draw</a>();
+00061 <span class="keyword">virtual</span> <a class="code" href="classTPalette.html">TPalette</a>&amp; <a class="code" href="classTHelpViewer.html#a4">getPalette</a>() <span class="keyword">const</span>;
+00065 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTHelpViewer.html#a5">handleEvent</a>( <a class="code" href="structTEvent.html">TEvent</a>&amp; );
+00069 <span class="keywordtype">void</span> <a class="code" href="classTHelpViewer.html#a6">makeSelectVisible</a>( <span class="keywordtype">int</span>, <a class="code" href="classTPoint.html">TPoint</a>&amp;, <a class="code" href="ttypes_8h.html#a1">uchar</a>&amp;, <span class="keywordtype">int</span>&amp; );
+00073 <span class="keywordtype">void</span> <a class="code" href="classTHelpViewer.html#a7">switchToTopic</a>( <span class="keywordtype">int</span> );
+<a name="l00077"></a><a class="code" href="classTHelpViewer.html#m0">00077</a> <a class="code" href="classTHelpFile.html">THelpFile</a> *<a class="code" href="classTHelpViewer.html#m0">hFile</a>;
+<a name="l00081"></a><a class="code" href="classTHelpViewer.html#m1">00081</a> <a class="code" href="classTHelpTopic.html">THelpTopic</a> *<a class="code" href="classTHelpViewer.html#m1">topic</a>;
+<a name="l00085"></a><a class="code" href="classTHelpViewer.html#m2">00085</a> <span class="keywordtype">int</span> <a class="code" href="classTHelpViewer.html#m2">selected</a>;
+00086 };
+00087
+00088 <span class="comment">// THelpWindow</span>
+00089
+<a name="l00093"></a><a class="code" href="classTHelpWindow.html">00093</a> <span class="keyword">class </span><a class="code" href="classTHelpWindow.html">THelpWindow</a> : <span class="keyword">public</span> <a class="code" href="classTWindow.html">TWindow</a>
+00094 {
+00095 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * helpWinTitle;
+00096 <span class="keyword">public</span>:
+00100 <a class="code" href="classTHelpWindow.html#a0">THelpWindow</a>( <a class="code" href="classTHelpFile.html">THelpFile</a>*, <a class="code" href="ttypes_8h.html#a0">ushort</a> );
+00104 <span class="keyword">virtual</span> <a class="code" href="classTPalette.html">TPalette</a>&amp; <a class="code" href="classTHelpWindow.html#a1">getPalette</a>() <span class="keyword">const</span>;
+00105 };
+00106
+00110 <span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="helpbase_8h.html#a11">notAssigned</a>( <a class="code" href="classopstream.html">opstream</a>&amp; s, <span class="keywordtype">int</span> value );
+00111
+<a name="l00115"></a><a class="code" href="help_8h.html#a0">00115</a> <span class="keyword">extern</span> <a class="code" href="helpbase_8h.html#a1">TCrossRefHandler</a> <a class="code" href="help_8h.html#a0">crossRefHandler</a>;
+00116
+00117 <span class="preprocessor">#endif // __HELP_H</span>
+</pre></div><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:09 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/help_8h.html b/freebsdtvision/doc/html/help_8h.html
new file mode 100644
index 0000000..1e161fe
--- /dev/null
+++ b/freebsdtvision/doc/html/help_8h.html
@@ -0,0 +1,95 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>help.h File Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>help.h File Reference</h1>
+<p>
+<a href="help_8h-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Compounds</h2></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTHelpViewer.html">THelpViewer</a></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTHelpWindow.html">THelpWindow</a></td></tr>
+<tr><td colspan=2><br><h2>Functions</h2></td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="help_8h.html#a1">notAssigned</a> (<a class="el" href="classopstream.html">opstream</a> &amp;s, int value)</td></tr>
+<tr><td colspan=2><br><h2>Variables</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="helpbase_8h.html#a1">TCrossRefHandler</a>&nbsp;</td><td valign=bottom><a class="el" href="help_8h.html#a0">crossRefHandler</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+ <a class="el" href="help_8h.html">help.h</a>
+<p>
+
+<p>
+Definition in file <a class="el" href="help_8h-source.html">help.h</a>.<hr><h2>Function Documentation</h2>
+<a name="a1" doxytag="help.h::notAssigned"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void notAssigned </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>s</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>value</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<hr><h2>Variable Documentation</h2>
+<a name="a0" doxytag="help.h::crossRefHandler"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="helpbase_8h.html#a1">TCrossRefHandler</a> crossRefHandler
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="help_8h-source.html#l00115">115</a> of file <a class="el" href="help_8h-source.html">help.h</a>. </td>
+ </tr>
+</table>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:11 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/helpbase_8h-source.html b/freebsdtvision/doc/html/helpbase_8h-source.html
new file mode 100644
index 0000000..91c4a57
--- /dev/null
+++ b/freebsdtvision/doc/html/helpbase_8h-source.html
@@ -0,0 +1,160 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>helpbase.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>helpbase.h</h1><a href="helpbase_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="comment">/*</span>
+00002 <span class="comment"> * helpbase.h</span>
+00003 <span class="comment"> *</span>
+00004 <span class="comment"> * Turbo Vision - Version 2.0</span>
+00005 <span class="comment"> *</span>
+00006 <span class="comment"> * Copyright (c) 1994 by Borland International</span>
+00007 <span class="comment"> * All Rights Reserved.</span>
+00008 <span class="comment"> *</span>
+00009 <span class="comment"> * Modified by Sergio Sigala &lt;sergio@sigala.it&gt;</span>
+00010 <span class="comment"> */</span>
+00011
+<a name="l00019"></a><a class="code" href="helpbase_8h.html#a0">00019</a> <span class="keyword">const</span> <span class="keywordtype">long</span> <a class="code" href="helpbase_8h.html#a0">magicHeader</a> = 0x46484246L; <span class="comment">//"FBHF"</span>
+00020
+00021 <span class="preprocessor">#define cHelpViewer "\x06\x07\x08"</span>
+00022 <span class="preprocessor"></span><span class="preprocessor">#define cHelpWindow "\x80\x81\x82\x83\x84\x85\x86\x87"</span>
+00023 <span class="preprocessor"></span>
+00024 <span class="comment">// TParagraph</span>
+00025
+<a name="l00030"></a><a class="code" href="classTParagraph.html">00030</a> <span class="keyword">class </span><a class="code" href="classTParagraph.html">TParagraph</a>
+00031 {
+00032 <span class="keyword">public</span>:
+<a name="l00036"></a><a class="code" href="classTParagraph.html#a0">00036</a> <a class="code" href="classTParagraph.html#a0">TParagraph</a>() {}
+<a name="l00040"></a><a class="code" href="classTParagraph.html#m0">00040</a> <a class="code" href="classTParagraph.html">TParagraph</a> *<a class="code" href="classTParagraph.html#m0">next</a>;
+<a name="l00044"></a><a class="code" href="classTParagraph.html#m1">00044</a> <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTParagraph.html#m1">wrap</a>;
+<a name="l00048"></a><a class="code" href="classTParagraph.html#m2">00048</a> <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="classTParagraph.html#m2">size</a>;
+<a name="l00052"></a><a class="code" href="classTParagraph.html#m3">00052</a> <span class="keywordtype">char</span> *<a class="code" href="classTParagraph.html#m3">text</a>;
+00053 };
+00054
+00055 <span class="comment">// TCrossRef</span>
+00056
+<a name="l00061"></a><a class="code" href="classTCrossRef.html">00061</a> <span class="keyword">class </span><a class="code" href="classTCrossRef.html">TCrossRef</a>
+00062 {
+00063 <span class="keyword">public</span>:
+<a name="l00067"></a><a class="code" href="classTCrossRef.html#a0">00067</a> <a class="code" href="classTCrossRef.html#a0">TCrossRef</a>() {}
+<a name="l00071"></a><a class="code" href="classTCrossRef.html#m0">00071</a> <span class="keywordtype">int</span> <a class="code" href="classTCrossRef.html#m0">ref</a>;
+<a name="l00075"></a><a class="code" href="classTCrossRef.html#m1">00075</a> <span class="keywordtype">int</span> <a class="code" href="classTCrossRef.html#m1">offset</a>;
+<a name="l00079"></a><a class="code" href="classTCrossRef.html#m2">00079</a> <a class="code" href="ttypes_8h.html#a1">uchar</a> <a class="code" href="classTCrossRef.html#m2">length</a>;
+00080 };
+00081
+<a name="l00085"></a><a class="code" href="helpbase_8h.html#a1">00085</a> <span class="keyword">typedef</span> void (*<a class="code" href="helpbase_8h.html#a1">TCrossRefHandler</a>) ( <a class="code" href="classopstream.html">opstream</a>&amp;, <span class="keywordtype">int</span> );
+00086
+<a name="l00091"></a><a class="code" href="classTHelpTopic.html">00091</a> <span class="keyword">class </span><a class="code" href="classTHelpTopic.html">THelpTopic</a>: <span class="keyword">public</span> <a class="code" href="classTObject.html">TObject</a>, <span class="keyword">public</span> <a class="code" href="classTStreamable.html">TStreamable</a>
+00092 {
+00093 <span class="keyword">public</span>:
+00097 <a class="code" href="classTHelpTopic.html#a0">THelpTopic</a>();
+<a name="l00101"></a><a class="code" href="classTHelpTopic.html#a1">00101</a> <a class="code" href="classTHelpTopic.html#a0">THelpTopic</a>( <a class="code" href="ttypes_8h.html#a14">StreamableInit</a> ) {};
+00105 <span class="keyword">virtual</span> <a class="code" href="classTHelpTopic.html#a2">~THelpTopic</a>();
+00109 <span class="keywordtype">void</span> <a class="code" href="classTHelpTopic.html#a3">addCrossRef</a>( <a class="code" href="classTCrossRef.html">TCrossRef</a> ref );
+00113 <span class="keywordtype">void</span> <a class="code" href="classTHelpTopic.html#a4">addParagraph</a>( <a class="code" href="classTParagraph.html">TParagraph</a> *p );
+00117 <span class="keywordtype">void</span> <a class="code" href="classTHelpTopic.html#a5">getCrossRef</a>( <span class="keywordtype">int</span> i, <a class="code" href="classTPoint.html">TPoint</a>&amp; loc, <a class="code" href="ttypes_8h.html#a1">uchar</a>&amp; length, <span class="keywordtype">int</span>&amp; ref );
+00121 <span class="keywordtype">char</span> *<a class="code" href="classTHelpTopic.html#a6">getLine</a>( <span class="keywordtype">int</span> line, <span class="keywordtype">char</span> *buffer, <span class="keywordtype">int</span> buflen );
+00125 <span class="keywordtype">int</span> <a class="code" href="classTHelpTopic.html#a7">getNumCrossRefs</a>();
+00129 <span class="keywordtype">int</span> <a class="code" href="classTHelpTopic.html#a8">numLines</a>();
+00133 <span class="keywordtype">void</span> <a class="code" href="classTHelpTopic.html#a9">setCrossRef</a>( <span class="keywordtype">int</span> i, <a class="code" href="classTCrossRef.html">TCrossRef</a>&amp; ref );
+00137 <span class="keywordtype">void</span> <a class="code" href="classTHelpTopic.html#a10">setNumCrossRefs</a>( <span class="keywordtype">int</span> i );
+00141 <span class="keywordtype">void</span> <a class="code" href="classTHelpTopic.html#a11">setWidth</a>( <span class="keywordtype">int</span> aWidth );
+<a name="l00145"></a><a class="code" href="classTHelpTopic.html#m0">00145</a> <a class="code" href="classTParagraph.html">TParagraph</a> *<a class="code" href="classTHelpTopic.html#m0">paragraphs</a>;
+<a name="l00149"></a><a class="code" href="classTHelpTopic.html#m1">00149</a> <span class="keywordtype">int</span> <a class="code" href="classTHelpTopic.html#m1">numRefs</a>;
+<a name="l00153"></a><a class="code" href="classTHelpTopic.html#m2">00153</a> <a class="code" href="classTCrossRef.html">TCrossRef</a> *<a class="code" href="classTHelpTopic.html#m2">crossRefs</a>;
+00154 <span class="keyword">private</span>:
+00155 <span class="keywordtype">char</span> *wrapText( <span class="keywordtype">char</span> *text, <span class="keywordtype">int</span> size, <span class="keywordtype">int</span>&amp; offset, <a class="code" href="ttypes_8h.html#a13">Boolean</a> wrap, <span class="keywordtype">char</span> *lineBuf, <span class="keywordtype">int</span> lineBufLen );
+00156 <span class="keywordtype">void</span> readParagraphs( <a class="code" href="classipstream.html">ipstream</a>&amp; s );
+00157 <span class="keywordtype">void</span> readCrossRefs( <a class="code" href="classipstream.html">ipstream</a>&amp; s );
+00158 <span class="keywordtype">void</span> writeParagraphs( <a class="code" href="classopstream.html">opstream</a>&amp; s );
+00159 <span class="keywordtype">void</span> writeCrossRefs( <a class="code" href="classopstream.html">opstream</a>&amp; s );
+00160 <span class="keywordtype">void</span> disposeParagraphs();
+00161 <span class="keyword">const</span> <span class="keywordtype">char</span> *streamableName()<span class="keyword"> const</span>
+00162 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classTHelpTopic.html#p0">name</a>; }
+00163 <span class="keywordtype">int</span> width;
+00164 <span class="keywordtype">int</span> lastOffset;
+00165 <span class="keywordtype">int</span> lastLine;
+00166 <a class="code" href="classTParagraph.html">TParagraph</a> *lastParagraph;
+00167 <span class="keyword">protected</span>:
+00168 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTHelpTopic.html#b0">write</a>( <a class="code" href="classopstream.html">opstream</a>&amp; os );
+00169 <span class="keyword">virtual</span> <span class="keywordtype">void</span> *<a class="code" href="classTHelpTopic.html#b1">read</a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is );
+00170 <span class="keyword">public</span>:
+<a name="l00174"></a><a class="code" href="classTHelpTopic.html#p0">00174</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classTHelpTopic.html#p0">name</a>;
+00178 <span class="keyword">static</span> <a class="code" href="classTStreamable.html">TStreamable</a> *<a class="code" href="classTHelpTopic.html#d0">build</a>();
+00179 };
+00180
+<a name="l00184"></a><a class="code" href="helpbase_8h.html#a3">00184</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTHelpTopic.html">THelpTopic</a>&amp; cl )
+00185 { <span class="keywordflow">return</span> is &gt;&gt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l00189"></a><a class="code" href="helpbase_8h.html#a4">00189</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTHelpTopic.html">THelpTopic</a>*&amp; cl )
+00190 { <span class="keywordflow">return</span> is &gt;&gt; (<span class="keywordtype">void</span> *&amp;)cl; }
+00191
+<a name="l00195"></a><a class="code" href="helpbase_8h.html#a5">00195</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTHelpTopic.html">THelpTopic</a>&amp; cl )
+00196 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l00200"></a><a class="code" href="helpbase_8h.html#a6">00200</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTHelpTopic.html">THelpTopic</a>* cl )
+00201 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a> *)cl; }
+00202
+00203
+00204 <span class="comment">// THelpIndex</span>
+00205
+<a name="l00210"></a><a class="code" href="classTHelpIndex.html">00210</a> <span class="keyword">class </span><a class="code" href="classTHelpIndex.html">THelpIndex</a> : <span class="keyword">public</span> <a class="code" href="classTObject.html">TObject</a>, <span class="keyword">public</span> <a class="code" href="classTStreamable.html">TStreamable</a>
+00211 {
+00212 <span class="keyword">public</span>:
+00216 <a class="code" href="classTHelpIndex.html#a0">THelpIndex</a>();
+<a name="l00220"></a><a class="code" href="classTHelpIndex.html#a1">00220</a> <a class="code" href="classTHelpIndex.html#a0">THelpIndex</a>( <a class="code" href="ttypes_8h.html#a14">StreamableInit</a> ) {};
+00224 <span class="keyword">virtual</span> <a class="code" href="classTHelpIndex.html#a2">~THelpIndex</a>();
+00228 <span class="keywordtype">long</span> <a class="code" href="classTHelpIndex.html#a3">position</a>( <span class="keywordtype">int</span> );
+00232 <span class="keywordtype">void</span> <a class="code" href="classTHelpIndex.html#a4">add</a>( <span class="keywordtype">int</span>, <span class="keywordtype">long</span> );
+<a name="l00236"></a><a class="code" href="classTHelpIndex.html#m0">00236</a> <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="classTHelpIndex.html#m0">size</a>;
+<a name="l00240"></a><a class="code" href="classTHelpIndex.html#m1">00240</a> <span class="keywordtype">long</span> *<a class="code" href="classTHelpIndex.html#m1">index</a>;
+00241 <span class="keyword">private</span>:
+00242 <span class="keyword">const</span> <span class="keywordtype">char</span> *streamableName()<span class="keyword"> const</span>
+00243 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classTHelpIndex.html#p0">name</a>; }
+00244 <span class="keyword">protected</span>:
+00245 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTHelpIndex.html#b0">write</a>( <a class="code" href="classopstream.html">opstream</a>&amp; os );
+00246 <span class="keyword">virtual</span> <span class="keywordtype">void</span> *<a class="code" href="classTHelpIndex.html#b1">read</a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is );
+00247 <span class="keyword">public</span>:
+<a name="l00251"></a><a class="code" href="classTHelpIndex.html#p0">00251</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classTHelpIndex.html#p0">name</a>;
+00255 <span class="keyword">static</span> <a class="code" href="classTStreamable.html">TStreamable</a> *<a class="code" href="classTHelpIndex.html#d0">build</a>();
+00256 };
+00257
+<a name="l00261"></a><a class="code" href="helpbase_8h.html#a7">00261</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTHelpIndex.html">THelpIndex</a>&amp; cl )
+00262 { <span class="keywordflow">return</span> is &gt;&gt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l00266"></a><a class="code" href="helpbase_8h.html#a8">00266</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTHelpIndex.html">THelpIndex</a>*&amp; cl )
+00267 { <span class="keywordflow">return</span> is &gt;&gt; (<span class="keywordtype">void</span> *&amp;)cl; }
+00268
+<a name="l00272"></a><a class="code" href="helpbase_8h.html#a9">00272</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTHelpIndex.html">THelpIndex</a>&amp; cl )
+00273 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l00277"></a><a class="code" href="helpbase_8h.html#a10">00277</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTHelpIndex.html">THelpIndex</a>* cl )
+00278 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a> *)cl; }
+00279
+00280
+00281 <span class="comment">// THelpFile</span>
+00282
+<a name="l00287"></a><a class="code" href="classTHelpFile.html">00287</a> <span class="keyword">class </span><a class="code" href="classTHelpFile.html">THelpFile</a> : <span class="keyword">public</span> <a class="code" href="classTObject.html">TObject</a>
+00288 {
+00289 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * invalidContext;
+00290 <span class="keyword">public</span>:
+00294 <a class="code" href="classTHelpFile.html#a0">THelpFile</a>( <a class="code" href="classfpstream.html">fpstream</a>&amp; s );
+00298 <span class="keyword">virtual</span> <a class="code" href="classTHelpFile.html#a1">~THelpFile</a>();
+00302 <a class="code" href="classTHelpTopic.html">THelpTopic</a> *<a class="code" href="classTHelpFile.html#a2">getTopic</a>( <span class="keywordtype">int</span> );
+00306 <a class="code" href="classTHelpTopic.html">THelpTopic</a> *<a class="code" href="classTHelpFile.html#a3">invalidTopic</a>();
+00310 <span class="keywordtype">void</span> <a class="code" href="classTHelpFile.html#a4">recordPositionInIndex</a>( <span class="keywordtype">int</span> );
+00314 <span class="keywordtype">void</span> <a class="code" href="classTHelpFile.html#a5">putTopic</a>( <a class="code" href="classTHelpTopic.html">THelpTopic</a>* );
+<a name="l00318"></a><a class="code" href="classTHelpFile.html#m0">00318</a> <a class="code" href="classfpstream.html">fpstream</a> *<a class="code" href="classTHelpFile.html#m0">stream</a>;
+<a name="l00322"></a><a class="code" href="classTHelpFile.html#m1">00322</a> <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTHelpFile.html#m1">modified</a>;
+<a name="l00326"></a><a class="code" href="classTHelpFile.html#m2">00326</a> <a class="code" href="classTHelpIndex.html">THelpIndex</a> *<a class="code" href="classTHelpFile.html#m2">index</a>;
+<a name="l00330"></a><a class="code" href="classTHelpFile.html#m3">00330</a> <span class="keywordtype">long</span> <a class="code" href="classTHelpFile.html#m3">indexPos</a>;
+00331 };
+00332
+00336 <span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="helpbase_8h.html#a11">notAssigned</a>( <a class="code" href="classopstream.html">opstream</a>&amp; s, <span class="keywordtype">int</span> value );
+00337
+<a name="l00341"></a><a class="code" href="helpbase_8h.html#a2">00341</a> <span class="keyword">extern</span> <a class="code" href="helpbase_8h.html#a1">TCrossRefHandler</a> <a class="code" href="helpbase_8h.html#a2">crossRefHandler</a>;
+</pre></div><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:09 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/helpbase_8h.html b/freebsdtvision/doc/html/helpbase_8h.html
new file mode 100644
index 0000000..ee37df5
--- /dev/null
+++ b/freebsdtvision/doc/html/helpbase_8h.html
@@ -0,0 +1,483 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>helpbase.h File Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>helpbase.h File Reference</h1>
+<p>
+<a href="helpbase_8h-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Compounds</h2></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTCrossRef.html">TCrossRef</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Part of the help system.</em> <a href="classTCrossRef.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTHelpFile.html">THelpFile</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Part of the help system.</em> <a href="classTHelpFile.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTHelpIndex.html">THelpIndex</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Part of the help system.</em> <a href="classTHelpIndex.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTHelpTopic.html">THelpTopic</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Part of the help system.</em> <a href="classTHelpTopic.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTParagraph.html">TParagraph</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Part of the help system.</em> <a href="classTParagraph.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td colspan=2><br><h2>Typedefs</h2></td></tr>
+<tr><td nowrap align=right valign=top>typedef void(*&nbsp;</td><td valign=bottom><a class="el" href="helpbase_8h.html#a1">TCrossRefHandler</a> )(<a class="el" href="classopstream.html">opstream</a> &amp;, int)</td></tr>
+<tr><td colspan=2><br><h2>Functions</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="helpbase_8h.html#a3">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTHelpTopic.html">THelpTopic</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="helpbase_8h.html#a4">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTHelpTopic.html">THelpTopic</a> *&amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="helpbase_8h.html#a5">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTHelpTopic.html">THelpTopic</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="helpbase_8h.html#a6">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTHelpTopic.html">THelpTopic</a> *cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="helpbase_8h.html#a7">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTHelpIndex.html">THelpIndex</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="helpbase_8h.html#a8">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTHelpIndex.html">THelpIndex</a> *&amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="helpbase_8h.html#a9">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTHelpIndex.html">THelpIndex</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="helpbase_8h.html#a10">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTHelpIndex.html">THelpIndex</a> *cl)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="helpbase_8h.html#a11">notAssigned</a> (<a class="el" href="classopstream.html">opstream</a> &amp;s, int value)</td></tr>
+<tr><td colspan=2><br><h2>Variables</h2></td></tr>
+<tr><td nowrap align=right valign=top>const long&nbsp;</td><td valign=bottom><a class="el" href="helpbase_8h.html#a0">magicHeader</a> = 0x46484246L</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="helpbase_8h.html#a1">TCrossRefHandler</a>&nbsp;</td><td valign=bottom><a class="el" href="helpbase_8h.html#a2">crossRefHandler</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+ <a class="el" href="helpbase_8h.html">helpbase.h</a>
+<p>
+
+<p>
+Definition in file <a class="el" href="helpbase_8h-source.html">helpbase.h</a>.<hr><h2>Typedef Documentation</h2>
+<a name="a1" doxytag="helpbase.h::TCrossRefHandler"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> typedef void(* TCrossRefHandler)( <a class="el" href="classopstream.html">opstream</a>&amp;, int )
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="helpbase_8h-source.html#l00085">85</a> of file <a class="el" href="helpbase_8h-source.html">helpbase.h</a>. </td>
+ </tr>
+</table>
+<hr><h2>Function Documentation</h2>
+<a name="a11" doxytag="helpbase.h::notAssigned"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void notAssigned </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>s</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>value</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="a10" doxytag="helpbase.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTHelpIndex.html">THelpIndex</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="helpbase_8h-source.html#l00277">277</a> of file <a class="el" href="helpbase_8h-source.html">helpbase.h</a>. </td>
+ </tr>
+</table>
+<a name="a9" doxytag="helpbase.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTHelpIndex.html">THelpIndex</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="helpbase_8h-source.html#l00272">272</a> of file <a class="el" href="helpbase_8h-source.html">helpbase.h</a>. </td>
+ </tr>
+</table>
+<a name="a6" doxytag="helpbase.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTHelpTopic.html">THelpTopic</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="helpbase_8h-source.html#l00200">200</a> of file <a class="el" href="helpbase_8h-source.html">helpbase.h</a>. </td>
+ </tr>
+</table>
+<a name="a5" doxytag="helpbase.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTHelpTopic.html">THelpTopic</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="helpbase_8h-source.html#l00195">195</a> of file <a class="el" href="helpbase_8h-source.html">helpbase.h</a>. </td>
+ </tr>
+</table>
+<a name="a8" doxytag="helpbase.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTHelpIndex.html">THelpIndex</a> *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="helpbase_8h-source.html#l00266">266</a> of file <a class="el" href="helpbase_8h-source.html">helpbase.h</a>. </td>
+ </tr>
+</table>
+<a name="a7" doxytag="helpbase.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTHelpIndex.html">THelpIndex</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="helpbase_8h-source.html#l00261">261</a> of file <a class="el" href="helpbase_8h-source.html">helpbase.h</a>. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="helpbase.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTHelpTopic.html">THelpTopic</a> *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="helpbase_8h-source.html#l00189">189</a> of file <a class="el" href="helpbase_8h-source.html">helpbase.h</a>. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="helpbase.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTHelpTopic.html">THelpTopic</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="helpbase_8h-source.html#l00184">184</a> of file <a class="el" href="helpbase_8h-source.html">helpbase.h</a>. </td>
+ </tr>
+</table>
+<hr><h2>Variable Documentation</h2>
+<a name="a2" doxytag="helpbase.h::crossRefHandler"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="helpbase_8h.html#a1">TCrossRefHandler</a> crossRefHandler
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="helpbase_8h-source.html#l00341">341</a> of file <a class="el" href="helpbase_8h-source.html">helpbase.h</a>. </td>
+ </tr>
+</table>
+<a name="a0" doxytag="helpbase.h::magicHeader"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const long magicHeader = 0x46484246L
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="helpbase_8h-source.html#l00019">19</a> of file <a class="el" href="helpbase_8h-source.html">helpbase.h</a>. </td>
+ </tr>
+</table>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:11 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/hierarchy.html b/freebsdtvision/doc/html/hierarchy.html
new file mode 100644
index 0000000..d189c95
--- /dev/null
+++ b/freebsdtvision/doc/html/hierarchy.html
@@ -0,0 +1,244 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Hierarchical Index</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TVision Class Hierarchy</h1>This inheritance list is sorted roughly, but not completely, alphabetically:<ul>
+<li><a class="el" href="classTBufListEntry.html">TBufListEntry</a>
+<li><a class="el" href="structCharScanType.html">CharScanType</a>
+<li><a class="el" href="classTColorGroup.html">TColorGroup</a>
+<li><a class="el" href="classTColorIndex.html">TColorIndex</a>
+<li><a class="el" href="classTColorItem.html">TColorItem</a>
+<li><a class="el" href="classTCommandSet.html">TCommandSet</a>
+<li><a class="el" href="classTCrossRef.html">TCrossRef</a>
+<li><a class="el" href="classTDeskInit.html">TDeskInit</a>
+<ul>
+<li><a class="el" href="classTDeskTop.html">TDeskTop</a>
+</ul>
+<li><a class="el" href="classTDirEntry.html">TDirEntry</a>
+<li><a class="el" href="classTDisplay.html">TDisplay</a>
+<ul>
+<li><a class="el" href="classTScreen.html">TScreen</a>
+<ul>
+<li><a class="el" href="classTApplication.html">TApplication</a>
+</ul>
+</ul>
+<li><a class="el" href="classTDrawBuffer.html">TDrawBuffer</a>
+<li><a class="el" href="classTerminalBuf.html">TerminalBuf</a>
+<li><a class="el" href="structTEvent.html">TEvent</a>
+<li><a class="el" href="classTEventQueue.html">TEventQueue</a>
+<li><a class="el" href="structTFindDialogRec.html">TFindDialogRec</a>
+<li><a class="el" href="structfLink.html">fLink</a>
+<li><a class="el" href="structftime.html">ftime</a>
+<li><a class="el" href="classTHistInit.html">THistInit</a>
+<ul>
+<li><a class="el" href="classTHistoryWindow.html">THistoryWindow</a>
+</ul>
+<li><a class="el" href="structKeyDownEvent.html">KeyDownEvent</a>
+<li><a class="el" href="structTListBoxRec.html">TListBoxRec</a>
+<li><a class="el" href="structTMemoData.html">TMemoData</a>
+<li><a class="el" href="classTMenu.html">TMenu</a>
+<li><a class="el" href="classTMenuItem.html">TMenuItem</a>
+<ul>
+<li><a class="el" href="classTSubMenu.html">TSubMenu</a>
+</ul>
+<li><a class="el" href="structMessageEvent.html">MessageEvent</a>
+<li><a class="el" href="structMouseEventType.html">MouseEventType</a>
+<li><a class="el" href="classMsgBoxText.html">MsgBoxText</a>
+<li><a class="el" href="classTNode.html">TNode</a>
+<li><a class="el" href="classTObject.html">TObject</a>
+<ul>
+<li><a class="el" href="classTHelpFile.html">THelpFile</a>
+<li><a class="el" href="classTHelpIndex.html">THelpIndex</a>
+<li><a class="el" href="classTHelpTopic.html">THelpTopic</a>
+<li><a class="el" href="classTNSCollection.html">TNSCollection</a>
+<ul>
+<li><a class="el" href="classTCollection.html">TCollection</a>
+<ul>
+<li><a class="el" href="classTDirCollection.html">TDirCollection</a>
+<li><a class="el" href="classTSortedCollection.html">TSortedCollection</a>
+<ul>
+<li><a class="el" href="classTFileCollection.html">TFileCollection</a>
+<li><a class="el" href="classTStringCollection.html">TStringCollection</a>
+<ul>
+<li><a class="el" href="classTResourceCollection.html">TResourceCollection</a>
+</ul>
+</ul>
+</ul>
+<li><a class="el" href="classTNSSortedCollection.html">TNSSortedCollection</a>
+<ul>
+<li><a class="el" href="classTPWrittenObjects.html">TPWrittenObjects</a>
+<li><a class="el" href="classTSortedCollection.html">TSortedCollection</a>
+<li><a class="el" href="classTStreamableTypes.html">TStreamableTypes</a>
+</ul>
+<li><a class="el" href="classTPReadObjects.html">TPReadObjects</a>
+</ul>
+<li><a class="el" href="classTResourceFile.html">TResourceFile</a>
+<li><a class="el" href="classTStringList.html">TStringList</a>
+<li><a class="el" href="classTStrListMaker.html">TStrListMaker</a>
+<li><a class="el" href="classTValidator.html">TValidator</a>
+<ul>
+<li><a class="el" href="classTFilterValidator.html">TFilterValidator</a>
+<ul>
+<li><a class="el" href="classTRangeValidator.html">TRangeValidator</a>
+</ul>
+<li><a class="el" href="classTLookupValidator.html">TLookupValidator</a>
+<ul>
+<li><a class="el" href="classTStringLookupValidator.html">TStringLookupValidator</a>
+</ul>
+<li><a class="el" href="classTPXPictureValidator.html">TPXPictureValidator</a>
+</ul>
+<li><a class="el" href="classTView.html">TView</a>
+<ul>
+<li><a class="el" href="classTBackground.html">TBackground</a>
+<li><a class="el" href="classTButton.html">TButton</a>
+<li><a class="el" href="classTCluster.html">TCluster</a>
+<ul>
+<li><a class="el" href="classTCheckBoxes.html">TCheckBoxes</a>
+<li><a class="el" href="classTMonoSelector.html">TMonoSelector</a>
+<li><a class="el" href="classTMultiCheckBoxes.html">TMultiCheckBoxes</a>
+<li><a class="el" href="classTRadioButtons.html">TRadioButtons</a>
+</ul>
+<li><a class="el" href="classTColorDisplay.html">TColorDisplay</a>
+<li><a class="el" href="classTColorSelector.html">TColorSelector</a>
+<li><a class="el" href="classTEditor.html">TEditor</a>
+<ul>
+<li><a class="el" href="classTFileEditor.html">TFileEditor</a>
+<li><a class="el" href="classTMemo.html">TMemo</a>
+</ul>
+<li><a class="el" href="classTFileInfoPane.html">TFileInfoPane</a>
+<li><a class="el" href="classTFrame.html">TFrame</a>
+<li><a class="el" href="classTGroup.html">TGroup</a>
+<ul>
+<li><a class="el" href="classTDeskTop.html">TDeskTop</a>
+<li><a class="el" href="classTProgram.html">TProgram</a>
+<ul>
+<li><a class="el" href="classTApplication.html">TApplication</a>
+</ul>
+<li><a class="el" href="classTWindow.html">TWindow</a>
+<ul>
+<li><a class="el" href="classTDialog.html">TDialog</a>
+<ul>
+<li><a class="el" href="classTChDirDialog.html">TChDirDialog</a>
+<li><a class="el" href="classTColorDialog.html">TColorDialog</a>
+<li><a class="el" href="classTFileDialog.html">TFileDialog</a>
+</ul>
+<li><a class="el" href="classTEditWindow.html">TEditWindow</a>
+<li><a class="el" href="classTHelpWindow.html">THelpWindow</a>
+<li><a class="el" href="classTHistoryWindow.html">THistoryWindow</a>
+</ul>
+</ul>
+<li><a class="el" href="classTHistory.html">THistory</a>
+<li><a class="el" href="classTIndicator.html">TIndicator</a>
+<li><a class="el" href="classTInputLine.html">TInputLine</a>
+<ul>
+<li><a class="el" href="classTFileInputLine.html">TFileInputLine</a>
+</ul>
+<li><a class="el" href="classTListViewer.html">TListViewer</a>
+<ul>
+<li><a class="el" href="classTColorGroupList.html">TColorGroupList</a>
+<li><a class="el" href="classTColorItemList.html">TColorItemList</a>
+<li><a class="el" href="classTHistoryViewer.html">THistoryViewer</a>
+<li><a class="el" href="classTListBox.html">TListBox</a>
+<ul>
+<li><a class="el" href="classTDirListBox.html">TDirListBox</a>
+<li><a class="el" href="classTSortedListBox.html">TSortedListBox</a>
+<ul>
+<li><a class="el" href="classTFileList.html">TFileList</a>
+</ul>
+</ul>
+</ul>
+<li><a class="el" href="classTMenuView.html">TMenuView</a>
+<ul>
+<li><a class="el" href="classTMenuBar.html">TMenuBar</a>
+<li><a class="el" href="classTMenuBox.html">TMenuBox</a>
+<ul>
+<li><a class="el" href="classTMenuPopup.html">TMenuPopup</a>
+</ul>
+</ul>
+<li><a class="el" href="classTScrollBar.html">TScrollBar</a>
+<li><a class="el" href="classTScroller.html">TScroller</a>
+<ul>
+<li><a class="el" href="classTHelpViewer.html">THelpViewer</a>
+<li><a class="el" href="classTOutlineViewer.html">TOutlineViewer</a>
+<ul>
+<li><a class="el" href="classTOutline.html">TOutline</a>
+</ul>
+<li><a class="el" href="classTTextDevice.html">TTextDevice</a>
+<ul>
+<li><a class="el" href="classTTerminal.html">TTerminal</a>
+</ul>
+</ul>
+<li><a class="el" href="classTStaticText.html">TStaticText</a>
+<ul>
+<li><a class="el" href="classTLabel.html">TLabel</a>
+<li><a class="el" href="classTParamText.html">TParamText</a>
+</ul>
+<li><a class="el" href="classTStatusLine.html">TStatusLine</a>
+</ul>
+</ul>
+<li><a class="el" href="classotstream.html">otstream</a>
+<li><a class="el" href="classTPalette.html">TPalette</a>
+<li><a class="el" href="classTParagraph.html">TParagraph</a>
+<li><a class="el" href="classTPoint.html">TPoint</a>
+<li><a class="el" href="classTProgInit.html">TProgInit</a>
+<ul>
+<li><a class="el" href="classTProgram.html">TProgram</a>
+</ul>
+<li><a class="el" href="classpstream.html">pstream</a>
+<ul>
+<li><a class="el" href="classfpbase.html">fpbase</a>
+<ul>
+<li><a class="el" href="classfpstream.html">fpstream</a>
+<li><a class="el" href="classifpstream.html">ifpstream</a>
+<li><a class="el" href="classofpstream.html">ofpstream</a>
+</ul>
+<li><a class="el" href="classipstream.html">ipstream</a>
+<ul>
+<li><a class="el" href="classifpstream.html">ifpstream</a>
+<li><a class="el" href="classiopstream.html">iopstream</a>
+<ul>
+<li><a class="el" href="classfpstream.html">fpstream</a>
+</ul>
+</ul>
+<li><a class="el" href="classopstream.html">opstream</a>
+<ul>
+<li><a class="el" href="classiopstream.html">iopstream</a>
+<li><a class="el" href="classofpstream.html">ofpstream</a>
+</ul>
+</ul>
+<li><a class="el" href="classTPWObj.html">TPWObj</a>
+<li><a class="el" href="classTRect.html">TRect</a>
+<li><a class="el" href="structTReplaceDialogRec.html">TReplaceDialogRec</a>
+<li><a class="el" href="structTResourceItem.html">TResourceItem</a>
+<li><a class="el" href="structTSearchRec.html">TSearchRec</a>
+<li><a class="el" href="classTSItem.html">TSItem</a>
+<li><a class="el" href="classTStatusDef.html">TStatusDef</a>
+<li><a class="el" href="classTStatusItem.html">TStatusItem</a>
+<li><a class="el" href="classTStreamable.html">TStreamable</a>
+<ul>
+<li><a class="el" href="classTCollection.html">TCollection</a>
+<li><a class="el" href="classTHelpIndex.html">THelpIndex</a>
+<li><a class="el" href="classTHelpTopic.html">THelpTopic</a>
+<li><a class="el" href="classTStringList.html">TStringList</a>
+<li><a class="el" href="classTStrListMaker.html">TStrListMaker</a>
+<li><a class="el" href="classTValidator.html">TValidator</a>
+<li><a class="el" href="classTView.html">TView</a>
+</ul>
+<li><a class="el" href="classTStreamableClass.html">TStreamableClass</a>
+<li><a class="el" href="classTStrIndexRec.html">TStrIndexRec</a>
+<li><a class="el" href="classTVMemMgr.html">TVMemMgr</a>
+<li><a class="el" href="classTWindowInit.html">TWindowInit</a>
+<ul>
+<li><a class="el" href="classTWindow.html">TWindow</a>
+</ul>
+</ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:11 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/index.html b/freebsdtvision/doc/html/index.html
new file mode 100644
index 0000000..8b49d41
--- /dev/null
+++ b/freebsdtvision/doc/html/index.html
@@ -0,0 +1,44 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+ <title>TVision documentation main page</title>
+ <link href="doxygen.css" rel="stylesheet" type="text/css">
+ </head>
+ <body bgcolor="#ffffff">
+ <center>
+ <a class="qindex" href="http://www.sigala.it/sergio/tvision">TVision home page</a>
+ <hr>
+ <p><a class="qindex" href="tvision.html">Installation handbook</a></p>
+ <p><a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp;
+ <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp;
+ <a class="qindex" href="annotated.html">Compound List</a> &nbsp;
+ <a class="qindex" href="files.html">File List</a> &nbsp;
+ <a class="qindex" href="functions.html">Compound Members</a> &nbsp;
+ <a class="qindex" href="globals.html">File Members</a> &nbsp;</p>
+ </center>
+ <hr>
+ <center>
+ <h1>TVision Documentation</h1>
+ <h1>Version 0.8</h1>
+ <img SRC="example.gif">
+ <hr>
+ <p>No warranties, either express or implied, are hereby given. All software is
+ supplied as is, without guarantee. The user assumes all responsibility for
+ damages resulting from the use of these features, including, but not limited
+ to, frustration, disgust, system amends, disk head crashes, general
+ malfunctions, floods, fires, cyclones, hurricanes, local electromagnetic
+ disruptions, hydraulic brake system failure, invasion, normal wear and tear
+ of friction surfaces, cosmic radiation, inadvertent destruction of sensitive
+ electronic components, malfunctioning mechanical or electrical devices,
+ premature activation of the distant early warning system, explosions.</p>
+ <hr>
+ <small>TVision 0.8 online documentation</small>
+ <address>
+ <small>Don't forget to visit the official TVision homepage at
+ <a href="http://www.sigala.it/sergio/tvision">http://www.sigala.it/sergio/tvision</a>
+ </small>
+ </address>
+ </center>
+ </body>
+</html>
diff --git a/freebsdtvision/doc/html/menus_8h-source.html b/freebsdtvision/doc/html/menus_8h-source.html
new file mode 100644
index 0000000..61a05f5
--- /dev/null
+++ b/freebsdtvision/doc/html/menus_8h-source.html
@@ -0,0 +1,469 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>menus.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>menus.h</h1><a href="menus_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="comment">/*</span>
+00002 <span class="comment"> * menus.h</span>
+00003 <span class="comment"> *</span>
+00004 <span class="comment"> * Turbo Vision - Version 2.0</span>
+00005 <span class="comment"> *</span>
+00006 <span class="comment"> * Copyright (c) 1994 by Borland International</span>
+00007 <span class="comment"> * All Rights Reserved.</span>
+00008 <span class="comment"> *</span>
+00009 <span class="comment"> * Modified by Sergio Sigala &lt;sergio@sigala.it&gt;</span>
+00010 <span class="comment"> */</span>
+00011
+00012 <span class="keyword">class </span><a class="code" href="classTSubMenu.html">TSubMenu</a>;
+00013 <span class="keyword">class </span><a class="code" href="classTMenuItem.html">TMenuItem</a>;
+00014 <span class="keyword">class </span><a class="code" href="classTStatusDef.html">TStatusDef</a>;
+00015 <span class="keyword">class </span><a class="code" href="classTStatusItem.html">TStatusItem</a>;
+00016
+00020 <a class="code" href="classTSubMenu.html">TSubMenu</a>&amp; <a class="code" href="menus_8h.html#a3">operator + </a>( <a class="code" href="classTSubMenu.html">TSubMenu</a>&amp; s, <a class="code" href="classTMenuItem.html">TMenuItem</a>&amp; i );
+00024 <a class="code" href="classTSubMenu.html">TSubMenu</a>&amp; <a class="code" href="menus_8h.html#a3">operator + </a>( <a class="code" href="classTSubMenu.html">TSubMenu</a>&amp; s1, <a class="code" href="classTSubMenu.html">TSubMenu</a>&amp; s2 );
+00028 <a class="code" href="classTStatusDef.html">TStatusDef</a>&amp; <a class="code" href="menus_8h.html#a3">operator + </a>( <a class="code" href="classTStatusDef.html">TStatusDef</a>&amp; s1, <a class="code" href="classTStatusItem.html">TStatusItem</a>&amp; s2 );
+00032 <a class="code" href="classTStatusDef.html">TStatusDef</a>&amp; <a class="code" href="menus_8h.html#a3">operator + </a>( <a class="code" href="classTStatusDef.html">TStatusDef</a>&amp; s1, <a class="code" href="classTStatusDef.html">TStatusDef</a>&amp; s2 );
+00033
+00034 <span class="preprocessor">#if defined( Uses_TMenuItem ) &amp;&amp; !defined( __TMenuItem )</span>
+00035 <span class="preprocessor"></span><span class="preprocessor">#define __TMenuItem</span>
+00036 <span class="preprocessor"></span>
+00041 <span class="keyword">class </span><a class="code" href="classTMenu.html">TMenu</a>;
+00042
+<a name="l00052"></a><a class="code" href="classTMenuItem.html">00052</a> <span class="keyword">class </span><a class="code" href="classTMenuItem.html">TMenuItem</a>
+00053 {
+00054 <span class="keyword">public</span>:
+00059 <a class="code" href="classTMenuItem.html#a0">TMenuItem</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *aName,
+00060 <a class="code" href="ttypes_8h.html#a0">ushort</a> aCommand,
+00061 <a class="code" href="ttypes_8h.html#a0">ushort</a> aKeyCode,
+00062 <a class="code" href="ttypes_8h.html#a0">ushort</a> aHelpCtx = <a class="code" href="views_8h.html#a64">hcNoContext</a>,
+00063 <span class="keywordtype">char</span> *p = 0,
+00064 <a class="code" href="classTMenuItem.html">TMenuItem</a> *aNext = 0
+00065 );
+00070 <a class="code" href="classTMenuItem.html#a0">TMenuItem</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *aName,
+00071 <a class="code" href="ttypes_8h.html#a0">ushort</a> aKeyCode,
+00072 <a class="code" href="classTMenu.html">TMenu</a> *aSubMenu,
+00073 <a class="code" href="ttypes_8h.html#a0">ushort</a> aHelpCtx = <a class="code" href="views_8h.html#a64">hcNoContext</a>,
+00074 <a class="code" href="classTMenuItem.html">TMenuItem</a> *aNext = 0
+00075 );
+00081 <a class="code" href="classTMenuItem.html#a2">~TMenuItem</a>();
+00086 <span class="keywordtype">void</span> <a class="code" href="classTMenuItem.html#a3">append</a>( <a class="code" href="classTMenuItem.html">TMenuItem</a> *aNext );
+<a name="l00092"></a><a class="code" href="classTMenuItem.html#m0">00092</a> <a class="code" href="classTMenuItem.html">TMenuItem</a> *<a class="code" href="classTMenuItem.html#m0">next</a>;
+<a name="l00096"></a><a class="code" href="classTMenuItem.html#m1">00096</a> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classTMenuItem.html#m1">name</a>;
+<a name="l00101"></a><a class="code" href="classTMenuItem.html#m2">00101</a> <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="classTMenuItem.html#m2">command</a>;
+<a name="l00106"></a><a class="code" href="classTMenuItem.html#m3">00106</a> <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTMenuItem.html#m3">disabled</a>;
+<a name="l00110"></a><a class="code" href="classTMenuItem.html#m4">00110</a> <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="classTMenuItem.html#m4">keyCode</a>;
+<a name="l00119"></a><a class="code" href="classTMenuItem.html#m5">00119</a> <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="classTMenuItem.html#m5">helpCtx</a>;
+00120 <span class="keyword">union</span>
+00121 <span class="keyword"> </span>{
+<a name="l00126"></a><a class="code" href="classTMenuItem.html#m6">00126</a> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classTMenuItem.html#m6">param</a>;
+<a name="l00131"></a><a class="code" href="classTMenuItem.html#m7">00131</a> <a class="code" href="classTMenu.html">TMenu</a> *<a class="code" href="classTMenuItem.html#m7">subMenu</a>;
+00132 };
+00133 };
+00134
+<a name="l00135"></a><a class="code" href="classTMenuItem.html#a3">00135</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classTMenuItem.html#a3">TMenuItem::append</a>( <a class="code" href="classTMenuItem.html">TMenuItem</a> *aNext )
+00136 {
+00137 <a class="code" href="classTMenuItem.html#m0">next</a> = aNext;
+00138 }
+00139
+<a name="l00143"></a><a class="code" href="menus_8h.html#a4">00143</a> <span class="keyword">inline</span> <a class="code" href="classTMenuItem.html">TMenuItem</a> &amp;<a class="code" href="menus_8h.html#a4">newLine</a>()
+00144 {
+00145 <span class="keywordflow">return</span> *<span class="keyword">new</span> <a class="code" href="classTMenuItem.html">TMenuItem</a>( 0, 0, 0, <a class="code" href="views_8h.html#a64">hcNoContext</a>, 0, 0 );
+00146 }
+00147
+00148 <span class="preprocessor">#endif // Uses_TMenuItem</span>
+00149 <span class="preprocessor"></span>
+00150 <span class="preprocessor">#if defined( Uses_TSubMenu ) &amp;&amp; !defined( __TSubMenu )</span>
+00151 <span class="preprocessor"></span><span class="preprocessor">#define __TSubMenu</span>
+00152 <span class="preprocessor"></span>
+<a name="l00164"></a><a class="code" href="classTSubMenu.html">00164</a> <span class="keyword">class </span><a class="code" href="classTSubMenu.html">TSubMenu</a> : <span class="keyword">public</span> <a class="code" href="classTMenuItem.html">TMenuItem</a>
+00165 {
+00166 <span class="keyword">public</span>:
+00171 <a class="code" href="classTSubMenu.html#a0">TSubMenu</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *nm, <a class="code" href="ttypes_8h.html#a0">ushort</a> key, <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="classTMenuItem.html#m5">helpCtx</a> = <a class="code" href="views_8h.html#a64">hcNoContext</a> );
+00172 };
+00173
+00174 <span class="preprocessor">#endif // Uses_TSubMenu</span>
+00175 <span class="preprocessor"></span>
+00176 <span class="preprocessor">#if defined( Uses_TMenu ) &amp;&amp; !defined( __TMenu )</span>
+00177 <span class="preprocessor"></span><span class="preprocessor">#define __TMenu</span>
+00178 <span class="preprocessor"></span>
+<a name="l00185"></a><a class="code" href="classTMenu.html">00185</a> <span class="keyword">class </span><a class="code" href="classTMenu.html">TMenu</a>
+00186 {
+00187 <span class="keyword">public</span>:
+<a name="l00192"></a><a class="code" href="classTMenu.html#a0">00192</a> <a class="code" href="classTMenu.html#a0">TMenu</a>() : <a class="code" href="classTMenu.html#m0">items</a>(0), <a class="code" href="classTMenu.html#m1">deflt</a>(0) {};
+<a name="l00197"></a><a class="code" href="classTMenu.html#a1">00197</a> <a class="code" href="classTMenu.html#a0">TMenu</a>( <a class="code" href="classTMenuItem.html">TMenuItem</a>&amp; itemList )
+00198 { <a class="code" href="classTMenu.html#m0">items</a> = &amp;itemList; <a class="code" href="classTMenu.html#m1">deflt</a> = &amp;itemList; }
+<a name="l00203"></a><a class="code" href="classTMenu.html#a2">00203</a> <a class="code" href="classTMenu.html#a0">TMenu</a>( <a class="code" href="classTMenuItem.html">TMenuItem</a>&amp; itemList, <a class="code" href="classTMenuItem.html">TMenuItem</a>&amp; TheDefault )
+00204 { <a class="code" href="classTMenu.html#m0">items</a> = &amp;itemList; <a class="code" href="classTMenu.html#m1">deflt</a> = &amp;TheDefault; }
+00208 <a class="code" href="classTMenu.html#a3">~TMenu</a>();
+<a name="l00213"></a><a class="code" href="classTMenu.html#m0">00213</a> <a class="code" href="classTMenuItem.html">TMenuItem</a> *<a class="code" href="classTMenu.html#m0">items</a>;
+<a name="l00218"></a><a class="code" href="classTMenu.html#m1">00218</a> <a class="code" href="classTMenuItem.html">TMenuItem</a> *<a class="code" href="classTMenu.html#m1">deflt</a>;
+00219 };
+00220
+00221 <span class="preprocessor">#endif // Uses_TMenu</span>
+00222 <span class="preprocessor"></span>
+00223 <span class="comment">/* ---------------------------------------------------------------------- */</span>
+00224 <span class="comment">/* class TMenuView */</span>
+00225 <span class="comment">/* */</span>
+00226 <span class="comment">/* Palette layout */</span>
+00227 <span class="comment">/* 1 = Normal text */</span>
+00228 <span class="comment">/* 2 = Disabled text */</span>
+00229 <span class="comment">/* 3 = Shortcut text */</span>
+00230 <span class="comment">/* 4 = Normal selection */</span>
+00231 <span class="comment">/* 5 = Disabled selection */</span>
+00232 <span class="comment">/* 6 = Shortcut selection */</span>
+00233 <span class="comment">/* ---------------------------------------------------------------------- */</span>
+00234
+00235 <span class="preprocessor">#if defined( Uses_TMenuView ) &amp;&amp; !defined( __TMenuView )</span>
+00236 <span class="preprocessor"></span><span class="preprocessor">#define __TMenuView</span>
+00237 <span class="preprocessor"></span>
+00238 <span class="keyword">class </span><a class="code" href="classTRect.html">TRect</a>;
+00239 <span class="keyword">class </span><a class="code" href="classTMenu.html">TMenu</a>;
+00240 <span class="keyword">class </span><a class="code" href="structTEvent.html">TEvent</a>;
+00241
+<a name="l00249"></a><a class="code" href="classTMenuView.html">00249</a> <span class="keyword">class </span><a class="code" href="classTMenuView.html">TMenuView</a> : <span class="keyword">public</span> <a class="code" href="classTView.html">TView</a>
+00250 {
+00251 <span class="keyword">public</span>:
+00255 <a class="code" href="classTMenuView.html#a0">TMenuView</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; bounds, <a class="code" href="classTMenu.html">TMenu</a> *aMenu, <a class="code" href="classTMenuView.html">TMenuView</a> *aParent = 0 );
+00263 <a class="code" href="classTMenuView.html#a0">TMenuView</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; bounds );
+00267 <span class="keywordtype">void</span> <a class="code" href="classTMenuView.html#a2">setBounds</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; bounds );
+00275 <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="classTMenuView.html#a3">execute</a>();
+00281 <a class="code" href="classTMenuItem.html">TMenuItem</a> *<a class="code" href="classTMenuView.html#a4">findItem</a>( <span class="keywordtype">char</span> ch );
+00287 <span class="keyword">virtual</span> <a class="code" href="classTRect.html">TRect</a> <a class="code" href="classTMenuView.html#a5">getItemRect</a>( <a class="code" href="classTMenuItem.html">TMenuItem</a> *item );
+00295 <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="classTMenuView.html#a6">getHelpCtx</a>();
+00299 <span class="keyword">virtual</span> <a class="code" href="classTPalette.html">TPalette</a>&amp; <a class="code" href="classTMenuView.html#a7">getPalette</a>() <span class="keyword">const</span>;
+00305 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTMenuView.html#a8">handleEvent</a>( <a class="code" href="structTEvent.html">TEvent</a>&amp; event );
+00312 <a class="code" href="classTMenuItem.html">TMenuItem</a> *<a class="code" href="classTMenuView.html#a9">hotKey</a>( <a class="code" href="ttypes_8h.html#a0">ushort</a> keyCode );
+00316 <a class="code" href="classTMenuView.html">TMenuView</a> *<a class="code" href="classTMenuView.html#a10">newSubView</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; bounds,
+00317 <a class="code" href="classTMenu.html">TMenu</a> *aMenu,
+00318 <a class="code" href="classTMenuView.html">TMenuView</a> *aParentMenu
+00319 );
+00320 <span class="keyword">protected</span>:
+<a name="l00325"></a><a class="code" href="classTMenuView.html#n0">00325</a> <a class="code" href="classTMenuView.html">TMenuView</a> *<a class="code" href="classTMenuView.html#n0">parentMenu</a>;
+<a name="l00331"></a><a class="code" href="classTMenuView.html#n1">00331</a> <a class="code" href="classTMenu.html">TMenu</a> *<a class="code" href="classTMenuView.html#n1">menu</a>;
+<a name="l00335"></a><a class="code" href="classTMenuView.html#n2">00335</a> <a class="code" href="classTMenuItem.html">TMenuItem</a> *<a class="code" href="classTMenuView.html#n2">current</a>;
+00336 <span class="keyword">private</span>:
+00337 <span class="keywordtype">void</span> nextItem();
+00338 <span class="keywordtype">void</span> prevItem();
+00339 <span class="keywordtype">void</span> trackKey( <a class="code" href="ttypes_8h.html#a13">Boolean</a> findNext );
+00340 <a class="code" href="ttypes_8h.html#a13">Boolean</a> mouseInOwner( <a class="code" href="structTEvent.html">TEvent</a>&amp; e );
+00341 <a class="code" href="ttypes_8h.html#a13">Boolean</a> mouseInMenus( <a class="code" href="structTEvent.html">TEvent</a>&amp; e );
+00342 <span class="keywordtype">void</span> trackMouse( <a class="code" href="structTEvent.html">TEvent</a>&amp; e , <a class="code" href="ttypes_8h.html#a13">Boolean</a>&amp; mouseActive);
+00343 <a class="code" href="classTMenuView.html">TMenuView</a> *topMenu();
+00344 <a class="code" href="ttypes_8h.html#a13">Boolean</a> updateMenu( <a class="code" href="classTMenu.html">TMenu</a> *menu );
+00345 <span class="keywordtype">void</span> do_a_select( <a class="code" href="structTEvent.html">TEvent</a>&amp; );
+00346 <a class="code" href="classTMenuItem.html">TMenuItem</a> *findHotKey( <a class="code" href="classTMenuItem.html">TMenuItem</a> *p, <a class="code" href="ttypes_8h.html#a0">ushort</a> keyCode );
+00347 <span class="keyword">private</span>:
+00348 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *streamableName()<span class="keyword"> const</span>
+00349 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classTMenuView.html#p0">name</a>; }
+00350 <span class="keyword">static</span> <span class="keywordtype">void</span> writeMenu( <a class="code" href="classopstream.html">opstream</a>&amp;, <a class="code" href="classTMenu.html">TMenu</a> * );
+00351 <span class="keyword">static</span> <a class="code" href="classTMenu.html">TMenu</a> *readMenu( <a class="code" href="classipstream.html">ipstream</a>&amp; );
+00352 <span class="keyword">protected</span>:
+00359 <a class="code" href="classTMenuView.html#a0">TMenuView</a>( <a class="code" href="ttypes_8h.html#a14">StreamableInit</a> );
+00363 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTMenuView.html#b1">write</a>( <a class="code" href="classopstream.html">opstream</a>&amp; os );
+00367 <span class="keyword">virtual</span> <span class="keywordtype">void</span> *<a class="code" href="classTMenuView.html#b2">read</a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is );
+00368 <span class="keyword">public</span>:
+<a name="l00372"></a><a class="code" href="classTMenuView.html#p0">00372</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classTMenuView.html#p0">name</a>;
+00376 <span class="keyword">static</span> <a class="code" href="classTStreamable.html">TStreamable</a> *<a class="code" href="classTMenuView.html#d0">build</a>();
+00377 };
+00378
+<a name="l00382"></a><a class="code" href="menus_8h.html#a5">00382</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTMenuView.html">TMenuView</a>&amp; cl )
+00383 { <span class="keywordflow">return</span> is &gt;&gt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l00387"></a><a class="code" href="menus_8h.html#a6">00387</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTMenuView.html">TMenuView</a>*&amp; cl )
+00388 { <span class="keywordflow">return</span> is &gt;&gt; (<span class="keywordtype">void</span> *&amp;)cl; }
+00389
+<a name="l00393"></a><a class="code" href="menus_8h.html#a7">00393</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTMenuView.html">TMenuView</a>&amp; cl )
+00394 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l00398"></a><a class="code" href="menus_8h.html#a8">00398</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTMenuView.html">TMenuView</a>* cl )
+00399 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a> *)cl; }
+00400
+<a name="l00401"></a><a class="code" href="classTMenuView.html#a0">00401</a> <span class="keyword">inline</span> <a class="code" href="classTMenuView.html#a0">TMenuView::TMenuView</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; bounds,
+00402 <a class="code" href="classTMenu.html">TMenu</a> *aMenu,
+00403 <a class="code" href="classTMenuView.html">TMenuView</a> *aParent
+00404 ) :
+00405 <a class="code" href="classTView.html">TView</a>(bounds),
+00406 parentMenu( aParent ),
+00407 menu( aMenu ),
+00408 current( 0 )
+00409 {
+00410 <a class="code" href="classTView.html#m3">eventMask</a> |= <a class="code" href="system_8h.html#a6">evBroadcast</a>;
+00411 }
+00412
+<a name="l00413"></a><a class="code" href="classTMenuView.html#a1">00413</a> <span class="keyword">inline</span> <a class="code" href="classTMenuView.html#a0">TMenuView::TMenuView</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; bounds ) :
+00414 <a class="code" href="classTView.html">TView</a>(bounds), parentMenu(0), menu(0), current(0)
+00415 {
+00416 <a class="code" href="classTView.html#m3">eventMask</a> |= <a class="code" href="system_8h.html#a6">evBroadcast</a>;
+00417 }
+00418
+00419 <span class="preprocessor">#endif // Uses_TMenuView</span>
+00420 <span class="preprocessor"></span>
+00421 <span class="comment">/* ---------------------------------------------------------------------- */</span>
+00422 <span class="comment">/* class TMenuBar */</span>
+00423 <span class="comment">/* */</span>
+00424 <span class="comment">/* Palette layout */</span>
+00425 <span class="comment">/* 1 = Normal text */</span>
+00426 <span class="comment">/* 2 = Disabled text */</span>
+00427 <span class="comment">/* 3 = Shortcut text */</span>
+00428 <span class="comment">/* 4 = Normal selection */</span>
+00429 <span class="comment">/* 5 = Disabled selection */</span>
+00430 <span class="comment">/* 6 = Shortcut selection */</span>
+00431 <span class="comment">/* ---------------------------------------------------------------------- */</span>
+00432
+00433 <span class="preprocessor">#if defined( Uses_TMenuBar ) &amp;&amp; !defined( __TMenuBar )</span>
+00434 <span class="preprocessor"></span><span class="preprocessor">#define __TMenuBar</span>
+00435 <span class="preprocessor"></span>
+00436 <span class="keyword">class </span><a class="code" href="classTRect.html">TRect</a>;
+00437 <span class="keyword">class </span><a class="code" href="classTMenu.html">TMenu</a>;
+00438
+<a name="l00462"></a><a class="code" href="classTMenuBar.html">00462</a> <span class="keyword">class </span><a class="code" href="classTMenuBar.html">TMenuBar</a> : <span class="keyword">public</span> <a class="code" href="classTMenuView.html">TMenuView</a>
+00463 {
+00464 <span class="keyword">public</span>:
+00474 <a class="code" href="classTMenuBar.html#a0">TMenuBar</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; bounds, <a class="code" href="classTMenu.html">TMenu</a> *aMenu );
+00478 <a class="code" href="classTMenuBar.html#a0">TMenuBar</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; bounds, <a class="code" href="classTSubMenu.html">TSubMenu</a> &amp;aMenu );
+00482 <a class="code" href="classTMenuBar.html#a2">~TMenuBar</a>();
+00490 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTMenuBar.html#a3">draw</a>();
+00496 <span class="keyword">virtual</span> <a class="code" href="classTRect.html">TRect</a> <a class="code" href="classTMenuBar.html#a4">getItemRect</a>( <a class="code" href="classTMenuItem.html">TMenuItem</a> *item );
+00497 <span class="keyword">private</span>:
+00498 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *streamableName()<span class="keyword"> const</span>
+00499 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classTMenuBar.html#p0">name</a>; }
+00500 <span class="keyword">protected</span>:
+00507 <a class="code" href="classTMenuBar.html#a0">TMenuBar</a>( <a class="code" href="ttypes_8h.html#a14">StreamableInit</a> );
+00508 <span class="keyword">public</span>:
+<a name="l00512"></a><a class="code" href="classTMenuBar.html#p0">00512</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classTMenuBar.html#p0">name</a>;
+00516 <span class="keyword">static</span> <a class="code" href="classTStreamable.html">TStreamable</a> *<a class="code" href="classTMenuBar.html#d0">build</a>();
+00517 };
+00518
+<a name="l00522"></a><a class="code" href="menus_8h.html#a9">00522</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTMenuBar.html">TMenuBar</a>&amp; cl )
+00523 { <span class="keywordflow">return</span> is &gt;&gt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l00527"></a><a class="code" href="menus_8h.html#a10">00527</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTMenuBar.html">TMenuBar</a>*&amp; cl )
+00528 { <span class="keywordflow">return</span> is &gt;&gt; (<span class="keywordtype">void</span> *&amp;)cl; }
+00529
+<a name="l00533"></a><a class="code" href="menus_8h.html#a11">00533</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTMenuBar.html">TMenuBar</a>&amp; cl )
+00534 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l00538"></a><a class="code" href="menus_8h.html#a12">00538</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTMenuBar.html">TMenuBar</a>* cl )
+00539 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a> *)cl; }
+00540
+00541 <span class="preprocessor">#endif // Uses_TMenuBar</span>
+00542 <span class="preprocessor"></span>
+00543 <span class="comment">/* ---------------------------------------------------------------------- */</span>
+00544 <span class="comment">/* class TMenuBox */</span>
+00545 <span class="comment">/* */</span>
+00546 <span class="comment">/* Palette layout */</span>
+00547 <span class="comment">/* 1 = Normal text */</span>
+00548 <span class="comment">/* 2 = Disabled text */</span>
+00549 <span class="comment">/* 3 = Shortcut text */</span>
+00550 <span class="comment">/* 4 = Normal selection */</span>
+00551 <span class="comment">/* 5 = Disabled selection */</span>
+00552 <span class="comment">/* 6 = Shortcut selection */</span>
+00553 <span class="comment">/* ---------------------------------------------------------------------- */</span>
+00554
+00555 <span class="preprocessor">#if defined( Uses_TMenuBox ) &amp;&amp; !defined( __TMenuBox )</span>
+00556 <span class="preprocessor"></span><span class="preprocessor">#define __TMenuBox</span>
+00557 <span class="preprocessor"></span>
+00558 <span class="keyword">class </span><a class="code" href="classTRect.html">TRect</a>;
+00559 <span class="keyword">class </span><a class="code" href="classTMenu.html">TMenu</a>;
+00560 <span class="keyword">class </span><a class="code" href="classTMenuView.html">TMenuView</a>;
+00561 <span class="keyword">class </span><a class="code" href="classTDrawBuffer.html">TDrawBuffer</a>;
+00562
+<a name="l00569"></a><a class="code" href="classTMenuBox.html">00569</a> <span class="keyword">class </span><a class="code" href="classTMenuBox.html">TMenuBox</a> : <span class="keyword">public</span> <a class="code" href="classTMenuView.html">TMenuView</a>
+00570 {
+00571 <span class="keyword">public</span>:
+00586 <a class="code" href="classTMenuBox.html#a0">TMenuBox</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; bounds, <a class="code" href="classTMenu.html">TMenu</a> *aMenu, <a class="code" href="classTMenuView.html">TMenuView</a> *aParentMenu);
+00591 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTMenuBox.html#a1">draw</a>();
+00596 <span class="keyword">virtual</span> <a class="code" href="classTRect.html">TRect</a> <a class="code" href="classTMenuBox.html#a2">getItemRect</a>( <a class="code" href="classTMenuItem.html">TMenuItem</a> *item );
+<a name="l00600"></a><a class="code" href="classTMenuBox.html#p0">00600</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="classTMenuBox.html#p0">frameChars</a>;
+00601 <span class="keyword">private</span>:
+00602 <span class="keywordtype">void</span> frameLine( <a class="code" href="classTDrawBuffer.html">TDrawBuffer</a>&amp;, <span class="keywordtype">short</span> n );
+00603 <span class="keywordtype">void</span> drawLine( <a class="code" href="classTDrawBuffer.html">TDrawBuffer</a>&amp; );
+00604 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *streamableName()<span class="keyword"> const</span>
+00605 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classTMenuBox.html#p1">name</a>; }
+00606 <span class="keyword">protected</span>:
+00613 <a class="code" href="classTMenuBox.html#a0">TMenuBox</a>( <a class="code" href="ttypes_8h.html#a14">StreamableInit</a> );
+00614 <span class="keyword">public</span>:
+<a name="l00618"></a><a class="code" href="classTMenuBox.html#p1">00618</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classTMenuBox.html#p1">name</a>;
+00622 <span class="keyword">static</span> <a class="code" href="classTStreamable.html">TStreamable</a> *<a class="code" href="classTMenuBox.html#d0">build</a>();
+00623 };
+00624
+00625
+<a name="l00629"></a><a class="code" href="menus_8h.html#a13">00629</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTMenuBox.html">TMenuBox</a>&amp; cl )
+00630 { <span class="keywordflow">return</span> is &gt;&gt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l00634"></a><a class="code" href="menus_8h.html#a14">00634</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTMenuBox.html">TMenuBox</a>*&amp; cl )
+00635 { <span class="keywordflow">return</span> is &gt;&gt; (<span class="keywordtype">void</span> *&amp;)cl; }
+00636
+<a name="l00640"></a><a class="code" href="menus_8h.html#a15">00640</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTMenuBox.html">TMenuBox</a>&amp; cl )
+00641 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l00645"></a><a class="code" href="menus_8h.html#a16">00645</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTMenuBox.html">TMenuBox</a>* cl )
+00646 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a> *)cl; }
+00647
+00648 <span class="preprocessor">#endif // Uses_TMenuBox</span>
+00649 <span class="preprocessor"></span>
+00650
+00651 <span class="preprocessor">#if defined( Uses_TMenuPopup ) &amp;&amp; !defined( __TMenuPopup )</span>
+00652 <span class="preprocessor"></span><span class="preprocessor">#define __TMenuPopup</span>
+00653 <span class="preprocessor"></span>
+00654 <span class="comment">/* ---------------------------------------------------------------------- */</span>
+00655 <span class="comment">/* class TMenuPopup */</span>
+00656 <span class="comment">/* */</span>
+00657 <span class="comment">/* Palette layout */</span>
+00658 <span class="comment">/* 1 = Normal text */</span>
+00659 <span class="comment">/* 2 = Disabled text */</span>
+00660 <span class="comment">/* 3 = Shortcut text */</span>
+00661 <span class="comment">/* 4 = Normal selection */</span>
+00662 <span class="comment">/* 5 = Disabled selection */</span>
+00663 <span class="comment">/* 6 = Shortcut selection */</span>
+00664 <span class="comment">/* ---------------------------------------------------------------------- */</span>
+00665
+<a name="l00670"></a><a class="code" href="classTMenuPopup.html">00670</a> <span class="keyword">class </span><a class="code" href="classTMenuPopup.html">TMenuPopup</a> : <span class="keyword">public</span> <a class="code" href="classTMenuBox.html">TMenuBox</a>
+00671 {
+00672 <a class="code" href="classTMenuPopup.html">TMenuPopup</a>(<a class="code" href="classTRect.html">TRect</a>&amp;, <a class="code" href="classTMenu.html">TMenu</a>*);
+00673 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTMenuView.html#a8">handleEvent</a>(<a class="code" href="structTEvent.html">TEvent</a>&amp;);
+00674 <span class="keyword">public</span>:
+<a name="l00675"></a><a class="code" href="classTMenuPopup.html#p0">00675</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classTMenuPopup.html#p0">name</a>;
+00676 };
+00677
+00678
+00679 <span class="preprocessor">#endif // Uses_TMenuPopup</span>
+00680 <span class="preprocessor"></span>
+00681
+00682
+00683
+00684 <span class="preprocessor">#if defined( Uses_TStatusItem ) &amp;&amp; !defined( __TStatusItem )</span>
+00685 <span class="preprocessor"></span><span class="preprocessor">#define __TStatusItem</span>
+00686 <span class="preprocessor"></span>
+<a name="l00696"></a><a class="code" href="classTStatusItem.html">00696</a> <span class="keyword">class </span><a class="code" href="classTStatusItem.html">TStatusItem</a>
+00697 {
+00698 <span class="keyword">public</span>:
+00702 <a class="code" href="classTStatusItem.html#a0">TStatusItem</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *aText,
+00703 <a class="code" href="ttypes_8h.html#a0">ushort</a> key,
+00704 <a class="code" href="ttypes_8h.html#a0">ushort</a> cmd,
+00705 <a class="code" href="classTStatusItem.html">TStatusItem</a> *aNext = 0
+00706 );
+00710 <a class="code" href="classTStatusItem.html#a1">~TStatusItem</a>();
+<a name="l00716"></a><a class="code" href="classTStatusItem.html#m0">00716</a> <a class="code" href="classTStatusItem.html">TStatusItem</a> *<a class="code" href="classTStatusItem.html#m0">next</a>;
+<a name="l00722"></a><a class="code" href="classTStatusItem.html#m1">00722</a> <span class="keywordtype">char</span> *<a class="code" href="classTStatusItem.html#m1">text</a>;
+<a name="l00726"></a><a class="code" href="classTStatusItem.html#m2">00726</a> <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="classTStatusItem.html#m2">keyCode</a>;
+<a name="l00730"></a><a class="code" href="classTStatusItem.html#m3">00730</a> <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="classTStatusItem.html#m3">command</a>;
+00731 };
+00732
+<a name="l00733"></a><a class="code" href="classTStatusItem.html#a0">00733</a> <span class="keyword">inline</span> <a class="code" href="classTStatusItem.html#a0">TStatusItem::TStatusItem</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *aText,
+00734 <a class="code" href="ttypes_8h.html#a0">ushort</a> key,
+00735 <a class="code" href="ttypes_8h.html#a0">ushort</a> cmd,
+00736 <a class="code" href="classTStatusItem.html">TStatusItem</a> *aNext
+00737 ) :
+00738 next( aNext ),
+00739 text( <a class="code" href="util_8h.html#a15">newStr</a>(aText) ),
+00740 keyCode( key ),
+00741 command( cmd )
+00742 {
+00743 }
+00744
+<a name="l00745"></a><a class="code" href="classTStatusItem.html#a1">00745</a> <span class="keyword">inline</span> <a class="code" href="classTStatusItem.html#a1">TStatusItem::~TStatusItem</a>()
+00746 {
+00747 <span class="keyword">delete</span> <a class="code" href="classTStatusItem.html#m1">text</a>;
+00748 }
+00749
+00750 <span class="preprocessor">#endif // Uses_TStatusItem</span>
+00751 <span class="preprocessor"></span>
+00752 <span class="preprocessor">#if defined( Uses_TStatusDef ) &amp;&amp; !defined( __TStatusDef )</span>
+00753 <span class="preprocessor"></span><span class="preprocessor">#define __TStatusDef</span>
+00754 <span class="preprocessor"></span>
+<a name="l00761"></a><a class="code" href="classTStatusDef.html">00761</a> <span class="keyword">class </span><a class="code" href="classTStatusDef.html">TStatusDef</a>
+00762 {
+00763 <span class="keyword">public</span>:
+00767 <a class="code" href="classTStatusDef.html#a0">TStatusDef</a>( <a class="code" href="ttypes_8h.html#a0">ushort</a> aMin,
+00768 <a class="code" href="ttypes_8h.html#a0">ushort</a> aMax,
+00769 <a class="code" href="classTStatusItem.html">TStatusItem</a> *someItems = 0,
+00770 <a class="code" href="classTStatusDef.html">TStatusDef</a> *aNext = 0
+00771 );
+<a name="l00777"></a><a class="code" href="classTStatusDef.html#m0">00777</a> <a class="code" href="classTStatusDef.html">TStatusDef</a> *<a class="code" href="classTStatusDef.html#m0">next</a>;
+<a name="l00783"></a><a class="code" href="classTStatusDef.html#m1">00783</a> <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="classTStatusDef.html#m1">min</a>;
+<a name="l00789"></a><a class="code" href="classTStatusDef.html#m2">00789</a> <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="classTStatusDef.html#m2">max</a>;
+<a name="l00794"></a><a class="code" href="classTStatusDef.html#m3">00794</a> <a class="code" href="classTStatusItem.html">TStatusItem</a> *<a class="code" href="classTStatusDef.html#m3">items</a>;
+00795 };
+00796
+<a name="l00797"></a><a class="code" href="classTStatusDef.html#a0">00797</a> <span class="keyword">inline</span> <a class="code" href="classTStatusDef.html#a0">TStatusDef::TStatusDef</a>( <a class="code" href="ttypes_8h.html#a0">ushort</a> aMin,
+00798 <a class="code" href="ttypes_8h.html#a0">ushort</a> aMax,
+00799 <a class="code" href="classTStatusItem.html">TStatusItem</a> *someItems,
+00800 <a class="code" href="classTStatusDef.html">TStatusDef</a> *aNext
+00801 ) :
+00802 next( aNext ),
+00803 <a class="code" href="util_8h.html#a0">min</a>( aMin ),
+00804 <a class="code" href="util_8h.html#a1">max</a>( aMax ),
+00805 items( someItems )
+00806 {
+00807 }
+00808
+00809 <span class="preprocessor">#endif // Uses_TStatusDef</span>
+00810 <span class="preprocessor"></span>
+00811 <span class="comment">/* ---------------------------------------------------------------------- */</span>
+00812 <span class="comment">/* class TStatusLine */</span>
+00813 <span class="comment">/* */</span>
+00814 <span class="comment">/* Palette layout */</span>
+00815 <span class="comment">/* 1 = Normal text */</span>
+00816 <span class="comment">/* 2 = Disabled text */</span>
+00817 <span class="comment">/* 3 = Shortcut text */</span>
+00818 <span class="comment">/* 4 = Normal selection */</span>
+00819 <span class="comment">/* 5 = Disabled selection */</span>
+00820 <span class="comment">/* 6 = Shortcut selection */</span>
+00821 <span class="comment">/* ---------------------------------------------------------------------- */</span>
+00822
+00823 <span class="preprocessor">#if defined( Uses_TStatusLine ) &amp;&amp; !defined( __TStatusLine )</span>
+00824 <span class="preprocessor"></span><span class="preprocessor">#define __TStatusLine</span>
+00825 <span class="preprocessor"></span>
+00826 <span class="keyword">class </span><a class="code" href="classTRect.html">TRect</a>;
+00827 <span class="keyword">class </span><a class="code" href="structTEvent.html">TEvent</a>;
+00828 <span class="keyword">class </span><a class="code" href="classTPoint.html">TPoint</a>;
+00829
+<a name="l00842"></a><a class="code" href="classTStatusLine.html">00842</a> <span class="keyword">class </span><a class="code" href="classTStatusLine.html">TStatusLine</a> : <span class="keyword">public</span> <a class="code" href="classTView.html">TView</a>
+00843 {
+00844 <span class="keyword">public</span>:
+00857 <a class="code" href="classTStatusLine.html#a0">TStatusLine</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; bounds, <a class="code" href="classTStatusDef.html">TStatusDef</a>&amp; aDefs );
+00863 <a class="code" href="classTStatusLine.html#a1">~TStatusLine</a>();
+00870 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTStatusLine.html#a2">draw</a>();
+00874 <span class="keyword">virtual</span> <a class="code" href="classTPalette.html">TPalette</a>&amp; <a class="code" href="classTStatusLine.html#a3">getPalette</a>() <span class="keyword">const</span>;
+00889 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTStatusLine.html#a4">handleEvent</a>( <a class="code" href="structTEvent.html">TEvent</a>&amp; event );
+00897 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classTStatusLine.html#a5">hint</a>( <a class="code" href="ttypes_8h.html#a0">ushort</a> aHelpCtx );
+00905 <span class="keywordtype">void</span> <a class="code" href="classTStatusLine.html#a6">update</a>();
+<a name="l00909"></a><a class="code" href="classTStatusLine.html#p0">00909</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="classTStatusLine.html#p0">hintSeparator</a>;
+00910 <span class="keyword">protected</span>:
+<a name="l00914"></a><a class="code" href="classTStatusLine.html#n0">00914</a> <a class="code" href="classTStatusItem.html">TStatusItem</a> *<a class="code" href="classTStatusLine.html#n0">items</a>;
+<a name="l00919"></a><a class="code" href="classTStatusLine.html#n1">00919</a> <a class="code" href="classTStatusDef.html">TStatusDef</a> *<a class="code" href="classTStatusLine.html#n1">defs</a>;
+00920 <span class="keyword">private</span>:
+00921 <span class="keywordtype">void</span> drawSelect( <a class="code" href="classTStatusItem.html">TStatusItem</a> *selected );
+00922 <span class="keywordtype">void</span> findItems();
+00923 <a class="code" href="classTStatusItem.html">TStatusItem</a> *itemMouseIsIn( <a class="code" href="classTPoint.html">TPoint</a> );
+00924 <span class="keywordtype">void</span> disposeItems( <a class="code" href="classTStatusItem.html">TStatusItem</a> *item );
+00925 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *streamableName()<span class="keyword"> const</span>
+00926 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classTStatusLine.html#p1">name</a>; }
+00927 <span class="keyword">static</span> <span class="keywordtype">void</span> writeItems( <a class="code" href="classopstream.html">opstream</a>&amp;, <a class="code" href="classTStatusItem.html">TStatusItem</a> * );
+00928 <span class="keyword">static</span> <span class="keywordtype">void</span> writeDefs( <a class="code" href="classopstream.html">opstream</a>&amp;, <a class="code" href="classTStatusDef.html">TStatusDef</a> * );
+00929 <span class="keyword">static</span> <a class="code" href="classTStatusItem.html">TStatusItem</a> *readItems( <a class="code" href="classipstream.html">ipstream</a>&amp; );
+00930 <span class="keyword">static</span> <a class="code" href="classTStatusDef.html">TStatusDef</a> *readDefs( <a class="code" href="classipstream.html">ipstream</a>&amp; );
+00931 <span class="keyword">protected</span>:
+00938 <a class="code" href="classTStatusLine.html#a0">TStatusLine</a>( <a class="code" href="ttypes_8h.html#a14">StreamableInit</a> );
+00942 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTStatusLine.html#b1">write</a>( <a class="code" href="classopstream.html">opstream</a>&amp; os );
+00946 <span class="keyword">virtual</span> <span class="keywordtype">void</span> *<a class="code" href="classTStatusLine.html#b2">read</a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is );
+00947 <span class="keyword">public</span>:
+<a name="l00951"></a><a class="code" href="classTStatusLine.html#p1">00951</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classTStatusLine.html#p1">name</a>;
+00955 <span class="keyword">static</span> <a class="code" href="classTStreamable.html">TStreamable</a> *<a class="code" href="classTStatusLine.html#d0">build</a>();
+00956 };
+00957
+<a name="l00961"></a><a class="code" href="menus_8h.html#a17">00961</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTStatusLine.html">TStatusLine</a>&amp; cl )
+00962 { <span class="keywordflow">return</span> is &gt;&gt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l00966"></a><a class="code" href="menus_8h.html#a18">00966</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTStatusLine.html">TStatusLine</a>*&amp; cl )
+00967 { <span class="keywordflow">return</span> is &gt;&gt; (<span class="keywordtype">void</span> *&amp;)cl; }
+00968
+<a name="l00972"></a><a class="code" href="menus_8h.html#a19">00972</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTStatusLine.html">TStatusLine</a>&amp; cl )
+00973 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l00977"></a><a class="code" href="menus_8h.html#a20">00977</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTStatusLine.html">TStatusLine</a>* cl )
+00978 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a> *)cl; }
+00979
+00980 <span class="preprocessor">#endif // Uses_TStatusLine</span>
+</pre></div><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:09 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/menus_8h.html b/freebsdtvision/doc/html/menus_8h.html
new file mode 100644
index 0000000..d3d559c
--- /dev/null
+++ b/freebsdtvision/doc/html/menus_8h.html
@@ -0,0 +1,892 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>menus.h File Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>menus.h File Reference</h1>
+<p>
+<a href="menus_8h-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Compounds</h2></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTMenu.html">TMenu</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>A "wrapper" for the various other menu classes, such as <a class="el" href="classTMenuItem.html">TMenuItem</a>, <a class="el" href="classTSubMenu.html">TSubMenu</a> and <a class="el" href="classTMenuView.html">TMenuView</a>.</em> <a href="classTMenu.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTMenuBar.html">TMenuBar</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>The horizontal menu bar from which you make menu selections.</em> <a href="classTMenuBar.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTMenuBox.html">TMenuBox</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>These objects represent vertical menu boxes.</em> <a href="classTMenuBox.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTMenuItem.html">TMenuItem</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Instances of TMenuItem serve as elements of a menu.</em> <a href="classTMenuItem.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTMenuPopup.html">TMenuPopup</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Part of the menu system.</em> <a href="classTMenuPopup.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTMenuView.html">TMenuView</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>An abstract base from which menu bar and menu box classes (either pull down or pop up) are derived.</em> <a href="classTMenuView.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTStatusDef.html">TStatusDef</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Represents a status line definition used by a <a class="el" href="classTStatusLine.html">TStatusLine</a> view to display context-sensitive status lines.</em> <a href="classTStatusDef.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTStatusItem.html">TStatusItem</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Represents a component of a linked list associated with a <a class="el" href="classTStatusLine.html">TStatusLine</a> view.</em> <a href="classTStatusItem.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTStatusLine.html">TStatusLine</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>A specialized view, usually displayed at the bottom of the screen.</em> <a href="classTStatusLine.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTSubMenu.html">TSubMenu</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Used to differentiate between different types of <a class="el" href="classTMenuItem.html">TMenuItem</a>: individual menu items and submenus.</em> <a href="classTSubMenu.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td colspan=2><br><h2>Functions</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTSubMenu.html">TSubMenu</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="menus_8h.html#a0">operator+</a> (<a class="el" href="classTSubMenu.html">TSubMenu</a> &amp;s, <a class="el" href="classTMenuItem.html">TMenuItem</a> &amp;i)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTSubMenu.html">TSubMenu</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="menus_8h.html#a1">operator+</a> (<a class="el" href="classTSubMenu.html">TSubMenu</a> &amp;s1, <a class="el" href="classTSubMenu.html">TSubMenu</a> &amp;s2)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStatusDef.html">TStatusDef</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="menus_8h.html#a2">operator+</a> (<a class="el" href="classTStatusDef.html">TStatusDef</a> &amp;s1, <a class="el" href="classTStatusItem.html">TStatusItem</a> &amp;s2)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStatusDef.html">TStatusDef</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="menus_8h.html#a3">operator+</a> (<a class="el" href="classTStatusDef.html">TStatusDef</a> &amp;s1, <a class="el" href="classTStatusDef.html">TStatusDef</a> &amp;s2)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTMenuItem.html">TMenuItem</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="menus_8h.html#a4">newLine</a> ()</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="menus_8h.html#a5">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTMenuView.html">TMenuView</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="menus_8h.html#a6">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTMenuView.html">TMenuView</a> *&amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="menus_8h.html#a7">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTMenuView.html">TMenuView</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="menus_8h.html#a8">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTMenuView.html">TMenuView</a> *cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="menus_8h.html#a9">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTMenuBar.html">TMenuBar</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="menus_8h.html#a10">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTMenuBar.html">TMenuBar</a> *&amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="menus_8h.html#a11">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTMenuBar.html">TMenuBar</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="menus_8h.html#a12">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTMenuBar.html">TMenuBar</a> *cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="menus_8h.html#a13">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTMenuBox.html">TMenuBox</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="menus_8h.html#a14">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTMenuBox.html">TMenuBox</a> *&amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="menus_8h.html#a15">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTMenuBox.html">TMenuBox</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="menus_8h.html#a16">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTMenuBox.html">TMenuBox</a> *cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="menus_8h.html#a17">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTStatusLine.html">TStatusLine</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="menus_8h.html#a18">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTStatusLine.html">TStatusLine</a> *&amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="menus_8h.html#a19">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTStatusLine.html">TStatusLine</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="menus_8h.html#a20">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTStatusLine.html">TStatusLine</a> *cl)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+ <a class="el" href="menus_8h.html">menus.h</a>
+<p>
+
+<p>
+Definition in file <a class="el" href="menus_8h-source.html">menus.h</a>.<hr><h2>Function Documentation</h2>
+<a name="a4" doxytag="menus.h::newLine"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTMenuItem.html">TMenuItem</a>&amp; newLine </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00143">143</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>.
+<p>
+References <a class="el" href="views_8h-source.html#l00358">hcNoContext</a>. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="menus.h::operator+"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStatusDef.html">TStatusDef</a>&amp; operator+ </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTStatusDef.html">TStatusDef</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>s1</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTStatusDef.html">TStatusDef</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>s2</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="menus.h::operator+"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTStatusDef.html">TStatusDef</a>&amp; operator+ </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTStatusDef.html">TStatusDef</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>s1</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTStatusItem.html">TStatusItem</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>s2</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="menus.h::operator+"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTSubMenu.html">TSubMenu</a>&amp; operator+ </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTSubMenu.html">TSubMenu</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>s1</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTSubMenu.html">TSubMenu</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>s2</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="a0" doxytag="menus.h::operator+"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTSubMenu.html">TSubMenu</a>&amp; operator+ </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTSubMenu.html">TSubMenu</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>s</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTMenuItem.html">TMenuItem</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>i</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="a20" doxytag="menus.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTStatusLine.html">TStatusLine</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00977">977</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>. </td>
+ </tr>
+</table>
+<a name="a19" doxytag="menus.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTStatusLine.html">TStatusLine</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00972">972</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>. </td>
+ </tr>
+</table>
+<a name="a16" doxytag="menus.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTMenuBox.html">TMenuBox</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00645">645</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>. </td>
+ </tr>
+</table>
+<a name="a15" doxytag="menus.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTMenuBox.html">TMenuBox</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00640">640</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>. </td>
+ </tr>
+</table>
+<a name="a12" doxytag="menus.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTMenuBar.html">TMenuBar</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00538">538</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>. </td>
+ </tr>
+</table>
+<a name="a11" doxytag="menus.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTMenuBar.html">TMenuBar</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00533">533</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>. </td>
+ </tr>
+</table>
+<a name="a8" doxytag="menus.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTMenuView.html">TMenuView</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00398">398</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>. </td>
+ </tr>
+</table>
+<a name="a7" doxytag="menus.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTMenuView.html">TMenuView</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00393">393</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>. </td>
+ </tr>
+</table>
+<a name="a18" doxytag="menus.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTStatusLine.html">TStatusLine</a> *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00966">966</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>. </td>
+ </tr>
+</table>
+<a name="a17" doxytag="menus.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTStatusLine.html">TStatusLine</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00961">961</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>. </td>
+ </tr>
+</table>
+<a name="a14" doxytag="menus.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTMenuBox.html">TMenuBox</a> *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00634">634</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>. </td>
+ </tr>
+</table>
+<a name="a13" doxytag="menus.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTMenuBox.html">TMenuBox</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00629">629</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>. </td>
+ </tr>
+</table>
+<a name="a10" doxytag="menus.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTMenuBar.html">TMenuBar</a> *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00527">527</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>. </td>
+ </tr>
+</table>
+<a name="a9" doxytag="menus.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTMenuBar.html">TMenuBar</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00522">522</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>. </td>
+ </tr>
+</table>
+<a name="a6" doxytag="menus.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTMenuView.html">TMenuView</a> *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00387">387</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>. </td>
+ </tr>
+</table>
+<a name="a5" doxytag="menus.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTMenuView.html">TMenuView</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="menus_8h-source.html#l00382">382</a> of file <a class="el" href="menus_8h-source.html">menus.h</a>. </td>
+ </tr>
+</table>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:11 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/msgbox_8h-source.html b/freebsdtvision/doc/html/msgbox_8h-source.html
new file mode 100644
index 0000000..ab3985c
--- /dev/null
+++ b/freebsdtvision/doc/html/msgbox_8h-source.html
@@ -0,0 +1,81 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>msgbox.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>msgbox.h</h1><a href="msgbox_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="comment">/*</span>
+00002 <span class="comment"> * msgbox.h</span>
+00003 <span class="comment"> *</span>
+00004 <span class="comment"> * Turbo Vision - Version 2.0</span>
+00005 <span class="comment"> *</span>
+00006 <span class="comment"> * Copyright (c) 1994 by Borland International</span>
+00007 <span class="comment"> * All Rights Reserved.</span>
+00008 <span class="comment"> *</span>
+00009 <span class="comment"> * Modified by Sergio Sigala &lt;sergio@sigala.it&gt;</span>
+00010 <span class="comment"> */</span>
+00011
+00012 <span class="preprocessor">#if defined( Uses_MsgBox ) &amp;&amp; !defined( __MsgBox )</span>
+00013 <span class="preprocessor"></span><span class="preprocessor">#define __MsgBox</span>
+00014 <span class="preprocessor"></span>
+00019 <span class="preprocessor">#include &lt;stdarg.h&gt;</span>
+00020
+00021 <span class="keyword">class </span><a class="code" href="classTRect.html">TRect</a>;
+00022
+00052 <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="msgbox_8h.html#a11">messageBox</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *msg, <a class="code" href="ttypes_8h.html#a0">ushort</a> aOptions );
+00053
+00059 <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="msgbox_8h.html#a11">messageBox</a>( <span class="keywordtype">unsigned</span> aOptions, <span class="keyword">const</span> <span class="keywordtype">char</span> *msg, ... );
+00060
+00066 <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="msgbox_8h.html#a13">messageBoxRect</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a> &amp;r, <span class="keyword">const</span> <span class="keywordtype">char</span> *msg, <a class="code" href="ttypes_8h.html#a0">ushort</a> aOptions );
+00067
+00073 <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="msgbox_8h.html#a13">messageBoxRect</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a> &amp;r, <a class="code" href="ttypes_8h.html#a0">ushort</a> aOptions, <span class="keyword">const</span> <span class="keywordtype">char</span> *msg,
+00074 ... );
+00075
+00080 <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="msgbox_8h.html#a14">inputBox</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *Title, <span class="keyword">const</span> <span class="keywordtype">char</span> *aLabel, <span class="keywordtype">char</span> *s,
+00081 <a class="code" href="ttypes_8h.html#a1">uchar</a> limit );
+00082
+00088 <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="msgbox_8h.html#a15">inputBoxRect</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a> &amp;bounds, <span class="keyword">const</span> <span class="keywordtype">char</span> *title,
+00089 <span class="keyword">const</span> <span class="keywordtype">char</span> *aLabel, <span class="keywordtype">char</span> *s, <a class="code" href="ttypes_8h.html#a1">uchar</a> limit );
+00090
+00091 <span class="keyword">const</span>
+00092
+00093 <span class="comment">// Message box classes</span>
+00094
+00095 <span class="keywordtype">int</span> mfWarning = 0x0000, <span class="comment">// Display a Warning box</span>
+00096 mfError = 0x0001, <span class="comment">// Display a Error box</span>
+00097 mfInformation = 0x0002, <span class="comment">// Display an Information Box</span>
+00098 mfConfirmation = 0x0003, <span class="comment">// Display a Confirmation Box</span>
+00099
+00100 <span class="comment">// Message box button flags</span>
+00101
+00102 mfYesButton = 0x0100, <span class="comment">// Put a Yes button into the dialog</span>
+00103 mfNoButton = 0x0200, <span class="comment">// Put a No button into the dialog</span>
+00104 mfOKButton = 0x0400, <span class="comment">// Put an OK button into the dialog</span>
+00105 mfCancelButton = 0x0800, <span class="comment">// Put a Cancel button into the dialog</span>
+00106
+00107 mfYesNoCancel = mfYesButton | mfNoButton | mfCancelButton,
+00108 <span class="comment">// Standard Yes, No, Cancel dialog</span>
+00109 mfOKCancel = mfOKButton | mfCancelButton;
+00110 <span class="comment">// Standard OK, Cancel dialog</span>
+<a name="l00118"></a><a class="code" href="classMsgBoxText.html">00118</a> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classMsgBoxText.html">MsgBoxText</a>
+00119 {
+00120 <span class="keyword">public</span>:
+<a name="l00124"></a><a class="code" href="classMsgBoxText.html#p0">00124</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="classMsgBoxText.html#p0">yesText</a>;
+<a name="l00128"></a><a class="code" href="classMsgBoxText.html#p1">00128</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="classMsgBoxText.html#p1">noText</a>;
+<a name="l00132"></a><a class="code" href="classMsgBoxText.html#p2">00132</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="classMsgBoxText.html#p2">okText</a>;
+<a name="l00136"></a><a class="code" href="classMsgBoxText.html#p3">00136</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="classMsgBoxText.html#p3">cancelText</a>;
+<a name="l00140"></a><a class="code" href="classMsgBoxText.html#p4">00140</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="classMsgBoxText.html#p4">warningText</a>;
+<a name="l00144"></a><a class="code" href="classMsgBoxText.html#p5">00144</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="classMsgBoxText.html#p5">errorText</a>;
+<a name="l00148"></a><a class="code" href="classMsgBoxText.html#p6">00148</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="classMsgBoxText.html#p6">informationText</a>;
+<a name="l00152"></a><a class="code" href="classMsgBoxText.html#p7">00152</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="classMsgBoxText.html#p7">confirmText</a>;
+00153 };
+00154
+00155 <span class="preprocessor">#endif // Uses_MsgBox</span>
+</pre></div><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:09 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/msgbox_8h.html b/freebsdtvision/doc/html/msgbox_8h.html
new file mode 100644
index 0000000..dbfa32c
--- /dev/null
+++ b/freebsdtvision/doc/html/msgbox_8h.html
@@ -0,0 +1,342 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>msgbox.h File Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>msgbox.h File Reference</h1>
+<p>
+<a href="msgbox_8h-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Compounds</h2></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classMsgBoxText.html">MsgBoxText</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Contains a set of standard message strings.</em> <a href="classMsgBoxText.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td colspan=2><br><h2>Functions</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="msgbox_8h.html#a10">messageBox</a> (const char *msg, <a class="el" href="ttypes_8h.html#a0">ushort</a> aOptions)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="msgbox_8h.html#a11">messageBox</a> (unsigned aOptions, const char *msg,...)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="msgbox_8h.html#a12">messageBoxRect</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;r, const char *msg, <a class="el" href="ttypes_8h.html#a0">ushort</a> aOptions)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="msgbox_8h.html#a13">messageBoxRect</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;r, <a class="el" href="ttypes_8h.html#a0">ushort</a> aOptions, const char *msg,...)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="msgbox_8h.html#a14">inputBox</a> (const char *Title, const char *aLabel, char *s, <a class="el" href="ttypes_8h.html#a1">uchar</a> limit)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="msgbox_8h.html#a15">inputBoxRect</a> (const <a class="el" href="classTRect.html">TRect</a> &amp;bounds, const char *title, const char *aLabel, char *s, <a class="el" href="ttypes_8h.html#a1">uchar</a> limit)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+ <a class="el" href="msgbox_8h.html">msgbox.h</a>
+<p>
+
+<p>
+Definition in file <a class="el" href="msgbox_8h-source.html">msgbox.h</a>.<hr><h2>Function Documentation</h2>
+<a name="a14" doxytag="msgbox.h::inputBox"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> inputBox </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>Title</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>const char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aLabel</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>s</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a1">uchar</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>limit</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Displays an input box with the given title `title' and label `aLabel'. Accepts input to string `s' with a maximum of `limit' characters. </td>
+ </tr>
+</table>
+<a name="a15" doxytag="msgbox.h::inputBoxRect"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> inputBoxRect </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>bounds</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>const char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>title</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>const char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aLabel</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>s</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a1">uchar</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>limit</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Displays an input box with the given bounds `bounds', title `title' and label `aLabel'. Accepts input to string `s' with a maximum of `limit' characters. </td>
+ </tr>
+</table>
+<a name="a11" doxytag="msgbox.h::messageBox"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> messageBox </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">unsigned&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aOptions</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>const char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>msg</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>...&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Displays a message box. This form uses `msg' as a format string using the additional parameters that follow it. `aOptions' is set to one of the message box constants defined for <a class="el" href="msgbox_8h.html#a11">messageBox()</a>. </td>
+ </tr>
+</table>
+<a name="a10" doxytag="msgbox.h::messageBox"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> messageBox </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>msg</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aOptions</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Displays a message box with the given string in `msg'. `aOptions' is a combination of one or more of the following message box constants:
+<p>
+<pre>
+ Constant Value Meaning
+
+ mfWarning 0x0000 Display a Warning box
+ mfError 0x0001 Display a Error box
+ mfInformation 0x0002 Display an Information Box
+ mfConfirmation 0x0003 Display a Confirmation Box
+ mfYesButton 0x0100 Put a Yes button into the dialog
+ mfNoButton 0x0200 Put a No button into the dialog
+ mfOKButton 0x0400 Put an OK button into the dialog
+ mfCancelButton 0x0800 Put a Cancel button into the dialog
+ </pre>
+<p>
+The standard "Yes, No, Cancel" dialog box is defined as:
+<p>
+<pre>
+ mfYesNoCancel = mfYesButton | mfNoButton | mfCancelButton;
+ </pre>
+<p>
+The standard "OK, Cancel" dialog box is defined as:
+<p>
+<pre>
+ mfOKCancel = mfOKButton | mfCancelButton;
+ </pre> </td>
+ </tr>
+</table>
+<a name="a13" doxytag="msgbox.h::messageBoxRect"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> messageBoxRect </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>r</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aOptions</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>const char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>msg</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>...&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Displays a message box in the given rectangle `r'. This form uses `msg' as a format string using the additional parameters that follow it. `aOptions' is set to one of the message box constants defined for <a class="el" href="msgbox_8h.html#a11">messageBox()</a>. </td>
+ </tr>
+</table>
+<a name="a12" doxytag="msgbox.h::messageBoxRect"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> messageBoxRect </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>r</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>const char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>msg</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>aOptions</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Displays a message box with the given string in `msg' in the given rectangle `r'. `aOptions' is set to one of the message box constants defined for <a class="el" href="msgbox_8h.html#a11">messageBox()</a>. </td>
+ </tr>
+</table>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:11 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/objects_8h-source.html b/freebsdtvision/doc/html/objects_8h-source.html
new file mode 100644
index 0000000..90215f4
--- /dev/null
+++ b/freebsdtvision/doc/html/objects_8h-source.html
@@ -0,0 +1,238 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>objects.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>objects.h</h1><a href="objects_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="comment">/*</span>
+00002 <span class="comment"> * objects.h</span>
+00003 <span class="comment"> *</span>
+00004 <span class="comment"> * Turbo Vision - Version 2.0</span>
+00005 <span class="comment"> *</span>
+00006 <span class="comment"> * Copyright (c) 1994 by Borland International</span>
+00007 <span class="comment"> * All Rights Reserved.</span>
+00008 <span class="comment"> *</span>
+00009 <span class="comment"> * Modified by Sergio Sigala &lt;sergio@sigala.it&gt;</span>
+00010 <span class="comment"> */</span>
+00011
+00012 <span class="preprocessor">#if defined( Uses_TPoint ) &amp;&amp; !defined( __TPoint )</span>
+00013 <span class="preprocessor"></span><span class="preprocessor">#define __TPoint</span>
+00014 <span class="preprocessor"></span>
+<a name="l00028"></a><a class="code" href="classTPoint.html">00028</a> <span class="keyword">class </span><a class="code" href="classTPoint.html">TPoint</a>
+00029 {
+00030 <span class="keyword">public</span>:
+00035 <a class="code" href="classTPoint.html">TPoint</a>&amp; <a class="code" href="classTPoint.html#a0">operator+=</a>( <span class="keyword">const</span> <a class="code" href="classTPoint.html">TPoint</a>&amp; adder );
+00040 <a class="code" href="classTPoint.html">TPoint</a>&amp; <a class="code" href="classTPoint.html#a1">operator-=</a>( <span class="keyword">const</span> <a class="code" href="classTPoint.html">TPoint</a>&amp; subber );
+00045 <span class="keyword">friend</span> <a class="code" href="classTPoint.html">TPoint</a> <a class="code" href="classTPoint.html#l0">operator - </a>( <span class="keyword">const</span> <a class="code" href="classTPoint.html">TPoint</a>&amp; one, <span class="keyword">const</span> <a class="code" href="classTPoint.html">TPoint</a>&amp; two);
+00050 <span class="keyword">friend</span> <a class="code" href="classTPoint.html">TPoint</a> <a class="code" href="classTPoint.html#l1">operator +</a>( <span class="keyword">const</span> <a class="code" href="classTPoint.html">TPoint</a>&amp; one, <span class="keyword">const</span> <a class="code" href="classTPoint.html">TPoint</a>&amp; two );
+00055 <span class="keyword">friend</span> <span class="keywordtype">int</span> <a class="code" href="classTPoint.html#l2">operator == </a>( <span class="keyword">const</span> <a class="code" href="classTPoint.html">TPoint</a>&amp; one, <span class="keyword">const</span> <a class="code" href="classTPoint.html">TPoint</a>&amp; two);
+00060 <span class="keyword">friend</span> <span class="keywordtype">int</span> <a class="code" href="classTPoint.html#l3">operator != </a>( <span class="keyword">const</span> <a class="code" href="classTPoint.html">TPoint</a>&amp; one, <span class="keyword">const</span> <a class="code" href="classTPoint.html">TPoint</a>&amp; two);
+<a name="l00064"></a><a class="code" href="classTPoint.html#m0">00064</a> <span class="keywordtype">int</span> <a class="code" href="classTPoint.html#m0">x</a>;
+<a name="l00068"></a><a class="code" href="classTPoint.html#m1">00068</a> <span class="keywordtype">int</span> <a class="code" href="classTPoint.html#m1">y</a>;
+00069 };
+00070
+<a name="l00071"></a><a class="code" href="classTPoint.html#a0">00071</a> <span class="keyword">inline</span> <a class="code" href="classTPoint.html">TPoint</a>&amp; <a class="code" href="classTPoint.html#a0">TPoint::operator += </a>( <span class="keyword">const</span> <a class="code" href="classTPoint.html">TPoint</a>&amp; adder )
+00072 {
+00073 <a class="code" href="classTPoint.html#m0">x</a> += adder.<a class="code" href="classTPoint.html#m0">x</a>;
+00074 <a class="code" href="classTPoint.html#m1">y</a> += adder.<a class="code" href="classTPoint.html#m1">y</a>;
+00075 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+00076 }
+00077
+<a name="l00078"></a><a class="code" href="classTPoint.html#a1">00078</a> <span class="keyword">inline</span> <a class="code" href="classTPoint.html">TPoint</a>&amp; <a class="code" href="classTPoint.html#a1">TPoint::operator -= </a>( <span class="keyword">const</span> <a class="code" href="classTPoint.html">TPoint</a>&amp; subber )
+00079 {
+00080 <a class="code" href="classTPoint.html#m0">x</a> -= subber.<a class="code" href="classTPoint.html#m0">x</a>;
+00081 <a class="code" href="classTPoint.html#m1">y</a> -= subber.<a class="code" href="classTPoint.html#m1">y</a>;
+00082 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+00083 }
+00084
+<a name="l00088"></a><a class="code" href="objects_8h.html#a0">00088</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTPoint.html">TPoint</a>&amp; p )
+00089 { <span class="keywordflow">return</span> is &gt;&gt; p.<a class="code" href="classTPoint.html#m0">x</a> &gt;&gt; p.<a class="code" href="classTPoint.html#m1">y</a>; }
+<a name="l00093"></a><a class="code" href="objects_8h.html#a1">00093</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTPoint.html">TPoint</a>*&amp; p )
+00094 { <span class="keywordflow">return</span> is &gt;&gt; p-&gt;<a class="code" href="classTPoint.html#m0">x</a> &gt;&gt; p-&gt;<a class="code" href="classTPoint.html#m1">y</a>; }
+00095
+<a name="l00099"></a><a class="code" href="objects_8h.html#a2">00099</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTPoint.html">TPoint</a>&amp; p )
+00100 { <span class="keywordflow">return</span> os &lt;&lt; p.<a class="code" href="classTPoint.html#m0">x</a> &lt;&lt; p.<a class="code" href="classTPoint.html#m1">y</a>; }
+<a name="l00104"></a><a class="code" href="objects_8h.html#a3">00104</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTPoint.html">TPoint</a>* p )
+00105 { <span class="keywordflow">return</span> os &lt;&lt; p-&gt;<a class="code" href="classTPoint.html#m0">x</a> &lt;&lt; p-&gt;<a class="code" href="classTPoint.html#m1">y</a>; }
+00106
+00107 <span class="preprocessor">#endif // Uses_TPoint</span>
+00108 <span class="preprocessor"></span>
+00109 <span class="preprocessor">#if defined( Uses_TRect ) &amp;&amp; !defined( __TRect )</span>
+00110 <span class="preprocessor"></span><span class="preprocessor">#define __TRect</span>
+00111 <span class="preprocessor"></span>
+<a name="l00128"></a><a class="code" href="classTRect.html">00128</a> <span class="keyword">class </span><a class="code" href="classTRect.html">TRect</a>
+00129 {
+00130 <span class="keyword">public</span>:
+00137 <a class="code" href="classTRect.html#a2">TRect</a>( <span class="keywordtype">int</span> ax, <span class="keywordtype">int</span> ay, <span class="keywordtype">int</span> bx, <span class="keywordtype">int</span> by );
+00144 <a class="code" href="classTRect.html#a2">TRect</a>( <a class="code" href="classTPoint.html">TPoint</a> p1, <a class="code" href="classTPoint.html">TPoint</a> p2 );
+00151 <a class="code" href="classTRect.html#a2">TRect</a>();
+00158 <span class="keywordtype">void</span> <a class="code" href="classTRect.html#a3">move</a>( <span class="keywordtype">int</span> aDX, <span class="keywordtype">int</span> aDY );
+00171 <span class="keywordtype">void</span> <a class="code" href="classTRect.html#a4">grow</a>( <span class="keywordtype">int</span> aDX, <span class="keywordtype">int</span> aDY );
+00179 <span class="keywordtype">void</span> <a class="code" href="classTRect.html#a5">intersect</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; r );
+00187 <span class="keywordtype">void</span> <a class="code" href="classTRect.html#a6">Union</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; r );
+00193 <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTRect.html#a7">contains</a>( <span class="keyword">const</span> <a class="code" href="classTPoint.html">TPoint</a>&amp; p ) <span class="keyword">const</span>;
+00198 <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTRect.html#a8">operator == </a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; r ) <span class="keyword">const</span>;
+00203 <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTRect.html#a9">operator != </a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; r ) <span class="keyword">const</span>;
+00210 <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTRect.html#a10">isEmpty</a>();
+<a name="l00214"></a><a class="code" href="classTRect.html#m0">00214</a> <a class="code" href="classTPoint.html">TPoint</a> <a class="code" href="classTRect.html#m0">a</a>;
+<a name="l00219"></a><a class="code" href="classTRect.html#m1">00219</a> <a class="code" href="classTPoint.html">TPoint</a> <a class="code" href="classTRect.html#m1">b</a>;
+00220 };
+00221
+<a name="l00222"></a><a class="code" href="classTRect.html#a0">00222</a> <span class="keyword">inline</span> <a class="code" href="classTRect.html#a2">TRect::TRect</a>( <span class="keywordtype">int</span> ax, <span class="keywordtype">int</span> ay, <span class="keywordtype">int</span> bx, <span class="keywordtype">int</span> by)
+00223 {
+00224 <a class="code" href="classTRect.html#m0">a</a>.<a class="code" href="classTPoint.html#m0">x</a> = ax;
+00225 <a class="code" href="classTRect.html#m0">a</a>.<a class="code" href="classTPoint.html#m1">y</a> = ay;
+00226 <a class="code" href="classTRect.html#m1">b</a>.<a class="code" href="classTPoint.html#m0">x</a> = bx;
+00227 <a class="code" href="classTRect.html#m1">b</a>.<a class="code" href="classTPoint.html#m1">y</a> = by;
+00228 }
+00229
+<a name="l00230"></a><a class="code" href="classTRect.html#a1">00230</a> <span class="keyword">inline</span> <a class="code" href="classTRect.html#a2">TRect::TRect</a>( <a class="code" href="classTPoint.html">TPoint</a> p1, <a class="code" href="classTPoint.html">TPoint</a> p2 )
+00231 {
+00232 <a class="code" href="classTRect.html#m0">a</a> = p1;
+00233 <a class="code" href="classTRect.html#m1">b</a> = p2;
+00234 }
+00235
+<a name="l00236"></a><a class="code" href="classTRect.html#a2">00236</a> <span class="keyword">inline</span> <a class="code" href="classTRect.html#a2">TRect::TRect</a>()
+00237 {
+00238 }
+00239
+<a name="l00240"></a><a class="code" href="classTRect.html#a3">00240</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classTRect.html#a3">TRect::move</a>( <span class="keywordtype">int</span> aDX, <span class="keywordtype">int</span> aDY )
+00241 {
+00242 <a class="code" href="classTRect.html#m0">a</a>.<a class="code" href="classTPoint.html#m0">x</a> += aDX;
+00243 <a class="code" href="classTRect.html#m0">a</a>.<a class="code" href="classTPoint.html#m1">y</a> += aDY;
+00244 <a class="code" href="classTRect.html#m1">b</a>.<a class="code" href="classTPoint.html#m0">x</a> += aDX;
+00245 <a class="code" href="classTRect.html#m1">b</a>.<a class="code" href="classTPoint.html#m1">y</a> += aDY;
+00246 }
+00247
+<a name="l00248"></a><a class="code" href="classTRect.html#a4">00248</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classTRect.html#a4">TRect::grow</a>( <span class="keywordtype">int</span> aDX, <span class="keywordtype">int</span> aDY )
+00249 {
+00250 <a class="code" href="classTRect.html#m0">a</a>.<a class="code" href="classTPoint.html#m0">x</a> -= aDX;
+00251 <a class="code" href="classTRect.html#m0">a</a>.<a class="code" href="classTPoint.html#m1">y</a> -= aDY;
+00252 <a class="code" href="classTRect.html#m1">b</a>.<a class="code" href="classTPoint.html#m0">x</a> += aDX;
+00253 <a class="code" href="classTRect.html#m1">b</a>.<a class="code" href="classTPoint.html#m1">y</a> += aDY;
+00254 }
+00255
+<a name="l00256"></a><a class="code" href="classTRect.html#a5">00256</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classTRect.html#a5">TRect::intersect</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; r )
+00257 {
+00258 <a class="code" href="classTRect.html#m0">a</a>.<a class="code" href="classTPoint.html#m0">x</a> = <a class="code" href="util_8h.html#a1">max</a>( <a class="code" href="classTRect.html#m0">a</a>.<a class="code" href="classTPoint.html#m0">x</a>, r.<a class="code" href="classTRect.html#m0">a</a>.<a class="code" href="classTPoint.html#m0">x</a> );
+00259 <a class="code" href="classTRect.html#m0">a</a>.<a class="code" href="classTPoint.html#m1">y</a> = <a class="code" href="util_8h.html#a1">max</a>( <a class="code" href="classTRect.html#m0">a</a>.<a class="code" href="classTPoint.html#m1">y</a>, r.<a class="code" href="classTRect.html#m0">a</a>.<a class="code" href="classTPoint.html#m1">y</a> );
+00260 <a class="code" href="classTRect.html#m1">b</a>.<a class="code" href="classTPoint.html#m0">x</a> = <a class="code" href="util_8h.html#a0">min</a>( <a class="code" href="classTRect.html#m1">b</a>.<a class="code" href="classTPoint.html#m0">x</a>, r.<a class="code" href="classTRect.html#m1">b</a>.<a class="code" href="classTPoint.html#m0">x</a> );
+00261 <a class="code" href="classTRect.html#m1">b</a>.<a class="code" href="classTPoint.html#m1">y</a> = <a class="code" href="util_8h.html#a0">min</a>( <a class="code" href="classTRect.html#m1">b</a>.<a class="code" href="classTPoint.html#m1">y</a>, r.<a class="code" href="classTRect.html#m1">b</a>.<a class="code" href="classTPoint.html#m1">y</a> );
+00262 }
+00263
+<a name="l00264"></a><a class="code" href="classTRect.html#a6">00264</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classTRect.html#a6">TRect::Union</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; r )
+00265 {
+00266 <a class="code" href="classTRect.html#m0">a</a>.<a class="code" href="classTPoint.html#m0">x</a> = <a class="code" href="util_8h.html#a0">min</a>( <a class="code" href="classTRect.html#m0">a</a>.<a class="code" href="classTPoint.html#m0">x</a>, r.<a class="code" href="classTRect.html#m0">a</a>.<a class="code" href="classTPoint.html#m0">x</a> );
+00267 <a class="code" href="classTRect.html#m0">a</a>.<a class="code" href="classTPoint.html#m1">y</a> = <a class="code" href="util_8h.html#a0">min</a>( <a class="code" href="classTRect.html#m0">a</a>.<a class="code" href="classTPoint.html#m1">y</a>, r.<a class="code" href="classTRect.html#m0">a</a>.<a class="code" href="classTPoint.html#m1">y</a> );
+00268 <a class="code" href="classTRect.html#m1">b</a>.<a class="code" href="classTPoint.html#m0">x</a> = <a class="code" href="util_8h.html#a1">max</a>( <a class="code" href="classTRect.html#m1">b</a>.<a class="code" href="classTPoint.html#m0">x</a>, r.<a class="code" href="classTRect.html#m1">b</a>.<a class="code" href="classTPoint.html#m0">x</a> );
+00269 <a class="code" href="classTRect.html#m1">b</a>.<a class="code" href="classTPoint.html#m1">y</a> = <a class="code" href="util_8h.html#a1">max</a>( <a class="code" href="classTRect.html#m1">b</a>.<a class="code" href="classTPoint.html#m1">y</a>, r.<a class="code" href="classTRect.html#m1">b</a>.<a class="code" href="classTPoint.html#m1">y</a> );
+00270 }
+00271
+<a name="l00272"></a><a class="code" href="classTRect.html#a7">00272</a> <span class="keyword">inline</span> <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTRect.html#a7">TRect::contains</a>( <span class="keyword">const</span> <a class="code" href="classTPoint.html">TPoint</a>&amp; p )<span class="keyword"> const</span>
+00273 <span class="keyword"></span>{
+00274 <span class="keywordflow">return</span> <a class="code" href="ttypes_8h.html#a13">Boolean</a>(
+00275 p.<a class="code" href="classTPoint.html#m0">x</a> &gt;= <a class="code" href="classTRect.html#m0">a</a>.<a class="code" href="classTPoint.html#m0">x</a> &amp;&amp; p.<a class="code" href="classTPoint.html#m0">x</a> &lt; <a class="code" href="classTRect.html#m1">b</a>.<a class="code" href="classTPoint.html#m0">x</a> &amp;&amp; p.<a class="code" href="classTPoint.html#m1">y</a> &gt;= <a class="code" href="classTRect.html#m0">a</a>.<a class="code" href="classTPoint.html#m1">y</a> &amp;&amp; p.<a class="code" href="classTPoint.html#m1">y</a> &lt; <a class="code" href="classTRect.html#m1">b</a>.<a class="code" href="classTPoint.html#m1">y</a>
+00276 );
+00277 }
+00278
+<a name="l00279"></a><a class="code" href="classTRect.html#a8">00279</a> <span class="keyword">inline</span> <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTRect.html#a8">TRect::operator == </a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; r)<span class="keyword"> const</span>
+00280 <span class="keyword"></span>{
+00281 <span class="keywordflow">return</span> <a class="code" href="ttypes_8h.html#a13">Boolean</a>( <a class="code" href="classTRect.html#m0">a</a> == r.<a class="code" href="classTRect.html#m0">a</a> &amp;&amp; <a class="code" href="classTRect.html#m1">b</a> == r.<a class="code" href="classTRect.html#m1">b</a> );
+00282 }
+00283
+<a name="l00284"></a><a class="code" href="classTRect.html#a9">00284</a> <span class="keyword">inline</span> <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTRect.html#a9">TRect::operator != </a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; r )<span class="keyword"> const</span>
+00285 <span class="keyword"></span>{
+00286 <span class="keywordflow">return</span> <a class="code" href="ttypes_8h.html#a13">Boolean</a>( !(*<span class="keyword">this</span> == r) );
+00287 }
+00288
+<a name="l00289"></a><a class="code" href="classTRect.html#a10">00289</a> <span class="keyword">inline</span> <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTRect.html#a10">TRect::isEmpty</a>()
+00290 {
+00291 <span class="keywordflow">return</span> <a class="code" href="ttypes_8h.html#a13">Boolean</a>( <a class="code" href="classTRect.html#m0">a</a>.<a class="code" href="classTPoint.html#m0">x</a> &gt;= <a class="code" href="classTRect.html#m1">b</a>.<a class="code" href="classTPoint.html#m0">x</a> || <a class="code" href="classTRect.html#m0">a</a>.<a class="code" href="classTPoint.html#m1">y</a> &gt;= <a class="code" href="classTRect.html#m1">b</a>.<a class="code" href="classTPoint.html#m1">y</a> );
+00292 }
+00293
+<a name="l00297"></a><a class="code" href="objects_8h.html#a4">00297</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTRect.html">TRect</a>&amp; r )
+00298 { <span class="keywordflow">return</span> is &gt;&gt; r.<a class="code" href="classTRect.html#m0">a</a> &gt;&gt; r.<a class="code" href="classTRect.html#m1">b</a>; }
+<a name="l00302"></a><a class="code" href="objects_8h.html#a5">00302</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTRect.html">TRect</a>*&amp; r )
+00303 { <span class="keywordflow">return</span> is &gt;&gt; r-&gt;<a class="code" href="classTRect.html#m0">a</a> &gt;&gt; r-&gt;<a class="code" href="classTRect.html#m1">b</a>; }
+00304
+<a name="l00308"></a><a class="code" href="objects_8h.html#a6">00308</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTRect.html">TRect</a>&amp; r )
+00309 { <span class="keywordflow">return</span> os &lt;&lt; r.<a class="code" href="classTRect.html#m0">a</a> &lt;&lt; r.<a class="code" href="classTRect.html#m1">b</a>; }
+<a name="l00313"></a><a class="code" href="objects_8h.html#a7">00313</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTRect.html">TRect</a>* r )
+00314 { <span class="keywordflow">return</span> os &lt;&lt; r-&gt;<a class="code" href="classTRect.html#m0">a</a> &lt;&lt; r-&gt;<a class="code" href="classTRect.html#m1">b</a>; }
+00315
+00316 <span class="preprocessor">#endif // Uses_TRect</span>
+00317 <span class="preprocessor"></span>
+00318 <span class="preprocessor">#if defined( Uses_TCollection ) &amp;&amp; !defined( __TCollection )</span>
+00319 <span class="preprocessor"></span><span class="preprocessor">#define __TCollection</span>
+00320 <span class="preprocessor"></span>
+<a name="l00349"></a><a class="code" href="classTCollection.html">00349</a> <span class="keyword">class </span><a class="code" href="classTCollection.html">TCollection</a> : <span class="keyword">public</span> <span class="keyword">virtual</span> <a class="code" href="classTNSCollection.html">TNSCollection</a>, <span class="keyword">public</span> <a class="code" href="classTStreamable.html">TStreamable</a>
+00350 {
+00351 <span class="keyword">public</span>:
+<a name="l00365"></a><a class="code" href="classTCollection.html#a0">00365</a> <a class="code" href="classTCollection.html#a0">TCollection</a>( <a class="code" href="ttypes_8h.html#a5">ccIndex</a> aLimit, <a class="code" href="ttypes_8h.html#a5">ccIndex</a> aDelta )
+00366 { <a class="code" href="classTNSCollection.html#n3">delta</a> = aDelta; <a class="code" href="classTNSCollection.html#a19">setLimit</a>( aLimit ); }
+00367 <span class="keyword">private</span>:
+00368 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *streamableName()<span class="keyword"> const</span>
+00369 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classTCollection.html#p0">name</a>; }
+00377 <span class="keyword">virtual</span> <span class="keywordtype">void</span> *readItem( <a class="code" href="classipstream.html">ipstream</a>&amp; ) = 0;
+00385 <span class="keyword">virtual</span> <span class="keywordtype">void</span> writeItem( <span class="keywordtype">void</span> *, <a class="code" href="classopstream.html">opstream</a>&amp; ) = 0;
+00386 <span class="keyword">protected</span>:
+00395 <a class="code" href="classTCollection.html#a0">TCollection</a>( <a class="code" href="ttypes_8h.html#a14">StreamableInit</a> );
+00400 <span class="keyword">virtual</span> <span class="keywordtype">void</span> *<a class="code" href="classTCollection.html#b1">read</a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is);
+00404 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTCollection.html#b2">write</a>( <a class="code" href="classopstream.html">opstream</a>&amp; os );
+00405 <span class="keyword">public</span>:
+<a name="l00410"></a><a class="code" href="classTCollection.html#p0">00410</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classTCollection.html#p0">name</a>;
+00411 };
+00412
+<a name="l00416"></a><a class="code" href="objects_8h.html#a8">00416</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTCollection.html">TCollection</a>&amp; cl )
+00417 { <span class="keywordflow">return</span> is &gt;&gt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l00421"></a><a class="code" href="objects_8h.html#a9">00421</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTCollection.html">TCollection</a>*&amp; cl )
+00422 { <span class="keywordflow">return</span> is &gt;&gt; (<span class="keywordtype">void</span> *&amp;)cl; }
+00423
+<a name="l00427"></a><a class="code" href="objects_8h.html#a10">00427</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTCollection.html">TCollection</a>&amp; cl )
+00428 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l00432"></a><a class="code" href="objects_8h.html#a11">00432</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTCollection.html">TCollection</a>* cl )
+00433 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a> *)cl; }
+00434
+00435 <span class="preprocessor">#endif // Uses_TCollection</span>
+00436 <span class="preprocessor"></span>
+00437 <span class="preprocessor">#if defined( Uses_TSortedCollection ) &amp;&amp; !defined( __TSortedCollection )</span>
+00438 <span class="preprocessor"></span><span class="preprocessor">#define __TSortedCollection</span>
+00439 <span class="preprocessor"></span>
+<a name="l00449"></a><a class="code" href="classTSortedCollection.html">00449</a> <span class="keyword">class </span><a class="code" href="classTSortedCollection.html">TSortedCollection</a> : <span class="keyword">public</span> <a class="code" href="classTNSSortedCollection.html">TNSSortedCollection</a>, <span class="keyword">public</span> <a class="code" href="classTCollection.html">TCollection</a>
+00450 {
+00451 <span class="keyword">public</span>:
+<a name="l00461"></a><a class="code" href="classTSortedCollection.html#a0">00461</a> <a class="code" href="classTSortedCollection.html#a0">TSortedCollection</a>( <a class="code" href="ttypes_8h.html#a5">ccIndex</a> aLimit, <a class="code" href="ttypes_8h.html#a5">ccIndex</a> aDelta) :
+00462 <a class="code" href="classTCollection.html">TCollection</a>( aLimit, aDelta ) {}
+00463 <span class="keyword">private</span>:
+00468 <span class="keyword">virtual</span> <span class="keywordtype">int</span> compare( <span class="keywordtype">void</span> *key1, <span class="keywordtype">void</span> *key2 ) = 0;
+00469 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *streamableName()<span class="keyword"> const</span>
+00470 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classTSortedCollection.html#p0">name</a>; }
+00477 <span class="keyword">virtual</span> <span class="keywordtype">void</span> *readItem( <a class="code" href="classipstream.html">ipstream</a>&amp; is ) = 0;
+00484 <span class="keyword">virtual</span> <span class="keywordtype">void</span> writeItem( <span class="keywordtype">void</span> *, <a class="code" href="classopstream.html">opstream</a>&amp; os ) = 0;
+00485 <span class="keyword">protected</span>:
+00492 <a class="code" href="classTSortedCollection.html#a0">TSortedCollection</a>( <a class="code" href="ttypes_8h.html#a14">StreamableInit</a> );
+00496 <span class="keyword">virtual</span> <span class="keywordtype">void</span> *<a class="code" href="classTSortedCollection.html#b1">read</a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is );
+00501 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTSortedCollection.html#b2">write</a>( <a class="code" href="classopstream.html">opstream</a>&amp; os );
+00502 <span class="keyword">public</span>:
+<a name="l00506"></a><a class="code" href="classTSortedCollection.html#p0">00506</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classTSortedCollection.html#p0">name</a>;
+00507 };
+00508
+<a name="l00512"></a><a class="code" href="objects_8h.html#a12">00512</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTSortedCollection.html">TSortedCollection</a>&amp; cl )
+00513 { <span class="keywordflow">return</span> is &gt;&gt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l00517"></a><a class="code" href="objects_8h.html#a13">00517</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTSortedCollection.html">TSortedCollection</a>*&amp; cl )
+00518 { <span class="keywordflow">return</span> is &gt;&gt; (<span class="keywordtype">void</span> *&amp;)cl; }
+00519
+<a name="l00523"></a><a class="code" href="objects_8h.html#a14">00523</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTSortedCollection.html">TSortedCollection</a>&amp; cl )
+00524 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l00528"></a><a class="code" href="objects_8h.html#a15">00528</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTSortedCollection.html">TSortedCollection</a>* cl )
+00529 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a> *)cl; }
+00530
+00531 <span class="preprocessor">#endif // Uses_TSortedCollection</span>
+</pre></div><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:09 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/objects_8h.html b/freebsdtvision/doc/html/objects_8h.html
new file mode 100644
index 0000000..977b49a
--- /dev/null
+++ b/freebsdtvision/doc/html/objects_8h.html
@@ -0,0 +1,707 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>objects.h File Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>objects.h File Reference</h1>
+<p>
+<a href="objects_8h-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Compounds</h2></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTCollection.html">TCollection</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Streamable collection of items.</em> <a href="classTCollection.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTPoint.html">TPoint</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Two-point screen coordinate.</em> <a href="classTPoint.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTRect.html">TRect</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Screen rectangular area.</em> <a href="classTRect.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTSortedCollection.html">TSortedCollection</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Sorted, streamable collection of objects.</em> <a href="classTSortedCollection.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td colspan=2><br><h2>Functions</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="objects_8h.html#a0">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTPoint.html">TPoint</a> &amp;p)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="objects_8h.html#a1">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTPoint.html">TPoint</a> *&amp;p)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="objects_8h.html#a2">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTPoint.html">TPoint</a> &amp;p)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="objects_8h.html#a3">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTPoint.html">TPoint</a> *p)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="objects_8h.html#a4">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTRect.html">TRect</a> &amp;r)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="objects_8h.html#a5">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTRect.html">TRect</a> *&amp;r)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="objects_8h.html#a6">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTRect.html">TRect</a> &amp;r)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="objects_8h.html#a7">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTRect.html">TRect</a> *r)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="objects_8h.html#a8">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTCollection.html">TCollection</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="objects_8h.html#a9">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTCollection.html">TCollection</a> *&amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="objects_8h.html#a10">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTCollection.html">TCollection</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="objects_8h.html#a11">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTCollection.html">TCollection</a> *cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="objects_8h.html#a12">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTSortedCollection.html">TSortedCollection</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="objects_8h.html#a13">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTSortedCollection.html">TSortedCollection</a> *&amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="objects_8h.html#a14">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTSortedCollection.html">TSortedCollection</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="objects_8h.html#a15">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTSortedCollection.html">TSortedCollection</a> *cl)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+ <a class="el" href="objects_8h.html">objects.h</a>
+<p>
+
+<p>
+Definition in file <a class="el" href="objects_8h-source.html">objects.h</a>.<hr><h2>Function Documentation</h2>
+<a name="a15" doxytag="objects.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTSortedCollection.html">TSortedCollection</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="objects_8h-source.html#l00528">528</a> of file <a class="el" href="objects_8h-source.html">objects.h</a>. </td>
+ </tr>
+</table>
+<a name="a14" doxytag="objects.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTSortedCollection.html">TSortedCollection</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="objects_8h-source.html#l00523">523</a> of file <a class="el" href="objects_8h-source.html">objects.h</a>. </td>
+ </tr>
+</table>
+<a name="a11" doxytag="objects.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTCollection.html">TCollection</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="objects_8h-source.html#l00432">432</a> of file <a class="el" href="objects_8h-source.html">objects.h</a>. </td>
+ </tr>
+</table>
+<a name="a10" doxytag="objects.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTCollection.html">TCollection</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="objects_8h-source.html#l00427">427</a> of file <a class="el" href="objects_8h-source.html">objects.h</a>. </td>
+ </tr>
+</table>
+<a name="a7" doxytag="objects.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTRect.html">TRect</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>r</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="objects_8h-source.html#l00313">313</a> of file <a class="el" href="objects_8h-source.html">objects.h</a>.
+<p>
+References <a class="el" href="objects_8h-source.html#l00214">TRect::a</a>, and <a class="el" href="objects_8h-source.html#l00219">TRect::b</a>. </td>
+ </tr>
+</table>
+<a name="a6" doxytag="objects.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>r</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="objects_8h-source.html#l00308">308</a> of file <a class="el" href="objects_8h-source.html">objects.h</a>.
+<p>
+References <a class="el" href="objects_8h-source.html#l00214">TRect::a</a>, and <a class="el" href="objects_8h-source.html#l00219">TRect::b</a>. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="objects.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTPoint.html">TPoint</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>p</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="objects_8h-source.html#l00104">104</a> of file <a class="el" href="objects_8h-source.html">objects.h</a>.
+<p>
+References <a class="el" href="objects_8h-source.html#l00064">TPoint::x</a>, and <a class="el" href="objects_8h-source.html#l00068">TPoint::y</a>. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="objects.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTPoint.html">TPoint</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>p</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="objects_8h-source.html#l00099">99</a> of file <a class="el" href="objects_8h-source.html">objects.h</a>.
+<p>
+References <a class="el" href="objects_8h-source.html#l00064">TPoint::x</a>, and <a class="el" href="objects_8h-source.html#l00068">TPoint::y</a>. </td>
+ </tr>
+</table>
+<a name="a13" doxytag="objects.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTSortedCollection.html">TSortedCollection</a> *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="objects_8h-source.html#l00517">517</a> of file <a class="el" href="objects_8h-source.html">objects.h</a>. </td>
+ </tr>
+</table>
+<a name="a12" doxytag="objects.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTSortedCollection.html">TSortedCollection</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="objects_8h-source.html#l00512">512</a> of file <a class="el" href="objects_8h-source.html">objects.h</a>. </td>
+ </tr>
+</table>
+<a name="a9" doxytag="objects.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTCollection.html">TCollection</a> *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="objects_8h-source.html#l00421">421</a> of file <a class="el" href="objects_8h-source.html">objects.h</a>. </td>
+ </tr>
+</table>
+<a name="a8" doxytag="objects.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTCollection.html">TCollection</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="objects_8h-source.html#l00416">416</a> of file <a class="el" href="objects_8h-source.html">objects.h</a>. </td>
+ </tr>
+</table>
+<a name="a5" doxytag="objects.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTRect.html">TRect</a> *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>r</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="objects_8h-source.html#l00302">302</a> of file <a class="el" href="objects_8h-source.html">objects.h</a>.
+<p>
+References <a class="el" href="objects_8h-source.html#l00214">TRect::a</a>, and <a class="el" href="objects_8h-source.html#l00219">TRect::b</a>. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="objects.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTRect.html">TRect</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>r</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="objects_8h-source.html#l00297">297</a> of file <a class="el" href="objects_8h-source.html">objects.h</a>.
+<p>
+References <a class="el" href="objects_8h-source.html#l00214">TRect::a</a>, and <a class="el" href="objects_8h-source.html#l00219">TRect::b</a>. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="objects.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTPoint.html">TPoint</a> *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>p</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="objects_8h-source.html#l00093">93</a> of file <a class="el" href="objects_8h-source.html">objects.h</a>.
+<p>
+References <a class="el" href="objects_8h-source.html#l00064">TPoint::x</a>, and <a class="el" href="objects_8h-source.html#l00068">TPoint::y</a>. </td>
+ </tr>
+</table>
+<a name="a0" doxytag="objects.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTPoint.html">TPoint</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>p</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="objects_8h-source.html#l00088">88</a> of file <a class="el" href="objects_8h-source.html">objects.h</a>.
+<p>
+References <a class="el" href="objects_8h-source.html#l00064">TPoint::x</a>, and <a class="el" href="objects_8h-source.html#l00068">TPoint::y</a>. </td>
+ </tr>
+</table>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:11 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/outline_8h-source.html b/freebsdtvision/doc/html/outline_8h-source.html
new file mode 100644
index 0000000..451fe48
--- /dev/null
+++ b/freebsdtvision/doc/html/outline_8h-source.html
@@ -0,0 +1,191 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>outline.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>outline.h</h1><a href="outline_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="comment">/*</span>
+00002 <span class="comment"> * outline.h</span>
+00003 <span class="comment"> *</span>
+00004 <span class="comment"> * Turbo Vision - Version 2.0</span>
+00005 <span class="comment"> *</span>
+00006 <span class="comment"> * Copyright (c) 1994 by Borland International</span>
+00007 <span class="comment"> * All Rights Reserved.</span>
+00008 <span class="comment"> *</span>
+00009 <span class="comment"> * Modified by Sergio Sigala &lt;sergio@sigala.it&gt;</span>
+00010 <span class="comment"> */</span>
+00011
+00012 <span class="preprocessor">#if defined( Uses_TOutlineViewer ) &amp;&amp; !defined( __TOutlineViewer )</span>
+00013 <span class="preprocessor"></span><span class="preprocessor">#define __TOutlineViewer</span>
+00014 <span class="preprocessor"></span>
+00019 <span class="keyword">const</span> <span class="keywordtype">int</span>
+00020 ovExpanded = 0x01,
+00021 ovChildren = 0x02,
+00022 ovLast = 0x04;
+00023
+00024 <span class="keyword">const</span> <span class="keywordtype">int</span>
+00025 cmOutlineItemSelected = 301;
+00026
+<a name="l00033"></a><a class="code" href="classTNode.html">00033</a> <span class="keyword">class </span><a class="code" href="classTNode.html">TNode</a>
+00034 {
+00035 <span class="keyword">public</span>:
+00039 <span class="keyword">inline</span> <a class="code" href="classTNode.html#a0">TNode</a>(<span class="keywordtype">char</span>* aText);
+00045 <span class="keyword">inline</span> <a class="code" href="classTNode.html#a0">TNode</a>(<span class="keywordtype">char</span>* aText, <a class="code" href="classTNode.html">TNode</a>* aChildren, <a class="code" href="classTNode.html">TNode</a>* aNext,
+00046 <a class="code" href="ttypes_8h.html#a13">Boolean</a> initialState = True);
+00050 <span class="keyword">virtual</span> <a class="code" href="classTNode.html#a2">~TNode</a>();
+<a name="l00055"></a><a class="code" href="classTNode.html#m0">00055</a> <a class="code" href="classTNode.html">TNode</a>* <a class="code" href="classTNode.html#m0">next</a>;
+<a name="l00060"></a><a class="code" href="classTNode.html#m1">00060</a> <span class="keywordtype">char</span>* <a class="code" href="classTNode.html#m1">text</a>;
+<a name="l00065"></a><a class="code" href="classTNode.html#m2">00065</a> <a class="code" href="classTNode.html">TNode</a>* <a class="code" href="classTNode.html#m2">childList</a>;
+<a name="l00070"></a><a class="code" href="classTNode.html#m3">00070</a> <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTNode.html#m3">expanded</a>;
+00071 };
+00072
+<a name="l00073"></a><a class="code" href="classTNode.html#a0">00073</a> <span class="keyword">inline</span> <a class="code" href="classTNode.html#a0">TNode::TNode</a>(<span class="keywordtype">char</span>* aText) :
+00074 next(0), text(<a class="code" href="util_8h.html#a15">newStr</a>(aText)), childList(0), expanded(True)
+00075 {
+00076 }
+00077
+<a name="l00078"></a><a class="code" href="classTNode.html#a1">00078</a> <span class="keyword">inline</span> <a class="code" href="classTNode.html#a0">TNode::TNode</a>( <span class="keywordtype">char</span>* aText, <a class="code" href="classTNode.html">TNode</a>* aChildren,
+00079 <a class="code" href="classTNode.html">TNode</a>* aNext, <a class="code" href="ttypes_8h.html#a13">Boolean</a> initialState ) :
+00080 next(aNext), text(<a class="code" href="util_8h.html#a15">newStr</a>(aText)),
+00081 childList(aChildren), expanded(initialState)
+00082 {
+00083 }
+00084
+<a name="l00085"></a><a class="code" href="classTNode.html#a2">00085</a> <span class="keyword">inline</span> <a class="code" href="classTNode.html#a2">TNode::~TNode</a>() {
+00086 <span class="keyword">delete</span> [] <a class="code" href="classTNode.html#m1">text</a>;
+00087 }
+00088
+00089 <span class="comment">/* ------------------------------------------------------------------------*/</span>
+00090 <span class="comment">/* class TOutlineViewer */</span>
+00091 <span class="comment">/* */</span>
+00092 <span class="comment">/* Palette layout */</span>
+00093 <span class="comment">/* 1 = Normal color */</span>
+00094 <span class="comment">/* 2 = Focus color */</span>
+00095 <span class="comment">/* 3 = Select color */</span>
+00096 <span class="comment">/* 4 = Not expanded color */</span>
+00097 <span class="comment">/* ------------------------------------------------------------------------*/</span>
+00098
+00099 <span class="keyword">class </span><a class="code" href="classTRect.html">TRect</a>;
+00100 <span class="keyword">class </span><a class="code" href="classTScrollBar.html">TScrollBar</a>;
+00101 <span class="keyword">class </span><a class="code" href="structTEvent.html">TEvent</a>;
+00102
+<a name="l00112"></a><a class="code" href="classTOutlineViewer.html">00112</a> <span class="keyword">class </span><a class="code" href="classTOutlineViewer.html">TOutlineViewer</a> : <span class="keyword">public</span> <a class="code" href="classTScroller.html">TScroller</a>
+00113 {
+00114 <span class="keyword">public</span>:
+00121 <a class="code" href="classTOutlineViewer.html#a0">TOutlineViewer</a>(<span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; bounds, <a class="code" href="classTScrollBar.html">TScrollBar</a>* aHScrollBar,
+00122 <a class="code" href="classTScrollBar.html">TScrollBar</a>* aVScrollBar);
+00129 <a class="code" href="classTOutlineViewer.html#a0">TOutlineViewer</a>(<a class="code" href="ttypes_8h.html#a14">StreamableInit</a> s);
+00137 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTOutlineViewer.html#a2">adjust</a>(<a class="code" href="classTNode.html">TNode</a>* node, <a class="code" href="ttypes_8h.html#a13">Boolean</a> expand)=0;
+00145 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTOutlineViewer.html#a3">draw</a>();
+00151 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTOutlineViewer.html#a4">focused</a>(<span class="keywordtype">int</span> i);
+00160 <span class="keyword">virtual</span> <a class="code" href="classTNode.html">TNode</a>* <a class="code" href="classTOutlineViewer.html#a5">getChild</a>(<a class="code" href="classTNode.html">TNode</a>* node, <span class="keywordtype">int</span> i)=0;
+00170 <span class="keyword">virtual</span> <span class="keywordtype">char</span>* <a class="code" href="classTOutlineViewer.html#a6">getGraph</a>(<span class="keywordtype">int</span> level, <span class="keywordtype">long</span> lines, <a class="code" href="ttypes_8h.html#a0">ushort</a> flags);
+00177 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classTOutlineViewer.html#a7">getNumChildren</a>(<a class="code" href="classTNode.html">TNode</a>* node)=0;
+00182 <span class="keyword">virtual</span> <a class="code" href="classTNode.html">TNode</a>* <a class="code" href="classTOutlineViewer.html#a8">getNode</a>(<span class="keywordtype">int</span> i);
+00186 <span class="keyword">virtual</span> <a class="code" href="classTPalette.html">TPalette</a>&amp; <a class="code" href="classTOutlineViewer.html#a9">getPalette</a>() <span class="keyword">const</span>;
+00191 <span class="keyword">virtual</span> <a class="code" href="classTNode.html">TNode</a>* <a class="code" href="classTOutlineViewer.html#a10">getRoot</a>()=0;
+00196 <span class="keyword">virtual</span> <span class="keywordtype">char</span>* <a class="code" href="classTOutlineViewer.html#a11">getText</a>(<a class="code" href="classTNode.html">TNode</a>* node)=0;
+00203 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTOutlineViewer.html#a12">handleEvent</a>(<a class="code" href="structTEvent.html">TEvent</a>&amp; event);
+00215 <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTOutlineViewer.html#a13">hasChildren</a>(<a class="code" href="classTNode.html">TNode</a>* node)=0;
+00222 <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTOutlineViewer.html#a14">isExpanded</a>(<a class="code" href="classTNode.html">TNode</a>* node)=0;
+00229 <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTOutlineViewer.html#a15">isSelected</a>(<span class="keywordtype">int</span> i);
+00237 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTOutlineViewer.html#a16">selected</a>(<span class="keywordtype">int</span> i);
+00245 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTOutlineViewer.html#a17">setState</a>(<a class="code" href="ttypes_8h.html#a0">ushort</a> aState, <a class="code" href="ttypes_8h.html#a13">Boolean</a> enable);
+00260 <span class="keywordtype">void</span> <a class="code" href="classTOutlineViewer.html#a18">update</a>();
+00266 <span class="keywordtype">void</span> <a class="code" href="classTOutlineViewer.html#a19">expandAll</a>(<a class="code" href="classTNode.html">TNode</a>* node);
+00279 <a class="code" href="classTNode.html">TNode</a>* <a class="code" href="classTOutlineViewer.html#a20">firstThat</a>(<a class="code" href="ttypes_8h.html#a13">Boolean</a> (*test)(<a class="code" href="classTOutlineViewer.html">TOutlineViewer</a>* ov, <a class="code" href="classTNode.html">TNode</a>* node,
+00280 <span class="keywordtype">int</span> level, <span class="keywordtype">int</span> position, <span class="keywordtype">long</span> lines, <a class="code" href="ttypes_8h.html#a0">ushort</a> flags));
+00316 <a class="code" href="classTNode.html">TNode</a>* <a class="code" href="classTOutlineViewer.html#a21">forEach</a>(<a class="code" href="ttypes_8h.html#a13">Boolean</a> (*action)(<a class="code" href="classTOutlineViewer.html">TOutlineViewer</a>* ov, <a class="code" href="classTNode.html">TNode</a>* cur, <span class="keywordtype">int</span> level,
+00317 <span class="keywordtype">int</span> position, <span class="keywordtype">long</span> lines, <a class="code" href="ttypes_8h.html#a0">ushort</a> flags));
+00321 <span class="keywordtype">char</span>* <a class="code" href="classTOutlineViewer.html#a22">createGraph</a>(<span class="keywordtype">int</span> level, <span class="keywordtype">long</span> lines, <a class="code" href="ttypes_8h.html#a0">ushort</a> flags, <span class="keywordtype">int</span> levWidth,
+00322 <span class="keywordtype">int</span> endWidth, <span class="keyword">const</span> <span class="keywordtype">char</span>* chars);
+<a name="l00326"></a><a class="code" href="classTOutlineViewer.html#m0">00326</a> <span class="keywordtype">int</span> <a class="code" href="classTOutlineViewer.html#m0">foc</a>;
+<a name="l00330"></a><a class="code" href="classTOutlineViewer.html#p0">00330</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classTOutlineViewer.html#p0">graphChars</a>;
+00331 <span class="keyword">protected</span>:
+00335 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTOutlineViewer.html#e0">disposeNode</a>(<a class="code" href="classTNode.html">TNode</a>* node);
+00339 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTOutlineViewer.html#b0">write</a>( <a class="code" href="classopstream.html">opstream</a>&amp; os );
+00343 <span class="keyword">virtual</span> <span class="keywordtype">void</span> *<a class="code" href="classTOutlineViewer.html#b1">read</a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is );
+00344 <span class="keyword">public</span>:
+00348 <span class="keyword">static</span> <a class="code" href="classTStreamable.html">TStreamable</a> *<a class="code" href="classTOutlineViewer.html#d0">build</a>();
+<a name="l00352"></a><a class="code" href="classTOutlineViewer.html#p1">00352</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classTOutlineViewer.html#p1">name</a>;
+00353 <span class="keyword">private</span>:
+00354 <span class="keywordtype">void</span> adjustFocus(<span class="keywordtype">int</span> newFocus);
+00355 <a class="code" href="classTNode.html">TNode</a>* iterate(<a class="code" href="ttypes_8h.html#a13">Boolean</a> (*action)(<a class="code" href="classTOutlineViewer.html">TOutlineViewer</a>*, <a class="code" href="classTNode.html">TNode</a>*, <span class="keywordtype">int</span>, <span class="keywordtype">int</span>, <span class="keywordtype">long</span>,
+00356 <a class="code" href="ttypes_8h.html#a0">ushort</a>), <a class="code" href="ttypes_8h.html#a13">Boolean</a> checkResult);
+00357 };
+00358
+<a name="l00359"></a><a class="code" href="classTOutlineViewer.html#a1">00359</a> <span class="keyword">inline</span> <a class="code" href="classTOutlineViewer.html#a0">TOutlineViewer::TOutlineViewer</a>( <a class="code" href="ttypes_8h.html#a14">StreamableInit</a> s) :
+00360 <a class="code" href="classTScroller.html">TScroller</a>(s)
+00361 {
+00362 }
+00363
+00364 <span class="preprocessor">#endif // Uses_TOutlineViewer</span>
+00365 <span class="preprocessor"></span>
+00366 <span class="preprocessor">#if defined( Uses_TOutline ) &amp;&amp; !defined( __TOutline )</span>
+00367 <span class="preprocessor"></span><span class="preprocessor">#define __TOutline</span>
+00368 <span class="preprocessor"></span>
+00369 <span class="comment">/* ------------------------------------------------------------------------*/</span>
+00370 <span class="comment">/* class TOutline */</span>
+00371 <span class="comment">/* */</span>
+00372 <span class="comment">/* Palette layout */</span>
+00373 <span class="comment">/* 1 = Normal color */</span>
+00374 <span class="comment">/* 2 = Focus color */</span>
+00375 <span class="comment">/* 3 = Select color */</span>
+00376 <span class="comment">/* 4 = Not expanded color */</span>
+00377 <span class="comment">/* ------------------------------------------------------------------------*/</span>
+00378
+00379 <span class="keyword">class </span><a class="code" href="classTRect.html">TRect</a>;
+00380 <span class="keyword">class </span><a class="code" href="classTScrollBar.html">TScrollBar</a>;
+00381 <span class="keyword">class </span><a class="code" href="structTEvent.html">TEvent</a>;
+00382
+<a name="l00392"></a><a class="code" href="classTOutline.html">00392</a> <span class="keyword">class </span><a class="code" href="classTOutline.html">TOutline</a> : <span class="keyword">public</span> <a class="code" href="classTOutlineViewer.html">TOutlineViewer</a>
+00393 {
+00394 <span class="keyword">public</span>:
+00402 <a class="code" href="classTOutline.html#a0">TOutline</a>(<span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; bounds, <a class="code" href="classTScrollBar.html">TScrollBar</a>* aHScrollBar,
+00403 <a class="code" href="classTScrollBar.html">TScrollBar</a>* aVScrollBar, <a class="code" href="classTNode.html">TNode</a>* aRoot);
+00409 <a class="code" href="classTOutline.html#a1">~TOutline</a>();
+00415 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTOutline.html#a2">adjust</a>(<a class="code" href="classTNode.html">TNode</a>* node, <a class="code" href="ttypes_8h.html#a13">Boolean</a> expand);
+00420 <span class="keyword">virtual</span> <a class="code" href="classTNode.html">TNode</a>* <a class="code" href="classTOutline.html#a3">getRoot</a>();
+00425 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classTOutline.html#a4">getNumChildren</a>(<a class="code" href="classTNode.html">TNode</a>* node);
+00429 <span class="keyword">virtual</span> <a class="code" href="classTNode.html">TNode</a>* <a class="code" href="classTOutline.html#a5">getChild</a>(<a class="code" href="classTNode.html">TNode</a>* node, <span class="keywordtype">int</span> i);
+00433 <span class="keyword">virtual</span> <span class="keywordtype">char</span>* <a class="code" href="classTOutline.html#a6">getText</a>(<a class="code" href="classTNode.html">TNode</a>* node);
+00437 <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTOutline.html#a7">isExpanded</a>(<a class="code" href="classTNode.html">TNode</a>* node);
+00442 <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTOutline.html#a8">hasChildren</a>(<a class="code" href="classTNode.html">TNode</a>* node);
+<a name="l00446"></a><a class="code" href="classTOutline.html#m0">00446</a> <a class="code" href="classTNode.html">TNode</a>* <a class="code" href="classTOutline.html#m0">root</a>;
+00447 <span class="keyword">protected</span>:
+00451 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTOutline.html#b0">write</a>( <a class="code" href="classopstream.html">opstream</a>&amp; os );
+00455 <span class="keyword">virtual</span> <span class="keywordtype">void</span> *<a class="code" href="classTOutline.html#b1">read</a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is );
+00459 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTOutline.html#b2">writeNode</a>( <a class="code" href="classTNode.html">TNode</a>*, <a class="code" href="classopstream.html">opstream</a>&amp; );
+00463 <span class="keyword">virtual</span> <a class="code" href="classTNode.html">TNode</a>* <a class="code" href="classTOutline.html#b3">readNode</a>( <a class="code" href="classipstream.html">ipstream</a>&amp; );
+00470 <a class="code" href="classTOutline.html#a0">TOutline</a>( <a class="code" href="ttypes_8h.html#a14">StreamableInit</a> );
+00471 <span class="keyword">public</span>:
+00475 <span class="keyword">static</span> <a class="code" href="classTStreamable.html">TStreamable</a>* <a class="code" href="classTOutline.html#d0">build</a>();
+<a name="l00479"></a><a class="code" href="classTOutline.html#p0">00479</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> <a class="code" href="classTOutline.html#p0">name</a>;
+00480 <span class="keyword">private</span>:
+00481 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *streamableName()<span class="keyword"> const</span>
+00482 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classTOutline.html#p0">name</a>; }
+00483 };
+00484
+<a name="l00485"></a><a class="code" href="classTOutline.html#b4">00485</a> <span class="keyword">inline</span> <a class="code" href="classTOutline.html#a0">TOutline::TOutline</a>( <a class="code" href="ttypes_8h.html#a14">StreamableInit</a> s ) : <a class="code" href="classTOutlineViewer.html">TOutlineViewer</a>( s )
+00486 {
+00487 }
+00488
+<a name="l00492"></a><a class="code" href="outline_8h.html#a4">00492</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTOutline.html">TOutline</a>&amp; o )
+00493 { <span class="keywordflow">return</span> is &gt;&gt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)o; }
+<a name="l00497"></a><a class="code" href="outline_8h.html#a5">00497</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTOutline.html">TOutline</a>*&amp; o )
+00498 { <span class="keywordflow">return</span> is &gt;&gt; (<span class="keywordtype">void</span> *&amp;)o; }
+00499
+<a name="l00503"></a><a class="code" href="outline_8h.html#a6">00503</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTOutline.html">TOutline</a>&amp; o )
+00504 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)o; }
+<a name="l00508"></a><a class="code" href="outline_8h.html#a7">00508</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTOutline.html">TOutline</a>* o )
+00509 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a>*)o; }
+00510
+00511 <span class="preprocessor">#endif // Uses_TOutline</span>
+</pre></div><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:09 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/outline_8h.html b/freebsdtvision/doc/html/outline_8h.html
new file mode 100644
index 0000000..d74f062
--- /dev/null
+++ b/freebsdtvision/doc/html/outline_8h.html
@@ -0,0 +1,197 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>outline.h File Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>outline.h File Reference</h1>
+<p>
+<a href="outline_8h-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Compounds</h2></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTNode.html">TNode</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Implements a node of the outline.</em> <a href="classTNode.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTOutline.html">TOutline</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Implements a simple outline viewer.</em> <a href="classTOutline.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTOutlineViewer.html">TOutlineViewer</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Implements an outline viewer.</em> <a href="classTOutlineViewer.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td colspan=2><br><h2>Functions</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="outline_8h.html#a4">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTOutline.html">TOutline</a> &amp;o)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="outline_8h.html#a5">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTOutline.html">TOutline</a> *&amp;o)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="outline_8h.html#a6">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTOutline.html">TOutline</a> &amp;o)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="outline_8h.html#a7">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTOutline.html">TOutline</a> *o)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+ <a class="el" href="outline_8h.html">outline.h</a>
+<p>
+
+<p>
+Definition in file <a class="el" href="outline_8h-source.html">outline.h</a>.<hr><h2>Function Documentation</h2>
+<a name="a7" doxytag="outline.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTOutline.html">TOutline</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>o</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="outline_8h-source.html#l00508">508</a> of file <a class="el" href="outline_8h-source.html">outline.h</a>. </td>
+ </tr>
+</table>
+<a name="a6" doxytag="outline.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTOutline.html">TOutline</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>o</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="outline_8h-source.html#l00503">503</a> of file <a class="el" href="outline_8h-source.html">outline.h</a>. </td>
+ </tr>
+</table>
+<a name="a5" doxytag="outline.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTOutline.html">TOutline</a> *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>o</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="outline_8h-source.html#l00497">497</a> of file <a class="el" href="outline_8h-source.html">outline.h</a>. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="outline.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTOutline.html">TOutline</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>o</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="outline_8h-source.html#l00492">492</a> of file <a class="el" href="outline_8h-source.html">outline.h</a>. </td>
+ </tr>
+</table>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:11 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/resource_8h-source.html b/freebsdtvision/doc/html/resource_8h-source.html
new file mode 100644
index 0000000..ca5b899
--- /dev/null
+++ b/freebsdtvision/doc/html/resource_8h-source.html
@@ -0,0 +1,224 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>resource.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>resource.h</h1><a href="resource_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="comment">/*</span>
+00002 <span class="comment"> * resource.h</span>
+00003 <span class="comment"> *</span>
+00004 <span class="comment"> * Turbo Vision - Version 2.0</span>
+00005 <span class="comment"> *</span>
+00006 <span class="comment"> * Copyright (c) 1994 by Borland International</span>
+00007 <span class="comment"> * All Rights Reserved.</span>
+00008 <span class="comment"> *</span>
+00009 <span class="comment"> * Modified by Sergio Sigala &lt;sergio@sigala.it&gt;</span>
+00010 <span class="comment"> */</span>
+00011
+00012 <span class="preprocessor">#if defined( Uses_TStringCollection ) &amp;&amp; !defined( __TStringCollection )</span>
+00013 <span class="preprocessor"></span><span class="preprocessor">#define __TStringCollection</span>
+00014 <span class="preprocessor"></span>
+<a name="l00024"></a><a class="code" href="classTStringCollection.html">00024</a> <span class="keyword">class </span><a class="code" href="classTStringCollection.html">TStringCollection</a> : <span class="keyword">public</span> <a class="code" href="classTSortedCollection.html">TSortedCollection</a>
+00025 {
+00026 <span class="keyword">public</span>:
+00030 <a class="code" href="classTStringCollection.html#a0">TStringCollection</a>( <span class="keywordtype">short</span> aLimit, <span class="keywordtype">short</span> aDelta );
+00031 <span class="keyword">private</span>:
+00043 <span class="keyword">virtual</span> <span class="keywordtype">int</span> compare( <span class="keywordtype">void</span> *key1, <span class="keywordtype">void</span> *key2 );
+00048 <span class="keyword">virtual</span> <span class="keywordtype">void</span> freeItem( <span class="keywordtype">void</span> *item );
+00052 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *streamableName()<span class="keyword"> const</span>
+00053 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classTStringCollection.html#p0">name</a>; }
+00059 <span class="keyword">virtual</span> <span class="keywordtype">void</span> *readItem( <a class="code" href="classipstream.html">ipstream</a>&amp; );
+00067 <span class="keyword">virtual</span> <span class="keywordtype">void</span> writeItem( <span class="keywordtype">void</span> *, <a class="code" href="classopstream.html">opstream</a>&amp; );
+00068 <span class="keyword">protected</span>:
+<a name="l00075"></a><a class="code" href="classTStringCollection.html#b0">00075</a> <a class="code" href="classTStringCollection.html#a0">TStringCollection</a>( <a class="code" href="ttypes_8h.html#a14">StreamableInit</a> ) : <a class="code" href="classTSortedCollection.html">TSortedCollection</a> ( streamableInit ) {};
+00076 <span class="keyword">public</span>:
+<a name="l00080"></a><a class="code" href="classTStringCollection.html#p0">00080</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classTStringCollection.html#p0">name</a>;
+00084 <span class="keyword">static</span> <a class="code" href="classTStreamable.html">TStreamable</a> *<a class="code" href="classTStringCollection.html#d0">build</a>();
+00085 };
+00086
+<a name="l00090"></a><a class="code" href="resource_8h.html#a0">00090</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTStringCollection.html">TStringCollection</a>&amp; cl )
+00091 { <span class="keywordflow">return</span> is &gt;&gt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l00095"></a><a class="code" href="resource_8h.html#a1">00095</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTStringCollection.html">TStringCollection</a>*&amp; cl )
+00096 { <span class="keywordflow">return</span> is &gt;&gt; (<span class="keywordtype">void</span> *&amp;)cl; }
+00097
+<a name="l00101"></a><a class="code" href="resource_8h.html#a2">00101</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTStringCollection.html">TStringCollection</a>&amp; cl )
+00102 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l00106"></a><a class="code" href="resource_8h.html#a3">00106</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTStringCollection.html">TStringCollection</a>* cl )
+00107 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a> *)cl; }
+00108
+00109 <span class="preprocessor">#endif // Uses_TStringCollection</span>
+00110 <span class="preprocessor"></span>
+00111 <span class="preprocessor">#if defined( Uses_TResourceItem ) &amp;&amp; !defined( __TResourceItem )</span>
+00112 <span class="preprocessor"></span><span class="preprocessor">#define __TResourceItem</span>
+00113 <span class="preprocessor"></span>
+<a name="l00118"></a><a class="code" href="structTResourceItem.html">00118</a> <span class="keyword">struct </span><a class="code" href="structTResourceItem.html">TResourceItem</a>
+00119 {
+<a name="l00123"></a><a class="code" href="structTResourceItem.html#m0">00123</a> <span class="keywordtype">long</span> <a class="code" href="structTResourceItem.html#m0">pos</a>;
+<a name="l00127"></a><a class="code" href="structTResourceItem.html#m1">00127</a> <span class="keywordtype">long</span> <a class="code" href="structTResourceItem.html#m1">size</a>;
+<a name="l00131"></a><a class="code" href="structTResourceItem.html#m2">00131</a> <span class="keywordtype">char</span> *<a class="code" href="structTResourceItem.html#m2">key</a>;
+00132 };
+00133
+00134 <span class="preprocessor">#endif // Uses_TResourceItem</span>
+00135 <span class="preprocessor"></span>
+00136 <span class="preprocessor">#if defined( Uses_TResourceCollection ) &amp;&amp; !defined( __TResourceCollection )</span>
+00137 <span class="preprocessor"></span><span class="preprocessor">#define __TResourceCollection</span>
+00138 <span class="preprocessor"></span>
+<a name="l00147"></a><a class="code" href="classTResourceCollection.html">00147</a> <span class="keyword">class </span><a class="code" href="classTResourceCollection.html">TResourceCollection</a>: <span class="keyword">public</span> <a class="code" href="classTStringCollection.html">TStringCollection</a>
+00148 {
+00149 <span class="keyword">public</span>:
+<a name="l00156"></a><a class="code" href="classTResourceCollection.html#a0">00156</a> <a class="code" href="classTResourceCollection.html#a0">TResourceCollection</a>( <a class="code" href="ttypes_8h.html#a14">StreamableInit</a>) : <a class="code" href="classTStringCollection.html">TStringCollection</a>( streamableInit )
+00157 {};
+00162 <a class="code" href="classTResourceCollection.html#a0">TResourceCollection</a>( <span class="keywordtype">short</span> aLimit, <span class="keywordtype">short</span> aDelta );
+00166 <span class="keyword">virtual</span> <span class="keywordtype">void</span> *<a class="code" href="classTResourceCollection.html#a2">keyOf</a>( <span class="keywordtype">void</span> *item );
+00167 <span class="keyword">private</span>:
+00172 <span class="keyword">virtual</span> <span class="keywordtype">void</span> freeItem( <span class="keywordtype">void</span> *item );
+00176 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *streamableName()<span class="keyword"> const</span>
+00177 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classTResourceCollection.html#p0">name</a>; }
+00184 <span class="keyword">virtual</span> <span class="keywordtype">void</span> *readItem( <a class="code" href="classipstream.html">ipstream</a>&amp; );
+00191 <span class="keyword">virtual</span> <span class="keywordtype">void</span> writeItem( <span class="keywordtype">void</span> *, <a class="code" href="classopstream.html">opstream</a>&amp; );
+00192 <span class="keyword">public</span>:
+<a name="l00196"></a><a class="code" href="classTResourceCollection.html#p0">00196</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classTResourceCollection.html#p0">name</a>;
+00200 <span class="keyword">static</span> <a class="code" href="classTStreamable.html">TStreamable</a> *<a class="code" href="classTResourceCollection.html#d0">build</a>();
+00201 };
+00202
+<a name="l00206"></a><a class="code" href="resource_8h.html#a4">00206</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTResourceCollection.html">TResourceCollection</a>&amp; cl )
+00207 { <span class="keywordflow">return</span> is &gt;&gt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l00211"></a><a class="code" href="resource_8h.html#a5">00211</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTResourceCollection.html">TResourceCollection</a>*&amp; cl )
+00212 { <span class="keywordflow">return</span> is &gt;&gt; (<span class="keywordtype">void</span> *&amp;)cl; }
+00213
+<a name="l00217"></a><a class="code" href="resource_8h.html#a6">00217</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTResourceCollection.html">TResourceCollection</a>&amp; cl )
+00218 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l00222"></a><a class="code" href="resource_8h.html#a7">00222</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTResourceCollection.html">TResourceCollection</a>* cl )
+00223 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a> *)cl; }
+00224
+00225 <span class="preprocessor">#endif // Uses_TResourceCollection</span>
+00226 <span class="preprocessor"></span>
+00227 <span class="preprocessor">#if defined( Uses_TResourceFile ) &amp;&amp; !defined( __TResourceFile )</span>
+00228 <span class="preprocessor"></span><span class="preprocessor">#define __TResourceFile</span>
+00229 <span class="preprocessor"></span>
+00230 <span class="keyword">class </span><a class="code" href="classTResourceCollection.html">TResourceCollection</a>;
+00231 <span class="keyword">class </span><a class="code" href="classfpstream.html">fpstream</a>;
+00232
+<a name="l00243"></a><a class="code" href="classTResourceFile.html">00243</a> <span class="keyword">class </span><a class="code" href="classTResourceFile.html">TResourceFile</a>: <span class="keyword">public</span> <a class="code" href="classTObject.html">TObject</a>
+00244 {
+00245 <span class="keyword">public</span>:
+00256 <a class="code" href="classTResourceFile.html#a0">TResourceFile</a>( <a class="code" href="classfpstream.html">fpstream</a> *aStream );
+00261 <a class="code" href="classTResourceFile.html#a1">~TResourceFile</a>();
+00267 <span class="keywordtype">short</span> <a class="code" href="classTResourceFile.html#a2">count</a>();
+00272 <span class="keywordtype">void</span> <a class="code" href="classTResourceFile.html#a3">remove</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *key );
+00281 <span class="keywordtype">void</span> <a class="code" href="classTResourceFile.html#a4">flush</a>();
+00286 <span class="keywordtype">void</span> *<a class="code" href="classTResourceFile.html#a5">get</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *key );
+00296 <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classTResourceFile.html#a6">keyAt</a>( <span class="keywordtype">short</span> i );
+00305 <span class="keywordtype">void</span> <a class="code" href="classTResourceFile.html#a7">put</a>( <a class="code" href="classTStreamable.html">TStreamable</a> *item, <span class="keyword">const</span> <span class="keywordtype">char</span> *key );
+00309 <a class="code" href="classfpstream.html">fpstream</a> *<a class="code" href="classTResourceFile.html#a8">switchTo</a>( <a class="code" href="classfpstream.html">fpstream</a> *aStream, <a class="code" href="ttypes_8h.html#a13">Boolean</a> pack );
+00310 <span class="keyword">protected</span>:
+<a name="l00314"></a><a class="code" href="classTResourceFile.html#n0">00314</a> <a class="code" href="classfpstream.html">fpstream</a> *<a class="code" href="classTResourceFile.html#n0">stream</a>;
+<a name="l00319"></a><a class="code" href="classTResourceFile.html#n1">00319</a> <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTResourceFile.html#n1">modified</a>;
+<a name="l00323"></a><a class="code" href="classTResourceFile.html#n2">00323</a> <span class="keywordtype">long</span> <a class="code" href="classTResourceFile.html#n2">basePos</a>;
+<a name="l00327"></a><a class="code" href="classTResourceFile.html#n3">00327</a> <span class="keywordtype">long</span> <a class="code" href="classTResourceFile.html#n3">indexPos</a>;
+<a name="l00331"></a><a class="code" href="classTResourceFile.html#n4">00331</a> <a class="code" href="classTResourceCollection.html">TResourceCollection</a> *<a class="code" href="classTResourceFile.html#n4">index</a>;
+00332 };
+00333
+00334 <span class="preprocessor">#endif // Uses_TResourceFile</span>
+00335 <span class="preprocessor"></span>
+00336 <span class="preprocessor">#if defined( Uses_TStrIndexRec ) &amp;&amp; !defined( __TStrIndexRec )</span>
+00337 <span class="preprocessor"></span><span class="preprocessor">#define __TStrIndexRec</span>
+00338 <span class="preprocessor"></span>
+<a name="l00343"></a><a class="code" href="classTStrIndexRec.html">00343</a> <span class="keyword">class </span><a class="code" href="classTStrIndexRec.html">TStrIndexRec</a>
+00344 {
+00345 <span class="keyword">public</span>:
+00349 <a class="code" href="classTStrIndexRec.html#a0">TStrIndexRec</a>();
+<a name="l00353"></a><a class="code" href="classTStrIndexRec.html#m0">00353</a> <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="classTStrIndexRec.html#m0">key</a>;
+<a name="l00357"></a><a class="code" href="classTStrIndexRec.html#m1">00357</a> <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="classTStrIndexRec.html#m1">count</a>;
+<a name="l00361"></a><a class="code" href="classTStrIndexRec.html#m2">00361</a> <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="classTStrIndexRec.html#m2">offset</a>;
+00362 };
+00363
+00364 <span class="preprocessor">#endif // Uses_TStrIndexRec</span>
+00365 <span class="preprocessor"></span>
+00366 <span class="preprocessor">#if defined( Uses_TStringList ) &amp;&amp; !defined( __TStringList )</span>
+00367 <span class="preprocessor"></span><span class="preprocessor">#define __TStringList</span>
+00368 <span class="preprocessor"></span>
+00369 <span class="keyword">class </span><a class="code" href="classTStrIndexRec.html">TStrIndexRec</a>;
+00370
+<a name="l00386"></a><a class="code" href="classTStringList.html">00386</a> <span class="keyword">class </span><a class="code" href="classTStringList.html">TStringList</a> : <span class="keyword">public</span> <a class="code" href="classTObject.html">TObject</a>, <span class="keyword">public</span> <a class="code" href="classTStreamable.html">TStreamable</a>
+00387 {
+00388 <span class="keyword">public</span>:
+00392 <a class="code" href="classTStringList.html#a0">~TStringList</a>();
+00397 <span class="keywordtype">void</span> <a class="code" href="classTStringList.html#a1">get</a>( <span class="keywordtype">char</span> *dest, <a class="code" href="ttypes_8h.html#a0">ushort</a> key );
+00398 <span class="keyword">private</span>:
+00399 <a class="code" href="classipstream.html">ipstream</a> *ip;
+00400 <span class="keywordtype">long</span> basePos;
+00401 <span class="keywordtype">short</span> indexSize;
+00402 <a class="code" href="classTStrIndexRec.html">TStrIndexRec</a> *index;
+00403 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *streamableName()<span class="keyword"> const</span>
+00404 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classTStringList.html#p0">name</a>; }
+00405 <span class="keyword">protected</span>:
+00412 <a class="code" href="classTStringList.html#b0">TStringList</a>( <a class="code" href="ttypes_8h.html#a14">StreamableInit</a> );
+<a name="l00416"></a><a class="code" href="classTStringList.html#b1">00416</a> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTStringList.html#b1">write</a>( <a class="code" href="classopstream.html">opstream</a>&amp; ) {}
+00420 <span class="keyword">virtual</span> <span class="keywordtype">void</span> *<a class="code" href="classTStringList.html#b2">read</a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is );
+00421 <span class="keyword">public</span>:
+<a name="l00425"></a><a class="code" href="classTStringList.html#p0">00425</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classTStringList.html#p0">name</a>;
+00429 <span class="keyword">static</span> <a class="code" href="classTStreamable.html">TStreamable</a> *<a class="code" href="classTStringList.html#d0">build</a>();
+00430 };
+00431
+<a name="l00435"></a><a class="code" href="resource_8h.html#a8">00435</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTStringList.html">TStringList</a>&amp; cl )
+00436 { <span class="keywordflow">return</span> is &gt;&gt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l00440"></a><a class="code" href="resource_8h.html#a9">00440</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTStringList.html">TStringList</a>*&amp; cl )
+00441 { <span class="keywordflow">return</span> is &gt;&gt; (<span class="keywordtype">void</span> *&amp;)cl; }
+00442
+<a name="l00446"></a><a class="code" href="resource_8h.html#a10">00446</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTStringList.html">TStringList</a>&amp; cl )
+00447 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l00451"></a><a class="code" href="resource_8h.html#a11">00451</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTStringList.html">TStringList</a>* cl )
+00452 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a> *)cl; }
+00453
+00454 <span class="preprocessor">#endif // Uses_TStringList</span>
+00455 <span class="preprocessor"></span>
+00456
+00457 <span class="preprocessor">#if defined( Uses_TStrListMaker ) &amp;&amp; !defined( __TStrListMaker )</span>
+00458 <span class="preprocessor"></span><span class="preprocessor">#define __TStrListMaker</span>
+00459 <span class="preprocessor"></span>
+<a name="l00465"></a><a class="code" href="classTStrListMaker.html">00465</a> <span class="keyword">class </span><a class="code" href="classTStrListMaker.html">TStrListMaker</a> : <span class="keyword">public</span> <a class="code" href="classTObject.html">TObject</a>, <span class="keyword">public</span> <a class="code" href="classTStreamable.html">TStreamable</a>
+00466 {
+00467 <span class="keyword">public</span>:
+00484 <a class="code" href="classTStrListMaker.html#a0">TStrListMaker</a>( <a class="code" href="ttypes_8h.html#a0">ushort</a> aStrSize, <a class="code" href="ttypes_8h.html#a0">ushort</a> aIndexSize );
+00488 <a class="code" href="classTStrListMaker.html#a1">~TStrListMaker</a>();
+00493 <span class="keywordtype">void</span> <a class="code" href="classTStrListMaker.html#a2">put</a>( <a class="code" href="ttypes_8h.html#a0">ushort</a> key, <span class="keywordtype">char</span> *str );
+00494 <span class="keyword">private</span>:
+00495 <a class="code" href="ttypes_8h.html#a0">ushort</a> strPos;
+00496 <a class="code" href="ttypes_8h.html#a0">ushort</a> strSize;
+00497 <span class="keywordtype">char</span> *strings;
+00498 <a class="code" href="ttypes_8h.html#a0">ushort</a> indexPos;
+00499 <a class="code" href="ttypes_8h.html#a0">ushort</a> indexSize;
+00500 <a class="code" href="classTStrIndexRec.html">TStrIndexRec</a> *index;
+00501 <a class="code" href="classTStrIndexRec.html">TStrIndexRec</a> cur;
+00502 <span class="keywordtype">void</span> closeCurrent();
+00503 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *streamableName()<span class="keyword"> const</span>
+00504 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classTStringList.html#p0">TStringList::name</a>; }
+00505 <span class="keyword">protected</span>:
+00512 <a class="code" href="classTStrListMaker.html#a0">TStrListMaker</a>( <a class="code" href="ttypes_8h.html#a14">StreamableInit</a> );
+00516 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTStrListMaker.html#b1">write</a>( <a class="code" href="classopstream.html">opstream</a>&amp; os );
+<a name="l00517"></a><a class="code" href="classTStrListMaker.html#b2">00517</a> <span class="keyword">virtual</span> <span class="keywordtype">void</span> *<a class="code" href="classTStrListMaker.html#b2">read</a>( <a class="code" href="classipstream.html">ipstream</a>&amp; ) { <span class="keywordflow">return</span> 0; }
+00518 <span class="keyword">public</span>:
+00522 <span class="keyword">static</span> <a class="code" href="classTStreamable.html">TStreamable</a> *<a class="code" href="classTStrListMaker.html#d0">build</a>();
+00523 };
+00524
+<a name="l00528"></a><a class="code" href="resource_8h.html#a12">00528</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTStrListMaker.html">TStrListMaker</a>&amp; cl )
+00529 { <span class="keywordflow">return</span> is &gt;&gt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l00533"></a><a class="code" href="resource_8h.html#a13">00533</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTStrListMaker.html">TStrListMaker</a>*&amp; cl )
+00534 { <span class="keywordflow">return</span> is &gt;&gt; (<span class="keywordtype">void</span> *&amp;)cl; }
+00535
+<a name="l00539"></a><a class="code" href="resource_8h.html#a14">00539</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTStrListMaker.html">TStrListMaker</a>&amp; cl )
+00540 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l00544"></a><a class="code" href="resource_8h.html#a15">00544</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTStrListMaker.html">TStrListMaker</a>* cl )
+00545 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a> *)cl; }
+00546
+00547
+00548 <span class="preprocessor">#endif // Uses_TStrListMaker</span>
+</pre></div><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:09 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/resource_8h.html b/freebsdtvision/doc/html/resource_8h.html
new file mode 100644
index 0000000..a50e860
--- /dev/null
+++ b/freebsdtvision/doc/html/resource_8h.html
@@ -0,0 +1,697 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>resource.h File Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>resource.h File Reference</h1>
+<p>
+<a href="resource_8h-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Compounds</h2></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTResourceCollection.html">TResourceCollection</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Implements a sorted, streamable collection of resources.</em> <a href="classTResourceCollection.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTResourceFile.html">TResourceFile</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Implements a stream that can be indexed by string keys.</em> <a href="classTResourceFile.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>struct &nbsp;</td><td valign=bottom><a class="el" href="structTResourceItem.html">TResourceItem</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Internal structure use by <a class="el" href="classTResourceCollection.html">TResourceCollection</a> and <a class="el" href="classTResourceFile.html">TResourceFile</a>.</em> <a href="structTResourceItem.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTStrIndexRec.html">TStrIndexRec</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Internal class used by <a class="el" href="classTStringList.html">TStringList</a> and <a class="el" href="classTStrListMaker.html">TStrListMaker</a>.</em> <a href="classTStrIndexRec.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTStringCollection.html">TStringCollection</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Implements a sorted list of ASCII strings.</em> <a href="classTStringCollection.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTStringList.html">TStringList</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>A mechanism for accessing strings stored on a stream.</em> <a href="classTStringList.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTStrListMaker.html">TStrListMaker</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Used to create string lists for use with <a class="el" href="classTStringList.html">TStringList</a>.</em> <a href="classTStrListMaker.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td colspan=2><br><h2>Functions</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="resource_8h.html#a0">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTStringCollection.html">TStringCollection</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="resource_8h.html#a1">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTStringCollection.html">TStringCollection</a> *&amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="resource_8h.html#a2">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTStringCollection.html">TStringCollection</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="resource_8h.html#a3">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTStringCollection.html">TStringCollection</a> *cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="resource_8h.html#a4">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTResourceCollection.html">TResourceCollection</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="resource_8h.html#a5">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTResourceCollection.html">TResourceCollection</a> *&amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="resource_8h.html#a6">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTResourceCollection.html">TResourceCollection</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="resource_8h.html#a7">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTResourceCollection.html">TResourceCollection</a> *cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="resource_8h.html#a8">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTStringList.html">TStringList</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="resource_8h.html#a9">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTStringList.html">TStringList</a> *&amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="resource_8h.html#a10">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTStringList.html">TStringList</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="resource_8h.html#a11">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTStringList.html">TStringList</a> *cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="resource_8h.html#a12">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTStrListMaker.html">TStrListMaker</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="resource_8h.html#a13">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTStrListMaker.html">TStrListMaker</a> *&amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="resource_8h.html#a14">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTStrListMaker.html">TStrListMaker</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="resource_8h.html#a15">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTStrListMaker.html">TStrListMaker</a> *cl)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+ <a class="el" href="resource_8h.html">resource.h</a>
+<p>
+
+<p>
+Definition in file <a class="el" href="resource_8h-source.html">resource.h</a>.<hr><h2>Function Documentation</h2>
+<a name="a15" doxytag="resource.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTStrListMaker.html">TStrListMaker</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="resource_8h-source.html#l00544">544</a> of file <a class="el" href="resource_8h-source.html">resource.h</a>. </td>
+ </tr>
+</table>
+<a name="a14" doxytag="resource.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTStrListMaker.html">TStrListMaker</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="resource_8h-source.html#l00539">539</a> of file <a class="el" href="resource_8h-source.html">resource.h</a>. </td>
+ </tr>
+</table>
+<a name="a11" doxytag="resource.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTStringList.html">TStringList</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="resource_8h-source.html#l00451">451</a> of file <a class="el" href="resource_8h-source.html">resource.h</a>. </td>
+ </tr>
+</table>
+<a name="a10" doxytag="resource.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTStringList.html">TStringList</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="resource_8h-source.html#l00446">446</a> of file <a class="el" href="resource_8h-source.html">resource.h</a>. </td>
+ </tr>
+</table>
+<a name="a7" doxytag="resource.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTResourceCollection.html">TResourceCollection</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="resource_8h-source.html#l00222">222</a> of file <a class="el" href="resource_8h-source.html">resource.h</a>. </td>
+ </tr>
+</table>
+<a name="a6" doxytag="resource.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTResourceCollection.html">TResourceCollection</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="resource_8h-source.html#l00217">217</a> of file <a class="el" href="resource_8h-source.html">resource.h</a>. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="resource.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTStringCollection.html">TStringCollection</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="resource_8h-source.html#l00106">106</a> of file <a class="el" href="resource_8h-source.html">resource.h</a>. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="resource.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTStringCollection.html">TStringCollection</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="resource_8h-source.html#l00101">101</a> of file <a class="el" href="resource_8h-source.html">resource.h</a>. </td>
+ </tr>
+</table>
+<a name="a13" doxytag="resource.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTStrListMaker.html">TStrListMaker</a> *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="resource_8h-source.html#l00533">533</a> of file <a class="el" href="resource_8h-source.html">resource.h</a>. </td>
+ </tr>
+</table>
+<a name="a12" doxytag="resource.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTStrListMaker.html">TStrListMaker</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="resource_8h-source.html#l00528">528</a> of file <a class="el" href="resource_8h-source.html">resource.h</a>. </td>
+ </tr>
+</table>
+<a name="a9" doxytag="resource.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTStringList.html">TStringList</a> *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="resource_8h-source.html#l00440">440</a> of file <a class="el" href="resource_8h-source.html">resource.h</a>. </td>
+ </tr>
+</table>
+<a name="a8" doxytag="resource.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTStringList.html">TStringList</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="resource_8h-source.html#l00435">435</a> of file <a class="el" href="resource_8h-source.html">resource.h</a>. </td>
+ </tr>
+</table>
+<a name="a5" doxytag="resource.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTResourceCollection.html">TResourceCollection</a> *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="resource_8h-source.html#l00211">211</a> of file <a class="el" href="resource_8h-source.html">resource.h</a>. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="resource.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTResourceCollection.html">TResourceCollection</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="resource_8h-source.html#l00206">206</a> of file <a class="el" href="resource_8h-source.html">resource.h</a>. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="resource.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTStringCollection.html">TStringCollection</a> *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="resource_8h-source.html#l00095">95</a> of file <a class="el" href="resource_8h-source.html">resource.h</a>. </td>
+ </tr>
+</table>
+<a name="a0" doxytag="resource.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTStringCollection.html">TStringCollection</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="resource_8h-source.html#l00090">90</a> of file <a class="el" href="resource_8h-source.html">resource.h</a>. </td>
+ </tr>
+</table>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:11 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/stddlg_8h-source.html b/freebsdtvision/doc/html/stddlg_8h-source.html
new file mode 100644
index 0000000..1a90283
--- /dev/null
+++ b/freebsdtvision/doc/html/stddlg_8h-source.html
@@ -0,0 +1,610 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>stddlg.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>stddlg.h</h1><a href="stddlg_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="comment">/*</span>
+00002 <span class="comment"> * stddlg.h</span>
+00003 <span class="comment"> *</span>
+00004 <span class="comment"> * Turbo Vision - Version 2.0</span>
+00005 <span class="comment"> *</span>
+00006 <span class="comment"> * Copyright (c) 1994 by Borland International</span>
+00007 <span class="comment"> * All Rights Reserved.</span>
+00008 <span class="comment"> *</span>
+00009 <span class="comment"> * Modified by Sergio Sigala &lt;sergio@sigala.it&gt;</span>
+00010 <span class="comment"> */</span>
+00011
+00012 <span class="preprocessor">#if !defined( __FILE_CMDS )</span>
+00013 <span class="preprocessor"></span><span class="preprocessor">#define __FILE_CMDS</span>
+00014 <span class="preprocessor"></span>
+00019 <span class="keyword">const</span>
+00020
+00021 <span class="comment">// Commands</span>
+00022
+00023 <span class="keywordtype">int</span> cmFileOpen = 1001, <span class="comment">// Returned from TFileDialog when Open pressed</span>
+00024 cmFileReplace = 1002, <span class="comment">// Returned from TFileDialog when Replace pressed</span>
+00025 cmFileClear = 1003, <span class="comment">// Returned from TFileDialog when Clear pressed</span>
+00026 cmFileInit = 1004, <span class="comment">// Used by TFileDialog internally</span>
+00027 cmChangeDir = 1005, <span class="comment">//</span>
+00028 cmRevert = 1006, <span class="comment">// Used by TChDirDialog internally</span>
+00029 <span class="preprocessor">#ifndef __UNPATCHED</span>
+00030 <span class="preprocessor"></span> cmDirSelection= 1007,
+00031 <span class="preprocessor">#endif</span>
+00032 <span class="preprocessor"></span>
+00033 <span class="comment">// Messages</span>
+00034
+<a name="l00035"></a><a class="code" href="stddlg_8h.html#a7">00035</a> <a class="code" href="stddlg_8h.html#a7">cmFileFocused</a> = 102, <span class="comment">// A new file was focused in the TFileList</span>
+00036 <a class="code" href="stddlg_8h.html#a8">cmFileDoubleClicked</a> <span class="comment">// A file was selected in the TFileList</span>
+<a name="l00037"></a><a class="code" href="stddlg_8h.html#a8">00037</a> = 103;
+00038
+00039 <span class="preprocessor">#endif // __FILE_CMDS</span>
+00040 <span class="preprocessor"></span>
+00041 <span class="preprocessor">#if defined( Uses_TSearchRec ) &amp;&amp; !defined( __TSearchRec )</span>
+00042 <span class="preprocessor"></span><span class="preprocessor">#define __TSearchRec</span>
+00043 <span class="preprocessor"></span>
+00044 <span class="preprocessor">#include &lt;limits.h&gt;</span>
+00045
+00046 <span class="comment">/* SS: some dos stuff */</span>
+00047
+00048 <span class="preprocessor">#define FA_ARCH 0x01</span>
+00049 <span class="preprocessor"></span><span class="preprocessor">#define FA_DIREC 0x02</span>
+00050 <span class="preprocessor"></span><span class="preprocessor">#define FA_RDONLY 0x04</span>
+00051 <span class="preprocessor"></span>
+<a name="l00056"></a><a class="code" href="structftime.html">00056</a> <span class="keyword">struct </span><a class="code" href="structftime.html">ftime</a> {
+<a name="l00060"></a><a class="code" href="structftime.html#m0">00060</a> <span class="keywordtype">unsigned</span> <a class="code" href="structftime.html#m0">ft_tsec</a> : 5; <span class="comment">/* Two second interval */</span>
+<a name="l00064"></a><a class="code" href="structftime.html#m1">00064</a> <span class="keywordtype">unsigned</span> <a class="code" href="structftime.html#m1">ft_min</a> : 6; <span class="comment">/* Minutes */</span>
+<a name="l00068"></a><a class="code" href="structftime.html#m2">00068</a> <span class="keywordtype">unsigned</span> <a class="code" href="structftime.html#m2">ft_hour</a> : 5; <span class="comment">/* Hours */</span>
+<a name="l00072"></a><a class="code" href="structftime.html#m3">00072</a> <span class="keywordtype">unsigned</span> <a class="code" href="structftime.html#m3">ft_day</a> : 5; <span class="comment">/* Days */</span>
+<a name="l00076"></a><a class="code" href="structftime.html#m4">00076</a> <span class="keywordtype">unsigned</span> <a class="code" href="structftime.html#m4">ft_month</a> : 4; <span class="comment">/* Months */</span>
+<a name="l00080"></a><a class="code" href="structftime.html#m5">00080</a> <span class="keywordtype">unsigned</span> <a class="code" href="structftime.html#m5">ft_year</a> : 7; <span class="comment">/* Year */</span>
+00081 };
+00082
+<a name="l00088"></a><a class="code" href="structTSearchRec.html">00088</a> <span class="keyword">struct </span><a class="code" href="structTSearchRec.html">TSearchRec</a>
+00089 {
+<a name="l00093"></a><a class="code" href="structTSearchRec.html#m0">00093</a> <a class="code" href="ttypes_8h.html#a1">uchar</a> <a class="code" href="structTSearchRec.html#m0">attr</a>;
+<a name="l00097"></a><a class="code" href="structTSearchRec.html#m1">00097</a> <span class="keywordtype">long</span> <a class="code" href="structTSearchRec.html#m1">time</a>;
+<a name="l00101"></a><a class="code" href="structTSearchRec.html#m2">00101</a> <span class="keywordtype">long</span> <a class="code" href="structTSearchRec.html#m2">size</a>;
+<a name="l00105"></a><a class="code" href="structTSearchRec.html#m3">00105</a> <span class="keywordtype">char</span> <a class="code" href="structTSearchRec.html#m3">name</a>[PATH_MAX];
+00106 };
+00107
+00108 <span class="preprocessor">#endif // Uses_TSearchRec</span>
+00109 <span class="preprocessor"></span>
+00110 <span class="preprocessor">#if defined( Uses_TFileInputLine ) &amp;&amp; !defined( __TFileInputLine )</span>
+00111 <span class="preprocessor"></span><span class="preprocessor">#define __TFileInputLine</span>
+00112 <span class="preprocessor"></span>
+00113 <span class="keyword">class </span><a class="code" href="classTRect.html">TRect</a>;
+00114 <span class="keyword">class </span><a class="code" href="structTEvent.html">TEvent</a>;
+00115
+<a name="l00124"></a><a class="code" href="classTFileInputLine.html">00124</a> <span class="keyword">class </span><a class="code" href="classTFileInputLine.html">TFileInputLine</a> : <span class="keyword">public</span> <a class="code" href="classTInputLine.html">TInputLine</a>
+00125 {
+00126 <span class="keyword">public</span>:
+00133 <a class="code" href="classTFileInputLine.html#a0">TFileInputLine</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; bounds, <span class="keywordtype">short</span> aMaxLen );
+00142 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTFileInputLine.html#a1">handleEvent</a>( <a class="code" href="structTEvent.html">TEvent</a>&amp; event );
+00143 <span class="keyword">private</span>:
+00144 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *streamableName()<span class="keyword"> const</span>
+00145 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classTFileInputLine.html#p0">name</a>; }
+00146 <span class="keyword">protected</span>:
+00150 <a class="code" href="classTFileInputLine.html#a0">TFileInputLine</a>( <a class="code" href="ttypes_8h.html#a14">StreamableInit</a> );
+00151 <span class="keyword">public</span>:
+<a name="l00155"></a><a class="code" href="classTFileInputLine.html#p0">00155</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classTFileInputLine.html#p0">name</a>;
+00159 <span class="keyword">static</span> <a class="code" href="classTStreamable.html">TStreamable</a> *<a class="code" href="classTFileInputLine.html#d0">build</a>();
+00160 };
+00161
+<a name="l00165"></a><a class="code" href="stddlg_8h.html#a18">00165</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTFileInputLine.html">TFileInputLine</a>&amp; cl )
+00166 { <span class="keywordflow">return</span> is &gt;&gt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l00170"></a><a class="code" href="stddlg_8h.html#a19">00170</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTFileInputLine.html">TFileInputLine</a>*&amp; cl )
+00171 { <span class="keywordflow">return</span> is &gt;&gt; (<span class="keywordtype">void</span> *&amp;)cl; }
+00172
+<a name="l00176"></a><a class="code" href="stddlg_8h.html#a20">00176</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTFileInputLine.html">TFileInputLine</a>&amp; cl )
+00177 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l00181"></a><a class="code" href="stddlg_8h.html#a21">00181</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTFileInputLine.html">TFileInputLine</a>* cl )
+00182 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a> *)cl; }
+00183
+00184 <span class="preprocessor">#endif // Uses_TFileInputLine</span>
+00185 <span class="preprocessor"></span>
+00186 <span class="preprocessor">#if defined( Uses_TFileCollection ) &amp;&amp; !defined( __TFileCollection )</span>
+00187 <span class="preprocessor"></span><span class="preprocessor">#define __TFileCollection</span>
+00188 <span class="preprocessor"></span>
+00189 <span class="keyword">class </span><a class="code" href="structTSearchRec.html">TSearchRec</a>;
+00190
+<a name="l00196"></a><a class="code" href="classTFileCollection.html">00196</a> <span class="keyword">class </span><a class="code" href="classTFileCollection.html">TFileCollection</a>: <span class="keyword">public</span> <a class="code" href="classTSortedCollection.html">TSortedCollection</a>
+00197 {
+00198 <span class="keyword">public</span>:
+<a name="l00203"></a><a class="code" href="classTFileCollection.html#a0">00203</a> <a class="code" href="classTFileCollection.html#a0">TFileCollection</a>( <a class="code" href="ttypes_8h.html#a5">ccIndex</a> aLimit, <a class="code" href="ttypes_8h.html#a5">ccIndex</a> aDelta) :
+00204 <a class="code" href="classTSortedCollection.html">TSortedCollection</a>( aLimit, aDelta ) {}
+<a name="l00209"></a><a class="code" href="classTFileCollection.html#a1">00209</a> <a class="code" href="structTSearchRec.html">TSearchRec</a> *<a class="code" href="classTFileCollection.html#a1">at</a>( <a class="code" href="ttypes_8h.html#a5">ccIndex</a> index )
+00210 { <span class="keywordflow">return</span> (<a class="code" href="structTSearchRec.html">TSearchRec</a> *)<a class="code" href="classTNSCollection.html#a3">TSortedCollection::at</a>( index ); }
+<a name="l00215"></a><a class="code" href="classTFileCollection.html#a2">00215</a> <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a5">ccIndex</a> <a class="code" href="classTFileCollection.html#a2">indexOf</a>( <a class="code" href="structTSearchRec.html">TSearchRec</a> *item )
+00216 { <span class="keywordflow">return</span> <a class="code" href="classTNSSortedCollection.html#a2">TSortedCollection::indexOf</a>( item ); }
+<a name="l00221"></a><a class="code" href="classTFileCollection.html#a3">00221</a> <span class="keywordtype">void</span> <a class="code" href="classTFileCollection.html#a3">remove</a>( <a class="code" href="structTSearchRec.html">TSearchRec</a> *item )
+00222 { <a class="code" href="classTNSCollection.html#a7">TSortedCollection::remove</a>( item ); }
+<a name="l00227"></a><a class="code" href="classTFileCollection.html#a4">00227</a> <span class="keywordtype">void</span> <a class="code" href="classTFileCollection.html#a4">free</a>( <a class="code" href="structTSearchRec.html">TSearchRec</a> *item )
+00228 { <a class="code" href="classTNSCollection.html#a9">TSortedCollection::free</a>( item ); }
+<a name="l00237"></a><a class="code" href="classTFileCollection.html#a5">00237</a> <span class="keywordtype">void</span> <a class="code" href="classTFileCollection.html#a5">atInsert</a>( <a class="code" href="ttypes_8h.html#a5">ccIndex</a> index, <a class="code" href="structTSearchRec.html">TSearchRec</a> *item )
+00238 { <a class="code" href="classTNSCollection.html#a11">TSortedCollection::atInsert</a>( index, item ); }
+<a name="l00242"></a><a class="code" href="classTFileCollection.html#a6">00242</a> <span class="keywordtype">void</span> <a class="code" href="classTFileCollection.html#a6">atPut</a>( <a class="code" href="ttypes_8h.html#a5">ccIndex</a> index, <a class="code" href="structTSearchRec.html">TSearchRec</a> *item )
+00243 { <a class="code" href="classTNSCollection.html#a12">TSortedCollection::atPut</a>( index, item ); }
+<a name="l00251"></a><a class="code" href="classTFileCollection.html#a7">00251</a> <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a5">ccIndex</a> <a class="code" href="classTFileCollection.html#a7">insert</a>( <a class="code" href="structTSearchRec.html">TSearchRec</a> *item )
+00252 { <span class="keywordflow">return</span> <a class="code" href="classTNSSortedCollection.html#a3">TSortedCollection::insert</a>( item ); }
+00257 <a class="code" href="structTSearchRec.html">TSearchRec</a> *<a class="code" href="classTFileCollection.html#a8">firstThat</a>( <a class="code" href="ttypes_8h.html#a6">ccTestFunc</a> Test, <span class="keywordtype">void</span> *arg );
+00263 <a class="code" href="structTSearchRec.html">TSearchRec</a> *<a class="code" href="classTFileCollection.html#a9">lastThat</a>( <a class="code" href="ttypes_8h.html#a6">ccTestFunc</a> Test, <span class="keywordtype">void</span> *arg );
+00264 <span class="keyword">private</span>:
+00265 <span class="keyword">virtual</span> <span class="keywordtype">void</span> freeItem( <span class="keywordtype">void</span> *item )
+00266 { <span class="keyword">delete</span> (<a class="code" href="structTSearchRec.html">TSearchRec</a> *)item; }
+00281 <span class="keyword">virtual</span> <span class="keywordtype">int</span> compare( <span class="keywordtype">void</span> *key1, <span class="keywordtype">void</span> *key2 );
+00285 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *streamableName()<span class="keyword"> const</span>
+00286 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classTFileCollection.html#p0">name</a>; }
+00291 <span class="keyword">virtual</span> <span class="keywordtype">void</span> *readItem( <a class="code" href="classipstream.html">ipstream</a>&amp; );
+00296 <span class="keyword">virtual</span> <span class="keywordtype">void</span> writeItem( <span class="keywordtype">void</span> *, <a class="code" href="classopstream.html">opstream</a>&amp; );
+00297 <span class="keyword">protected</span>:
+<a name="l00301"></a><a class="code" href="classTFileCollection.html#b0">00301</a> <a class="code" href="classTFileCollection.html#a0">TFileCollection</a>( <a class="code" href="ttypes_8h.html#a14">StreamableInit</a> ) : <a class="code" href="classTSortedCollection.html">TSortedCollection</a> ( streamableInit ) {}
+00302 <span class="keyword">public</span>:
+<a name="l00306"></a><a class="code" href="classTFileCollection.html#p0">00306</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classTFileCollection.html#p0">name</a>;
+00310 <span class="keyword">static</span> <a class="code" href="classTStreamable.html">TStreamable</a> *<a class="code" href="classTFileCollection.html#d0">build</a>();
+00311 };
+00312
+<a name="l00316"></a><a class="code" href="stddlg_8h.html#a22">00316</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTFileCollection.html">TFileCollection</a>&amp; cl )
+00317 { <span class="keywordflow">return</span> is &gt;&gt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l00321"></a><a class="code" href="stddlg_8h.html#a23">00321</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTFileCollection.html">TFileCollection</a>*&amp; cl )
+00322 { <span class="keywordflow">return</span> is &gt;&gt; (<span class="keywordtype">void</span> *&amp;)cl; }
+00323
+<a name="l00327"></a><a class="code" href="stddlg_8h.html#a24">00327</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTFileCollection.html">TFileCollection</a>&amp; cl )
+00328 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l00332"></a><a class="code" href="stddlg_8h.html#a25">00332</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTFileCollection.html">TFileCollection</a>* cl )
+00333 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a> *)cl; }
+00334
+<a name="l00335"></a><a class="code" href="classTFileCollection.html#a8">00335</a> <span class="keyword">inline</span> <a class="code" href="structTSearchRec.html">TSearchRec</a> *<a class="code" href="classTFileCollection.html#a8">TFileCollection::firstThat</a>( <a class="code" href="ttypes_8h.html#a6">ccTestFunc</a> func, <span class="keywordtype">void</span> *arg )
+00336 {
+00337 <span class="keywordflow">return</span> (<a class="code" href="structTSearchRec.html">TSearchRec</a> *)<a class="code" href="classTNSCollection.html#a15">TSortedCollection::firstThat</a>( <a class="code" href="ttypes_8h.html#a6">ccTestFunc</a>(func), arg );
+00338 }
+00339
+<a name="l00340"></a><a class="code" href="classTFileCollection.html#a9">00340</a> <span class="keyword">inline</span> <a class="code" href="structTSearchRec.html">TSearchRec</a> *<a class="code" href="classTFileCollection.html#a9">TFileCollection::lastThat</a>( <a class="code" href="ttypes_8h.html#a6">ccTestFunc</a> func, <span class="keywordtype">void</span> *arg )
+00341 {
+00342 <span class="keywordflow">return</span> (<a class="code" href="structTSearchRec.html">TSearchRec</a> *)<a class="code" href="classTNSCollection.html#a16">TSortedCollection::lastThat</a>( <a class="code" href="ttypes_8h.html#a6">ccTestFunc</a>(func), arg );
+00343 }
+00344
+00345 <span class="preprocessor">#endif // Uses_TFileCollection</span>
+00346 <span class="preprocessor"></span>
+00347
+00348 <span class="preprocessor">#if defined( Uses_TSortedListBox ) &amp;&amp; !defined( __TSortedListBox )</span>
+00349 <span class="preprocessor"></span><span class="preprocessor">#define __TSortedListBox</span>
+00350 <span class="preprocessor"></span>
+00351 <span class="keyword">class </span><a class="code" href="classTRect.html">TRect</a>;
+00352 <span class="keyword">class </span><a class="code" href="classTScrollBar.html">TScrollBar</a>;
+00353 <span class="keyword">class </span><a class="code" href="structTEvent.html">TEvent</a>;
+00354 <span class="keyword">class </span><a class="code" href="classTSortedCollection.html">TSortedCollection</a>;
+00355
+<a name="l00362"></a><a class="code" href="classTSortedListBox.html">00362</a> <span class="keyword">class </span><a class="code" href="classTSortedListBox.html">TSortedListBox</a>: <span class="keyword">public</span> <a class="code" href="classTListBox.html">TListBox</a>
+00363 {
+00364 <span class="keyword">public</span>:
+00374 <a class="code" href="classTSortedListBox.html#a0">TSortedListBox</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; bounds,
+00375 <a class="code" href="ttypes_8h.html#a0">ushort</a> aNumCols,
+00376 <a class="code" href="classTScrollBar.html">TScrollBar</a> *aScrollBar
+00377 );
+00382 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTSortedListBox.html#a1">handleEvent</a>( <a class="code" href="structTEvent.html">TEvent</a>&amp; event );
+00390 <span class="keywordtype">void</span> <a class="code" href="classTSortedListBox.html#a2">newList</a>( <a class="code" href="classTSortedCollection.html">TSortedCollection</a> *aList );
+00391 <span class="preprocessor">#ifndef __UNPATCHED</span>
+00392 <span class="preprocessor"></span> <span class="keywordtype">void</span> *<a class="code" href="classTSortedListBox.html#a3">read</a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is );
+00393 <span class="preprocessor">#endif</span>
+00394 <span class="preprocessor"></span>
+00405 <a class="code" href="classTSortedCollection.html">TSortedCollection</a> *<a class="code" href="classTSortedListBox.html#a4">list</a>();
+00406 <span class="keyword">protected</span>:
+<a name="l00410"></a><a class="code" href="classTSortedListBox.html#n0">00410</a> <a class="code" href="ttypes_8h.html#a1">uchar</a> <a class="code" href="classTSortedListBox.html#n0">shiftState</a>;
+00411 <span class="keyword">private</span>:
+00418 <span class="keyword">virtual</span> <span class="keywordtype">void</span> *getKey( <span class="keyword">const</span> <span class="keywordtype">char</span> *s );
+00419 <span class="keywordtype">short</span> searchPos;
+00420 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *streamableName()<span class="keyword"> const</span>
+00421 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classTSortedListBox.html#p0">name</a>; }
+00422 <span class="keyword">protected</span>:
+<a name="l00426"></a><a class="code" href="classTSortedListBox.html#b0">00426</a> <a class="code" href="classTSortedListBox.html#a0">TSortedListBox</a>( <a class="code" href="ttypes_8h.html#a14">StreamableInit</a> ) : <a class="code" href="classTListBox.html">TListBox</a> ( streamableInit ) {}
+00427 <span class="keyword">public</span>:
+<a name="l00431"></a><a class="code" href="classTSortedListBox.html#p0">00431</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classTSortedListBox.html#p0">name</a>;
+00435 <span class="keyword">static</span> <a class="code" href="classTStreamable.html">TStreamable</a> *<a class="code" href="classTSortedListBox.html#d0">build</a>();
+00436 };
+00437
+<a name="l00441"></a><a class="code" href="stddlg_8h.html#a26">00441</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTSortedListBox.html">TSortedListBox</a>&amp; cl )
+00442 { <span class="keywordflow">return</span> is &gt;&gt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l00446"></a><a class="code" href="stddlg_8h.html#a27">00446</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTSortedListBox.html">TSortedListBox</a>*&amp; cl )
+00447 { <span class="keywordflow">return</span> is &gt;&gt; (<span class="keywordtype">void</span> *&amp;)cl; }
+00448
+<a name="l00452"></a><a class="code" href="stddlg_8h.html#a28">00452</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTSortedListBox.html">TSortedListBox</a>&amp; cl )
+00453 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l00457"></a><a class="code" href="stddlg_8h.html#a29">00457</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTSortedListBox.html">TSortedListBox</a>* cl )
+00458 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a> *)cl; }
+00459
+<a name="l00460"></a><a class="code" href="classTSortedListBox.html#a4">00460</a> <span class="keyword">inline</span> <a class="code" href="classTSortedCollection.html">TSortedCollection</a> *<a class="code" href="classTSortedListBox.html#a4">TSortedListBox::list</a>()
+00461 {
+00462 <span class="keywordflow">return</span> (<a class="code" href="classTSortedCollection.html">TSortedCollection</a> *)<a class="code" href="classTListBox.html#a7">TListBox::list</a>();
+00463 }
+00464
+00465 <span class="preprocessor">#endif // Uses_TSortedListBox</span>
+00466 <span class="preprocessor"></span>
+00467 <span class="preprocessor">#if defined( Uses_TFileList ) &amp;&amp; !defined( __TFileList )</span>
+00468 <span class="preprocessor"></span><span class="preprocessor">#define __TFileList</span>
+00469 <span class="preprocessor"></span>
+00470 <span class="keyword">class </span><a class="code" href="classTRect.html">TRect</a>;
+00471 <span class="keyword">class </span><a class="code" href="classTScrollBar.html">TScrollBar</a>;
+00472 <span class="keyword">class </span><a class="code" href="structTEvent.html">TEvent</a>;
+00473
+<a name="l00491"></a><a class="code" href="classTFileList.html">00491</a> <span class="keyword">class </span><a class="code" href="classTFileList.html">TFileList</a> : <span class="keyword">public</span> <a class="code" href="classTSortedListBox.html">TSortedListBox</a>
+00492 {
+00493 <span class="keyword">public</span>:
+00500 <a class="code" href="classTFileList.html#a0">TFileList</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; bounds,
+00501 <a class="code" href="classTScrollBar.html">TScrollBar</a> *aScrollBar
+00502 );
+00506 <a class="code" href="classTFileList.html#a1">~TFileList</a>();
+00511 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTFileList.html#a2">focusItem</a>( <span class="keywordtype">short</span> item );
+00515 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTFileList.html#a3">selectItem</a>( <span class="keywordtype">short</span> item );
+00521 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTFileList.html#a4">getText</a>( <span class="keywordtype">char</span> *dest, <span class="keywordtype">short</span> item, <span class="keywordtype">short</span> maxLen );
+00529 <span class="keywordtype">void</span> <a class="code" href="classTFileList.html#a5">newList</a>( <a class="code" href="classTFileCollection.html">TFileCollection</a> *aList );
+00535 <span class="keywordtype">void</span> <a class="code" href="classTFileList.html#a6">readDirectory</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *dir, <span class="keyword">const</span> <span class="keywordtype">char</span> *wildCard );
+00547 <span class="keywordtype">void</span> <a class="code" href="classTFileList.html#a6">readDirectory</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *wildCard );
+00551 <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="classTFileList.html#a8">dataSize</a>();
+00555 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTFileList.html#a9">getData</a>( <span class="keywordtype">void</span> *rec );
+00559 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTFileList.html#a10">setData</a>( <span class="keywordtype">void</span> *rec );
+00565 <a class="code" href="classTFileCollection.html">TFileCollection</a> *<a class="code" href="classTFileList.html#a11">list</a>();
+00566 <span class="keyword">private</span>:
+00567 <span class="keyword">virtual</span> <span class="keywordtype">void</span> *getKey( <span class="keyword">const</span> <span class="keywordtype">char</span> *s );
+00568 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * tooManyFiles;
+00569 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *streamableName()<span class="keyword"> const</span>
+00570 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classTFileList.html#p0">name</a>; }
+00571 <span class="keyword">protected</span>:
+<a name="l00575"></a><a class="code" href="classTFileList.html#b0">00575</a> <a class="code" href="classTFileList.html#a0">TFileList</a>( <a class="code" href="ttypes_8h.html#a14">StreamableInit</a> ) : <a class="code" href="classTSortedListBox.html">TSortedListBox</a> ( streamableInit ) {}
+00576 <span class="keyword">public</span>:
+<a name="l00580"></a><a class="code" href="classTFileList.html#p0">00580</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classTFileList.html#p0">name</a>;
+00584 <span class="keyword">static</span> <a class="code" href="classTStreamable.html">TStreamable</a> *<a class="code" href="classTFileList.html#d0">build</a>();
+00585 };
+00586
+<a name="l00590"></a><a class="code" href="stddlg_8h.html#a30">00590</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTFileList.html">TFileList</a>&amp; cl )
+00591 { <span class="keywordflow">return</span> is &gt;&gt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l00595"></a><a class="code" href="stddlg_8h.html#a31">00595</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTFileList.html">TFileList</a>*&amp; cl )
+00596 { <span class="keywordflow">return</span> is &gt;&gt; (<span class="keywordtype">void</span> *&amp;)cl; }
+00597
+<a name="l00601"></a><a class="code" href="stddlg_8h.html#a32">00601</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTFileList.html">TFileList</a>&amp; cl )
+00602 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l00606"></a><a class="code" href="stddlg_8h.html#a33">00606</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTFileList.html">TFileList</a>* cl )
+00607 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a> *)cl; }
+00608
+<a name="l00609"></a><a class="code" href="classTFileList.html#a5">00609</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classTFileList.html#a5">TFileList::newList</a>( <a class="code" href="classTFileCollection.html">TFileCollection</a> *f )
+00610 {
+00611 <a class="code" href="classTSortedListBox.html#a2">TSortedListBox::newList</a>( f );
+00612 }
+00613
+<a name="l00614"></a><a class="code" href="classTFileList.html#a11">00614</a> <span class="keyword">inline</span> <a class="code" href="classTFileCollection.html">TFileCollection</a> *<a class="code" href="classTFileList.html#a11">TFileList::list</a>()
+00615 {
+00616 <span class="keywordflow">return</span> (<a class="code" href="classTFileCollection.html">TFileCollection</a> *)<a class="code" href="classTSortedListBox.html#a4">TSortedListBox::list</a>();
+00617 }
+00618
+00619 <span class="preprocessor">#endif // Uses_TFileList</span>
+00620 <span class="preprocessor"></span>
+00621
+00622 <span class="preprocessor">#if defined( Uses_TFileInfoPane ) &amp;&amp; !defined( __TFileInfoPane )</span>
+00623 <span class="preprocessor"></span><span class="preprocessor">#define __TFileInfoPane</span>
+00624 <span class="preprocessor"></span>
+00625 <span class="keyword">class </span><a class="code" href="classTRect.html">TRect</a>;
+00626 <span class="keyword">class </span><a class="code" href="structTEvent.html">TEvent</a>;
+00627
+<a name="l00634"></a><a class="code" href="classTFileInfoPane.html">00634</a> <span class="keyword">class </span><a class="code" href="classTFileInfoPane.html">TFileInfoPane</a> : <span class="keyword">public</span> <a class="code" href="classTView.html">TView</a>
+00635 {
+00636 <span class="keyword">public</span>:
+00644 <a class="code" href="classTFileInfoPane.html#a0">TFileInfoPane</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; bounds );
+00649 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTFileInfoPane.html#a1">draw</a>();
+00653 <span class="keyword">virtual</span> <a class="code" href="classTPalette.html">TPalette</a>&amp; <a class="code" href="classTFileInfoPane.html#a2">getPalette</a>() <span class="keyword">const</span>;
+00659 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTFileInfoPane.html#a3">handleEvent</a>( <a class="code" href="structTEvent.html">TEvent</a>&amp; event );
+00660 <span class="keyword">private</span>:
+00677 <a class="code" href="structTSearchRec.html">TSearchRec</a> file_block;
+00678 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> months[13];
+00679 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * pmText;
+00680 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * amText;
+00681 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *streamableName()<span class="keyword"> const</span>
+00682 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classTFileInfoPane.html#p0">name</a>; }
+00683 <span class="keyword">protected</span>:
+<a name="l00687"></a><a class="code" href="classTFileInfoPane.html#b0">00687</a> <a class="code" href="classTFileInfoPane.html#a0">TFileInfoPane</a>( <a class="code" href="ttypes_8h.html#a14">StreamableInit</a> ) : <a class="code" href="classTView.html">TView</a> ( streamableInit ) {}
+00688 <span class="keyword">public</span>:
+<a name="l00692"></a><a class="code" href="classTFileInfoPane.html#p0">00692</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classTFileInfoPane.html#p0">name</a>;
+00696 <span class="keyword">static</span> <a class="code" href="classTStreamable.html">TStreamable</a> *<a class="code" href="classTFileInfoPane.html#d0">build</a>();
+00697 };
+00698
+<a name="l00702"></a><a class="code" href="stddlg_8h.html#a34">00702</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTFileInfoPane.html">TFileInfoPane</a>&amp; cl )
+00703 { <span class="keywordflow">return</span> is &gt;&gt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l00707"></a><a class="code" href="stddlg_8h.html#a35">00707</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTFileInfoPane.html">TFileInfoPane</a>*&amp; cl )
+00708 { <span class="keywordflow">return</span> is &gt;&gt; (<span class="keywordtype">void</span> *&amp;)cl; }
+00709
+<a name="l00713"></a><a class="code" href="stddlg_8h.html#a36">00713</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTFileInfoPane.html">TFileInfoPane</a>&amp; cl )
+00714 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l00718"></a><a class="code" href="stddlg_8h.html#a37">00718</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTFileInfoPane.html">TFileInfoPane</a>* cl )
+00719 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a> *)cl; }
+00720
+00721 <span class="preprocessor">#endif // Uses_TFileInfoPane</span>
+00722 <span class="preprocessor"></span>
+00723 <span class="preprocessor">#if defined( Uses_TFileDialog ) &amp;&amp; !defined( __TFileDialog )</span>
+00724 <span class="preprocessor"></span><span class="preprocessor">#define __TFileDialog</span>
+00725 <span class="preprocessor"></span>
+00726 <span class="keyword">const</span>
+00727 <span class="keywordtype">int</span> fdOKButton = 0x0001, <span class="comment">// Put an OK button in the dialog</span>
+00728 fdOpenButton = 0x0002, <span class="comment">// Put an Open button in the dialog</span>
+00729 fdReplaceButton = 0x0004, <span class="comment">// Put a Replace button in the dialog</span>
+00730 fdClearButton = 0x0008, <span class="comment">// Put a Clear button in the dialog</span>
+00731 fdHelpButton = 0x0010, <span class="comment">// Put a Help button in the dialog</span>
+00732 fdNoLoadDir = 0x0100; <span class="comment">// Do not load the current directory</span>
+00733 <span class="comment">// contents into the dialog at Init.</span>
+00734 <span class="comment">// This means you intend to change the</span>
+00735 <span class="comment">// WildCard by using SetData or store</span>
+00736 <span class="comment">// the dialog on a stream.</span>
+00737
+00738 <span class="keyword">class </span><a class="code" href="structTEvent.html">TEvent</a>;
+00739 <span class="keyword">class </span><a class="code" href="classTFileInputLine.html">TFileInputLine</a>;
+00740 <span class="keyword">class </span><a class="code" href="classTFileList.html">TFileList</a>;
+00741
+<a name="l00762"></a><a class="code" href="classTFileDialog.html">00762</a> <span class="keyword">class </span><a class="code" href="classTFileDialog.html">TFileDialog</a> : <span class="keyword">public</span> <a class="code" href="classTDialog.html">TDialog</a>
+00763 {
+00764 <span class="keyword">public</span>:
+00806 <a class="code" href="classTFileDialog.html#a0">TFileDialog</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *aWildCard, <span class="keyword">const</span> <span class="keywordtype">char</span> *aTitle,
+00807 <span class="keyword">const</span> <span class="keywordtype">char</span> *inputName, <a class="code" href="ttypes_8h.html#a0">ushort</a> aOptions, <a class="code" href="ttypes_8h.html#a1">uchar</a> histId );
+00811 <a class="code" href="classTFileDialog.html#a1">~TFileDialog</a>();
+00815 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTFileDialog.html#a2">getData</a>( <span class="keywordtype">void</span> *rec );
+00822 <span class="keywordtype">void</span> <a class="code" href="classTFileDialog.html#a3">getFileName</a>( <span class="keywordtype">char</span> *s );
+00830 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTFileDialog.html#a4">handleEvent</a>( <a class="code" href="structTEvent.html">TEvent</a>&amp; event );
+00834 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTFileDialog.html#a5">setData</a>( <span class="keywordtype">void</span> *rec );
+00845 <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTFileDialog.html#a6">valid</a>( <a class="code" href="ttypes_8h.html#a0">ushort</a> command );
+00853 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTFileDialog.html#a7">shutDown</a>();
+<a name="l00857"></a><a class="code" href="classTFileDialog.html#m0">00857</a> <a class="code" href="classTFileInputLine.html">TFileInputLine</a> *<a class="code" href="classTFileDialog.html#m0">fileName</a>;
+<a name="l00861"></a><a class="code" href="classTFileDialog.html#m1">00861</a> <a class="code" href="classTFileList.html">TFileList</a> *<a class="code" href="classTFileDialog.html#m1">fileList</a>;
+<a name="l00865"></a><a class="code" href="classTFileDialog.html#m2">00865</a> <span class="keywordtype">char</span> <a class="code" href="classTFileDialog.html#m2">wildCard</a>[PATH_MAX];
+<a name="l00869"></a><a class="code" href="classTFileDialog.html#m3">00869</a> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classTFileDialog.html#m3">directory</a>;
+00870 <span class="keyword">private</span>:
+00871 <span class="keywordtype">void</span> readDirectory();
+00872 <a class="code" href="ttypes_8h.html#a13">Boolean</a> checkDirectory( <span class="keyword">const</span> <span class="keywordtype">char</span> * );
+00873 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * filesText;
+00874 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * openText;
+00875 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * okText;
+00876 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * replaceText;
+00877 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * clearText;
+00878 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * cancelText;
+00879 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * helpText;
+00880 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * invalidDriveText;
+00881 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * invalidFileText;
+00882 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *streamableName()<span class="keyword"> const</span>
+00883 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classTFileDialog.html#p0">name</a>; }
+00884 <span class="keyword">protected</span>:
+<a name="l00888"></a><a class="code" href="classTFileDialog.html#b0">00888</a> <a class="code" href="classTFileDialog.html#a0">TFileDialog</a>( <a class="code" href="ttypes_8h.html#a14">StreamableInit</a> ) : <a class="code" href="classTDialog.html">TDialog</a> ( streamableInit ),
+00889 <a class="code" href="classTWindowInit.html">TWindowInit</a>( <a class="code" href="classTFileDialog.html">TFileDialog</a>::<a class="code" href="classTWindow.html#d0">initFrame</a> ) {}
+00893 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTFileDialog.html#b1">write</a>( <a class="code" href="classopstream.html">opstream</a>&amp; os );
+00897 <span class="keyword">virtual</span> <span class="keywordtype">void</span> *<a class="code" href="classTFileDialog.html#b2">read</a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is );
+00898 <span class="keyword">public</span>:
+<a name="l00902"></a><a class="code" href="classTFileDialog.html#p0">00902</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classTFileDialog.html#p0">name</a>;
+00906 <span class="keyword">static</span> <a class="code" href="classTStreamable.html">TStreamable</a> *<a class="code" href="classTFileDialog.html#d0">build</a>();
+00907 };
+00908
+<a name="l00912"></a><a class="code" href="stddlg_8h.html#a38">00912</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTFileDialog.html">TFileDialog</a>&amp; cl )
+00913 { <span class="keywordflow">return</span> is &gt;&gt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l00917"></a><a class="code" href="stddlg_8h.html#a39">00917</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTFileDialog.html">TFileDialog</a>*&amp; cl )
+00918 { <span class="keywordflow">return</span> is &gt;&gt; (<span class="keywordtype">void</span> *&amp;)cl; }
+00919
+<a name="l00923"></a><a class="code" href="stddlg_8h.html#a40">00923</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTFileDialog.html">TFileDialog</a>&amp; cl )
+00924 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l00928"></a><a class="code" href="stddlg_8h.html#a41">00928</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTFileDialog.html">TFileDialog</a>* cl )
+00929 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a> *)cl; }
+00930
+00931 <span class="preprocessor">#endif // Uses_TFileDialog</span>
+00932 <span class="preprocessor"></span>
+00933
+00934 <span class="preprocessor">#if defined( Uses_TDirEntry ) &amp;&amp; !defined( __TDirEntry )</span>
+00935 <span class="preprocessor"></span><span class="preprocessor">#define __TDirEntry</span>
+00936 <span class="preprocessor"></span>
+<a name="l00943"></a><a class="code" href="classTDirEntry.html">00943</a> <span class="keyword">class </span><a class="code" href="classTDirEntry.html">TDirEntry</a>
+00944 {
+00945 <span class="keyword">public</span>:
+00949 <a class="code" href="classTDirEntry.html#a0">TDirEntry</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *, <span class="keyword">const</span> <span class="keywordtype">char</span> * );
+00953 <a class="code" href="classTDirEntry.html#a1">~TDirEntry</a>();
+<a name="l00958"></a><a class="code" href="classTDirEntry.html#a2">00958</a> <span class="keywordtype">char</span> *<a class="code" href="classTDirEntry.html#a2">dir</a>() { <span class="keywordflow">return</span> directory; }
+<a name="l00963"></a><a class="code" href="classTDirEntry.html#a3">00963</a> <span class="keywordtype">char</span> *<a class="code" href="classTDirEntry.html#a3">text</a>() { <span class="keywordflow">return</span> displayText; }
+00964 <span class="keyword">private</span>:
+00965 <span class="keywordtype">char</span> *displayText;
+00966 <span class="keywordtype">char</span> *directory;
+00967 };
+00968
+<a name="l00969"></a><a class="code" href="classTDirEntry.html#a0">00969</a> <span class="keyword">inline</span> <a class="code" href="classTDirEntry.html#a0">TDirEntry::TDirEntry</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *txt, <span class="keyword">const</span> <span class="keywordtype">char</span> *dir ) :
+00970 displayText( <a class="code" href="util_8h.html#a15">newStr</a>( txt ) ), directory( <a class="code" href="util_8h.html#a15">newStr</a>( dir ) )
+00971 {
+00972 }
+00973
+<a name="l00974"></a><a class="code" href="classTDirEntry.html#a1">00974</a> <span class="keyword">inline</span> <a class="code" href="classTDirEntry.html#a1">TDirEntry::~TDirEntry</a>()
+00975 {
+00976 <span class="keyword">delete</span> displayText;
+00977 <span class="keyword">delete</span> directory;
+00978 }
+00979
+00980 <span class="preprocessor">#endif // Uses_TDirEntry</span>
+00981 <span class="preprocessor"></span>
+00982 <span class="preprocessor">#if defined( Uses_TDirCollection ) &amp;&amp; !defined( __TDirCollection )</span>
+00983 <span class="preprocessor"></span><span class="preprocessor">#define __TDirCollection</span>
+00984 <span class="preprocessor"></span>
+00985 <span class="keyword">class </span><a class="code" href="classTDirEntry.html">TDirEntry</a>;
+00986
+<a name="l00995"></a><a class="code" href="classTDirCollection.html">00995</a> <span class="keyword">class </span><a class="code" href="classTDirCollection.html">TDirCollection</a> : <span class="keyword">public</span> <a class="code" href="classTCollection.html">TCollection</a>
+00996 {
+00997 <span class="keyword">public</span>:
+<a name="l01002"></a><a class="code" href="classTDirCollection.html#a0">01002</a> <a class="code" href="classTDirCollection.html#a0">TDirCollection</a>( <a class="code" href="ttypes_8h.html#a5">ccIndex</a> aLimit, <a class="code" href="ttypes_8h.html#a5">ccIndex</a> aDelta) :
+01003 <a class="code" href="classTCollection.html">TCollection</a>( aLimit, aDelta ) {}
+<a name="l01009"></a><a class="code" href="classTDirCollection.html#a1">01009</a> <a class="code" href="classTDirEntry.html">TDirEntry</a> *<a class="code" href="classTDirCollection.html#a1">at</a>( <a class="code" href="ttypes_8h.html#a5">ccIndex</a> index )
+01010 { <span class="keywordflow">return</span> (<a class="code" href="classTDirEntry.html">TDirEntry</a> *)<a class="code" href="classTNSCollection.html#a3">TCollection::at</a>( index );}
+<a name="l01015"></a><a class="code" href="classTDirCollection.html#a2">01015</a> <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a5">ccIndex</a> <a class="code" href="classTDirCollection.html#a2">indexOf</a>( <a class="code" href="classTDirEntry.html">TDirEntry</a> *item )
+01016 { <span class="keywordflow">return</span> <a class="code" href="classTNSCollection.html#a4">TCollection::indexOf</a>( item ); }
+<a name="l01022"></a><a class="code" href="classTDirCollection.html#a3">01022</a> <span class="keywordtype">void</span> <a class="code" href="classTDirCollection.html#a3">remove</a>( <a class="code" href="classTDirEntry.html">TDirEntry</a> *item )
+01023 { <a class="code" href="classTNSCollection.html#a7">TCollection::remove</a>( item ); }
+<a name="l01029"></a><a class="code" href="classTDirCollection.html#a4">01029</a> <span class="keywordtype">void</span> <a class="code" href="classTDirCollection.html#a4">free</a>( <a class="code" href="classTDirEntry.html">TDirEntry</a> *item )
+01030 { <a class="code" href="classTNSCollection.html#a9">TCollection::free</a>( item ); }
+<a name="l01038"></a><a class="code" href="classTDirCollection.html#a5">01038</a> <span class="keywordtype">void</span> <a class="code" href="classTDirCollection.html#a5">atInsert</a>( <a class="code" href="ttypes_8h.html#a5">ccIndex</a> index, <a class="code" href="classTDirEntry.html">TDirEntry</a> *item )
+01039 { <a class="code" href="classTNSCollection.html#a11">TCollection::atInsert</a>( index, item ); }
+<a name="l01044"></a><a class="code" href="classTDirCollection.html#a6">01044</a> <span class="keywordtype">void</span> <a class="code" href="classTDirCollection.html#a6">atPut</a>( <a class="code" href="ttypes_8h.html#a5">ccIndex</a> index, <a class="code" href="classTDirEntry.html">TDirEntry</a> *item )
+01045 { <a class="code" href="classTNSCollection.html#a12">TCollection::atPut</a>( index, item ); }
+<a name="l01052"></a><a class="code" href="classTDirCollection.html#a7">01052</a> <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a5">ccIndex</a> <a class="code" href="classTDirCollection.html#a7">insert</a>( <a class="code" href="classTDirEntry.html">TDirEntry</a> *item )
+01053 { <span class="keywordflow">return</span> <a class="code" href="classTNSCollection.html#a13">TCollection::insert</a>( item ); }
+01058 <a class="code" href="classTDirEntry.html">TDirEntry</a> *<a class="code" href="classTDirCollection.html#a8">firstThat</a>( <a class="code" href="ttypes_8h.html#a6">ccTestFunc</a> Test, <span class="keywordtype">void</span> *arg );
+01065 <a class="code" href="classTDirEntry.html">TDirEntry</a> *<a class="code" href="classTDirCollection.html#a9">lastThat</a>( <a class="code" href="ttypes_8h.html#a6">ccTestFunc</a> Test, <span class="keywordtype">void</span> *arg );
+01066 <span class="keyword">private</span>:
+01067 <span class="keyword">virtual</span> <span class="keywordtype">void</span> freeItem( <span class="keywordtype">void</span> *item )
+01068 { <span class="keyword">delete</span> (<a class="code" href="classTDirEntry.html">TDirEntry</a> *)item; }
+01069 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *streamableName()<span class="keyword"> const</span>
+01070 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classTDirCollection.html#p0">name</a>; }
+01080 <span class="keyword">virtual</span> <span class="keywordtype">void</span> *readItem( <a class="code" href="classipstream.html">ipstream</a>&amp; );
+01090 <span class="keyword">virtual</span> <span class="keywordtype">void</span> writeItem( <span class="keywordtype">void</span> *, <a class="code" href="classopstream.html">opstream</a>&amp; );
+01091 <span class="keyword">protected</span>:
+<a name="l01095"></a><a class="code" href="classTDirCollection.html#b0">01095</a> <a class="code" href="classTDirCollection.html#a0">TDirCollection</a>( <a class="code" href="ttypes_8h.html#a14">StreamableInit</a> ) : <a class="code" href="classTCollection.html">TCollection</a> ( streamableInit ) {}
+01096 <span class="keyword">public</span>:
+<a name="l01100"></a><a class="code" href="classTDirCollection.html#p0">01100</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classTDirCollection.html#p0">name</a>;
+01104 <span class="keyword">static</span> <a class="code" href="classTStreamable.html">TStreamable</a> *<a class="code" href="classTDirCollection.html#d0">build</a>();
+01105 };
+01106
+<a name="l01110"></a><a class="code" href="stddlg_8h.html#a42">01110</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTDirCollection.html">TDirCollection</a>&amp; cl )
+01111 { <span class="keywordflow">return</span> is &gt;&gt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l01115"></a><a class="code" href="stddlg_8h.html#a43">01115</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTDirCollection.html">TDirCollection</a>*&amp; cl )
+01116 { <span class="keywordflow">return</span> is &gt;&gt; (<span class="keywordtype">void</span> *&amp;)cl; }
+01117
+<a name="l01121"></a><a class="code" href="stddlg_8h.html#a44">01121</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTDirCollection.html">TDirCollection</a>&amp; cl )
+01122 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l01126"></a><a class="code" href="stddlg_8h.html#a45">01126</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTDirCollection.html">TDirCollection</a>* cl )
+01127 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a> *)cl; }
+01128
+<a name="l01129"></a><a class="code" href="classTDirCollection.html#a8">01129</a> <span class="keyword">inline</span> <a class="code" href="classTDirEntry.html">TDirEntry</a> *<a class="code" href="classTDirCollection.html#a8">TDirCollection::firstThat</a>( <a class="code" href="ttypes_8h.html#a6">ccTestFunc</a> func, <span class="keywordtype">void</span> *arg )
+01130 {
+01131 <span class="keywordflow">return</span> (<a class="code" href="classTDirEntry.html">TDirEntry</a> *)<a class="code" href="classTNSCollection.html#a15">TCollection::firstThat</a>( <a class="code" href="ttypes_8h.html#a6">ccTestFunc</a>(func), arg );
+01132 }
+01133
+<a name="l01134"></a><a class="code" href="classTDirCollection.html#a9">01134</a> <span class="keyword">inline</span> <a class="code" href="classTDirEntry.html">TDirEntry</a> *<a class="code" href="classTDirCollection.html#a9">TDirCollection::lastThat</a>( <a class="code" href="ttypes_8h.html#a6">ccTestFunc</a> func, <span class="keywordtype">void</span> *arg )
+01135 {
+01136 <span class="keywordflow">return</span> (<a class="code" href="classTDirEntry.html">TDirEntry</a> *)<a class="code" href="classTNSCollection.html#a16">TCollection::lastThat</a>( <a class="code" href="ttypes_8h.html#a6">ccTestFunc</a>(func), arg );
+01137 }
+01138
+01139 <span class="preprocessor">#endif // Uses_TDirCollection</span>
+01140 <span class="preprocessor"></span>
+01141
+01142 <span class="preprocessor">#if defined( Uses_TDirListBox ) &amp;&amp; !defined( __TDirListBox )</span>
+01143 <span class="preprocessor"></span><span class="preprocessor">#define __TDirListBox</span>
+01144 <span class="preprocessor"></span>
+01145 <span class="keyword">class </span><a class="code" href="classTRect.html">TRect</a>;
+01146 <span class="keyword">class </span><a class="code" href="classTScrollBar.html">TScrollBar</a>;
+01147 <span class="keyword">class </span><a class="code" href="structTEvent.html">TEvent</a>;
+01148 <span class="keyword">class </span><a class="code" href="classTDirCollection.html">TDirCollection</a>;
+01149
+<a name="l01159"></a><a class="code" href="classTDirListBox.html">01159</a> <span class="keyword">class </span><a class="code" href="classTDirListBox.html">TDirListBox</a> : <span class="keyword">public</span> <a class="code" href="classTListBox.html">TListBox</a>
+01160 {
+01161 <span class="keyword">public</span>:
+01167 <a class="code" href="classTDirListBox.html#a0">TDirListBox</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; bounds, <a class="code" href="classTScrollBar.html">TScrollBar</a> *aScrollBar );
+01172 <a class="code" href="classTDirListBox.html#a1">~TDirListBox</a>();
+01176 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTDirListBox.html#a2">getText</a>( <span class="keywordtype">char</span> *dest, <span class="keywordtype">short</span> item, <span class="keywordtype">short</span> maxLen );
+01184 <span class="comment">// virtual void handleEvent( TEvent&amp; );</span>
+01188 <span class="comment"></span> <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTDirListBox.html#a3">isSelected</a>( <span class="keywordtype">short</span> item );
+01192 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTDirListBox.html#a4">selectItem</a>( <span class="keywordtype">short</span> item );
+01199 <span class="keywordtype">void</span> <a class="code" href="classTDirListBox.html#a5">newDirectory</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *aList );
+01203 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTDirListBox.html#a6">setState</a>( <a class="code" href="ttypes_8h.html#a0">ushort</a> aState, <a class="code" href="ttypes_8h.html#a13">Boolean</a> enable );
+01208 <a class="code" href="classTDirCollection.html">TDirCollection</a> *<a class="code" href="classTDirListBox.html#a7">list</a>();
+<a name="l01212"></a><a class="code" href="classTDirListBox.html#p0">01212</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="classTDirListBox.html#p0">pathDir</a>;
+<a name="l01216"></a><a class="code" href="classTDirListBox.html#p1">01216</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="classTDirListBox.html#p1">firstDir</a>;
+<a name="l01220"></a><a class="code" href="classTDirListBox.html#p2">01220</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="classTDirListBox.html#p2">middleDir</a>;
+<a name="l01224"></a><a class="code" href="classTDirListBox.html#p3">01224</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="classTDirListBox.html#p3">lastDir</a>;
+<a name="l01228"></a><a class="code" href="classTDirListBox.html#p4">01228</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="classTDirListBox.html#p4">graphics</a>;
+01229 <span class="keyword">private</span>:
+01230 <span class="keywordtype">void</span> showDrives( <a class="code" href="classTDirCollection.html">TDirCollection</a> * );
+01231 <span class="keywordtype">void</span> showDirs( <a class="code" href="classTDirCollection.html">TDirCollection</a> * );
+01232 <span class="keywordtype">char</span> dir[PATH_MAX];
+01233 <a class="code" href="ttypes_8h.html#a0">ushort</a> cur;
+01234 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * drives;
+01235 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *streamableName()<span class="keyword"> const</span>
+01236 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classTDirListBox.html#p5">name</a>; }
+01237 <span class="keyword">protected</span>:
+<a name="l01241"></a><a class="code" href="classTDirListBox.html#b0">01241</a> <a class="code" href="classTDirListBox.html#a0">TDirListBox</a>( <a class="code" href="ttypes_8h.html#a14">StreamableInit</a> ): <a class="code" href="classTListBox.html">TListBox</a>( streamableInit ) {}
+01242 <span class="keyword">public</span>:
+<a name="l01246"></a><a class="code" href="classTDirListBox.html#p5">01246</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classTDirListBox.html#p5">name</a>;
+01250 <span class="keyword">static</span> <a class="code" href="classTStreamable.html">TStreamable</a> *<a class="code" href="classTDirListBox.html#d0">build</a>();
+01251 };
+01252
+<a name="l01256"></a><a class="code" href="stddlg_8h.html#a46">01256</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTDirListBox.html">TDirListBox</a>&amp; cl )
+01257 { <span class="keywordflow">return</span> is &gt;&gt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l01261"></a><a class="code" href="stddlg_8h.html#a47">01261</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTDirListBox.html">TDirListBox</a>*&amp; cl )
+01262 { <span class="keywordflow">return</span> is &gt;&gt; (<span class="keywordtype">void</span> *&amp;)cl; }
+01263
+<a name="l01267"></a><a class="code" href="stddlg_8h.html#a48">01267</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTDirListBox.html">TDirListBox</a>&amp; cl )
+01268 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l01272"></a><a class="code" href="stddlg_8h.html#a49">01272</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTDirListBox.html">TDirListBox</a>* cl )
+01273 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a> *)cl; }
+01274
+<a name="l01275"></a><a class="code" href="classTDirListBox.html#a7">01275</a> <span class="keyword">inline</span> <a class="code" href="classTDirCollection.html">TDirCollection</a> *<a class="code" href="classTDirListBox.html#a7">TDirListBox::list</a>()
+01276 {
+01277 <span class="keywordflow">return</span> (<a class="code" href="classTDirCollection.html">TDirCollection</a> *)<a class="code" href="classTListBox.html#a7">TListBox::list</a>();
+01278 }
+01279
+01280 <span class="preprocessor">#endif // Uses_TDirListBox</span>
+01281 <span class="preprocessor"></span>
+01282 <span class="preprocessor">#if defined( Uses_TChDirDialog ) &amp;&amp; !defined( __TChDirDialog )</span>
+01283 <span class="preprocessor"></span><span class="preprocessor">#define __TChDirDialog</span>
+01284 <span class="preprocessor"></span>
+01285 <span class="keyword">const</span>
+01286 <span class="keywordtype">int</span> cdNormal = 0x0000, <span class="comment">// Option to use dialog immediately</span>
+01287 cdNoLoadDir = 0x0001, <span class="comment">// Option to init the dialog to store on a stream</span>
+01288 cdHelpButton = 0x0002; <span class="comment">// Put a help button in the dialog</span>
+01289
+01290 <span class="keyword">class </span><a class="code" href="structTEvent.html">TEvent</a>;
+01291 <span class="keyword">class </span><a class="code" href="classTInputLine.html">TInputLine</a>;
+01292 <span class="keyword">class </span><a class="code" href="classTDirListBox.html">TDirListBox</a>;
+01293 <span class="keyword">class </span><a class="code" href="classTButton.html">TButton</a>;
+01294
+<a name="l01326"></a><a class="code" href="classTChDirDialog.html">01326</a> <span class="keyword">class </span><a class="code" href="classTChDirDialog.html">TChDirDialog</a> : <span class="keyword">public</span> <a class="code" href="classTDialog.html">TDialog</a>
+01327 {
+01328 <span class="keyword">public</span>:
+01329 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classTDirListBox.html">TDirListBox</a>;
+01367 <a class="code" href="classTChDirDialog.html#a0">TChDirDialog</a>( <a class="code" href="ttypes_8h.html#a0">ushort</a> aOptions, <a class="code" href="ttypes_8h.html#a0">ushort</a> histId );
+01376 <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="classTChDirDialog.html#a1">dataSize</a>();
+01385 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTChDirDialog.html#a2">getData</a>( <span class="keywordtype">void</span> *rec );
+01393 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTChDirDialog.html#a3">handleEvent</a>( <a class="code" href="structTEvent.html">TEvent</a>&amp; );
+01402 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTChDirDialog.html#a4">setData</a>( <span class="keywordtype">void</span> *rec );
+01412 <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTChDirDialog.html#a5">valid</a>( <a class="code" href="ttypes_8h.html#a0">ushort</a> command );
+01427 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTChDirDialog.html#a6">shutDown</a>();
+01428 <span class="keyword">private</span>:
+01429 <span class="keywordtype">void</span> setUpDialog();
+01430 <a class="code" href="classTInputLine.html">TInputLine</a> *dirInput;
+01431 <a class="code" href="classTDirListBox.html">TDirListBox</a> *dirList;
+01432 <a class="code" href="classTButton.html">TButton</a> *okButton;
+01433 <a class="code" href="classTButton.html">TButton</a> *chDirButton;
+01434 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * changeDirTitle;
+01435 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * dirNameText;
+01436 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * dirTreeText;
+01437 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * okText;
+01438 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * chdirText;
+01439 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * revertText;
+01440 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * helpText;
+01441 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * drivesText;
+01442 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * invalidText;
+01443 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *streamableName()<span class="keyword"> const</span>
+01444 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classTChDirDialog.html#p0">name</a>; }
+01445 <span class="keyword">protected</span>:
+<a name="l01451"></a><a class="code" href="classTChDirDialog.html#b0">01451</a> <a class="code" href="classTChDirDialog.html#a0">TChDirDialog</a>( <a class="code" href="ttypes_8h.html#a14">StreamableInit</a> ) : <a class="code" href="classTDialog.html">TDialog</a>( streamableInit ),
+01452 <a class="code" href="classTWindowInit.html">TWindowInit</a>( <a class="code" href="classTChDirDialog.html">TChDirDialog</a>::<a class="code" href="classTWindow.html#d0">initFrame</a> ) {}
+01457 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTChDirDialog.html#b1">write</a>( <a class="code" href="classopstream.html">opstream</a>&amp; os );
+01462 <span class="keyword">virtual</span> <span class="keywordtype">void</span> *<a class="code" href="classTChDirDialog.html#b2">read</a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is );
+01463 <span class="keyword">public</span>:
+<a name="l01467"></a><a class="code" href="classTChDirDialog.html#p0">01467</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classTChDirDialog.html#p0">name</a>;
+01473 <span class="keyword">static</span> <a class="code" href="classTStreamable.html">TStreamable</a> *<a class="code" href="classTChDirDialog.html#d0">build</a>();
+01474 };
+01475
+<a name="l01479"></a><a class="code" href="stddlg_8h.html#a50">01479</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTChDirDialog.html">TChDirDialog</a>&amp; cl )
+01480 { <span class="keywordflow">return</span> is &gt;&gt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l01484"></a><a class="code" href="stddlg_8h.html#a51">01484</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTChDirDialog.html">TChDirDialog</a>*&amp; cl )
+01485 { <span class="keywordflow">return</span> is &gt;&gt; (<span class="keywordtype">void</span> *&amp;)cl; }
+01486
+<a name="l01490"></a><a class="code" href="stddlg_8h.html#a52">01490</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTChDirDialog.html">TChDirDialog</a>&amp; cl )
+01491 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l01495"></a><a class="code" href="stddlg_8h.html#a53">01495</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTChDirDialog.html">TChDirDialog</a>* cl )
+01496 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a> *)cl; }
+01497
+01498 <span class="preprocessor">#endif // Uses_TChDirDialog</span>
+</pre></div><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:09 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/stddlg_8h.html b/freebsdtvision/doc/html/stddlg_8h.html
new file mode 100644
index 0000000..74b9cf6
--- /dev/null
+++ b/freebsdtvision/doc/html/stddlg_8h.html
@@ -0,0 +1,1534 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>stddlg.h File Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>stddlg.h File Reference</h1>
+<p>
+<a href="stddlg_8h-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Compounds</h2></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTChDirDialog.html">TChDirDialog</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Dialog box used to change the current working directory.</em> <a href="classTChDirDialog.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTDirCollection.html">TDirCollection</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Simple <a class="el" href="classTCollection.html">TCollection</a> derivative used for storing <a class="el" href="classTDirEntry.html">TDirEntry</a> objects.</em> <a href="classTDirCollection.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTDirEntry.html">TDirEntry</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Simple class providing directory paths and descriptions.</em> <a href="classTDirEntry.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTDirListBox.html">TDirListBox</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Specialized derivative of <a class="el" href="classTListBox.html">TListBox</a> for displaying and selecting directories stored in a <a class="el" href="classTDirCollection.html">TDirCollection</a> object.</em> <a href="classTDirListBox.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTFileCollection.html">TFileCollection</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Implements a sorted collection of file names.</em> <a href="classTFileCollection.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTFileDialog.html">TFileDialog</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Implements a file dialog box, history pick list, and input line from which file names (including wildcards) can be input, edited, selected, and opened for editing.</em> <a href="classTFileDialog.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTFileInfoPane.html">TFileInfoPane</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Implements a simple, streamable view for displaying file information in the owning file dialog box.</em> <a href="classTFileInfoPane.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTFileInputLine.html">TFileInputLine</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Allows the input and editing of file names, including optional paths and wild cards.</em> <a href="classTFileInputLine.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTFileList.html">TFileList</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Implements a sorted two-column list box of file names; you can select a file name by mouse or keyboard cursor actions.</em> <a href="classTFileList.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>struct &nbsp;</td><td valign=bottom><a class="el" href="structftime.html">ftime</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Stores date and time information about a specified file.</em> <a href="structftime.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>struct &nbsp;</td><td valign=bottom><a class="el" href="structTSearchRec.html">TSearchRec</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Internal structure used by <a class="el" href="classTFileCollection.html">TFileCollection</a>.</em> <a href="structTSearchRec.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTSortedListBox.html">TSortedListBox</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>A base for other list box classes.</em> <a href="classTSortedListBox.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td colspan=2><br><h2>Functions</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="stddlg_8h.html#a18">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTFileInputLine.html">TFileInputLine</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="stddlg_8h.html#a19">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTFileInputLine.html">TFileInputLine</a> *&amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="stddlg_8h.html#a20">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTFileInputLine.html">TFileInputLine</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="stddlg_8h.html#a21">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTFileInputLine.html">TFileInputLine</a> *cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="stddlg_8h.html#a22">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTFileCollection.html">TFileCollection</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="stddlg_8h.html#a23">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTFileCollection.html">TFileCollection</a> *&amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="stddlg_8h.html#a24">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTFileCollection.html">TFileCollection</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="stddlg_8h.html#a25">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTFileCollection.html">TFileCollection</a> *cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="stddlg_8h.html#a26">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTSortedListBox.html">TSortedListBox</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="stddlg_8h.html#a27">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTSortedListBox.html">TSortedListBox</a> *&amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="stddlg_8h.html#a28">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTSortedListBox.html">TSortedListBox</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="stddlg_8h.html#a29">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTSortedListBox.html">TSortedListBox</a> *cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="stddlg_8h.html#a30">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTFileList.html">TFileList</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="stddlg_8h.html#a31">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTFileList.html">TFileList</a> *&amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="stddlg_8h.html#a32">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTFileList.html">TFileList</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="stddlg_8h.html#a33">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTFileList.html">TFileList</a> *cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="stddlg_8h.html#a34">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTFileInfoPane.html">TFileInfoPane</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="stddlg_8h.html#a35">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTFileInfoPane.html">TFileInfoPane</a> *&amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="stddlg_8h.html#a36">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTFileInfoPane.html">TFileInfoPane</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="stddlg_8h.html#a37">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTFileInfoPane.html">TFileInfoPane</a> *cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="stddlg_8h.html#a38">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTFileDialog.html">TFileDialog</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="stddlg_8h.html#a39">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTFileDialog.html">TFileDialog</a> *&amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="stddlg_8h.html#a40">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTFileDialog.html">TFileDialog</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="stddlg_8h.html#a41">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTFileDialog.html">TFileDialog</a> *cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="stddlg_8h.html#a42">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTDirCollection.html">TDirCollection</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="stddlg_8h.html#a43">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTDirCollection.html">TDirCollection</a> *&amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="stddlg_8h.html#a44">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTDirCollection.html">TDirCollection</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="stddlg_8h.html#a45">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTDirCollection.html">TDirCollection</a> *cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="stddlg_8h.html#a46">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTDirListBox.html">TDirListBox</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="stddlg_8h.html#a47">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTDirListBox.html">TDirListBox</a> *&amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="stddlg_8h.html#a48">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTDirListBox.html">TDirListBox</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="stddlg_8h.html#a49">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTDirListBox.html">TDirListBox</a> *cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="stddlg_8h.html#a50">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTChDirDialog.html">TChDirDialog</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="stddlg_8h.html#a51">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTChDirDialog.html">TChDirDialog</a> *&amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="stddlg_8h.html#a52">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTChDirDialog.html">TChDirDialog</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="stddlg_8h.html#a53">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTChDirDialog.html">TChDirDialog</a> *cl)</td></tr>
+<tr><td colspan=2><br><h2>Variables</h2></td></tr>
+<tr><td nowrap align=right valign=top><a name="a7" doxytag="stddlg.h::cmFileFocused"></a>
+const int&nbsp;</td><td valign=bottom><a class="el" href="stddlg_8h.html#a7">cmFileFocused</a> = 102</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>! New event - Used by <a class="el" href="classTChDirDialog.html">TChDirDialog</a> internally</em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top><a name="a8" doxytag="stddlg.h::cmFileDoubleClicked"></a>
+const int&nbsp;</td><td valign=bottom><a class="el" href="stddlg_8h.html#a8">cmFileDoubleClicked</a> = 103</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>! New event - Used by <a class="el" href="classTChDirDialog.html">TChDirDialog</a> internally</em></font><br><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+ <a class="el" href="stddlg_8h.html">stddlg.h</a>
+<p>
+
+<p>
+Definition in file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>.<hr><h2>Function Documentation</h2>
+<a name="a53" doxytag="stddlg.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTChDirDialog.html">TChDirDialog</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l01495">1495</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<a name="a52" doxytag="stddlg.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTChDirDialog.html">TChDirDialog</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l01490">1490</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<a name="a49" doxytag="stddlg.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTDirListBox.html">TDirListBox</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l01272">1272</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<a name="a48" doxytag="stddlg.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTDirListBox.html">TDirListBox</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l01267">1267</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<a name="a45" doxytag="stddlg.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTDirCollection.html">TDirCollection</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l01126">1126</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<a name="a44" doxytag="stddlg.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTDirCollection.html">TDirCollection</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l01121">1121</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<a name="a41" doxytag="stddlg.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTFileDialog.html">TFileDialog</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00928">928</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<a name="a40" doxytag="stddlg.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTFileDialog.html">TFileDialog</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00923">923</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<a name="a37" doxytag="stddlg.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTFileInfoPane.html">TFileInfoPane</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00718">718</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<a name="a36" doxytag="stddlg.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTFileInfoPane.html">TFileInfoPane</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00713">713</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<a name="a33" doxytag="stddlg.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTFileList.html">TFileList</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00606">606</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<a name="a32" doxytag="stddlg.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTFileList.html">TFileList</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00601">601</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<a name="a29" doxytag="stddlg.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTSortedListBox.html">TSortedListBox</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00457">457</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<a name="a28" doxytag="stddlg.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTSortedListBox.html">TSortedListBox</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00452">452</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<a name="a25" doxytag="stddlg.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTFileCollection.html">TFileCollection</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00332">332</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<a name="a24" doxytag="stddlg.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTFileCollection.html">TFileCollection</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00327">327</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<a name="a21" doxytag="stddlg.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTFileInputLine.html">TFileInputLine</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00181">181</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<a name="a20" doxytag="stddlg.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTFileInputLine.html">TFileInputLine</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00176">176</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<a name="a51" doxytag="stddlg.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTChDirDialog.html">TChDirDialog</a> *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l01484">1484</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<a name="a50" doxytag="stddlg.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTChDirDialog.html">TChDirDialog</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l01479">1479</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<a name="a47" doxytag="stddlg.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTDirListBox.html">TDirListBox</a> *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l01261">1261</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<a name="a46" doxytag="stddlg.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTDirListBox.html">TDirListBox</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l01256">1256</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<a name="a43" doxytag="stddlg.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTDirCollection.html">TDirCollection</a> *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l01115">1115</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<a name="a42" doxytag="stddlg.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTDirCollection.html">TDirCollection</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l01110">1110</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<a name="a39" doxytag="stddlg.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTFileDialog.html">TFileDialog</a> *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00917">917</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<a name="a38" doxytag="stddlg.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTFileDialog.html">TFileDialog</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00912">912</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<a name="a35" doxytag="stddlg.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTFileInfoPane.html">TFileInfoPane</a> *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00707">707</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<a name="a34" doxytag="stddlg.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTFileInfoPane.html">TFileInfoPane</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00702">702</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<a name="a31" doxytag="stddlg.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTFileList.html">TFileList</a> *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00595">595</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<a name="a30" doxytag="stddlg.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTFileList.html">TFileList</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00590">590</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<a name="a27" doxytag="stddlg.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTSortedListBox.html">TSortedListBox</a> *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00446">446</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<a name="a26" doxytag="stddlg.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTSortedListBox.html">TSortedListBox</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00441">441</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<a name="a23" doxytag="stddlg.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTFileCollection.html">TFileCollection</a> *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00321">321</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<a name="a22" doxytag="stddlg.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTFileCollection.html">TFileCollection</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00316">316</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<a name="a19" doxytag="stddlg.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTFileInputLine.html">TFileInputLine</a> *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00170">170</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<a name="a18" doxytag="stddlg.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTFileInputLine.html">TFileInputLine</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00165">165</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:11 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/structCharScanType-members.html b/freebsdtvision/doc/html/structCharScanType-members.html
new file mode 100644
index 0000000..5e57c3c
--- /dev/null
+++ b/freebsdtvision/doc/html/structCharScanType-members.html
@@ -0,0 +1,17 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>CharScanType Member List</h1>This is the complete list of members for <a class="el" href="structCharScanType.html">CharScanType</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="structCharScanType.html#m0">charCode</a></td><td><a class="el" href="structCharScanType.html">CharScanType</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="structCharScanType.html#m1">scanCode</a></td><td><a class="el" href="structCharScanType.html">CharScanType</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:12 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/structCharScanType.html b/freebsdtvision/doc/html/structCharScanType.html
new file mode 100644
index 0000000..333a8f4
--- /dev/null
+++ b/freebsdtvision/doc/html/structCharScanType.html
@@ -0,0 +1,86 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>CharScanType struct Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>CharScanType Struct Reference</h1>Information about a key.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="system_8h-source.html">system.h</a>&gt;</code>
+<p>
+<a href="structCharScanType-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a1">uchar</a>&nbsp;</td><td valign=bottom><a class="el" href="structCharScanType.html#m0">charCode</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a1">uchar</a>&nbsp;</td><td valign=bottom><a class="el" href="structCharScanType.html#m1">scanCode</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+This structure stores information about a key. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="structKeyDownEvent.html">KeyDownEvent</a> , <a class="el" href="structTEvent.html">TEvent</a> </dl>
+<p>
+
+<p>
+Definition at line <a class="el" href="system_8h-source.html#l00193">193</a> of file <a class="el" href="system_8h-source.html">system.h</a>.<hr><h2>Member Data Documentation</h2>
+<a name="m0" doxytag="CharScanType::charCode"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a1">uchar</a> CharScanType::charCode
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This is the character code.
+<p>
+Its value is non-zero if the key has a standard code, like ASCII characters. The value is zero if the key falls in the special key class, like arrows, page up, etc.
+<p>
+Definition at line <a class="el" href="system_8h-source.html#l00219">219</a> of file <a class="el" href="system_8h-source.html">system.h</a>. </td>
+ </tr>
+</table>
+<a name="m1" doxytag="CharScanType::scanCode"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a1">uchar</a> CharScanType::scanCode
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This is the scan code.
+<p>
+Its value is non-zero if the key falls in the special key class. The value is zero if the key is an ASCII character.
+<p>
+Definition at line <a class="el" href="system_8h-source.html#l00215">215</a> of file <a class="el" href="system_8h-source.html">system.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="system_8h-source.html">system.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:12 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/structKeyDownEvent-members.html b/freebsdtvision/doc/html/structKeyDownEvent-members.html
new file mode 100644
index 0000000..7188140
--- /dev/null
+++ b/freebsdtvision/doc/html/structKeyDownEvent-members.html
@@ -0,0 +1,18 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>KeyDownEvent Member List</h1>This is the complete list of members for <a class="el" href="structKeyDownEvent.html">KeyDownEvent</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="structKeyDownEvent.html#m1">charScan</a></td><td><a class="el" href="structKeyDownEvent.html">KeyDownEvent</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="structKeyDownEvent.html#m2">controlKeyState</a></td><td><a class="el" href="structKeyDownEvent.html">KeyDownEvent</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="structKeyDownEvent.html#m0">keyCode</a></td><td><a class="el" href="structKeyDownEvent.html">KeyDownEvent</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:14 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/structKeyDownEvent.html b/freebsdtvision/doc/html/structKeyDownEvent.html
new file mode 100644
index 0000000..79a8053
--- /dev/null
+++ b/freebsdtvision/doc/html/structKeyDownEvent.html
@@ -0,0 +1,132 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>KeyDownEvent struct Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>KeyDownEvent Struct Reference</h1>Information about key presses.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="system_8h-source.html">system.h</a>&gt;</code>
+<p>
+<a href="structKeyDownEvent-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a3">ulong</a>&nbsp;</td><td valign=bottom><a class="el" href="structKeyDownEvent.html#m2">controlKeyState</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="structKeyDownEvent.html#m0">keyCode</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="structCharScanType.html">CharScanType</a>&nbsp;</td><td valign=bottom><a class="el" href="structKeyDownEvent.html#m1">charScan</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+This structure stores information about key presses.
+<p>
+The KeyDownEvent structure is a union of keyCode (a ushort) and charScan (of type struct <a class="el" href="structCharScanType.html">CharScanType</a>). These two members represent two ways of viewing the same data: either as a scan code or as a key code.
+<p>
+Scan codes are what your program receives from the keyboard, while key codes are usually needed in a switch statement.
+<p>
+See file `<a class="el" href="tkeys_8h.html">tkeys.h</a>' for a list of keycodes. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="structTEvent.html">TEvent</a> </dl>
+<p>
+
+<p>
+Definition at line <a class="el" href="system_8h-source.html#l00239">239</a> of file <a class="el" href="system_8h-source.html">system.h</a>.<hr><h2>Member Data Documentation</h2>
+<a name="m1" doxytag="KeyDownEvent::charScan"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="structCharScanType.html">CharScanType</a> KeyDownEvent::charScan
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The same as above, but splitted in its two components. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="structCharScanType.html">CharScanType</a> </dl>
+<p>
+Definition at line <a class="el" href="system_8h-source.html#l00254">254</a> of file <a class="el" href="system_8h-source.html">system.h</a>. </td>
+ </tr>
+</table>
+<a name="m2" doxytag="KeyDownEvent::controlKeyState"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a3">ulong</a> KeyDownEvent::controlKeyState
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Stores the status of the control keys when the event happened. The following values define keyboard states, and can be used when examining the keyboard shift state:
+<p>
+<pre>
+ Constant Value Meaning
+
+ kbRightShift 0x0001 Set if the Right Shift key is currently down
+ kbLeftShift 0x0002 Set if the Left Shift key is currently down
+ kbCtrlShift 0x0004 Set if the Ctrl key is currently down
+ kbAltShift 0x0008 Set if the Alt key is currently down
+ kbScrollState 0x0010 Set if the keyboard is in the Scroll Lock state
+ kbNumState 0x0020 Set if the keyboard is in the Num Lock state
+ kbCapsState 0x0040 Set if the keyboard is in the Caps Lock state
+ kbInsState 0x0080 Set if the keyboard is in the Ins Lock state
+ </pre>
+<p>
+Its value is 0 if none of these keys was pressed. Warning: this information is not reliable. Its value depends on your operating system and libraries (gpm, ncurses). Usually only a subset of these flags are detected. See file `system.cc' for details.
+<p>
+Definition at line <a class="el" href="system_8h-source.html#l00279">279</a> of file <a class="el" href="system_8h-source.html">system.h</a>. </td>
+ </tr>
+</table>
+<a name="m0" doxytag="KeyDownEvent::keyCode"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a0">ushort</a> KeyDownEvent::keyCode
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This is the key code.
+<p>
+It is the concatenation of the scan code and the character code. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="structCharScanType.html">CharScanType</a> </dl>
+<p>
+Definition at line <a class="el" href="system_8h-source.html#l00249">249</a> of file <a class="el" href="system_8h-source.html">system.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="system_8h-source.html">system.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:14 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/structMessageEvent-members.html b/freebsdtvision/doc/html/structMessageEvent-members.html
new file mode 100644
index 0000000..6dba9b4
--- /dev/null
+++ b/freebsdtvision/doc/html/structMessageEvent-members.html
@@ -0,0 +1,22 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>MessageEvent Member List</h1>This is the complete list of members for <a class="el" href="structMessageEvent.html">MessageEvent</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="structMessageEvent.html#m0">command</a></td><td><a class="el" href="structMessageEvent.html">MessageEvent</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="structMessageEvent.html#m5">infoByte</a></td><td><a class="el" href="structMessageEvent.html">MessageEvent</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="structMessageEvent.html#m6">infoChar</a></td><td><a class="el" href="structMessageEvent.html">MessageEvent</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="structMessageEvent.html#m4">infoInt</a></td><td><a class="el" href="structMessageEvent.html">MessageEvent</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="structMessageEvent.html#m2">infoLong</a></td><td><a class="el" href="structMessageEvent.html">MessageEvent</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="structMessageEvent.html#m1">infoPtr</a></td><td><a class="el" href="structMessageEvent.html">MessageEvent</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="structMessageEvent.html#m3">infoWord</a></td><td><a class="el" href="structMessageEvent.html">MessageEvent</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:15 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/structMessageEvent.html b/freebsdtvision/doc/html/structMessageEvent.html
new file mode 100644
index 0000000..8c4ddca
--- /dev/null
+++ b/freebsdtvision/doc/html/structMessageEvent.html
@@ -0,0 +1,215 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>MessageEvent struct Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>MessageEvent Struct Reference</h1>Information about message events.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="system_8h-source.html">system.h</a>&gt;</code>
+<p>
+<a href="structMessageEvent-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="structMessageEvent.html#m0">command</a></td></tr>
+<tr><td nowrap align=right valign=top>void *&nbsp;</td><td valign=bottom><a class="el" href="structMessageEvent.html#m1">infoPtr</a></td></tr>
+<tr><td nowrap align=right valign=top>long&nbsp;</td><td valign=bottom><a class="el" href="structMessageEvent.html#m2">infoLong</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="structMessageEvent.html#m3">infoWord</a></td></tr>
+<tr><td nowrap align=right valign=top>short&nbsp;</td><td valign=bottom><a class="el" href="structMessageEvent.html#m4">infoInt</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a1">uchar</a>&nbsp;</td><td valign=bottom><a class="el" href="structMessageEvent.html#m5">infoByte</a></td></tr>
+<tr><td nowrap align=right valign=top>char&nbsp;</td><td valign=bottom><a class="el" href="structMessageEvent.html#m6">infoChar</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+This structure stores information about message events.
+<p>
+A message event is a command, specified by the command field, together with one of several additional pieces of information, ranging from a single byte of data to a generic pointer.
+<p>
+This arrangement allows for great flexibility when TVision objects need to transmit and receive messages to and from other TVision objects. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="structTEvent.html">TEvent</a> </dl>
+<p>
+
+<p>
+Definition at line <a class="el" href="system_8h-source.html#l00294">294</a> of file <a class="el" href="system_8h-source.html">system.h</a>.<hr><h2>Member Data Documentation</h2>
+<a name="m0" doxytag="MessageEvent::command"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a0">ushort</a> MessageEvent::command
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Is the code of the command.
+<p>
+See `<a class="el" href="views_8h.html">views.h</a>' for a list of standard commands. Other commands are defined in `<a class="el" href="colorsel_8h.html">colorsel.h</a>', `<a class="el" href="dialogs_8h.html">dialogs.h</a>', `<a class="el" href="editors_8h.html">editors.h</a>', `<a class="el" href="outline_8h.html">outline.h</a>' and `<a class="el" href="stddlg_8h.html">stddlg.h</a>'.
+<p>
+Definition at line <a class="el" href="system_8h-source.html#l00303">303</a> of file <a class="el" href="system_8h-source.html">system.h</a>. </td>
+ </tr>
+</table>
+<a name="m5" doxytag="MessageEvent::infoByte"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a1">uchar</a> MessageEvent::infoByte
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+An unsigned byte.
+<p>
+Definition at line <a class="el" href="system_8h-source.html#l00329">329</a> of file <a class="el" href="system_8h-source.html">system.h</a>. </td>
+ </tr>
+</table>
+<a name="m6" doxytag="MessageEvent::infoChar"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> char MessageEvent::infoChar
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+A signed character.
+<p>
+Definition at line <a class="el" href="system_8h-source.html#l00333">333</a> of file <a class="el" href="system_8h-source.html">system.h</a>. </td>
+ </tr>
+</table>
+<a name="m4" doxytag="MessageEvent::infoInt"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> short MessageEvent::infoInt
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+A signed short.
+<p>
+Definition at line <a class="el" href="system_8h-source.html#l00325">325</a> of file <a class="el" href="system_8h-source.html">system.h</a>. </td>
+ </tr>
+</table>
+<a name="m2" doxytag="MessageEvent::infoLong"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> long MessageEvent::infoLong
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+A signed long.
+<p>
+Definition at line <a class="el" href="system_8h-source.html#l00317">317</a> of file <a class="el" href="system_8h-source.html">system.h</a>. </td>
+ </tr>
+</table>
+<a name="m1" doxytag="MessageEvent::infoPtr"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void* MessageEvent::infoPtr
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+A generic pointer.
+<p>
+I suggest you to pay attention to these fields. Use always the same type in the sender and in the receivers of the message. Otherwise you may experiment portability problems.
+<p>
+Definition at line <a class="el" href="system_8h-source.html#l00313">313</a> of file <a class="el" href="system_8h-source.html">system.h</a>. </td>
+ </tr>
+</table>
+<a name="m3" doxytag="MessageEvent::infoWord"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a0">ushort</a> MessageEvent::infoWord
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+An unsigned short.
+<p>
+Definition at line <a class="el" href="system_8h-source.html#l00321">321</a> of file <a class="el" href="system_8h-source.html">system.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="system_8h-source.html">system.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:15 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/structMouseEventType-members.html b/freebsdtvision/doc/html/structMouseEventType-members.html
new file mode 100644
index 0000000..a64a27e
--- /dev/null
+++ b/freebsdtvision/doc/html/structMouseEventType-members.html
@@ -0,0 +1,19 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>MouseEventType Member List</h1>This is the complete list of members for <a class="el" href="structMouseEventType.html">MouseEventType</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="structMouseEventType.html#m3">buttons</a></td><td><a class="el" href="structMouseEventType.html">MouseEventType</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="structMouseEventType.html#m2">controlKeyState</a></td><td><a class="el" href="structMouseEventType.html">MouseEventType</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="structMouseEventType.html#m1">eventFlags</a></td><td><a class="el" href="structMouseEventType.html">MouseEventType</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="structMouseEventType.html#m0">where</a></td><td><a class="el" href="structMouseEventType.html">MouseEventType</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:15 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/structMouseEventType.html b/freebsdtvision/doc/html/structMouseEventType.html
new file mode 100644
index 0000000..fdee739
--- /dev/null
+++ b/freebsdtvision/doc/html/structMouseEventType.html
@@ -0,0 +1,174 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>MouseEventType struct Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>MouseEventType Struct Reference</h1>Information about mouse events.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="system_8h-source.html">system.h</a>&gt;</code>
+<p>
+<a href="structMouseEventType-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTPoint.html">TPoint</a>&nbsp;</td><td valign=bottom><a class="el" href="structMouseEventType.html#m0">where</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a3">ulong</a>&nbsp;</td><td valign=bottom><a class="el" href="structMouseEventType.html#m1">eventFlags</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a3">ulong</a>&nbsp;</td><td valign=bottom><a class="el" href="structMouseEventType.html#m2">controlKeyState</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a1">uchar</a>&nbsp;</td><td valign=bottom><a class="el" href="structMouseEventType.html#m3">buttons</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Stores mouse events.
+<p>
+This structure holds the data that characterizes a mouse event: button number, whether double-clicked, and the coordinates of the point where the click was detected. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="structTEvent.html">TEvent</a> , <a class="el" href="classTEventQueue.html">TEventQueue</a> </dl>
+<p>
+
+<p>
+Definition at line <a class="el" href="system_8h-source.html#l00114">114</a> of file <a class="el" href="system_8h-source.html">system.h</a>.<hr><h2>Member Data Documentation</h2>
+<a name="m3" doxytag="MouseEventType::buttons"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a1">uchar</a> MouseEventType::buttons
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This variable reports the status of the mouse buttons when the event happened. It's a combination of the following constants:
+<p>
+<pre>
+ Flag Value Meaning
+
+ mbLeftButton 0x01 Set if left button was pressed
+ mbRightButton 0x02 Set if right button was pressed
+ </pre>
+<p>
+These constants are useful when examining the buttons data member. For example:
+<p>
+<pre>
+ if ((event.what == <a class="el" href="system_8h.html#a0">evMouseDown</a>) &amp;&amp; (event.buttons == mbLeftButton))
+ doLeftButtonDownAction();
+ </pre>
+<p>
+Note: you can swap left and right buttons by setting variable <a class="el" href="classTEventQueue.html#p1">TEventQueue::mouseReverse</a> to True. See the `demo' program for more information.
+<p>
+Definition at line <a class="el" href="system_8h-source.html#l00182">182</a> of file <a class="el" href="system_8h-source.html">system.h</a>. </td>
+ </tr>
+</table>
+<a name="m2" doxytag="MouseEventType::controlKeyState"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a3">ulong</a> MouseEventType::controlKeyState
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This bitmap variable stores the status of the control keys when the event happened. The following values define keyboard states, and can be used when examining the keyboard shift state:
+<p>
+<pre>
+ Flag Value Meaning
+
+ kbRightShift 0x0001 Set if the Right Shift key is currently down
+ kbLeftShift 0x0002 Set if the Left Shift key is currently down
+ kbCtrlShift 0x0004 Set if the Ctrl key is currently down
+ kbAltShift 0x0008 Set if the Alt key is currently down
+ kbScrollState 0x0010 Set if the keyboard is in the Scroll Lock state
+ kbNumState 0x0020 Set if the keyboard is in the Num Lock state
+ kbCapsState 0x0040 Set if the keyboard is in the Caps Lock state
+ kbInsState 0x0080 Set if the keyboard is in the Ins Lock state
+ </pre>
+<p>
+Its value is 0 if none of these keys was pressed. Warning: this information is not reliable. Its value depends on your operating system and libraries (gpm, ncurses). Usually only a subset of these flags are detected. See file `system.cc' for details.
+<p>
+Definition at line <a class="el" href="system_8h-source.html#l00158">158</a> of file <a class="el" href="system_8h-source.html">system.h</a>. </td>
+ </tr>
+</table>
+<a name="m1" doxytag="MouseEventType::eventFlags"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a3">ulong</a> MouseEventType::eventFlags
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Helps to specify the event.
+<p>
+This bitmap variable is set to meDoubleClick if a double-click event happened. If the mouse is simply moved its value is meMouseMoved. Otherwise its value is 0.
+<p>
+<pre>
+ Flag Value Meaning
+
+ meMouseMoved 0x01 Set if mouse is moved
+ meDoubleClick 0x02 Set if a button was double clicked
+ </pre>
+<p>
+Definition at line <a class="el" href="system_8h-source.html#l00134">134</a> of file <a class="el" href="system_8h-source.html">system.h</a>. </td>
+ </tr>
+</table>
+<a name="m0" doxytag="MouseEventType::where"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTPoint.html">TPoint</a> MouseEventType::where
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This is the position where the event happened.
+<p>
+Definition at line <a class="el" href="system_8h-source.html#l00119">119</a> of file <a class="el" href="system_8h-source.html">system.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="system_8h-source.html">system.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:15 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/structTEvent-members.html b/freebsdtvision/doc/html/structTEvent-members.html
new file mode 100644
index 0000000..d8383e6
--- /dev/null
+++ b/freebsdtvision/doc/html/structTEvent-members.html
@@ -0,0 +1,19 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TEvent Member List</h1>This is the complete list of members for <a class="el" href="structTEvent.html">TEvent</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="structTEvent.html#m2">keyDown</a></td><td><a class="el" href="structTEvent.html">TEvent</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="structTEvent.html#m3">message</a></td><td><a class="el" href="structTEvent.html">TEvent</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="structTEvent.html#m1">mouse</a></td><td><a class="el" href="structTEvent.html">TEvent</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="structTEvent.html#m0">what</a></td><td><a class="el" href="structTEvent.html">TEvent</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:13 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/structTEvent.html b/freebsdtvision/doc/html/structTEvent.html
new file mode 100644
index 0000000..d2c99ca
--- /dev/null
+++ b/freebsdtvision/doc/html/structTEvent.html
@@ -0,0 +1,166 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TEvent struct Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TEvent Struct Reference</h1>Information about events.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="system_8h-source.html">system.h</a>&gt;</code>
+<p>
+<a href="structTEvent-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="structTEvent.html#m0">what</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="structMouseEventType.html">MouseEventType</a>&nbsp;</td><td valign=bottom><a class="el" href="structTEvent.html#m1">mouse</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="structKeyDownEvent.html">KeyDownEvent</a>&nbsp;</td><td valign=bottom><a class="el" href="structTEvent.html#m2">keyDown</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="structMessageEvent.html">MessageEvent</a>&nbsp;</td><td valign=bottom><a class="el" href="structTEvent.html#m3">message</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+TEvent holds a union of objects of type:
+<p>
+<a class="el" href="structKeyDownEvent.html">KeyDownEvent</a> <a class="el" href="structMessageEvent.html">MessageEvent</a> <a class="el" href="structMouseEventType.html">MouseEventType</a>
+<p>
+keyed by the what field. The <a class="el" href="classTView.html#a41">TView::handleEvent()</a> member functions and its derived classes take a TEvent object as argument and respond with the appropriate action.
+<p>
+
+<p>
+Definition at line <a class="el" href="system_8h-source.html#l00349">349</a> of file <a class="el" href="system_8h-source.html">system.h</a>.<hr><h2>Member Data Documentation</h2>
+<a name="m2" doxytag="TEvent::keyDown"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="structKeyDownEvent.html">KeyDownEvent</a> TEvent::keyDown
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="system_8h-source.html#l00401">401</a> of file <a class="el" href="system_8h-source.html">system.h</a>. </td>
+ </tr>
+</table>
+<a name="m3" doxytag="TEvent::message"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="structMessageEvent.html">MessageEvent</a> TEvent::message
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="system_8h-source.html#l00405">405</a> of file <a class="el" href="system_8h-source.html">system.h</a>. </td>
+ </tr>
+</table>
+<a name="m1" doxytag="TEvent::mouse"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="structMouseEventType.html">MouseEventType</a> TEvent::mouse
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="system_8h-source.html#l00397">397</a> of file <a class="el" href="system_8h-source.html">system.h</a>. </td>
+ </tr>
+</table>
+<a name="m0" doxytag="TEvent::what"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a0">ushort</a> TEvent::what
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This field reports the event's type. Some mnemonics are defined to indicate types of events to TVision event handlers. The following evXXXX constants are used in several places: in the what data member of an TEvent structure, in the <a class="el" href="classTView.html#m3">TView::eventMask</a> data member of a view object, and in the <a class="el" href="views_8h.html#a107">positionalEvents</a> and <a class="el" href="views_8h.html#a108">focusedEvents</a> variables.
+<p>
+The following event values designate standard event types:
+<p>
+<pre>
+ Constant Value Meaning
+
+ <a class="el" href="system_8h.html#a0">evMouseDown</a> 0x0001 Mouse button pressed
+ <a class="el" href="system_8h.html#a1">evMouseUp</a> 0x0002 Mouse button released
+ <a class="el" href="system_8h.html#a2">evMouseMove</a> 0x0004 Mouse changed location
+ <a class="el" href="system_8h.html#a3">evMouseAuto</a> 0x0008 Periodic event while mouse button held down
+ <a class="el" href="system_8h.html#a4">evKeyDown</a> 0x0010 Key pressed
+ <a class="el" href="system_8h.html#a5">evCommand</a> 0x0100 Command event
+ <a class="el" href="system_8h.html#a6">evBroadcast</a> 0x0200 Broadcast event
+ </pre>
+<p>
+The following constants can be used to mask types of events:
+<p>
+<pre>
+ Constant Value Meaning
+
+ <a class="el" href="system_8h.html#a7">evNothing</a> 0x0000 Event already handled
+ <a class="el" href="system_8h.html#a8">evMouse</a> 0x000F Mouse event
+ <a class="el" href="system_8h.html#a9">evKeyboard</a> 0x0010 Keyboard event
+ <a class="el" href="system_8h.html#a10">evMessage</a> 0xFF00 Message (command, broadcast, or user-defined) event
+ </pre>
+<p>
+The above standard event masks can be used to determine whether an event belongs to a particular "family" of events. For example:
+<p>
+<pre>
+ if ((event.what &amp; <a class="el" href="system_8h.html#a8">evMouse</a>) != 0) doMouseEvent();
+ </pre>
+<p>
+Definition at line <a class="el" href="system_8h-source.html#l00391">391</a> of file <a class="el" href="system_8h-source.html">system.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="system_8h-source.html">system.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:13 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/structTFindDialogRec-members.html b/freebsdtvision/doc/html/structTFindDialogRec-members.html
new file mode 100644
index 0000000..538b517
--- /dev/null
+++ b/freebsdtvision/doc/html/structTFindDialogRec-members.html
@@ -0,0 +1,18 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TFindDialogRec Member List</h1>This is the complete list of members for <a class="el" href="structTFindDialogRec.html">TFindDialogRec</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="structTFindDialogRec.html#m0">find</a></td><td><a class="el" href="structTFindDialogRec.html">TFindDialogRec</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="structTFindDialogRec.html#m1">options</a></td><td><a class="el" href="structTFindDialogRec.html">TFindDialogRec</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="structTFindDialogRec.html#a0">TFindDialogRec</a>(const char *str, ushort flgs)</td><td><a class="el" href="structTFindDialogRec.html">TFindDialogRec</a></td><td><code> [inline]</code></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:13 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/structTFindDialogRec.html b/freebsdtvision/doc/html/structTFindDialogRec.html
new file mode 100644
index 0000000..725abaf
--- /dev/null
+++ b/freebsdtvision/doc/html/structTFindDialogRec.html
@@ -0,0 +1,128 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TFindDialogRec struct Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TFindDialogRec Struct Reference</h1><code>#include &lt;<a class="el" href="editors_8h-source.html">editors.h</a>&gt;</code>
+<p>
+<a href="structTFindDialogRec-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="structTFindDialogRec.html#a0">TFindDialogRec</a> (const char *str, <a class="el" href="ttypes_8h.html#a0">ushort</a> flgs)</td></tr>
+<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>char&nbsp;</td><td valign=bottom><a class="el" href="structTFindDialogRec.html#m0">find</a> [<a class="el" href="tvconfig_8h.html#a3">maxFindStrLen</a>]</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="structTFindDialogRec.html#m1">options</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Data record used by <a class="el" href="classTEditor.html">TEditor</a>. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTEditor.html#a37">TEditor::find</a> , <a class="el" href="structTReplaceDialogRec.html">TReplaceDialogRec</a> , <a class="el" href="classTView.html#a28">TView::dataSize</a> , <a class="el" href="classTView.html#a29">TView::getData</a> , <a class="el" href="classTView.html#a30">TView::setData</a> </dl>
+<p>
+
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l01474">1474</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TFindDialogRec::TFindDialogRec"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TFindDialogRec::TFindDialogRec </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>str</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>flgs</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l01479">1479</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>.
+<p>
+References <a class="el" href="editors_8h-source.html#l01487">find</a>, <a class="el" href="editors_8h-source.html#l01491">options</a>, and <a class="el" href="ttypes_8h-source.html#l00035">ushort</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="m0" doxytag="TFindDialogRec::find"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> char TFindDialogRec::find[<a class="el" href="tvconfig_8h.html#a3">maxFindStrLen</a>]
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l01487">1487</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>.
+<p>
+Referenced by <a class="el" href="editors_8h-source.html#l01479">TFindDialogRec()</a>. </td>
+ </tr>
+</table>
+<a name="m1" doxytag="TFindDialogRec::options"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a0">ushort</a> TFindDialogRec::options
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l01491">1491</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>.
+<p>
+Referenced by <a class="el" href="editors_8h-source.html#l01479">TFindDialogRec()</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="editors_8h-source.html">editors.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:13 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/structTListBoxRec-members.html b/freebsdtvision/doc/html/structTListBoxRec-members.html
new file mode 100644
index 0000000..f58f16b
--- /dev/null
+++ b/freebsdtvision/doc/html/structTListBoxRec-members.html
@@ -0,0 +1,17 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TListBoxRec Member List</h1>This is the complete list of members for <a class="el" href="structTListBoxRec.html">TListBoxRec</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="structTListBoxRec.html#m0">items</a></td><td><a class="el" href="structTListBoxRec.html">TListBoxRec</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="structTListBoxRec.html#m1">selection</a></td><td><a class="el" href="structTListBoxRec.html">TListBoxRec</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:15 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/structTListBoxRec.html b/freebsdtvision/doc/html/structTListBoxRec.html
new file mode 100644
index 0000000..bfa6535
--- /dev/null
+++ b/freebsdtvision/doc/html/structTListBoxRec.html
@@ -0,0 +1,79 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TListBoxRec struct Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TListBoxRec Struct Reference</h1><code>#include &lt;<a class="el" href="dialogs_8h-source.html">dialogs.h</a>&gt;</code>
+<p>
+<a href="structTListBoxRec-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTCollection.html">TCollection</a> *&nbsp;</td><td valign=bottom><a class="el" href="structTListBoxRec.html#m0">items</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="structTListBoxRec.html#m1">selection</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Data record used by <a class="el" href="classTListBox.html">TListBox</a>. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTListBox.html">TListBox</a> , <a class="el" href="classTListBox.html#a2">TListBox::dataSize</a> , <a class="el" href="classTListBox.html#a3">TListBox::getData</a> , <a class="el" href="classTListBox.html#a6">TListBox::setData</a> </dl>
+<p>
+
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l01621">1621</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>.<hr><h2>Member Data Documentation</h2>
+<a name="m0" doxytag="TListBoxRec::items"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classTCollection.html">TCollection</a>* TListBoxRec::items
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l01626">1626</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<a name="m1" doxytag="TListBoxRec::selection"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a0">ushort</a> TListBoxRec::selection
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="dialogs_8h-source.html#l01630">1630</a> of file <a class="el" href="dialogs_8h-source.html">dialogs.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="dialogs_8h-source.html">dialogs.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:15 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/structTMemoData-members.html b/freebsdtvision/doc/html/structTMemoData-members.html
new file mode 100644
index 0000000..60739e4
--- /dev/null
+++ b/freebsdtvision/doc/html/structTMemoData-members.html
@@ -0,0 +1,17 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TMemoData Member List</h1>This is the complete list of members for <a class="el" href="structTMemoData.html">TMemoData</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="structTMemoData.html#m1">buffer</a></td><td><a class="el" href="structTMemoData.html">TMemoData</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="structTMemoData.html#m0">length</a></td><td><a class="el" href="structTMemoData.html">TMemoData</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:15 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/structTMemoData.html b/freebsdtvision/doc/html/structTMemoData.html
new file mode 100644
index 0000000..d3a65d3
--- /dev/null
+++ b/freebsdtvision/doc/html/structTMemoData.html
@@ -0,0 +1,81 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TMemoData struct Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TMemoData Struct Reference</h1>Data structure used by <a class="el" href="classTMemo.html">TMemo</a>.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="editors_8h-source.html">editors.h</a>&gt;</code>
+<p>
+<a href="structTMemoData-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="structTMemoData.html#m0">length</a></td></tr>
+<tr><td nowrap align=right valign=top>char&nbsp;</td><td valign=bottom><a class="el" href="structTMemoData.html#m1">buffer</a> [1]</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Data structure used by <a class="el" href="classTMemo.html">TMemo</a>.
+<p>
+
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l01069">1069</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>.<hr><h2>Member Data Documentation</h2>
+<a name="m1" doxytag="TMemoData::buffer"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> char TMemoData::buffer[1]
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l01078">1078</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<a name="m0" doxytag="TMemoData::length"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a0">ushort</a> TMemoData::length
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l01074">1074</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="editors_8h-source.html">editors.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:15 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/structTReplaceDialogRec-members.html b/freebsdtvision/doc/html/structTReplaceDialogRec-members.html
new file mode 100644
index 0000000..f123dca
--- /dev/null
+++ b/freebsdtvision/doc/html/structTReplaceDialogRec-members.html
@@ -0,0 +1,19 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TReplaceDialogRec Member List</h1>This is the complete list of members for <a class="el" href="structTReplaceDialogRec.html">TReplaceDialogRec</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="structTReplaceDialogRec.html#m0">find</a></td><td><a class="el" href="structTReplaceDialogRec.html">TReplaceDialogRec</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="structTReplaceDialogRec.html#m2">options</a></td><td><a class="el" href="structTReplaceDialogRec.html">TReplaceDialogRec</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="structTReplaceDialogRec.html#m1">replace</a></td><td><a class="el" href="structTReplaceDialogRec.html">TReplaceDialogRec</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="structTReplaceDialogRec.html#a0">TReplaceDialogRec</a>(const char *str, const char *rep, ushort flgs)</td><td><a class="el" href="structTReplaceDialogRec.html">TReplaceDialogRec</a></td><td><code> [inline]</code></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:16 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/structTReplaceDialogRec.html b/freebsdtvision/doc/html/structTReplaceDialogRec.html
new file mode 100644
index 0000000..579b848
--- /dev/null
+++ b/freebsdtvision/doc/html/structTReplaceDialogRec.html
@@ -0,0 +1,161 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TReplaceDialogRec struct Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TReplaceDialogRec Struct Reference</h1><code>#include &lt;<a class="el" href="editors_8h-source.html">editors.h</a>&gt;</code>
+<p>
+<a href="structTReplaceDialogRec-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="structTReplaceDialogRec.html#a0">TReplaceDialogRec</a> (const char *str, const char *rep, <a class="el" href="ttypes_8h.html#a0">ushort</a> flgs)</td></tr>
+<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>char&nbsp;</td><td valign=bottom><a class="el" href="structTReplaceDialogRec.html#m0">find</a> [<a class="el" href="tvconfig_8h.html#a3">maxFindStrLen</a>]</td></tr>
+<tr><td nowrap align=right valign=top>char&nbsp;</td><td valign=bottom><a class="el" href="structTReplaceDialogRec.html#m1">replace</a> [<a class="el" href="tvconfig_8h.html#a4">maxReplaceStrLen</a>]</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="structTReplaceDialogRec.html#m2">options</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Data record used by <a class="el" href="classTEditor.html">TEditor</a>. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTEditor.html#a53">TEditor::replace</a> , <a class="el" href="structTFindDialogRec.html">TFindDialogRec</a> , <a class="el" href="classTView.html#a28">TView::dataSize</a> , <a class="el" href="classTView.html#a29">TView::getData</a> , <a class="el" href="classTView.html#a30">TView::setData</a> </dl>
+<p>
+
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l01509">1509</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="TReplaceDialogRec::TReplaceDialogRec"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> TReplaceDialogRec::TReplaceDialogRec </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>str</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>const char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>rep</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>flgs</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l01514">1514</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>.
+<p>
+References <a class="el" href="editors_8h-source.html#l01523">find</a>, <a class="el" href="editors_8h-source.html#l01531">options</a>, <a class="el" href="editors_8h-source.html#l01527">replace</a>, and <a class="el" href="ttypes_8h-source.html#l00035">ushort</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="m0" doxytag="TReplaceDialogRec::find"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> char TReplaceDialogRec::find[<a class="el" href="tvconfig_8h.html#a3">maxFindStrLen</a>]
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l01523">1523</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>.
+<p>
+Referenced by <a class="el" href="editors_8h-source.html#l01514">TReplaceDialogRec()</a>. </td>
+ </tr>
+</table>
+<a name="m2" doxytag="TReplaceDialogRec::options"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a0">ushort</a> TReplaceDialogRec::options
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l01531">1531</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>.
+<p>
+Referenced by <a class="el" href="editors_8h-source.html#l01514">TReplaceDialogRec()</a>. </td>
+ </tr>
+</table>
+<a name="m1" doxytag="TReplaceDialogRec::replace"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> char TReplaceDialogRec::replace[<a class="el" href="tvconfig_8h.html#a4">maxReplaceStrLen</a>]
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="editors_8h-source.html#l01527">1527</a> of file <a class="el" href="editors_8h-source.html">editors.h</a>.
+<p>
+Referenced by <a class="el" href="editors_8h-source.html#l01514">TReplaceDialogRec()</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="editors_8h-source.html">editors.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:16 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/structTResourceItem-members.html b/freebsdtvision/doc/html/structTResourceItem-members.html
new file mode 100644
index 0000000..28be11b
--- /dev/null
+++ b/freebsdtvision/doc/html/structTResourceItem-members.html
@@ -0,0 +1,18 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TResourceItem Member List</h1>This is the complete list of members for <a class="el" href="structTResourceItem.html">TResourceItem</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="structTResourceItem.html#m2">key</a></td><td><a class="el" href="structTResourceItem.html">TResourceItem</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="structTResourceItem.html#m0">pos</a></td><td><a class="el" href="structTResourceItem.html">TResourceItem</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="structTResourceItem.html#m1">size</a></td><td><a class="el" href="structTResourceItem.html">TResourceItem</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:16 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/structTResourceItem.html b/freebsdtvision/doc/html/structTResourceItem.html
new file mode 100644
index 0000000..fe2bee6
--- /dev/null
+++ b/freebsdtvision/doc/html/structTResourceItem.html
@@ -0,0 +1,106 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TResourceItem struct Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TResourceItem Struct Reference</h1>Internal structure use by <a class="el" href="classTResourceCollection.html">TResourceCollection</a> and <a class="el" href="classTResourceFile.html">TResourceFile</a>.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="resource_8h-source.html">resource.h</a>&gt;</code>
+<p>
+<a href="structTResourceItem-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>long&nbsp;</td><td valign=bottom><a class="el" href="structTResourceItem.html#m0">pos</a></td></tr>
+<tr><td nowrap align=right valign=top>long&nbsp;</td><td valign=bottom><a class="el" href="structTResourceItem.html#m1">size</a></td></tr>
+<tr><td nowrap align=right valign=top>char *&nbsp;</td><td valign=bottom><a class="el" href="structTResourceItem.html#m2">key</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Internal structure use by <a class="el" href="classTResourceCollection.html">TResourceCollection</a> and <a class="el" href="classTResourceFile.html">TResourceFile</a>.
+<p>
+
+<p>
+Definition at line <a class="el" href="resource_8h-source.html#l00118">118</a> of file <a class="el" href="resource_8h-source.html">resource.h</a>.<hr><h2>Member Data Documentation</h2>
+<a name="m2" doxytag="TResourceItem::key"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> char* TResourceItem::key
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="resource_8h-source.html#l00131">131</a> of file <a class="el" href="resource_8h-source.html">resource.h</a>. </td>
+ </tr>
+</table>
+<a name="m0" doxytag="TResourceItem::pos"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> long TResourceItem::pos
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="resource_8h-source.html#l00123">123</a> of file <a class="el" href="resource_8h-source.html">resource.h</a>. </td>
+ </tr>
+</table>
+<a name="m1" doxytag="TResourceItem::size"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> long TResourceItem::size
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="resource_8h-source.html#l00127">127</a> of file <a class="el" href="resource_8h-source.html">resource.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="resource_8h-source.html">resource.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:16 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/structTSearchRec-members.html b/freebsdtvision/doc/html/structTSearchRec-members.html
new file mode 100644
index 0000000..3227bed
--- /dev/null
+++ b/freebsdtvision/doc/html/structTSearchRec-members.html
@@ -0,0 +1,19 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TSearchRec Member List</h1>This is the complete list of members for <a class="el" href="structTSearchRec.html">TSearchRec</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="structTSearchRec.html#m0">attr</a></td><td><a class="el" href="structTSearchRec.html">TSearchRec</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="structTSearchRec.html#m3">name</a></td><td><a class="el" href="structTSearchRec.html">TSearchRec</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="structTSearchRec.html#m2">size</a></td><td><a class="el" href="structTSearchRec.html">TSearchRec</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="structTSearchRec.html#m1">time</a></td><td><a class="el" href="structTSearchRec.html">TSearchRec</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:17 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/structTSearchRec.html b/freebsdtvision/doc/html/structTSearchRec.html
new file mode 100644
index 0000000..e98b130
--- /dev/null
+++ b/freebsdtvision/doc/html/structTSearchRec.html
@@ -0,0 +1,132 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>TSearchRec struct Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>TSearchRec Struct Reference</h1>Internal structure used by <a class="el" href="classTFileCollection.html">TFileCollection</a>.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="stddlg_8h-source.html">stddlg.h</a>&gt;</code>
+<p>
+<a href="structTSearchRec-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a1">uchar</a>&nbsp;</td><td valign=bottom><a class="el" href="structTSearchRec.html#m0">attr</a></td></tr>
+<tr><td nowrap align=right valign=top>long&nbsp;</td><td valign=bottom><a class="el" href="structTSearchRec.html#m1">time</a></td></tr>
+<tr><td nowrap align=right valign=top>long&nbsp;</td><td valign=bottom><a class="el" href="structTSearchRec.html#m2">size</a></td></tr>
+<tr><td nowrap align=right valign=top>char&nbsp;</td><td valign=bottom><a class="el" href="structTSearchRec.html#m3">name</a> [PATH_MAX]</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Internal structure used by <a class="el" href="classTFileCollection.html">TFileCollection</a>. <dl compact><dt><b>See also: </b></dt><dd>
+TFileInfoPane::file_block </dl>
+<p>
+
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00088">88</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>.<hr><h2>Member Data Documentation</h2>
+<a name="m0" doxytag="TSearchRec::attr"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a1">uchar</a> TSearchRec::attr
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00093">93</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<a name="m3" doxytag="TSearchRec::name"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> char TSearchRec::name[PATH_MAX]
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00105">105</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<a name="m2" doxytag="TSearchRec::size"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> long TSearchRec::size
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00101">101</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<a name="m1" doxytag="TSearchRec::time"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> long TSearchRec::time
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00097">97</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="stddlg_8h-source.html">stddlg.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:17 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/structfLink-members.html b/freebsdtvision/doc/html/structfLink-members.html
new file mode 100644
index 0000000..5b7f59c
--- /dev/null
+++ b/freebsdtvision/doc/html/structfLink-members.html
@@ -0,0 +1,17 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>fLink Member List</h1>This is the complete list of members for <a class="el" href="structfLink.html">fLink</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="structfLink.html#m0">f</a></td><td><a class="el" href="structfLink.html">fLink</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="structfLink.html#m1">t</a></td><td><a class="el" href="structfLink.html">fLink</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:13 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/structfLink.html b/freebsdtvision/doc/html/structfLink.html
new file mode 100644
index 0000000..e8f70cb
--- /dev/null
+++ b/freebsdtvision/doc/html/structfLink.html
@@ -0,0 +1,81 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>fLink struct Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>fLink Struct Reference</h1>Internal structure.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="tobjstrm_8h-source.html">tobjstrm.h</a>&gt;</code>
+<p>
+<a href="structfLink-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>fLink *&nbsp;</td><td valign=bottom><a class="el" href="structfLink.html#m0">f</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classTStreamableClass.html">TStreamableClass</a> *&nbsp;</td><td valign=bottom><a class="el" href="structfLink.html#m1">t</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Internal structure.
+<p>
+
+<p>
+Definition at line <a class="el" href="tobjstrm_8h-source.html#l00037">37</a> of file <a class="el" href="tobjstrm_8h-source.html">tobjstrm.h</a>.<hr><h2>Member Data Documentation</h2>
+<a name="m0" doxytag="fLink::f"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> fLink* fLink::f
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="tobjstrm_8h-source.html#l00042">42</a> of file <a class="el" href="tobjstrm_8h-source.html">tobjstrm.h</a>. </td>
+ </tr>
+</table>
+<a name="m1" doxytag="fLink::t"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> class <a class="el" href="classTStreamableClass.html">TStreamableClass</a>* fLink::t
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="tobjstrm_8h-source.html#l00046">46</a> of file <a class="el" href="tobjstrm_8h-source.html">tobjstrm.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="tobjstrm_8h-source.html">tobjstrm.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:13 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/structftime-members.html b/freebsdtvision/doc/html/structftime-members.html
new file mode 100644
index 0000000..878d473
--- /dev/null
+++ b/freebsdtvision/doc/html/structftime-members.html
@@ -0,0 +1,21 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>ftime Member List</h1>This is the complete list of members for <a class="el" href="structftime.html">ftime</a>, including all inherited members.<table>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="structftime.html#m3">ft_day</a></td><td><a class="el" href="structftime.html">ftime</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="structftime.html#m2">ft_hour</a></td><td><a class="el" href="structftime.html">ftime</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="structftime.html#m1">ft_min</a></td><td><a class="el" href="structftime.html">ftime</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="structftime.html#m4">ft_month</a></td><td><a class="el" href="structftime.html">ftime</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="structftime.html#m0">ft_tsec</a></td><td><a class="el" href="structftime.html">ftime</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="structftime.html#m5">ft_year</a></td><td><a class="el" href="structftime.html">ftime</a></td><td></td></tr>
+</table><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:14 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/structftime.html b/freebsdtvision/doc/html/structftime.html
new file mode 100644
index 0000000..53a73cf
--- /dev/null
+++ b/freebsdtvision/doc/html/structftime.html
@@ -0,0 +1,181 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>ftime struct Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>ftime Struct Reference</h1>Stores date and time information about a specified file.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="stddlg_8h-source.html">stddlg.h</a>&gt;</code>
+<p>
+<a href="structftime-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>unsigned&nbsp;</td><td valign=bottom><a class="el" href="structftime.html#m0">ft_tsec</a>: 5</td></tr>
+<tr><td nowrap align=right valign=top>unsigned&nbsp;</td><td valign=bottom><a class="el" href="structftime.html#m1">ft_min</a>: 6</td></tr>
+<tr><td nowrap align=right valign=top>unsigned&nbsp;</td><td valign=bottom><a class="el" href="structftime.html#m2">ft_hour</a>: 5</td></tr>
+<tr><td nowrap align=right valign=top>unsigned&nbsp;</td><td valign=bottom><a class="el" href="structftime.html#m3">ft_day</a>: 5</td></tr>
+<tr><td nowrap align=right valign=top>unsigned&nbsp;</td><td valign=bottom><a class="el" href="structftime.html#m4">ft_month</a>: 4</td></tr>
+<tr><td nowrap align=right valign=top>unsigned&nbsp;</td><td valign=bottom><a class="el" href="structftime.html#m5">ft_year</a>: 7</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Stores date and time information about a specified file.
+<p>
+
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00056">56</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>.<hr><h2>Member Data Documentation</h2>
+<a name="m3" doxytag="ftime::ft_day"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> unsigned ftime::ft_day
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00072">72</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<a name="m2" doxytag="ftime::ft_hour"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> unsigned ftime::ft_hour
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00068">68</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<a name="m1" doxytag="ftime::ft_min"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> unsigned ftime::ft_min
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00064">64</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<a name="m4" doxytag="ftime::ft_month"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> unsigned ftime::ft_month
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00076">76</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<a name="m0" doxytag="ftime::ft_tsec"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> unsigned ftime::ft_tsec
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00060">60</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<a name="m5" doxytag="ftime::ft_year"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> unsigned ftime::ft_year
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="stddlg_8h-source.html#l00080">80</a> of file <a class="el" href="stddlg_8h-source.html">stddlg.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="stddlg_8h-source.html">stddlg.h</a></ul>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:14 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/system_8h-source.html b/freebsdtvision/doc/html/system_8h-source.html
new file mode 100644
index 0000000..8a09ce5
--- /dev/null
+++ b/freebsdtvision/doc/html/system_8h-source.html
@@ -0,0 +1,187 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>system.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>system.h</h1><a href="system_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="comment">/*</span>
+00002 <span class="comment"> * system.h</span>
+00003 <span class="comment"> *</span>
+00004 <span class="comment"> * Turbo Vision - Version 2.0</span>
+00005 <span class="comment"> *</span>
+00006 <span class="comment"> * Copyright (c) 1994 by Borland International</span>
+00007 <span class="comment"> * All Rights Reserved.</span>
+00008 <span class="comment"> *</span>
+00009 <span class="comment"> * Modified by Sergio Sigala &lt;sergio@sigala.it&gt;</span>
+00010 <span class="comment"> */</span>
+00011
+00012 <span class="preprocessor">#if !defined( __EVENT_CODES )</span>
+00013 <span class="preprocessor"></span><span class="preprocessor">#define __EVENT_CODES</span>
+00014 <span class="preprocessor"></span>
+00019 <span class="comment">/* Event codes */</span>
+00020
+00025 <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="system_8h.html#a0">evMouseDown</a> = 0x0001;
+00026
+00031 <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="system_8h.html#a1">evMouseUp</a> = 0x0002;
+00032
+00037 <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="system_8h.html#a2">evMouseMove</a> = 0x0004;
+00038
+00043 <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="system_8h.html#a3">evMouseAuto</a> = 0x0008;
+00044
+00049 <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="system_8h.html#a4">evKeyDown</a> = 0x0010;
+00050
+00055 <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="system_8h.html#a5">evCommand</a> = 0x0100;
+00056
+00061 <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="system_8h.html#a6">evBroadcast</a> = 0x0200;
+00062
+00063 <span class="comment">/* Event masks */</span>
+00064
+00069 <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="system_8h.html#a7">evNothing</a> = 0x0000;
+00070
+00075 <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="system_8h.html#a8">evMouse</a> = 0x000f;
+00076
+00081 <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="system_8h.html#a9">evKeyboard</a> = 0x0010;
+00082
+00087 <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="system_8h.html#a10">evMessage</a> = 0xFF00;
+00088
+00089 <span class="comment">/* Mouse button state masks */</span>
+00090
+00091 <span class="keyword">const</span> <span class="keywordtype">int</span> mbLeftButton = 0x01;
+00092 <span class="keyword">const</span> <span class="keywordtype">int</span> mbRightButton = 0x02;
+00093
+00094 <span class="comment">/* Mouse event flags */</span>
+00095
+00096 <span class="keyword">const</span> <span class="keywordtype">int</span> meMouseMoved = 0x01;
+00097 <span class="keyword">const</span> <span class="keywordtype">int</span> meDoubleClick = 0x02;
+00098
+00099 <span class="preprocessor">#endif // __EVENT_CODES</span>
+00100 <span class="preprocessor"></span>
+00101 <span class="preprocessor">#if defined( Uses_TEvent ) &amp;&amp; !defined( __TEvent )</span>
+00102 <span class="preprocessor"></span><span class="preprocessor">#define __TEvent</span>
+00103 <span class="preprocessor"></span>
+<a name="l00114"></a><a class="code" href="structMouseEventType.html">00114</a> <span class="keyword">struct </span><a class="code" href="structMouseEventType.html">MouseEventType</a>
+00115 {
+<a name="l00119"></a><a class="code" href="structMouseEventType.html#m0">00119</a> <a class="code" href="classTPoint.html">TPoint</a> <a class="code" href="structMouseEventType.html#m0">where</a>;
+<a name="l00134"></a><a class="code" href="structMouseEventType.html#m1">00134</a> <a class="code" href="ttypes_8h.html#a3">ulong</a> <a class="code" href="structMouseEventType.html#m1">eventFlags</a>; <span class="comment">// Replacement for doubleClick.</span>
+<a name="l00158"></a><a class="code" href="structMouseEventType.html#m2">00158</a> <span class="comment"></span> <a class="code" href="ttypes_8h.html#a3">ulong</a> <a class="code" href="structMouseEventType.html#m2">controlKeyState</a>;
+<a name="l00182"></a><a class="code" href="structMouseEventType.html#m3">00182</a> <a class="code" href="ttypes_8h.html#a1">uchar</a> <a class="code" href="structMouseEventType.html#m3">buttons</a>;
+00183 };
+00184
+00185 <span class="preprocessor">#include &lt;myendian.h&gt;</span>
+00186
+<a name="l00193"></a><a class="code" href="structCharScanType.html">00193</a> <span class="keyword">struct </span><a class="code" href="structCharScanType.html">CharScanType</a>
+00194 {
+00195 <span class="preprocessor">#if (BYTE_ORDER == LITTLE_ENDIAN)</span>
+00196 <span class="preprocessor"></span>
+00203 <a class="code" href="ttypes_8h.html#a1">uchar</a> <a class="code" href="structCharScanType.html#m0">charCode</a>;
+00210 <a class="code" href="ttypes_8h.html#a1">uchar</a> <a class="code" href="structCharScanType.html#m1">scanCode</a>;
+00211 <span class="preprocessor">#elif (BYTE_ORDER == BIG_ENDIAN)</span>
+00212 <span class="preprocessor"></span>
+<a name="l00215"></a><a class="code" href="structCharScanType.html#m1">00215</a> <a class="code" href="ttypes_8h.html#a1">uchar</a> <a class="code" href="structCharScanType.html#m1">scanCode</a>;
+<a name="l00219"></a><a class="code" href="structCharScanType.html#m0">00219</a> <a class="code" href="ttypes_8h.html#a1">uchar</a> <a class="code" href="structCharScanType.html#m0">charCode</a>;
+00220 <span class="preprocessor">#else</span>
+00221 <span class="preprocessor"></span><span class="preprocessor"> #error architecture not supported by this library</span>
+00222 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00223 <span class="preprocessor"></span>};
+00224
+<a name="l00239"></a><a class="code" href="structKeyDownEvent.html">00239</a> <span class="keyword">struct </span><a class="code" href="structKeyDownEvent.html">KeyDownEvent</a>
+00240 {
+00241 <span class="keyword">union </span><span class="comment">//____keyUnion</span>
+00242 {
+<a name="l00249"></a><a class="code" href="structKeyDownEvent.html#m0">00249</a> <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="structKeyDownEvent.html#m0">keyCode</a>;
+<a name="l00254"></a><a class="code" href="structKeyDownEvent.html#m1">00254</a> <a class="code" href="structCharScanType.html">CharScanType</a> <a class="code" href="structKeyDownEvent.html#m1">charScan</a>;
+00255 };
+<a name="l00279"></a><a class="code" href="structKeyDownEvent.html#m2">00279</a> <a class="code" href="ttypes_8h.html#a3">ulong</a> <a class="code" href="structKeyDownEvent.html#m2">controlKeyState</a>;
+00280 };
+00281
+<a name="l00294"></a><a class="code" href="structMessageEvent.html">00294</a> <span class="keyword">struct </span><a class="code" href="structMessageEvent.html">MessageEvent</a>
+00295 {
+<a name="l00303"></a><a class="code" href="structMessageEvent.html#m0">00303</a> <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="structMessageEvent.html#m0">command</a>;
+00304 <span class="keyword">union </span><span class="comment">//____pointerUnion</span>
+00305 {
+<a name="l00313"></a><a class="code" href="structMessageEvent.html#m1">00313</a> <span class="keywordtype">void</span> *<a class="code" href="structMessageEvent.html#m1">infoPtr</a>;
+<a name="l00317"></a><a class="code" href="structMessageEvent.html#m2">00317</a> <span class="keywordtype">long</span> <a class="code" href="structMessageEvent.html#m2">infoLong</a>;
+<a name="l00321"></a><a class="code" href="structMessageEvent.html#m3">00321</a> <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="structMessageEvent.html#m3">infoWord</a>;
+<a name="l00325"></a><a class="code" href="structMessageEvent.html#m4">00325</a> <span class="keywordtype">short</span> <a class="code" href="structMessageEvent.html#m4">infoInt</a>;
+<a name="l00329"></a><a class="code" href="structMessageEvent.html#m5">00329</a> <a class="code" href="ttypes_8h.html#a1">uchar</a> <a class="code" href="structMessageEvent.html#m5">infoByte</a>;
+<a name="l00333"></a><a class="code" href="structMessageEvent.html#m6">00333</a> <span class="keywordtype">char</span> <a class="code" href="structMessageEvent.html#m6">infoChar</a>;
+00334 };
+00335 };
+00336
+<a name="l00349"></a><a class="code" href="structTEvent.html">00349</a> <span class="keyword">struct </span><a class="code" href="structTEvent.html">TEvent</a>
+00350 {
+<a name="l00391"></a><a class="code" href="structTEvent.html#m0">00391</a> <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="structTEvent.html#m0">what</a>;
+00392 <span class="keyword">union </span><span class="comment">//____eventUnion</span>
+00393 {
+<a name="l00397"></a><a class="code" href="structTEvent.html#m1">00397</a> <a class="code" href="structMouseEventType.html">MouseEventType</a> <a class="code" href="structTEvent.html#m1">mouse</a>;
+<a name="l00401"></a><a class="code" href="structTEvent.html#m2">00401</a> <a class="code" href="structKeyDownEvent.html">KeyDownEvent</a> <a class="code" href="structTEvent.html#m2">keyDown</a>;
+<a name="l00405"></a><a class="code" href="structTEvent.html#m3">00405</a> <a class="code" href="structMessageEvent.html">MessageEvent</a> <a class="code" href="structTEvent.html#m3">message</a>;
+00406 };
+00407 };
+00408
+00409 <span class="preprocessor">#endif // Uses_TEvent</span>
+00410 <span class="preprocessor"></span>
+00411 <span class="preprocessor">#if defined( Uses_TEventQueue ) &amp;&amp; !defined( __TEventQueue )</span>
+00412 <span class="preprocessor"></span><span class="preprocessor">#define __TEventQueue</span>
+00413 <span class="preprocessor"></span>
+<a name="l00425"></a><a class="code" href="classTEventQueue.html">00425</a> <span class="keyword">class </span><a class="code" href="classTEventQueue.html">TEventQueue</a>
+00426 {
+00427 <span class="keyword">public</span>:
+<a name="l00435"></a><a class="code" href="classTEventQueue.html#p0">00435</a> <span class="keyword">static</span> <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="classTEventQueue.html#p0">doubleDelay</a>;
+<a name="l00440"></a><a class="code" href="classTEventQueue.html#p1">00440</a> <span class="keyword">static</span> <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTEventQueue.html#p1">mouseReverse</a>;
+00441 };
+00442
+00443 <span class="preprocessor">#endif // Uses_TEventQueue</span>
+00444 <span class="preprocessor"></span>
+00445 <span class="preprocessor">#if defined( Uses_TScreen ) &amp;&amp; !defined( __TScreen )</span>
+00446 <span class="preprocessor"></span><span class="preprocessor">#define __TScreen</span>
+00447 <span class="preprocessor"></span>
+<a name="l00458"></a><a class="code" href="classTDisplay.html">00458</a> <span class="keyword">class </span><a class="code" href="classTDisplay.html">TDisplay</a>
+00459 {
+00460 <span class="keyword">public</span>:
+<a name="l00466"></a><a class="code" href="classTDisplay.html#s4">00466</a> <span class="keyword">enum</span> <a class="code" href="classTDisplay.html#s4">videoModes</a>
+00467 {
+00468 smBW80 = 0x0002,
+00469 smCO80 = 0x0003,
+00470 smMono = 0x0007,
+00471 smFont8x8 = 0x0100
+00472 };
+00473 };
+00474
+00475 <span class="preprocessor">#include &lt;sys/types.h&gt;</span>
+00476
+<a name="l00489"></a><a class="code" href="classTScreen.html">00489</a> <span class="keyword">class </span><a class="code" href="classTScreen.html">TScreen</a>: <span class="keyword">public</span> <a class="code" href="classTDisplay.html">TDisplay</a>
+00490 {
+00491 <span class="keyword">public</span>:
+00499 <a class="code" href="classTScreen.html#a0">TScreen</a>();
+00505 <a class="code" href="classTScreen.html#a1">~TScreen</a>();
+00509 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTScreen.html#d0">getEvent</a>(<a class="code" href="structTEvent.html">TEvent</a> &amp;event);
+00513 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTScreen.html#d1">makeBeep</a>();
+00519 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTScreen.html#d2">putEvent</a>(<a class="code" href="structTEvent.html">TEvent</a> &amp;event);
+00527 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTScreen.html#d3">resume</a>();
+00535 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTScreen.html#d4">suspend</a>();
+00541 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTScreen.html#d5">drawCursor</a>(<span class="keywordtype">int</span> show);
+00547 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTScreen.html#d6">drawMouse</a>(<span class="keywordtype">int</span> show);
+00553 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTScreen.html#d7">moveCursor</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);
+00561 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTScreen.html#d8">writeRow</a>(<span class="keywordtype">int</span> dst, <a class="code" href="ttypes_8h.html#a0">ushort</a> *src, <span class="keywordtype">int</span> len);
+<a name="l00569"></a><a class="code" href="classTScreen.html#p0">00569</a> <span class="keyword">static</span> <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="classTScreen.html#p0">screenMode</a>;
+<a name="l00575"></a><a class="code" href="classTScreen.html#p1">00575</a> <span class="keyword">static</span> <a class="code" href="ttypes_8h.html#a1">uchar</a> <a class="code" href="classTScreen.html#p1">screenWidth</a>;
+<a name="l00581"></a><a class="code" href="classTScreen.html#p2">00581</a> <span class="keyword">static</span> <a class="code" href="ttypes_8h.html#a1">uchar</a> <a class="code" href="classTScreen.html#p2">screenHeight</a>;
+<a name="l00587"></a><a class="code" href="classTScreen.html#p3">00587</a> <span class="keyword">static</span> <a class="code" href="ttypes_8h.html#a0">ushort</a> *<a class="code" href="classTScreen.html#p3">screenBuffer</a>;
+<a name="l00595"></a><a class="code" href="classTScreen.html#p4">00595</a> <span class="keyword">static</span> fd_set <a class="code" href="classTScreen.html#p4">fdSetRead</a>;
+<a name="l00602"></a><a class="code" href="classTScreen.html#p5">00602</a> <span class="keyword">static</span> fd_set <a class="code" href="classTScreen.html#p5">fdSetWrite</a>;
+<a name="l00609"></a><a class="code" href="classTScreen.html#p6">00609</a> <span class="keyword">static</span> fd_set <a class="code" href="classTScreen.html#p6">fdSetExcept</a>;
+<a name="l00616"></a><a class="code" href="classTScreen.html#p7">00616</a> <span class="keyword">static</span> fd_set <a class="code" href="classTScreen.html#p7">fdActualRead</a>;
+<a name="l00623"></a><a class="code" href="classTScreen.html#p8">00623</a> <span class="keyword">static</span> fd_set <a class="code" href="classTScreen.html#p8">fdActualWrite</a>;
+<a name="l00630"></a><a class="code" href="classTScreen.html#p9">00630</a> <span class="keyword">static</span> fd_set <a class="code" href="classTScreen.html#p9">fdActualExcept</a>;
+00631 };
+00632
+00633 <span class="preprocessor">#endif // Uses_TScreen</span>
+</pre></div><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:09 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/system_8h.html b/freebsdtvision/doc/html/system_8h.html
new file mode 100644
index 0000000..b747a46
--- /dev/null
+++ b/freebsdtvision/doc/html/system_8h.html
@@ -0,0 +1,309 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>system.h File Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>system.h File Reference</h1>
+<p>
+<a href="system_8h-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Compounds</h2></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTDisplay.html">TDisplay</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Display information.</em> <a href="classTDisplay.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>struct &nbsp;</td><td valign=bottom><a class="el" href="structTEvent.html">TEvent</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Information about events.</em> <a href="structTEvent.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTEventQueue.html">TEventQueue</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Information about mouse.</em> <a href="classTEventQueue.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>struct &nbsp;</td><td valign=bottom><a class="el" href="structCharScanType.html">CharScanType</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Information about a key.</em> <a href="structCharScanType.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>struct &nbsp;</td><td valign=bottom><a class="el" href="structKeyDownEvent.html">KeyDownEvent</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Information about key presses.</em> <a href="structKeyDownEvent.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>struct &nbsp;</td><td valign=bottom><a class="el" href="structMessageEvent.html">MessageEvent</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Information about message events.</em> <a href="structMessageEvent.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>struct &nbsp;</td><td valign=bottom><a class="el" href="structMouseEventType.html">MouseEventType</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Information about mouse events.</em> <a href="structMouseEventType.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTScreen.html">TScreen</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>The interface to the system.</em> <a href="classTScreen.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td colspan=2><br><h2>Variables</h2></td></tr>
+<tr><td nowrap align=right valign=top>const int&nbsp;</td><td valign=bottom><a class="el" href="system_8h.html#a0">evMouseDown</a> = 0x0001</td></tr>
+<tr><td nowrap align=right valign=top>const int&nbsp;</td><td valign=bottom><a class="el" href="system_8h.html#a1">evMouseUp</a> = 0x0002</td></tr>
+<tr><td nowrap align=right valign=top>const int&nbsp;</td><td valign=bottom><a class="el" href="system_8h.html#a2">evMouseMove</a> = 0x0004</td></tr>
+<tr><td nowrap align=right valign=top>const int&nbsp;</td><td valign=bottom><a class="el" href="system_8h.html#a3">evMouseAuto</a> = 0x0008</td></tr>
+<tr><td nowrap align=right valign=top>const int&nbsp;</td><td valign=bottom><a class="el" href="system_8h.html#a4">evKeyDown</a> = 0x0010</td></tr>
+<tr><td nowrap align=right valign=top>const int&nbsp;</td><td valign=bottom><a class="el" href="system_8h.html#a5">evCommand</a> = 0x0100</td></tr>
+<tr><td nowrap align=right valign=top>const int&nbsp;</td><td valign=bottom><a class="el" href="system_8h.html#a6">evBroadcast</a> = 0x0200</td></tr>
+<tr><td nowrap align=right valign=top>const int&nbsp;</td><td valign=bottom><a class="el" href="system_8h.html#a7">evNothing</a> = 0x0000</td></tr>
+<tr><td nowrap align=right valign=top>const int&nbsp;</td><td valign=bottom><a class="el" href="system_8h.html#a8">evMouse</a> = 0x000f</td></tr>
+<tr><td nowrap align=right valign=top>const int&nbsp;</td><td valign=bottom><a class="el" href="system_8h.html#a9">evKeyboard</a> = 0x0010</td></tr>
+<tr><td nowrap align=right valign=top>const int&nbsp;</td><td valign=bottom><a class="el" href="system_8h.html#a10">evMessage</a> = 0xFF00</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+ <a class="el" href="system_8h.html">system.h</a>
+<p>
+
+<p>
+Definition in file <a class="el" href="system_8h-source.html">system.h</a>.<hr><h2>Variable Documentation</h2>
+<a name="a6" doxytag="system.h::evBroadcast"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> evBroadcast = 0x0200
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Broadcast event. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="structTEvent.html#m0">TEvent::what</a> </dl>
+<p>
+Referenced by <a class="el" href="menus_8h-source.html#l00401">TMenuView::TMenuView()</a>. </td>
+ </tr>
+</table>
+<a name="a5" doxytag="system.h::evCommand"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> evCommand = 0x0100
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Command event. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="structTEvent.html#m0">TEvent::what</a> </dl> </td>
+ </tr>
+</table>
+<a name="a9" doxytag="system.h::evKeyboard"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> evKeyboard = 0x0010
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Keyboard event. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="structTEvent.html#m0">TEvent::what</a> </dl> </td>
+ </tr>
+</table>
+<a name="a4" doxytag="system.h::evKeyDown"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> evKeyDown = 0x0010
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Key pressed. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="structTEvent.html#m0">TEvent::what</a> </dl> </td>
+ </tr>
+</table>
+<a name="a10" doxytag="system.h::evMessage"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> evMessage = 0xFF00
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Message (command, broadcast, or user-defined) event. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="structTEvent.html#m0">TEvent::what</a> </dl> </td>
+ </tr>
+</table>
+<a name="a8" doxytag="system.h::evMouse"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> evMouse = 0x000f
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Mouse event. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="structTEvent.html#m0">TEvent::what</a> </dl> </td>
+ </tr>
+</table>
+<a name="a3" doxytag="system.h::evMouseAuto"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> evMouseAuto = 0x0008
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Periodic event while mouse button held down. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="structTEvent.html#m0">TEvent::what</a> </dl> </td>
+ </tr>
+</table>
+<a name="a0" doxytag="system.h::evMouseDown"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> evMouseDown = 0x0001
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Mouse button pressed. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="structTEvent.html#m0">TEvent::what</a> </dl> </td>
+ </tr>
+</table>
+<a name="a2" doxytag="system.h::evMouseMove"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> evMouseMove = 0x0004
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Mouse changed location. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="structTEvent.html#m0">TEvent::what</a> </dl> </td>
+ </tr>
+</table>
+<a name="a1" doxytag="system.h::evMouseUp"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> evMouseUp = 0x0002
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Mouse button released. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="structTEvent.html#m0">TEvent::what</a> </dl> </td>
+ </tr>
+</table>
+<a name="a7" doxytag="system.h::evNothing"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> evNothing = 0x0000
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Event already handled. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="structTEvent.html#m0">TEvent::what</a> </dl> </td>
+ </tr>
+</table>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:11 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/textview_8h-source.html b/freebsdtvision/doc/html/textview_8h-source.html
new file mode 100644
index 0000000..df34a20
--- /dev/null
+++ b/freebsdtvision/doc/html/textview_8h-source.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>textview.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>textview.h</h1><a href="textview_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="comment">/*</span>
+00002 <span class="comment"> * textview.h</span>
+00003 <span class="comment"> *</span>
+00004 <span class="comment"> * Turbo Vision - Version 2.0</span>
+00005 <span class="comment"> *</span>
+00006 <span class="comment"> * Copyright (c) 1994 by Borland International</span>
+00007 <span class="comment"> * All Rights Reserved.</span>
+00008 <span class="comment"> *</span>
+00009 <span class="comment"> * Modified by Sergio Sigala &lt;sergio@sigala.it&gt;</span>
+00010 <span class="comment"> */</span>
+00011
+00012 <span class="preprocessor">#if defined( Uses_TTextDevice ) &amp;&amp; !defined( __TTextDevice )</span>
+00013 <span class="preprocessor"></span><span class="preprocessor">#define __TTextDevice</span>
+00014 <span class="preprocessor"></span>
+00019 <span class="preprocessor">#include &lt;iostream.h&gt;</span>
+00020
+00021 <span class="keyword">class </span><a class="code" href="classTRect.html">TRect</a>;
+00022 <span class="keyword">class </span><a class="code" href="classTScrollBar.html">TScrollBar</a>;
+00023
+<a name="l00035"></a><a class="code" href="classTTextDevice.html">00035</a> <span class="keyword">class </span><a class="code" href="classTTextDevice.html">TTextDevice</a> : <span class="keyword">public</span> <a class="code" href="classTScroller.html">TScroller</a>
+00036 {
+00037 <span class="keyword">public</span>:
+00044 <a class="code" href="classTTextDevice.html#a0">TTextDevice</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; bounds,
+00045 <a class="code" href="classTScrollBar.html">TScrollBar</a> *aHScrollBar,
+00046 <a class="code" href="classTScrollBar.html">TScrollBar</a> *aVScrollBar
+00047 );
+00054 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classTTextDevice.html#a1">do_sputn</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *s, <span class="keywordtype">int</span> count ) = 0;
+00055 };
+00056
+00057 <span class="preprocessor">#endif // Uses_TTextDevice</span>
+00058 <span class="preprocessor"></span>
+00059 <span class="preprocessor">#if defined( Uses_TTerminal ) &amp;&amp; !defined( __TTerminal )</span>
+00060 <span class="preprocessor"></span><span class="preprocessor">#define __TTerminal</span>
+00061 <span class="preprocessor"></span>
+00062 <span class="keyword">class </span><a class="code" href="classTRect.html">TRect</a>;
+00063 <span class="keyword">class </span><a class="code" href="classTScrollBar.html">TScrollBar</a>;
+00064
+<a name="l00070"></a><a class="code" href="classTTerminal.html">00070</a> <span class="keyword">class </span><a class="code" href="classTTerminal.html">TTerminal</a>: <span class="keyword">public</span> <a class="code" href="classTTextDevice.html">TTextDevice</a>
+00071 {
+00072 <span class="keyword">public</span>:
+00084 <a class="code" href="classTTerminal.html#a0">TTerminal</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; bounds,
+00085 <a class="code" href="classTScrollBar.html">TScrollBar</a> *aHScrollBar,
+00086 <a class="code" href="classTScrollBar.html">TScrollBar</a> *aVScrollBar,
+00087 <a class="code" href="ttypes_8h.html#a0">ushort</a> aBufSize
+00088 );
+00092 <a class="code" href="classTTerminal.html#a1">~TTerminal</a>();
+00099 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classTTerminal.html#a2">do_sputn</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *s, <span class="keywordtype">int</span> count );
+00104 <span class="keywordtype">void</span> <a class="code" href="classTTerminal.html#a3">bufInc</a>( <a class="code" href="ttypes_8h.html#a0">ushort</a>&amp; val );
+00110 <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTTerminal.html#a4">canInsert</a>( <a class="code" href="ttypes_8h.html#a0">ushort</a> amount );
+00114 <span class="keywordtype">short</span> <a class="code" href="classTTerminal.html#a5">calcWidth</a>();
+00121 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTTerminal.html#a6">draw</a>();
+00126 <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="classTTerminal.html#a7">nextLine</a>( <a class="code" href="ttypes_8h.html#a0">ushort</a> pos );
+00131 <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="classTTerminal.html#a8">prevLines</a>( <a class="code" href="ttypes_8h.html#a0">ushort</a> pos, <a class="code" href="ttypes_8h.html#a0">ushort</a> lines );
+00135 <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTTerminal.html#a9">queEmpty</a>();
+00136 <span class="keyword">protected</span>:
+<a name="l00140"></a><a class="code" href="classTTerminal.html#n0">00140</a> <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="classTTerminal.html#n0">bufSize</a>;
+<a name="l00144"></a><a class="code" href="classTTerminal.html#n1">00144</a> <span class="keywordtype">char</span> *<a class="code" href="classTTerminal.html#n1">buffer</a>;
+<a name="l00148"></a><a class="code" href="classTTerminal.html#n2">00148</a> <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="classTTerminal.html#n2">queFront</a>;
+<a name="l00152"></a><a class="code" href="classTTerminal.html#n3">00152</a> <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="classTTerminal.html#n3">queBack</a>;
+00157 <span class="keywordtype">void</span> <a class="code" href="classTTerminal.html#b0">bufDec</a>(<a class="code" href="ttypes_8h.html#a0">ushort</a>&amp; val);
+00158 <span class="preprocessor">#ifndef __UNPATCHED</span>
+00159 <span class="preprocessor"></span>
+<a name="l00162"></a><a class="code" href="classTTerminal.html#n4">00162</a> <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="classTTerminal.html#n4">curLineWidth</a>; <span class="comment">// Added horizontal cursor tracking</span>
+00163 <span class="preprocessor">#endif</span>
+00164 <span class="preprocessor"></span>};
+00165
+00166 <span class="preprocessor">#endif // Uses_TTerminal</span>
+00167 <span class="preprocessor"></span>
+00168 <span class="preprocessor">#if defined( Uses_otstream ) &amp;&amp; !defined( __otstream )</span>
+00169 <span class="preprocessor"></span><span class="preprocessor">#define __otstream</span>
+00170 <span class="preprocessor"></span>
+00171 <span class="keyword">class </span>ostream;
+00172
+00173 <span class="preprocessor">#include &lt;iostream.h&gt;</span>
+00174
+<a name="l00178"></a><a class="code" href="classTerminalBuf.html">00178</a> <span class="keyword">class </span><a class="code" href="classTerminalBuf.html">TerminalBuf</a>: <span class="keyword">public</span> streambuf
+00179 {
+00180 <span class="keyword">protected</span>:
+<a name="l00184"></a><a class="code" href="classTerminalBuf.html#n0">00184</a> <a class="code" href="classTTerminal.html">TTerminal</a> *<a class="code" href="classTerminalBuf.html#n0">term</a>;
+00185 <span class="keyword">public</span>:
+00189 <a class="code" href="classTerminalBuf.html#a0">TerminalBuf</a>(<a class="code" href="classTTerminal.html">TTerminal</a> *tt);
+00201 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classTerminalBuf.html#a1">overflow</a>( <span class="keywordtype">int</span> c = EOF );
+00205 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classTerminalBuf.html#a2">sync</a>();
+00206 };
+00207
+<a name="l00211"></a><a class="code" href="classotstream.html">00211</a> <span class="keyword">class </span><a class="code" href="classotstream.html">otstream</a> : <span class="keyword">public</span> ostream
+00212 {
+00213 <span class="keyword">protected</span>:
+<a name="l00217"></a><a class="code" href="classotstream.html#n0">00217</a> <a class="code" href="classTerminalBuf.html">TerminalBuf</a> <a class="code" href="classotstream.html#n0">buf</a>;
+00218 <span class="keyword">public</span>:
+00222 <a class="code" href="classotstream.html#a0">otstream</a>( <a class="code" href="classTTerminal.html">TTerminal</a> *tt );
+00223 };
+00224
+00225 <span class="preprocessor">#endif</span>
+</pre></div><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:09 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/textview_8h.html b/freebsdtvision/doc/html/textview_8h.html
new file mode 100644
index 0000000..f48df1b
--- /dev/null
+++ b/freebsdtvision/doc/html/textview_8h.html
@@ -0,0 +1,31 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>textview.h File Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>textview.h File Reference</h1>
+<p>
+<a href="textview_8h-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Compounds</h2></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTerminalBuf.html">TerminalBuf</a></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classotstream.html">otstream</a></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTTerminal.html">TTerminal</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Implements a "dumb" terminal with buffered string reads and writes.</em> <a href="classTTerminal.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTTextDevice.html">TTextDevice</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Scrollable TTY-type text viewer/device driver.</em> <a href="classTTextDevice.html#_details">More...</a><em></em></font><br><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+ <a class="el" href="textview_8h.html">textview.h</a>
+<p>
+
+<p>
+Definition in file <a class="el" href="textview_8h-source.html">textview.h</a>.<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:11 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/tkeys_8h-source.html b/freebsdtvision/doc/html/tkeys_8h-source.html
new file mode 100644
index 0000000..18d5553
--- /dev/null
+++ b/freebsdtvision/doc/html/tkeys_8h-source.html
@@ -0,0 +1,103 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>tkeys.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>tkeys.h</h1><a href="tkeys_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="comment">/*</span>
+00002 <span class="comment"> * tkeys.h</span>
+00003 <span class="comment"> *</span>
+00004 <span class="comment"> * Turbo Vision - Version 2.0</span>
+00005 <span class="comment"> *</span>
+00006 <span class="comment"> * Copyright (c) 1994 by Borland International</span>
+00007 <span class="comment"> * All Rights Reserved.</span>
+00008 <span class="comment"> *</span>
+00009 <span class="comment"> * Modified by Sergio Sigala &lt;sergio@sigala.it&gt;</span>
+00010 <span class="comment"> */</span>
+00011
+00012 <span class="preprocessor">#if !defined( __TKEYS_H )</span>
+00013 <span class="preprocessor"></span><span class="preprocessor">#define __TKEYS_H</span>
+00014 <span class="preprocessor"></span>
+00019 <span class="keyword">const</span> <a class="code" href="ttypes_8h.html#a0">ushort</a>
+00020
+00021 <span class="comment">// Control keys</span>
+00022 <span class="comment">//</span>
+00023 <span class="comment">// NOTE: these Control key definitions are intended only to provide</span>
+00024 <span class="comment">// mnemonic names for the ASCII control codes. They cannot be used</span>
+00025 <span class="comment">// to define menu hotkeys, etc., which require scan codes.</span>
+00026
+00027 kbCtrlA = 0x0001, kbCtrlB = 0x0002, kbCtrlC = 0x0003,
+00028 kbCtrlD = 0x0004, kbCtrlE = 0x0005, kbCtrlF = 0x0006,
+00029 kbCtrlG = 0x0007, kbCtrlH = 0x0008, kbCtrlI = 0x0009,
+00030 kbCtrlJ = 0x000a, kbCtrlK = 0x000b, kbCtrlL = 0x000c,
+00031 kbCtrlM = 0x000d, kbCtrlN = 0x000e, kbCtrlO = 0x000f,
+00032 kbCtrlP = 0x0010, kbCtrlQ = 0x0011, kbCtrlR = 0x0012,
+00033 kbCtrlS = 0x0013, kbCtrlT = 0x0014, kbCtrlU = 0x0015,
+00034 kbCtrlV = 0x0016, kbCtrlW = 0x0017, kbCtrlX = 0x0018,
+00035 kbCtrlY = 0x0019, kbCtrlZ = 0x001a,
+00036
+00037 <span class="comment">// Extended key codes</span>
+00038
+00039 kbEsc = 0x011b, kbAltSpace = 0x0200, kbCtrlIns = 0x0400,
+00040 kbShiftIns = 0x0500, kbCtrlDel = 0x0600, kbShiftDel = 0x0700,
+00041 kbBack = 0x0e08, kbCtrlBack = 0x0e7f, kbShiftTab = 0x0f00,
+00042 kbTab = 0x0f09, kbAltQ = 0x1000, kbAltW = 0x1100,
+00043 kbAltE = 0x1200, kbAltR = 0x1300, kbAltT = 0x1400,
+00044 kbAltY = 0x1500, kbAltU = 0x1600, kbAltI = 0x1700,
+00045 kbAltO = 0x1800, kbAltP = 0x1900, kbCtrlEnter = 0x1c0a,
+00046 kbEnter = 0x1c0d, kbAltA = 0x1e00, kbAltS = 0x1f00,
+00047 kbAltD = 0x2000, kbAltF = 0x2100, kbAltG = 0x2200,
+00048 kbAltH = 0x2300, kbAltJ = 0x2400, kbAltK = 0x2500,
+00049 kbAltL = 0x2600, kbAltZ = 0x2c00, kbAltX = 0x2d00,
+00050 kbAltC = 0x2e00, kbAltV = 0x2f00, kbAltB = 0x3000,
+00051 kbAltN = 0x3100, kbAltM = 0x3200, kbF1 = 0x3b00,
+00052 kbF2 = 0x3c00, kbF3 = 0x3d00, kbF4 = 0x3e00,
+00053 kbF5 = 0x3f00, kbF6 = 0x4000, kbF7 = 0x4100,
+00054 kbF8 = 0x4200, kbF9 = 0x4300, kbF10 = 0x4400,
+00055 kbHome = 0x4700, kbUp = 0x4800, kbPgUp = 0x4900,
+00056 kbGrayMinus = 0x4a2d, kbLeft = 0x4b00, kbRight = 0x4d00,
+00057 kbGrayPlus = 0x4e2b, kbEnd = 0x4f00, kbDown = 0x5000,
+00058 kbPgDn = 0x5100, kbIns = 0x5200, kbDel = 0x5300,
+00059 kbShiftF1 = 0x5400, kbShiftF2 = 0x5500, kbShiftF3 = 0x5600,
+00060 kbShiftF4 = 0x5700, kbShiftF5 = 0x5800, kbShiftF6 = 0x5900,
+00061 kbShiftF7 = 0x5a00, kbShiftF8 = 0x5b00, kbShiftF9 = 0x5c00,
+00062 kbShiftF10 = 0x5d00, kbCtrlF1 = 0x5e00, kbCtrlF2 = 0x5f00,
+00063 kbCtrlF3 = 0x6000, kbCtrlF4 = 0x6100, kbCtrlF5 = 0x6200,
+00064 kbCtrlF6 = 0x6300, kbCtrlF7 = 0x6400, kbCtrlF8 = 0x6500,
+00065 kbCtrlF9 = 0x6600, kbCtrlF10 = 0x6700, kbAltF1 = 0x6800,
+00066 kbAltF2 = 0x6900, kbAltF3 = 0x6a00, kbAltF4 = 0x6b00,
+00067 kbAltF5 = 0x6c00, kbAltF6 = 0x6d00, kbAltF7 = 0x6e00,
+00068 kbAltF8 = 0x6f00, kbAltF9 = 0x7000, kbAltF10 = 0x7100,
+00069 kbCtrlPrtSc = 0x7200, kbCtrlLeft = 0x7300, kbCtrlRight = 0x7400,
+00070 kbCtrlEnd = 0x7500, kbCtrlPgDn = 0x7600, kbCtrlHome = 0x7700,
+00071 kbAlt1 = 0x7800, kbAlt2 = 0x7900, kbAlt3 = 0x7a00,
+00072 kbAlt4 = 0x7b00, kbAlt5 = 0x7c00, kbAlt6 = 0x7d00,
+00073 kbAlt7 = 0x7e00, kbAlt8 = 0x7f00, kbAlt9 = 0x8000,
+00074 kbAlt0 = 0x8100, kbAltMinus = 0x8200, kbAltEqual = 0x8300,
+00075 kbCtrlPgUp = 0x8400, kbAltBack = 0x0800, kbNoKey = 0x0000,
+00076
+00077 <span class="comment">// Keyboard state and shift masks</span>
+00078
+00079 kbLeftShift = 0x0001,
+00080 kbRightShift = 0x0002,
+00081 kbShift = kbLeftShift | kbRightShift,
+00082 kbLeftCtrl = 0x0004,
+00083 kbRightCtrl = 0x0004,
+00084 kbCtrlShift = kbLeftCtrl | kbRightCtrl,
+00085 kbLeftAlt = 0x0008,
+00086 kbRightAlt = 0x0008,
+00087 kbAltShift = kbLeftAlt | kbRightAlt,
+00088 kbScrollState = 0x0010,
+00089 kbNumState = 0x0020,
+00090 kbCapsState = 0x0040,
+00091 kbInsState = 0x0080;
+00092
+00093 <span class="preprocessor">#endif // __TKEYS_H</span>
+</pre></div><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:10 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/tkeys_8h.html b/freebsdtvision/doc/html/tkeys_8h.html
new file mode 100644
index 0000000..da8527c
--- /dev/null
+++ b/freebsdtvision/doc/html/tkeys_8h.html
@@ -0,0 +1,24 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>tkeys.h File Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>tkeys.h File Reference</h1>
+<p>
+<a href="tkeys_8h-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+ <a class="el" href="tkeys_8h.html">tkeys.h</a>
+<p>
+
+<p>
+Definition in file <a class="el" href="tkeys_8h-source.html">tkeys.h</a>.<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:11 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/tobjstrm_8h-source.html b/freebsdtvision/doc/html/tobjstrm_8h-source.html
new file mode 100644
index 0000000..f6d6721
--- /dev/null
+++ b/freebsdtvision/doc/html/tobjstrm_8h-source.html
@@ -0,0 +1,511 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>tobjstrm.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>tobjstrm.h</h1><a href="tobjstrm_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="comment">/*</span>
+00002 <span class="comment"> * tobjstrm.h</span>
+00003 <span class="comment"> *</span>
+00004 <span class="comment"> * Turbo Vision - Version 2.0</span>
+00005 <span class="comment"> *</span>
+00006 <span class="comment"> * Copyright (c) 1994 by Borland International</span>
+00007 <span class="comment"> * All Rights Reserved.</span>
+00008 <span class="comment"> *</span>
+00009 <span class="comment"> * Modified by Sergio Sigala &lt;sergio@sigala.it&gt;</span>
+00010 <span class="comment"> */</span>
+00011
+<a name="l00019"></a><a class="code" href="tobjstrm_8h.html#a0">00019</a> <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <a class="code" href="tobjstrm_8h.html#a0">P_id_type</a>;
+00020
+00021 <span class="comment">/* ------------------------------------------------------------------------*/</span>
+00022 <span class="comment">/* */</span>
+00023 <span class="comment">/* class TStreamable */</span>
+00024 <span class="comment">/* */</span>
+00025 <span class="comment">/* This is the base class for all storable objects. It provides */</span>
+00026 <span class="comment">/* three member functions, streamableName(), read(), and write(), which */</span>
+00027 <span class="comment">/* must be overridden in every derived class. */</span>
+00028 <span class="comment">/* */</span>
+00029 <span class="comment">/* ------------------------------------------------------------------------*/</span>
+00030
+00031 <span class="preprocessor">#if !defined( __fLink_def )</span>
+00032 <span class="preprocessor"></span><span class="preprocessor">#define __fLink_def</span>
+00033 <span class="preprocessor"></span>
+<a name="l00037"></a><a class="code" href="structfLink.html">00037</a> <span class="keyword">struct </span><a class="code" href="structfLink.html">fLink</a>
+00038 {
+<a name="l00042"></a><a class="code" href="structfLink.html#m0">00042</a> <a class="code" href="structfLink.html">fLink</a> *<a class="code" href="structfLink.html#m0">f</a>;
+<a name="l00046"></a><a class="code" href="structfLink.html#m1">00046</a> <span class="keyword">class </span><a class="code" href="classTStreamableClass.html">TStreamableClass</a> *t;
+00047 };
+00048 <span class="preprocessor">#endif</span>
+00049 <span class="preprocessor"></span>
+00050 <span class="preprocessor">#define __link( s ) \</span>
+00051 <span class="preprocessor"> extern TStreamableClass s; \</span>
+00052 <span class="preprocessor"> static fLink force ## s = \</span>
+00053 <span class="preprocessor"> { (fLink *)&amp;force ## s, (TStreamableClass *)&amp;s };</span>
+00054 <span class="preprocessor"></span>
+00055 <span class="preprocessor">#if defined( Uses_TStreamable ) &amp;&amp; !defined( __TStreamable )</span>
+00056 <span class="preprocessor"></span><span class="preprocessor">#define __TStreamable</span>
+00057 <span class="preprocessor"></span>
+<a name="l00080"></a><a class="code" href="classTStreamable.html">00080</a> <span class="keyword">class </span><a class="code" href="classTStreamable.html">TStreamable</a>
+00081 {
+00082 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classopstream.html">opstream</a>;
+00083 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classipstream.html">ipstream</a>;
+00084 <span class="keyword">private</span>:
+00095 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *streamableName() <span class="keyword">const</span> = 0;
+00096 <span class="keyword">protected</span>:
+00105 <span class="keyword">virtual</span> <span class="keywordtype">void</span> *<a class="code" href="classTStreamable.html#b0">read</a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is ) = 0;
+00114 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTStreamable.html#b1">write</a>( <a class="code" href="classopstream.html">opstream</a>&amp; os ) = 0;
+00115 };
+00116
+00117 <span class="preprocessor">#endif // Uses_TStreamable</span>
+00118 <span class="preprocessor"></span>
+00119 <span class="comment">/* ------------------------------------------------------------------------*/</span>
+00120 <span class="comment">/* */</span>
+00121 <span class="comment">/* class TStreamableClass */</span>
+00122 <span class="comment">/* */</span>
+00123 <span class="comment">/* Used internally by TStreamableTypes and pstream. */</span>
+00124 <span class="comment">/* */</span>
+00125 <span class="comment">/* ------------------------------------------------------------------------*/</span>
+00126
+00127 <span class="preprocessor">#if defined( Uses_TStreamableClass ) &amp;&amp; !defined( __TStreamableClass )</span>
+00128 <span class="preprocessor"></span><span class="preprocessor">#define __TStreamableClass</span>
+00129 <span class="preprocessor"></span>
+00130 <span class="preprocessor">#include &lt;limits.h&gt;</span>
+00131
+<a name="l00135"></a><a class="code" href="tobjstrm_8h.html#a1">00135</a> <span class="keyword">const</span> <a class="code" href="tobjstrm_8h.html#a0">P_id_type</a> <a class="code" href="tobjstrm_8h.html#a1">P_id_notFound</a> = UINT_MAX;
+00136
+<a name="l00145"></a><a class="code" href="tobjstrm_8h.html#a2">00145</a> <span class="keyword">typedef</span> <a class="code" href="classTStreamable.html">TStreamable</a> *(*BUILDER)();
+00146
+00147 <span class="preprocessor">#define __DELTA( d ) ((int)(TStreamable*)(d*)1-1 )</span>
+00148 <span class="preprocessor"></span>
+<a name="l00155"></a><a class="code" href="classTStreamableClass.html">00155</a> <span class="keyword">class </span><a class="code" href="classTStreamableClass.html">TStreamableClass</a>
+00156 {
+00157 <span class="keyword">friend</span> <a class="code" href="classTStreamableTypes.html">TStreamableTypes</a>;
+00158 <span class="keyword">friend</span> <a class="code" href="classopstream.html">opstream</a>;
+00159 <span class="keyword">friend</span> <a class="code" href="classipstream.html">ipstream</a>;
+00160 <span class="keyword">public</span>:
+00187 <a class="code" href="classTStreamableClass.html#a0">TStreamableClass</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *aName, <a class="code" href="tobjstrm_8h.html#a2">BUILDER</a> aBuild, <span class="keywordtype">int</span> aDelta );
+00188 <span class="keyword">private</span>:
+00189 <span class="keyword">const</span> <span class="keywordtype">char</span> *name;
+00190 <a class="code" href="tobjstrm_8h.html#a2">BUILDER</a> build;
+00191 <span class="keywordtype">int</span> delta;
+00192 };
+00193
+00194 <span class="preprocessor">#endif // Uses_TStreamableClass</span>
+00195 <span class="preprocessor"></span>
+00196 <span class="comment">/* ------------------------------------------------------------------------*/</span>
+00197 <span class="comment">/* */</span>
+00198 <span class="comment">/* class TStreamableTypes */</span>
+00199 <span class="comment">/* */</span>
+00200 <span class="comment">/* Maintains a database of all registered types in the application. */</span>
+00201 <span class="comment">/* Used by opstream and ipstream to find the functions to read and */</span>
+00202 <span class="comment">/* write objects. */</span>
+00203 <span class="comment">/* */</span>
+00204 <span class="comment">/* ------------------------------------------------------------------------*/</span>
+00205
+00206 <span class="preprocessor">#if defined( Uses_TStreamableTypes ) &amp;&amp; !defined( __TStreamableTypes )</span>
+00207 <span class="preprocessor"></span><span class="preprocessor">#define __TStreamableTypes</span>
+00208 <span class="preprocessor"></span>
+<a name="l00221"></a><a class="code" href="classTStreamableTypes.html">00221</a> <span class="keyword">class </span><a class="code" href="classTStreamableTypes.html">TStreamableTypes</a> : <span class="keyword">private</span> <a class="code" href="classTNSSortedCollection.html">TNSSortedCollection</a>
+00222 {
+00223 <span class="keyword">public</span>:
+00229 <a class="code" href="classTStreamableTypes.html#a0">TStreamableTypes</a>();
+00234 <a class="code" href="classTStreamableTypes.html#a1">~TStreamableTypes</a>();
+00238 <span class="keywordtype">void</span> <a class="code" href="classTStreamableTypes.html#a2">registerType</a>( <span class="keyword">const</span> <a class="code" href="classTStreamableClass.html">TStreamableClass</a> *d );
+00243 <span class="keyword">const</span> <a class="code" href="classTStreamableClass.html">TStreamableClass</a> *<a class="code" href="classTStreamableTypes.html#a3">lookup</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *name );
+<a name="l00247"></a><a class="code" href="classTStreamableTypes.html#a4">00247</a> <span class="keywordtype">void</span> *<a class="code" href="classTStreamableTypes.html#a4">operator new</a>( size_t sz ) { return ::operator new( sz ); }
+00251 <span class="keywordtype">void</span> *<a class="code" href="classTStreamableTypes.html#a4">operator new</a>( size_t, <span class="keywordtype">void</span> * );
+00252 <span class="keyword">private</span>:
+00256 <span class="keyword">virtual</span> <span class="keywordtype">void</span> *<a class="code" href="classTNSSortedCollection.html#a4">keyOf</a>( <span class="keywordtype">void</span> * );
+00260 <span class="keywordtype">int</span> compare( <span class="keywordtype">void</span> *, <span class="keywordtype">void</span> * );
+00261 };
+00262
+00263 <span class="preprocessor">#endif // Uses_TStreamableTypes</span>
+00264 <span class="preprocessor"></span>
+00265 <span class="comment">/* ------------------------------------------------------------------------*/</span>
+00266 <span class="comment">/* */</span>
+00267 <span class="comment">/* class TPWrittenObjects */</span>
+00268 <span class="comment">/* */</span>
+00269 <span class="comment">/* Maintains a database of all objects that have been written to the */</span>
+00270 <span class="comment">/* current object stream. */</span>
+00271 <span class="comment">/* */</span>
+00272 <span class="comment">/* Used by opstream when it writes a pointer onto a stream to determine */</span>
+00273 <span class="comment">/* whether the object pointed to has already been written to the stream. */</span>
+00274 <span class="comment">/* */</span>
+00275 <span class="comment">/* ------------------------------------------------------------------------*/</span>
+00276
+00277 <span class="preprocessor">#if defined( Uses_TPWrittenObjects ) &amp;&amp; !defined( __TPWrittenObjects )</span>
+00278 <span class="preprocessor"></span><span class="preprocessor">#define __TPWrittenObjects</span>
+00279 <span class="preprocessor"></span>
+<a name="l00287"></a><a class="code" href="classTPWrittenObjects.html">00287</a> <span class="keyword">class </span><a class="code" href="classTPWrittenObjects.html">TPWrittenObjects</a> : <span class="keyword">public</span> <a class="code" href="classTNSSortedCollection.html">TNSSortedCollection</a>
+00288 {
+00289 <span class="keyword">friend</span> <a class="code" href="classopstream.html">opstream</a>;
+00290 <span class="keyword">public</span>:
+<a name="l00294"></a><a class="code" href="classTPWrittenObjects.html#a0">00294</a> <span class="keywordtype">void</span> <a class="code" href="classTPWrittenObjects.html#a0">removeAll</a>() { curId = 0; <a class="code" href="classTNSCollection.html#a10">TNSSortedCollection::freeAll</a>(); }
+00295 <span class="keyword">private</span>:
+00301 <a class="code" href="classTPWrittenObjects.html">TPWrittenObjects</a>();
+00305 ~<a class="code" href="classTPWrittenObjects.html">TPWrittenObjects</a>();
+00309 <span class="keywordtype">void</span> registerObject( <span class="keyword">const</span> <span class="keywordtype">void</span> *adr );
+00313 <a class="code" href="tobjstrm_8h.html#a0">P_id_type</a> find( <span class="keyword">const</span> <span class="keywordtype">void</span> *adr );
+00317 <span class="keywordtype">void</span> *<a class="code" href="classTNSSortedCollection.html#a4">keyOf</a>( <span class="keywordtype">void</span> * );
+00321 <span class="keywordtype">int</span> compare( <span class="keywordtype">void</span> *, <span class="keywordtype">void</span> * );
+00325 <a class="code" href="tobjstrm_8h.html#a0">P_id_type</a> curId;
+00326 };
+00327
+00328 <span class="comment">/* ------------------------------------------------------------------------*/</span>
+00329 <span class="comment">/* */</span>
+00330 <span class="comment">/* class TPWObj */</span>
+00331 <span class="comment">/* */</span>
+00332 <span class="comment">/* Used internally by TPWrittenObjects. */</span>
+00333 <span class="comment">/* */</span>
+00334 <span class="comment">/* ------------------------------------------------------------------------*/</span>
+00335
+<a name="l00342"></a><a class="code" href="classTPWObj.html">00342</a> <span class="keyword">class </span><a class="code" href="classTPWObj.html">TPWObj</a>
+00343 {
+00344 <span class="keyword">friend</span> <a class="code" href="classTPWrittenObjects.html">TPWrittenObjects</a>;
+00345 <span class="keyword">private</span>:
+00346 <a class="code" href="classTPWObj.html">TPWObj</a>( <span class="keyword">const</span> <span class="keywordtype">void</span> *adr, <a class="code" href="tobjstrm_8h.html#a0">P_id_type</a> id );
+00347 <span class="keyword">const</span> <span class="keywordtype">void</span> *address;
+00348 <a class="code" href="tobjstrm_8h.html#a0">P_id_type</a> ident;
+00349 };
+00350
+00351 <span class="preprocessor">#endif // Uses_TPWrittenObjects</span>
+00352 <span class="preprocessor"></span>
+00353 <span class="comment">/* ------------------------------------------------------------------------*/</span>
+00354 <span class="comment">/* */</span>
+00355 <span class="comment">/* class TPReadObjects */</span>
+00356 <span class="comment">/* */</span>
+00357 <span class="comment">/* Maintains a database of all objects that have been read from the */</span>
+00358 <span class="comment">/* current persistent stream. */</span>
+00359 <span class="comment">/* */</span>
+00360 <span class="comment">/* Used by ipstream when it reads a pointer from a stream to determine */</span>
+00361 <span class="comment">/* the address of the object being referred to. */</span>
+00362 <span class="comment">/* */</span>
+00363 <span class="comment">/* ------------------------------------------------------------------------*/</span>
+00364
+00365 <span class="preprocessor">#if defined( Uses_TPReadObjects ) &amp;&amp; !defined( __TPReadObjects )</span>
+00366 <span class="preprocessor"></span><span class="preprocessor">#define __TPReadObjects</span>
+00367 <span class="preprocessor"></span>
+<a name="l00376"></a><a class="code" href="classTPReadObjects.html">00376</a> <span class="keyword">class </span><a class="code" href="classTPReadObjects.html">TPReadObjects</a> : <span class="keyword">public</span> <a class="code" href="classTNSCollection.html">TNSCollection</a>
+00377 {
+00378 <span class="keyword">friend</span> <a class="code" href="classipstream.html">ipstream</a>;
+00379 <span class="keyword">public</span>:
+<a name="l00383"></a><a class="code" href="classTPReadObjects.html#a0">00383</a> <span class="keywordtype">void</span> <a class="code" href="classTPReadObjects.html#a0">removeAll</a>() { curId = 0; <a class="code" href="classTNSCollection.html#a8">TNSCollection::removeAll</a>(); }
+00384 <span class="keyword">private</span>:
+00391 <a class="code" href="classTPReadObjects.html">TPReadObjects</a>();
+00395 ~<a class="code" href="classTPReadObjects.html">TPReadObjects</a>();
+00396 <span class="keywordtype">void</span> registerObject( <span class="keyword">const</span> <span class="keywordtype">void</span> *adr );
+00397 <span class="keyword">const</span> <span class="keywordtype">void</span> *find( <a class="code" href="tobjstrm_8h.html#a0">P_id_type</a> id );
+00398 <a class="code" href="tobjstrm_8h.html#a0">P_id_type</a> curId;
+00399 };
+00400
+00401 <span class="preprocessor">#endif // Uses_TPReadObjects</span>
+00402 <span class="preprocessor"></span>
+00403 <span class="comment">/* ------------------------------------------------------------------------*/</span>
+00404 <span class="comment">/* */</span>
+00405 <span class="comment">/* class pstream */</span>
+00406 <span class="comment">/* */</span>
+00407 <span class="comment">/* Base class for handling streamable objects. */</span>
+00408 <span class="comment">/* */</span>
+00409 <span class="comment">/* ------------------------------------------------------------------------*/</span>
+00410
+00411 <span class="preprocessor">#if defined( Uses_pstream ) &amp;&amp; !defined( __pstream )</span>
+00412 <span class="preprocessor"></span><span class="preprocessor">#define __pstream</span>
+00413 <span class="preprocessor"></span>
+00414 <span class="keyword">class </span>streambuf;
+00415
+00416 <span class="preprocessor">#include &lt;iostream.h&gt;</span>
+00417
+00418 <span class="keyword">class </span><a class="code" href="classTStreamableTypes.html">TStreamableTypes</a>;
+00419
+<a name="l00424"></a><a class="code" href="classpstream.html">00424</a> <span class="keyword">class </span><a class="code" href="classpstream.html">pstream</a>
+00425 {
+00426 <span class="keyword">friend</span> <a class="code" href="classTStreamableTypes.html">TStreamableTypes</a>;
+00427 <span class="keyword">public</span>:
+<a name="l00431"></a><a class="code" href="classpstream.html#s5">00431</a> <span class="keyword">enum</span> <a class="code" href="classpstream.html#s5">StreamableError</a> { peNotRegistered, peInvalidType };
+<a name="l00435"></a><a class="code" href="classpstream.html#s6">00435</a> <span class="keyword">enum</span> <a class="code" href="classpstream.html#s6">PointerTypes</a> { ptNull, ptIndexed, ptObject };
+00440 <a class="code" href="classpstream.html#b0">pstream</a>( streambuf *buf );
+00444 <span class="keyword">virtual</span> <a class="code" href="classpstream.html#a1">~pstream</a>();
+00448 <span class="keywordtype">int</span> <a class="code" href="classpstream.html#a2">rdstate</a>() <span class="keyword">const</span>;
+00452 <span class="keywordtype">int</span> <a class="code" href="classpstream.html#a3">eof</a>() <span class="keyword">const</span>;
+00456 <span class="keywordtype">int</span> <a class="code" href="classpstream.html#a4">fail</a>() <span class="keyword">const</span>;
+00460 <span class="keywordtype">int</span> <a class="code" href="classpstream.html#a5">bad</a>() <span class="keyword">const</span>;
+00464 <span class="keywordtype">int</span> <a class="code" href="classpstream.html#a6">good</a>() <span class="keyword">const</span>;
+00469 <span class="keywordtype">void</span> <a class="code" href="classpstream.html#a7">clear</a>( <span class="keywordtype">int</span> sState = 0 );
+00476 <a class="code" href="classpstream.html#a8">operator void *</a>() <span class="keyword">const</span>;
+00480 <span class="keywordtype">int</span> <a class="code" href="classpstream.html#a9">operator ! </a>() <span class="keyword">const</span>;
+00484 streambuf * <a class="code" href="classpstream.html#a10">rdbuf</a>() <span class="keyword">const</span>;
+00489 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classpstream.html#d0">initTypes</a>();
+00498 <span class="keywordtype">void</span> <a class="code" href="classpstream.html#a11">error</a>( <a class="code" href="classpstream.html#s5">StreamableError</a> );
+00507 <span class="keywordtype">void</span> <a class="code" href="classpstream.html#a11">error</a>( <a class="code" href="classpstream.html#s5">StreamableError</a>, <span class="keyword">const</span> <a class="code" href="classTStreamable.html">TStreamable</a>&amp; );
+00511 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classpstream.html#d1">registerType</a>( <a class="code" href="classTStreamableClass.html">TStreamableClass</a> *ts );
+00512 <span class="keyword">protected</span>:
+00516 <a class="code" href="classpstream.html#b0">pstream</a>();
+<a name="l00520"></a><a class="code" href="classpstream.html#n0">00520</a> streambuf *<a class="code" href="classpstream.html#n0">bp</a>;
+<a name="l00525"></a><a class="code" href="classpstream.html#n1">00525</a> <span class="keywordtype">int</span> <a class="code" href="classpstream.html#n1">state</a>;
+00529 <span class="keywordtype">void</span> <a class="code" href="classpstream.html#b1">init</a>( streambuf *sbp );
+00533 <span class="keywordtype">void</span> <a class="code" href="classpstream.html#b2">setstate</a>( <span class="keywordtype">int</span> b );
+<a name="l00538"></a><a class="code" href="classpstream.html#q0">00538</a> <span class="keyword">static</span> <a class="code" href="classTStreamableTypes.html">TStreamableTypes</a> * <a class="code" href="classpstream.html#q0">types</a>;
+00539 };
+00540
+00541 <span class="preprocessor">#endif // Uses_pstream</span>
+00542 <span class="preprocessor"></span>
+00543 <span class="comment">/* ------------------------------------------------------------------------*/</span>
+00544 <span class="comment">/* */</span>
+00545 <span class="comment">/* class ipstream */</span>
+00546 <span class="comment">/* */</span>
+00547 <span class="comment">/* Base class for reading streamable objects */</span>
+00548 <span class="comment">/* */</span>
+00549 <span class="comment">/* ------------------------------------------------------------------------*/</span>
+00550
+00551 <span class="preprocessor">#if defined( Uses_ipstream ) &amp;&amp; !defined( __ipstream )</span>
+00552 <span class="preprocessor"></span><span class="preprocessor">#define __ipstream</span>
+00553 <span class="preprocessor"></span>
+00554 <span class="preprocessor">#include &lt;iostream.h&gt;</span>
+00555
+00556 <span class="keyword">class </span><a class="code" href="classTStreamableClass.html">TStreamableClass</a>;
+00557
+<a name="l00573"></a><a class="code" href="classipstream.html">00573</a> <span class="keyword">class </span><a class="code" href="classipstream.html">ipstream</a> : <span class="keyword">virtual</span> <span class="keyword">public</span> <a class="code" href="classpstream.html">pstream</a>
+00574 {
+00575 <span class="keyword">public</span>:
+00581 <a class="code" href="classipstream.html#b0">ipstream</a>( streambuf *buf );
+00585 <a class="code" href="classipstream.html#a1">~ipstream</a>();
+00589 streampos <a class="code" href="classipstream.html#a2">tellg</a>();
+00594 <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="classipstream.html#a3">seekg</a>( streampos pos );
+00607 <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="classipstream.html#a3">seekg</a>( streamoff off, ios::seek_dir dir );
+00611 <a class="code" href="ttypes_8h.html#a1">uchar</a> <a class="code" href="classipstream.html#a5">readByte</a>();
+00616 <span class="keywordtype">void</span> <a class="code" href="classipstream.html#a6">readBytes</a>( <span class="keywordtype">void</span> *data, size_t sz );
+00620 <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="classipstream.html#a7">readWord</a>();
+00624 <span class="keywordtype">char</span> * <a class="code" href="classipstream.html#a8">readString</a>();
+00628 <span class="keywordtype">char</span> * <a class="code" href="classipstream.html#a8">readString</a>( <span class="keywordtype">char</span> *buf, <span class="keywordtype">unsigned</span> maxLen );
+00632 <span class="keyword">friend</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="classipstream.html#l0">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp;, <span class="keywordtype">char</span>&amp; );
+00636 <span class="keyword">friend</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="classipstream.html#l0">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp;, <span class="keywordtype">signed</span> <span class="keywordtype">char</span>&amp; );
+00640 <span class="keyword">friend</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="classipstream.html#l0">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp;, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>&amp; );
+00644 <span class="keyword">friend</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="classipstream.html#l0">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp;, <span class="keywordtype">signed</span> <span class="keywordtype">short</span>&amp; );
+00648 <span class="keyword">friend</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="classipstream.html#l0">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp;, <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span>&amp; );
+00652 <span class="keyword">friend</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="classipstream.html#l0">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp;, <span class="keywordtype">signed</span> <span class="keywordtype">int</span>&amp; );
+00656 <span class="keyword">friend</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="classipstream.html#l0">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp;, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>&amp; );
+00660 <span class="keyword">friend</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="classipstream.html#l0">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp;, <span class="keywordtype">signed</span> <span class="keywordtype">long</span>&amp; );
+00664 <span class="keyword">friend</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="classipstream.html#l0">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp;, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>&amp; );
+00668 <span class="keyword">friend</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="classipstream.html#l0">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp;, <span class="keywordtype">float</span>&amp; );
+00672 <span class="keyword">friend</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="classipstream.html#l0">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp;, <span class="keywordtype">double</span>&amp; );
+00676 <span class="keyword">friend</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="classipstream.html#l0">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp;, <span class="keywordtype">long</span> <span class="keywordtype">double</span>&amp; );
+00680 <span class="keyword">friend</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="classipstream.html#l0">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp;, <a class="code" href="classTStreamable.html">TStreamable</a>&amp; );
+00684 <span class="keyword">friend</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="classipstream.html#l0">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp;, <span class="keywordtype">void</span> *&amp; );
+00685 <span class="keyword">protected</span>:
+00689 <a class="code" href="classipstream.html#b0">ipstream</a>();
+00694 <span class="keyword">const</span> <a class="code" href="classTStreamableClass.html">TStreamableClass</a> * <a class="code" href="classipstream.html#b1">readPrefix</a>();
+00700 <span class="keywordtype">void</span> * <a class="code" href="classipstream.html#b2">readData</a>( <span class="keyword">const</span> <a class="code" href="classTStreamableClass.html">TStreamableClass</a> *c, <a class="code" href="classTStreamable.html">TStreamable</a> *mem );
+00704 <span class="keywordtype">void</span> <a class="code" href="classipstream.html#b3">readSuffix</a>();
+00708 <span class="keyword">const</span> <span class="keywordtype">void</span> * <a class="code" href="classipstream.html#b4">find</a>( <a class="code" href="tobjstrm_8h.html#a0">P_id_type</a> id );
+00712 <span class="keywordtype">void</span> <a class="code" href="classipstream.html#b5">registerObject</a>( <span class="keyword">const</span> <span class="keywordtype">void</span> *adr );
+00713 <span class="keyword">private</span>:
+00714 <a class="code" href="classTPReadObjects.html">TPReadObjects</a> objs;
+00715
+00716 };
+00717
+00718 <span class="preprocessor">#endif // Uses_ipstream</span>
+00719 <span class="preprocessor"></span>
+00720 <span class="comment">/* ------------------------------------------------------------------------*/</span>
+00721 <span class="comment">/* */</span>
+00722 <span class="comment">/* class opstream */</span>
+00723 <span class="comment">/* */</span>
+00724 <span class="comment">/* Base class for writing streamable objects */</span>
+00725 <span class="comment">/* */</span>
+00726 <span class="comment">/* ------------------------------------------------------------------------*/</span>
+00727
+00728 <span class="preprocessor">#if defined( Uses_opstream ) &amp;&amp; !defined( __opstream )</span>
+00729 <span class="preprocessor"></span><span class="preprocessor">#define __opstream</span>
+00730 <span class="preprocessor"></span>
+00731 <span class="preprocessor">#include &lt;iostream.h&gt;</span>
+00732
+00733 <span class="keyword">class </span><a class="code" href="classTStreamableClass.html">TStreamableClass</a>;
+00734
+<a name="l00750"></a><a class="code" href="classopstream.html">00750</a> <span class="keyword">class </span><a class="code" href="classopstream.html">opstream</a> : <span class="keyword">virtual</span> <span class="keyword">public</span> <a class="code" href="classpstream.html">pstream</a>
+00751 {
+00752 <span class="keyword">public</span>:
+00758 <a class="code" href="classopstream.html#b0">opstream</a>( streambuf *buf );
+00762 <a class="code" href="classopstream.html#a1">~opstream</a>();
+00766 streampos <a class="code" href="classopstream.html#a2">tellp</a>();
+00771 <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="classopstream.html#a3">seekp</a>( streampos pos );
+00784 <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="classopstream.html#a3">seekp</a>( streamoff off, ios::seek_dir dir );
+00788 <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="classopstream.html#a5">flush</a>();
+00792 <span class="keywordtype">void</span> <a class="code" href="classopstream.html#a6">writeByte</a>( <a class="code" href="ttypes_8h.html#a1">uchar</a> ch );
+00796 <span class="keywordtype">void</span> <a class="code" href="classopstream.html#a7">writeBytes</a>( <span class="keyword">const</span> <span class="keywordtype">void</span> *data, size_t sz );
+00800 <span class="keywordtype">void</span> <a class="code" href="classopstream.html#a8">writeWord</a>( <a class="code" href="ttypes_8h.html#a0">ushort</a> us );
+00804 <span class="keywordtype">void</span> <a class="code" href="classopstream.html#a9">writeString</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *str );
+00808 <span class="keyword">friend</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="classopstream.html#l0">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp;, <span class="keywordtype">char</span> );
+00812 <span class="keyword">friend</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="classopstream.html#l0">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp;, <span class="keywordtype">signed</span> <span class="keywordtype">char</span> );
+00816 <span class="keyword">friend</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="classopstream.html#l0">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp;, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> );
+00820 <span class="keyword">friend</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="classopstream.html#l0">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp;, <span class="keywordtype">signed</span> <span class="keywordtype">short</span> );
+00824 <span class="keyword">friend</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="classopstream.html#l0">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp;, <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> );
+00828 <span class="keyword">friend</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="classopstream.html#l0">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp;, <span class="keywordtype">signed</span> <span class="keywordtype">int</span> );
+00832 <span class="keyword">friend</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="classopstream.html#l0">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp;, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> );
+00836 <span class="keyword">friend</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="classopstream.html#l0">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp;, <span class="keywordtype">signed</span> <span class="keywordtype">long</span> );
+00840 <span class="keyword">friend</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="classopstream.html#l0">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp;, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> );
+00844 <span class="keyword">friend</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="classopstream.html#l0">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp;, <span class="keywordtype">float</span> );
+00848 <span class="keyword">friend</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="classopstream.html#l0">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp;, <span class="keywordtype">double</span> );
+00852 <span class="keyword">friend</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="classopstream.html#l0">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp;, <span class="keywordtype">long</span> <span class="keywordtype">double</span> );
+00856 <span class="keyword">friend</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="classopstream.html#l0">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp;, <a class="code" href="classTStreamable.html">TStreamable</a>&amp; );
+00860 <span class="keyword">friend</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="classopstream.html#l0">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp;, <a class="code" href="classTStreamable.html">TStreamable</a> * );
+00861 <span class="keyword">protected</span>:
+00865 <a class="code" href="classopstream.html#b0">opstream</a>();
+00873 <span class="keywordtype">void</span> <a class="code" href="classopstream.html#b1">writePrefix</a>( <span class="keyword">const</span> <a class="code" href="classTStreamable.html">TStreamable</a>&amp; );
+00878 <span class="keywordtype">void</span> <a class="code" href="classopstream.html#b2">writeData</a>( <a class="code" href="classTStreamable.html">TStreamable</a>&amp; );
+00886 <span class="keywordtype">void</span> <a class="code" href="classopstream.html#b3">writeSuffix</a>( <span class="keyword">const</span> <a class="code" href="classTStreamable.html">TStreamable</a>&amp; );
+00890 <a class="code" href="tobjstrm_8h.html#a0">P_id_type</a> <a class="code" href="classopstream.html#b4">find</a>( <span class="keyword">const</span> <span class="keywordtype">void</span> *adr );
+00894 <span class="keywordtype">void</span> <a class="code" href="classopstream.html#b5">registerObject</a>( <span class="keyword">const</span> <span class="keywordtype">void</span> *adr );
+00895 <span class="keyword">private</span>:
+00896 <a class="code" href="classTPWrittenObjects.html">TPWrittenObjects</a> *objs;
+00897 };
+00898
+00899 <span class="preprocessor">#endif // Uses_opstream</span>
+00900 <span class="preprocessor"></span>
+00901 <span class="comment">/* ------------------------------------------------------------------------*/</span>
+00902 <span class="comment">/* */</span>
+00903 <span class="comment">/* class iopstream */</span>
+00904 <span class="comment">/* */</span>
+00905 <span class="comment">/* Base class for reading and writing streamable objects */</span>
+00906 <span class="comment">/* */</span>
+00907 <span class="comment">/* ------------------------------------------------------------------------*/</span>
+00908
+00909 <span class="preprocessor">#if defined( Uses_iopstream ) &amp;&amp; !defined( __iopstream )</span>
+00910 <span class="preprocessor"></span><span class="preprocessor">#define __iopstream</span>
+00911 <span class="preprocessor"></span>
+00912 <span class="preprocessor">#include &lt;iostream.h&gt;</span>
+00913
+<a name="l00921"></a><a class="code" href="classiopstream.html">00921</a> <span class="keyword">class </span><a class="code" href="classiopstream.html">iopstream</a> : <span class="keyword">public</span> <a class="code" href="classipstream.html">ipstream</a>, <span class="keyword">public</span> <a class="code" href="classopstream.html">opstream</a>
+00922 {
+00923 <span class="keyword">public</span>:
+00928 <a class="code" href="classiopstream.html#b0">iopstream</a>( streambuf *buf );
+00932 <a class="code" href="classiopstream.html#a1">~iopstream</a>();
+00933 <span class="keyword">protected</span>:
+00937 <a class="code" href="classiopstream.html#b0">iopstream</a>();
+00938 };
+00939
+00940 <span class="preprocessor">#endif // Uses_iopstream</span>
+00941 <span class="preprocessor"></span>
+00942 <span class="comment">/* ------------------------------------------------------------------------*/</span>
+00943 <span class="comment">/* */</span>
+00944 <span class="comment">/* class fpbase */</span>
+00945 <span class="comment">/* */</span>
+00946 <span class="comment">/* Base class for handling streamable objects on file streams */</span>
+00947 <span class="comment">/* */</span>
+00948 <span class="comment">/* ------------------------------------------------------------------------*/</span>
+00949
+00950 <span class="preprocessor">#if defined( Uses_fpbase ) &amp;&amp; !defined( __fpbase )</span>
+00951 <span class="preprocessor"></span><span class="preprocessor">#define __fpbase</span>
+00952 <span class="preprocessor"></span>
+00953 <span class="preprocessor">#include &lt;fstream.h&gt;</span>
+00954
+<a name="l00959"></a><a class="code" href="classfpbase.html">00959</a> <span class="keyword">class </span><a class="code" href="classfpbase.html">fpbase</a> : <span class="keyword">virtual</span> <span class="keyword">public</span> <a class="code" href="classpstream.html">pstream</a>
+00960 {
+00961 <span class="keyword">public</span>:
+00965 <a class="code" href="classfpbase.html#a0">fpbase</a>();
+00971 <a class="code" href="classfpbase.html#a0">fpbase</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keywordtype">int</span> omode, <span class="keywordtype">int</span> prot = filebuf::openprot );
+00976 <a class="code" href="classfpbase.html#a0">fpbase</a>( <span class="keywordtype">int</span> f );
+00983 <a class="code" href="classfpbase.html#a0">fpbase</a>( <span class="keywordtype">int</span> f, <span class="keywordtype">char</span> *b, <span class="keywordtype">int</span> len);
+00987 <a class="code" href="classfpbase.html#a4">~fpbase</a>();
+00993 <span class="keywordtype">void</span> <a class="code" href="classfpbase.html#a5">open</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keywordtype">int</span> omode, <span class="keywordtype">int</span> prot = filebuf::openprot );
+00997 <span class="keywordtype">void</span> <a class="code" href="classfpbase.html#a6">attach</a>( <span class="keywordtype">int</span> f );
+01001 <span class="keywordtype">void</span> <a class="code" href="classfpbase.html#a7">close</a>();
+01005 <span class="keywordtype">void</span> <a class="code" href="classfpbase.html#a8">setbuf</a>( <span class="keywordtype">char</span> *buf, <span class="keywordtype">int</span> len );
+01009 filebuf * <a class="code" href="classfpbase.html#a9">rdbuf</a>();
+01010 <span class="keyword">private</span>:
+01011 filebuf buf;
+01012 };
+01013
+01014 <span class="preprocessor">#endif // Uses_fpbase</span>
+01015 <span class="preprocessor"></span>
+01016 <span class="comment">/* ------------------------------------------------------------------------*/</span>
+01017 <span class="comment">/* */</span>
+01018 <span class="comment">/* class ifpstream */</span>
+01019 <span class="comment">/* */</span>
+01020 <span class="comment">/* Base class for reading streamable objects from file streams */</span>
+01021 <span class="comment">/* */</span>
+01022 <span class="comment">/* ------------------------------------------------------------------------*/</span>
+01023
+01024 <span class="preprocessor">#if defined( Uses_ifpstream ) &amp;&amp; !defined( __ifpstream )</span>
+01025 <span class="preprocessor"></span><span class="preprocessor">#define __ifpstream</span>
+01026 <span class="preprocessor"></span>
+01027 <span class="preprocessor">#include &lt;iostream.h&gt;</span>
+01028
+<a name="l01036"></a><a class="code" href="classifpstream.html">01036</a> <span class="keyword">class </span><a class="code" href="classifpstream.html">ifpstream</a> : <span class="keyword">public</span> <a class="code" href="classfpbase.html">fpbase</a>, <span class="keyword">public</span> <a class="code" href="classipstream.html">ipstream</a>
+01037 {
+01038 <span class="keyword">public</span>:
+01042 <a class="code" href="classifpstream.html#a0">ifpstream</a>();
+01048 <a class="code" href="classifpstream.html#a0">ifpstream</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keywordtype">int</span> omode = ios::in,
+01049 <span class="keywordtype">int</span> prot = filebuf::openprot );
+01054 <a class="code" href="classifpstream.html#a0">ifpstream</a>( <span class="keywordtype">int</span> f );
+01061 <a class="code" href="classifpstream.html#a0">ifpstream</a>( <span class="keywordtype">int</span> f, <span class="keywordtype">char</span> *b, <span class="keywordtype">int</span> len );
+01065 <a class="code" href="classifpstream.html#a4">~ifpstream</a>();
+01069 filebuf * <a class="code" href="classifpstream.html#a5">rdbuf</a>();
+01076 <span class="keywordtype">void</span> <a class="code" href="classifpstream.html#a6">open</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keywordtype">int</span> omode = ios::in,
+01077 <span class="keywordtype">int</span> prot = filebuf::openprot );
+01078 };
+01079
+01080 <span class="preprocessor">#endif // Uses_ifpstream</span>
+01081 <span class="preprocessor"></span>
+01082 <span class="comment">/* ------------------------------------------------------------------------*/</span>
+01083 <span class="comment">/* */</span>
+01084 <span class="comment">/* class ofpstream */</span>
+01085 <span class="comment">/* */</span>
+01086 <span class="comment">/* Base class for writing streamable objects to file streams */</span>
+01087 <span class="comment">/* */</span>
+01088 <span class="comment">/* ------------------------------------------------------------------------*/</span>
+01089
+01090 <span class="preprocessor">#if defined( Uses_ofpstream ) &amp;&amp; !defined( __ofpstream )</span>
+01091 <span class="preprocessor"></span><span class="preprocessor">#define __ofpstream</span>
+01092 <span class="preprocessor"></span>
+01093 <span class="preprocessor">#include &lt;iostream.h&gt;</span>
+01094
+<a name="l01102"></a><a class="code" href="classofpstream.html">01102</a> <span class="keyword">class </span><a class="code" href="classofpstream.html">ofpstream</a> : <span class="keyword">public</span> <a class="code" href="classfpbase.html">fpbase</a>, <span class="keyword">public</span> <a class="code" href="classopstream.html">opstream</a>
+01103 {
+01104 <span class="keyword">public</span>:
+01108 <a class="code" href="classofpstream.html#a0">ofpstream</a>();
+01114 <a class="code" href="classofpstream.html#a0">ofpstream</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keywordtype">int</span> omode = ios::out, <span class="keywordtype">int</span> prot =
+01115 filebuf::openprot );
+01120 <a class="code" href="classofpstream.html#a0">ofpstream</a>( <span class="keywordtype">int</span> f );
+01127 <a class="code" href="classofpstream.html#a0">ofpstream</a>( <span class="keywordtype">int</span> f, <span class="keywordtype">char</span> *b, <span class="keywordtype">int</span> len );
+01131 <a class="code" href="classofpstream.html#a4">~ofpstream</a>();
+01135 filebuf * <a class="code" href="classofpstream.html#a5">rdbuf</a>();
+01142 <span class="keywordtype">void</span> <a class="code" href="classofpstream.html#a6">open</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keywordtype">int</span> omode = ios::out,
+01143 <span class="keywordtype">int</span> prot = filebuf::openprot );
+01144 };
+01145
+01146 <span class="preprocessor">#endif // Uses_ofpstream</span>
+01147 <span class="preprocessor"></span>
+01148 <span class="comment">/* ------------------------------------------------------------------------*/</span>
+01149 <span class="comment">/* */</span>
+01150 <span class="comment">/* class fpstream */</span>
+01151 <span class="comment">/* */</span>
+01152 <span class="comment">/* Base class for reading and writing streamable objects to */</span>
+01153 <span class="comment">/* bidirectional file streams */</span>
+01154 <span class="comment">/* */</span>
+01155 <span class="comment">/* ------------------------------------------------------------------------*/</span>
+01156
+01157 <span class="preprocessor">#if defined( Uses_fpstream ) &amp;&amp; !defined( __fpstream )</span>
+01158 <span class="preprocessor"></span><span class="preprocessor">#define __fpstream</span>
+01159 <span class="preprocessor"></span>
+01160 <span class="preprocessor">#include &lt;iostream.h&gt;</span>
+01161
+<a name="l01170"></a><a class="code" href="classfpstream.html">01170</a> <span class="keyword">class </span><a class="code" href="classfpstream.html">fpstream</a> : <span class="keyword">public</span> <a class="code" href="classfpbase.html">fpbase</a>, <span class="keyword">public</span> <a class="code" href="classiopstream.html">iopstream</a>
+01171 {
+01172 <span class="keyword">public</span>:
+01176 <a class="code" href="classfpstream.html#a0">fpstream</a>();
+01182 <a class="code" href="classfpstream.html#a0">fpstream</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keywordtype">int</span> omode, <span class="keywordtype">int</span> prot = filebuf::openprot );
+01187 <a class="code" href="classfpstream.html#a0">fpstream</a>( <span class="keywordtype">int</span> f );
+01194 <a class="code" href="classfpstream.html#a0">fpstream</a>( <span class="keywordtype">int</span> f, <span class="keywordtype">char</span> *b, <span class="keywordtype">int</span> len );
+01198 <a class="code" href="classfpstream.html#a4">~fpstream</a>();
+01202 filebuf * <a class="code" href="classfpstream.html#a5">rdbuf</a>();
+01208 <span class="keywordtype">void</span> <a class="code" href="classfpstream.html#a6">open</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keywordtype">int</span> omode, <span class="keywordtype">int</span> prot = filebuf::openprot );
+01209 };
+01210
+01211 <span class="preprocessor">#endif // Uses_fpstream</span>
+</pre></div><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:10 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/tobjstrm_8h.html b/freebsdtvision/doc/html/tobjstrm_8h.html
new file mode 100644
index 0000000..a7f5729
--- /dev/null
+++ b/freebsdtvision/doc/html/tobjstrm_8h.html
@@ -0,0 +1,135 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>tobjstrm.h File Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>tobjstrm.h File Reference</h1>
+<p>
+<a href="tobjstrm_8h-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Compounds</h2></td></tr>
+<tr><td nowrap align=right valign=top>struct &nbsp;</td><td valign=bottom><a class="el" href="structfLink.html">fLink</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Internal structure.</em> <a href="structfLink.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classfpbase.html">fpbase</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Base class for handling streamable objects on file streams.</em> <a href="classfpbase.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classfpstream.html">fpstream</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Provides the base class for simultaneous writing and reading streamable objects to bidirectional file streams.</em> <a href="classfpstream.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classifpstream.html">ifpstream</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Provides the base class for reading (extracting) streamable objects from file streams.</em> <a href="classifpstream.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classiopstream.html">iopstream</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>The base class for simultaneous writing and reading streamable objects to and from streams.</em> <a href="classiopstream.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classipstream.html">ipstream</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>The base class for reading (extracting) streamable objects from streams.</em> <a href="classipstream.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classofpstream.html">ofpstream</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Provides the base class for writing (inserting) streamable objects to file streams.</em> <a href="classofpstream.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classopstream.html">opstream</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>The base class for writing (inserting) streamable objects into streams.</em> <a href="classopstream.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTPReadObjects.html">TPReadObjects</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Maintains a database of all objects that have been read from the current object stream.</em> <a href="classTPReadObjects.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classpstream.html">pstream</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>The base class for handling streamable objects.</em> <a href="classpstream.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTPWObj.html">TPWObj</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Used internally by <a class="el" href="classTPWrittenObjects.html">TPWrittenObjects</a>.</em> <a href="classTPWObj.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTPWrittenObjects.html">TPWrittenObjects</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Maintains a database of all objects that have been written to the current object stream.</em> <a href="classTPWrittenObjects.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTStreamable.html">TStreamable</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Gives the streamable property to a class.</em> <a href="classTStreamable.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTStreamableClass.html">TStreamableClass</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>TStreamableClass is used by <a class="el" href="classTStreamableTypes.html">TStreamableTypes</a> and pstream in the registration of streamable classes.</em> <a href="classTStreamableClass.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTStreamableTypes.html">TStreamableTypes</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Maintains a database of all registered streamable types used in an application.</em> <a href="classTStreamableTypes.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td colspan=2><br><h2>Typedefs</h2></td></tr>
+<tr><td nowrap align=right valign=top>typedef unsigned&nbsp;</td><td valign=bottom><a class="el" href="tobjstrm_8h.html#a0">P_id_type</a></td></tr>
+<tr><td nowrap align=right valign=top>typedef <a class="el" href="classTStreamable.html">TStreamable</a> *(*&nbsp;</td><td valign=bottom><a class="el" href="tobjstrm_8h.html#a2">BUILDER</a> )()</td></tr>
+<tr><td colspan=2><br><h2>Variables</h2></td></tr>
+<tr><td nowrap align=right valign=top>const <a class="el" href="tobjstrm_8h.html#a0">P_id_type</a>&nbsp;</td><td valign=bottom><a class="el" href="tobjstrm_8h.html#a1">P_id_notFound</a> = UINT_MAX</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+ <a class="el" href="tobjstrm_8h.html">tobjstrm.h</a>
+<p>
+
+<p>
+Definition in file <a class="el" href="tobjstrm_8h-source.html">tobjstrm.h</a>.<hr><h2>Typedef Documentation</h2>
+<a name="a2" doxytag="tobjstrm.h::BUILDER"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> typedef <a class="el" href="classTStreamable.html">TStreamable</a>*(* BUILDER)()
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Each streamable class has a builder function of type BUILDER. The builder provides raw memory of the correct size and initializes the virtual table pointers when objects are created by certain stream read operations. The read() function of the streamable class reads data from the stream into the raw object provided by the builder. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTStreamable.html#b0">TStreamable::read</a> </dl>
+<p>
+Definition at line <a class="el" href="tobjstrm_8h-source.html#l00145">145</a> of file <a class="el" href="tobjstrm_8h-source.html">tobjstrm.h</a>. </td>
+ </tr>
+</table>
+<a name="a0" doxytag="tobjstrm.h::P_id_type"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> typedef unsigned P_id_type
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="tobjstrm_8h-source.html#l00019">19</a> of file <a class="el" href="tobjstrm_8h-source.html">tobjstrm.h</a>. </td>
+ </tr>
+</table>
+<hr><h2>Variable Documentation</h2>
+<a name="a1" doxytag="tobjstrm.h::P_id_notFound"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="tobjstrm_8h.html#a0">P_id_type</a> P_id_notFound = UINT_MAX
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="tobjstrm_8h-source.html#l00135">135</a> of file <a class="el" href="tobjstrm_8h-source.html">tobjstrm.h</a>. </td>
+ </tr>
+</table>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:11 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/ttypes_8h-source.html b/freebsdtvision/doc/html/ttypes_8h-source.html
new file mode 100644
index 0000000..3042bef
--- /dev/null
+++ b/freebsdtvision/doc/html/ttypes_8h-source.html
@@ -0,0 +1,58 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>ttypes.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>ttypes.h</h1><a href="ttypes_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="comment">/*</span>
+00002 <span class="comment"> * ttypes.h</span>
+00003 <span class="comment"> *</span>
+00004 <span class="comment"> * Turbo Vision - Version 2.0</span>
+00005 <span class="comment"> *</span>
+00006 <span class="comment"> * Copyright (c) 1994 by Borland International</span>
+00007 <span class="comment"> * All Rights Reserved.</span>
+00008 <span class="comment"> *</span>
+00009 <span class="comment"> * Modified by Sergio Sigala &lt;sergio@sigala.it&gt;</span>
+00010 <span class="comment"> */</span>
+00011
+00012 <span class="preprocessor">#if !defined( __TTYPES_H )</span>
+00013 <span class="preprocessor"></span><span class="preprocessor">#define __TTYPES_H</span>
+00014 <span class="preprocessor"></span>
+<a name="l00030"></a><a class="code" href="ttypes_8h.html#a13">00030</a> <span class="keyword">enum</span> <a class="code" href="ttypes_8h.html#a13">Boolean</a> { False, True };
+00031
+<a name="l00035"></a><a class="code" href="ttypes_8h.html#a0">00035</a> <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> <a class="code" href="ttypes_8h.html#a0">ushort</a>;
+00036
+<a name="l00040"></a><a class="code" href="ttypes_8h.html#a1">00040</a> <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="ttypes_8h.html#a1">uchar</a>;
+00041
+<a name="l00045"></a><a class="code" href="ttypes_8h.html#a2">00045</a> <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="ttypes_8h.html#a2">uint</a>;
+00046
+<a name="l00050"></a><a class="code" href="ttypes_8h.html#a3">00050</a> <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="ttypes_8h.html#a3">ulong</a>;
+00051
+00055 <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="ttypes_8h.html#a4">EOS</a> = <span class="charliteral">'\0'</span>;
+00056
+<a name="l00062"></a><a class="code" href="ttypes_8h.html#a14">00062</a> <span class="keyword">enum</span> <a class="code" href="ttypes_8h.html#a14">StreamableInit</a> { streamableInit };
+00063
+00064 <span class="keyword">class </span><a class="code" href="classipstream.html">ipstream</a>;
+00065 <span class="keyword">class </span><a class="code" href="classopstream.html">opstream</a>;
+00066 <span class="keyword">class </span><a class="code" href="classTStreamable.html">TStreamable</a>;
+00067 <span class="keyword">class </span><a class="code" href="classTStreamableTypes.html">TStreamableTypes</a>;
+00068
+<a name="l00072"></a><a class="code" href="ttypes_8h.html#a5">00072</a> <span class="keyword">typedef</span> <span class="keywordtype">int</span> <a class="code" href="ttypes_8h.html#a5">ccIndex</a>;
+00073
+<a name="l00078"></a><a class="code" href="ttypes_8h.html#a6">00078</a> <span class="keyword">typedef</span> <a class="code" href="ttypes_8h.html#a13">Boolean</a> (*<a class="code" href="ttypes_8h.html#a6">ccTestFunc</a>)( <span class="keywordtype">void</span> *item, <span class="keywordtype">void</span> *arg );
+00079
+<a name="l00084"></a><a class="code" href="ttypes_8h.html#a7">00084</a> <span class="keyword">typedef</span> void (*<a class="code" href="ttypes_8h.html#a7">ccAppFunc</a>)( <span class="keywordtype">void</span> *item, <span class="keywordtype">void</span> *arg );
+00085
+00090 <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ttypes_8h.html#a8">ccNotFound</a> = -1;
+00091
+00098 <span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="ttypes_8h.html#a1">uchar</a> <a class="code" href="ttypes_8h.html#a9">specialChars</a>[];
+00099
+00100 <span class="preprocessor">#endif // __TTYPES_H</span>
+</pre></div><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:10 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/ttypes_8h.html b/freebsdtvision/doc/html/ttypes_8h.html
new file mode 100644
index 0000000..4b2cb00
--- /dev/null
+++ b/freebsdtvision/doc/html/ttypes_8h.html
@@ -0,0 +1,345 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>ttypes.h File Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>ttypes.h File Reference</h1>
+<p>
+<a href="ttypes_8h-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Typedefs</h2></td></tr>
+<tr><td nowrap align=right valign=top>typedef unsigned short&nbsp;</td><td valign=bottom><a class="el" href="ttypes_8h.html#a0">ushort</a></td></tr>
+<tr><td nowrap align=right valign=top>typedef unsigned char&nbsp;</td><td valign=bottom><a class="el" href="ttypes_8h.html#a1">uchar</a></td></tr>
+<tr><td nowrap align=right valign=top>typedef unsigned int&nbsp;</td><td valign=bottom><a class="el" href="ttypes_8h.html#a2">uint</a></td></tr>
+<tr><td nowrap align=right valign=top>typedef unsigned long&nbsp;</td><td valign=bottom><a class="el" href="ttypes_8h.html#a3">ulong</a></td></tr>
+<tr><td nowrap align=right valign=top>typedef int&nbsp;</td><td valign=bottom><a class="el" href="ttypes_8h.html#a5">ccIndex</a></td></tr>
+<tr><td nowrap align=right valign=top>typedef <a class="el" href="ttypes_8h.html#a13">Boolean</a>(*&nbsp;</td><td valign=bottom><a class="el" href="ttypes_8h.html#a6">ccTestFunc</a> )(void *item, void *arg)</td></tr>
+<tr><td nowrap align=right valign=top>typedef void(*&nbsp;</td><td valign=bottom><a class="el" href="ttypes_8h.html#a7">ccAppFunc</a> )(void *item, void *arg)</td></tr>
+<tr><td colspan=2><br><h2>Enumerations</h2></td></tr>
+<tr><td nowrap align=right valign=top>enum &nbsp;</td><td valign=bottom><a class="el" href="ttypes_8h.html#a13">Boolean</a> </td></tr>
+<tr><td nowrap align=right valign=top>enum &nbsp;</td><td valign=bottom><a class="el" href="ttypes_8h.html#a14">StreamableInit</a> </td></tr>
+<tr><td colspan=2><br><h2>Variables</h2></td></tr>
+<tr><td nowrap align=right valign=top>const char&nbsp;</td><td valign=bottom><a class="el" href="ttypes_8h.html#a4">EOS</a> = '\0'</td></tr>
+<tr><td nowrap align=right valign=top>const int&nbsp;</td><td valign=bottom><a class="el" href="ttypes_8h.html#a8">ccNotFound</a> = -1</td></tr>
+<tr><td nowrap align=right valign=top>const <a class="el" href="ttypes_8h.html#a1">uchar</a>&nbsp;</td><td valign=bottom><a class="el" href="ttypes_8h.html#a9">specialChars</a> []</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+ <a class="el" href="ttypes_8h.html">ttypes.h</a>
+<p>
+
+<p>
+Definition in file <a class="el" href="ttypes_8h-source.html">ttypes.h</a>.<hr><h2>Typedef Documentation</h2>
+<a name="a7" doxytag="ttypes.h::ccAppFunc"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> typedef void(* ccAppFunc)( void *item, void *arg )
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Used in iterator functions to provide an action function and argument list to be applied to a range of items in a collection.
+<p>
+Definition at line <a class="el" href="ttypes_8h-source.html#l00084">84</a> of file <a class="el" href="ttypes_8h-source.html">ttypes.h</a>. </td>
+ </tr>
+</table>
+<a name="a5" doxytag="ttypes.h::ccIndex"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> typedef int ccIndex
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Used to index and count the items in a collection.
+<p>
+Definition at line <a class="el" href="ttypes_8h-source.html#l00072">72</a> of file <a class="el" href="ttypes_8h-source.html">ttypes.h</a>.
+<p>
+Referenced by <a class="el" href="stddlg_8h-source.html#l01009">TDirCollection::at()</a>, <a class="el" href="stddlg_8h-source.html#l00209">TFileCollection::at()</a>, <a class="el" href="stddlg_8h-source.html#l01038">TDirCollection::atInsert()</a>, <a class="el" href="stddlg_8h-source.html#l00237">TFileCollection::atInsert()</a>, <a class="el" href="stddlg_8h-source.html#l01044">TDirCollection::atPut()</a>, <a class="el" href="stddlg_8h-source.html#l00242">TFileCollection::atPut()</a>, <a class="el" href="tvobjs_8h-source.html#l00351">TNSCollection::getCount()</a>, <a class="el" href="stddlg_8h-source.html#l01015">TDirCollection::indexOf()</a>, <a class="el" href="stddlg_8h-source.html#l00215">TFileCollection::indexOf()</a>, <a class="el" href="stddlg_8h-source.html#l01052">TDirCollection::insert()</a>, <a class="el" href="stddlg_8h-source.html#l00251">TFileCollection::insert()</a>, <a class="el" href="objects_8h-source.html#l00365">TCollection::TCollection()</a>, <a class="el" href="stddlg_8h-source.html#l01002">TDirCollection::TDirCollection()</a>, <a class="el" href="stddlg_8h-source.html#l00203">TFileCollection::TFileCollection()</a>, <a class="el" href="tvobjs_8h-source.html#l00427">TNSSortedCollection::TNSSortedCollection()</a>, and <a class="el" href="objects_8h-source.html#l00461">TSortedCollection::TSortedCollection()</a>. </td>
+ </tr>
+</table>
+<a name="a6" doxytag="ttypes.h::ccTestFunc"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> typedef <a class="el" href="ttypes_8h.html#a13">Boolean</a>(* ccTestFunc)( void *item, void *arg )
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Used in iterator functions to provide a test function and argument list to be applied to a range of items in a collection.
+<p>
+Definition at line <a class="el" href="ttypes_8h-source.html#l00078">78</a> of file <a class="el" href="ttypes_8h-source.html">ttypes.h</a>.
+<p>
+Referenced by <a class="el" href="stddlg_8h-source.html#l01129">TDirCollection::firstThat()</a>, <a class="el" href="stddlg_8h-source.html#l00335">TFileCollection::firstThat()</a>, <a class="el" href="stddlg_8h-source.html#l01134">TDirCollection::lastThat()</a>, and <a class="el" href="stddlg_8h-source.html#l00340">TFileCollection::lastThat()</a>. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="ttypes.h::uchar"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> uchar
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Provides a synonym for unsigned char.
+<p>
+Definition at line <a class="el" href="ttypes_8h-source.html#l00040">40</a> of file <a class="el" href="ttypes_8h-source.html">ttypes.h</a>.
+<p>
+Referenced by <a class="el" href="drawbuf_8h-source.html#l00125">TDrawBuffer::putAttribute()</a>, and <a class="el" href="drawbuf_8h-source.html#l00130">TDrawBuffer::putChar()</a>. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="ttypes.h::uint"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> uint
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Provides a synonym for unsigned int.
+<p>
+Definition at line <a class="el" href="ttypes_8h-source.html#l00045">45</a> of file <a class="el" href="ttypes_8h-source.html">ttypes.h</a>. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="ttypes.h::ulong"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> ulong
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Provides a synonym for unsigned long.
+<p>
+Definition at line <a class="el" href="ttypes_8h-source.html#l00050">50</a> of file <a class="el" href="ttypes_8h-source.html">ttypes.h</a>. </td>
+ </tr>
+</table>
+<a name="a0" doxytag="ttypes.h::ushort"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> ushort
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Provides a synonym for unsigned short.
+<p>
+Definition at line <a class="el" href="ttypes_8h-source.html#l00035">35</a> of file <a class="el" href="ttypes_8h-source.html">ttypes.h</a>.
+<p>
+Referenced by <a class="el" href="drawbuf_8h-source.html#l00125">TDrawBuffer::putAttribute()</a>, <a class="el" href="drawbuf_8h-source.html#l00130">TDrawBuffer::putChar()</a>, <a class="el" href="editors_8h-source.html#l01479">TFindDialogRec::TFindDialogRec()</a>, <a class="el" href="editors_8h-source.html#l01514">TReplaceDialogRec::TReplaceDialogRec()</a>, <a class="el" href="menus_8h-source.html#l00797">TStatusDef::TStatusDef()</a>, and <a class="el" href="menus_8h-source.html#l00733">TStatusItem::TStatusItem()</a>. </td>
+ </tr>
+</table>
+<hr><h2>Enumeration Type Documentation</h2>
+<a name="a13" doxytag="ttypes.h::Boolean"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> enum Boolean
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Assigns the integer values 0 to False and 1 to True. Note that the tests
+<p>
+if (tesfunc()) {...}
+<p>
+and
+<p>
+if (testfunc() == True) {...}
+<p>
+may not be equivalent.
+<p>
+Definition at line <a class="el" href="ttypes_8h-source.html#l00030">30</a> of file <a class="el" href="ttypes_8h-source.html">ttypes.h</a>.
+<p>
+Referenced by <a class="el" href="objects_8h-source.html#l00272">TRect::contains()</a>, <a class="el" href="objects_8h-source.html#l00289">TRect::isEmpty()</a>, <a class="el" href="objects_8h-source.html#l00284">TRect::operator!=()</a>, <a class="el" href="objects_8h-source.html#l00279">TRect::operator==()</a>, and <a class="el" href="outline_8h-source.html#l00078">TNode::TNode()</a>. </td>
+ </tr>
+</table>
+<a name="a14" doxytag="ttypes.h::StreamableInit"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> enum StreamableInit
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Each streamable class has a special "builder" constructor that takes argument streamableInit. This is defined in this enumeration to provide a unique data type for the constructor argument.
+<p>
+Definition at line <a class="el" href="ttypes_8h-source.html#l00062">62</a> of file <a class="el" href="ttypes_8h-source.html">ttypes.h</a>.
+<p>
+Referenced by <a class="el" href="dialogs_8h-source.html#l00731">TButton::TButton()</a>, <a class="el" href="stddlg_8h-source.html#l01451">TChDirDialog::TChDirDialog()</a>, <a class="el" href="stddlg_8h-source.html#l01095">TDirCollection::TDirCollection()</a>, <a class="el" href="stddlg_8h-source.html#l01241">TDirListBox::TDirListBox()</a>, <a class="el" href="stddlg_8h-source.html#l00301">TFileCollection::TFileCollection()</a>, <a class="el" href="stddlg_8h-source.html#l00888">TFileDialog::TFileDialog()</a>, <a class="el" href="stddlg_8h-source.html#l00687">TFileInfoPane::TFileInfoPane()</a>, <a class="el" href="stddlg_8h-source.html#l00575">TFileList::TFileList()</a>, <a class="el" href="helpbase_8h-source.html#l00220">THelpIndex::THelpIndex()</a>, <a class="el" href="helpbase_8h-source.html#l00101">THelpTopic::THelpTopic()</a>, <a class="el" href="outline_8h-source.html#l00485">TOutline::TOutline()</a>, <a class="el" href="outline_8h-source.html#l00359">TOutlineViewer::TOutlineViewer()</a>, <a class="el" href="resource_8h-source.html#l00156">TResourceCollection::TResourceCollection()</a>, <a class="el" href="stddlg_8h-source.html#l00426">TSortedListBox::TSortedListBox()</a>, and <a class="el" href="resource_8h-source.html#l00075">TStringCollection::TStringCollection()</a>. </td>
+ </tr>
+</table>
+<hr><h2>Variable Documentation</h2>
+<a name="a8" doxytag="ttypes.h::ccNotFound"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> ccNotFound = -1
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The ccIndex value returned by various collection-search functions if the search fails. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="ttypes.h::EOS"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> EOS = '\0'
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+A synonym for the end-of-string null character. </td>
+ </tr>
+</table>
+<a name="a9" doxytag="ttypes.h::specialChars"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> specialChars
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Defines the indicator characters used to highlight the focused view in monochrome video mode. These characters are displayed if the showMarkers variable is True. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#p2">TView::showMarkers</a> </dl> </td>
+ </tr>
+</table>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:11 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/tv_8h-source.html b/freebsdtvision/doc/html/tv_8h-source.html
new file mode 100644
index 0000000..36e2ff3
--- /dev/null
+++ b/freebsdtvision/doc/html/tv_8h-source.html
@@ -0,0 +1,710 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>tv.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>tv.h</h1><a href="tv_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="comment">/*</span>
+00002 <span class="comment"> * tv.h</span>
+00003 <span class="comment"> *</span>
+00004 <span class="comment"> * Turbo Vision - Version 2.0</span>
+00005 <span class="comment"> *</span>
+00006 <span class="comment"> * Copyright (c) 1991, 1994 by Borland International</span>
+00007 <span class="comment"> * All Rights Reserved.</span>
+00008 <span class="comment"> *</span>
+00009 <span class="comment"></span>
+00010 <span class="comment">DISCLAIMER AND LIMITATION OF LIABILITY: Borland does not make or give any </span>
+00011 <span class="comment">representation or warranty with respect to the usefulness or the efficiency </span>
+00012 <span class="comment">of this software, it being understood that the degree of success with which </span>
+00013 <span class="comment">equipment, software, modifications, and other materials can be applied to </span>
+00014 <span class="comment">data processing is dependent upon many factors, many of which are not under </span>
+00015 <span class="comment">Borland's control. ACCORDINGLY, THIS SOFTWARE IS PROVIDED 'AS IS' WITHOUT </span>
+00016 <span class="comment">EXPRESS OR IMPLIED WARRANTIES, INCLUDING NO WARRANTIES OF MERCHANTABILITY, </span>
+00017 <span class="comment">FITNESS FOR A PARTICULAR PURPOSE, OR NONINFRINGEMENT. THIS SOFTWARE IS </span>
+00018 <span class="comment">PROVIDED GRATUITOUSLY AND, ACCORDINGLY, BORLAND SHALL NOT BE LIABLE UNDER </span>
+00019 <span class="comment">ANY THEORY FOR ANY DAMAGES SUFFERED BY YOU OR ANY USER OF THE SOFTWARE. </span>
+00020 <span class="comment">BORLAND WILL NOT SUPPORT THIS SOFTWARE AND IS UNDER NO OBLIGATION TO ISSUE </span>
+00021 <span class="comment">UPDATES TO THIS SOFTWARE. </span>
+00022 <span class="comment"></span>
+00023 <span class="comment">WITHOUT LIMITING THE GENERALITY OF THE FOREGOING, NEITHER BORLAND NOR ITS </span>
+00024 <span class="comment">SUPPLIERS SHALL BE LIABLE FOR (a) INCIDENTAL, CONSEQUENTIAL, SPECIAL OR </span>
+00025 <span class="comment">INDIRECT DAMAGES OF ANY SORT, WHETHER ARISING IN TORT, CONTRACT OR OTHERWISE, </span>
+00026 <span class="comment">EVEN IF BORLAND HAS BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES, OR (b) </span>
+00027 <span class="comment">FOR ANY CLAIM BY ANY OTHER PARTY. SOME STATES DO NOT ALLOW THE EXCLUSION OR </span>
+00028 <span class="comment">LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS LIMITATION AND </span>
+00029 <span class="comment">EXCLUSION MAY NOT APPLY TO YOU. Use, duplication or disclosure by the </span>
+00030 <span class="comment">Government is subject to restrictions set forth in subparagraphs (a) through </span>
+00031 <span class="comment">(d) of the Commercial Computer-Restricted Rights clause at FAR 52.227-19 when </span>
+00032 <span class="comment">applicable, or in subparagraph (c) (1) (ii) of the Rights in Technical Data </span>
+00033 <span class="comment">and Computer Software clause at DFARS 252.227-7013, and in similar clauses in </span>
+00034 <span class="comment">the NASA AR Supplement. Contractor/ manufacturer is Borland International, </span>
+00035 <span class="comment">Inc., 100 Borland Way, Scotts Valley, CA 95066.</span>
+00036 <span class="comment"></span>
+00037 <span class="comment"> *</span>
+00038 <span class="comment"> * Modified by Sergio Sigala &lt;sergio@sigala.it&gt;</span>
+00039 <span class="comment"> */</span>
+00040
+00045 <span class="preprocessor">#define _TV_VERSION 0x0200</span>
+00046 <span class="preprocessor"></span>
+00047 <span class="preprocessor">#define Uses_EventCodes</span>
+00048 <span class="preprocessor"></span><span class="preprocessor">#define Uses_ViewCommands</span>
+00049 <span class="preprocessor"></span><span class="preprocessor">#define Uses_ipstream</span>
+00050 <span class="preprocessor"></span><span class="preprocessor">#define Uses_opstream</span>
+00051 <span class="preprocessor"></span><span class="preprocessor">#define __INC_STDDLG_H</span>
+00052 <span class="preprocessor"></span>
+00053 <span class="preprocessor">#if defined( Uses_TApplication )</span>
+00054 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TProgram</span>
+00055 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TScreen</span>
+00056 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TEventQueue</span>
+00057 <span class="preprocessor"></span><span class="preprocessor">#define __INC_APP_H</span>
+00058 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00059 <span class="preprocessor"></span>
+00060 <span class="preprocessor">#if defined( Uses_TProgram )</span>
+00061 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TEvent</span>
+00062 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TGroup</span>
+00063 <span class="preprocessor"></span><span class="preprocessor">#define __INC_APP_H</span>
+00064 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00065 <span class="preprocessor"></span>
+00066 <span class="preprocessor">#if defined( Uses_TDeskTop )</span>
+00067 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TGroup</span>
+00068 <span class="preprocessor"></span><span class="preprocessor">#define __INC_APP_H</span>
+00069 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00070 <span class="preprocessor"></span>
+00071 <span class="preprocessor">#if defined( Uses_TBackground )</span>
+00072 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TView</span>
+00073 <span class="preprocessor"></span><span class="preprocessor">#define __INC_APP_H</span>
+00074 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00075 <span class="preprocessor"></span>
+00076 <span class="preprocessor">#if defined( Uses_TReplaceDialogRec )</span>
+00077 <span class="preprocessor"></span><span class="preprocessor">#define __INC_EDITORS_H</span>
+00078 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00079 <span class="preprocessor"></span>
+00080 <span class="preprocessor">#if defined( Uses_TFindDialogRec )</span>
+00081 <span class="preprocessor"></span><span class="preprocessor">#define __INC_EDITORS_H</span>
+00082 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00083 <span class="preprocessor"></span>
+00084 <span class="preprocessor">#if defined( Uses_TEditWindow )</span>
+00085 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TWindow</span>
+00086 <span class="preprocessor"></span><span class="preprocessor">#define __INC_EDITORS_H</span>
+00087 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00088 <span class="preprocessor"></span>
+00089 <span class="preprocessor">#if defined( Uses_TFileEditor )</span>
+00090 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TEditor</span>
+00091 <span class="preprocessor"></span><span class="preprocessor">#define __INC_EDITORS_H</span>
+00092 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00093 <span class="preprocessor"></span>
+00094 <span class="preprocessor">#if defined( Uses_TMemo )</span>
+00095 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TEditor</span>
+00096 <span class="preprocessor"></span><span class="preprocessor">#define __INC_EDITORS_H</span>
+00097 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00098 <span class="preprocessor"></span>
+00099 <span class="preprocessor">#if defined( Uses_TEditor )</span>
+00100 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TView</span>
+00101 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TPoint</span>
+00102 <span class="preprocessor"></span><span class="preprocessor">#define __INC_EDITORS_H</span>
+00103 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00104 <span class="preprocessor"></span>
+00105 <span class="preprocessor">#if defined( Uses_TIndicator )</span>
+00106 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TView</span>
+00107 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TPoint</span>
+00108 <span class="preprocessor"></span><span class="preprocessor">#define __INC_EDITORS_H</span>
+00109 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00110 <span class="preprocessor"></span>
+00111 <span class="preprocessor">#if defined( Uses_TTerminal )</span>
+00112 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TTextDevice</span>
+00113 <span class="preprocessor"></span><span class="preprocessor">#define __INC_TEXTVIEW_H</span>
+00114 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00115 <span class="preprocessor"></span>
+00116 <span class="preprocessor">#if defined( Uses_TOutline )</span>
+00117 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TOutlineViewer</span>
+00118 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00119 <span class="preprocessor"></span>
+00120 <span class="preprocessor">#if defined( Uses_TOutlineViewer )</span>
+00121 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TScroller</span>
+00122 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TScrollBar</span>
+00123 <span class="preprocessor"></span><span class="preprocessor">#define __INC_OUTLINE_H</span>
+00124 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00125 <span class="preprocessor"></span>
+00126 <span class="preprocessor">#if defined( Uses_TTextDevice )</span>
+00127 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TScroller</span>
+00128 <span class="preprocessor"></span><span class="preprocessor">#define __INC_TEXTVIEW_H</span>
+00129 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00130 <span class="preprocessor"></span>
+00131 <span class="preprocessor">#if defined( Uses_TStatusLine )</span>
+00132 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TView</span>
+00133 <span class="preprocessor"></span><span class="preprocessor">#define __INC_MENUS_H</span>
+00134 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00135 <span class="preprocessor"></span>
+00136 <span class="preprocessor">#if defined( Uses_TStatusDef )</span>
+00137 <span class="preprocessor"></span><span class="preprocessor">#define __INC_MENUS_H</span>
+00138 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00139 <span class="preprocessor"></span>
+00140 <span class="preprocessor">#if defined( Uses_TStatusItem )</span>
+00141 <span class="preprocessor"></span><span class="preprocessor">#define __INC_MENUS_H</span>
+00142 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00143 <span class="preprocessor"></span>
+00144 <span class="preprocessor">#if defined( Uses_TMenuPopup )</span>
+00145 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TMenuBox</span>
+00146 <span class="preprocessor"></span><span class="preprocessor">#define __INC_MENUS_H</span>
+00147 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00148 <span class="preprocessor"></span>
+00149 <span class="preprocessor">#if defined( Uses_TMenuBox )</span>
+00150 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TMenuView</span>
+00151 <span class="preprocessor"></span><span class="preprocessor">#define __INC_MENUS_H</span>
+00152 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00153 <span class="preprocessor"></span>
+00154 <span class="preprocessor">#if defined( Uses_TMenuBar )</span>
+00155 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TMenuView</span>
+00156 <span class="preprocessor"></span><span class="preprocessor">#define __INC_MENUS_H</span>
+00157 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00158 <span class="preprocessor"></span>
+00159 <span class="preprocessor">#if defined( Uses_TMenuView )</span>
+00160 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TView</span>
+00161 <span class="preprocessor"></span><span class="preprocessor">#define __INC_MENUS_H</span>
+00162 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00163 <span class="preprocessor"></span>
+00164 <span class="preprocessor">#if defined( Uses_TMenu )</span>
+00165 <span class="preprocessor"></span><span class="preprocessor">#define __INC_MENUS_H</span>
+00166 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00167 <span class="preprocessor"></span>
+00168 <span class="preprocessor">#if defined( Uses_TSubMenu )</span>
+00169 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TMenuItem</span>
+00170 <span class="preprocessor"></span><span class="preprocessor">#define __INC_MENUS_H</span>
+00171 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00172 <span class="preprocessor"></span>
+00173 <span class="preprocessor">#if defined( Uses_TMenuItem )</span>
+00174 <span class="preprocessor"></span><span class="preprocessor">#define __INC_MENUS_H</span>
+00175 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00176 <span class="preprocessor"></span>
+00177 <span class="preprocessor">#if defined( Uses_TColorDialog )</span>
+00178 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TColorGroup</span>
+00179 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TDialog</span>
+00180 <span class="preprocessor"></span><span class="preprocessor">#define __INC_COLORSEL_H</span>
+00181 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00182 <span class="preprocessor"></span>
+00183 <span class="preprocessor">#if defined( Uses_TColorItemList )</span>
+00184 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TListViewer</span>
+00185 <span class="preprocessor"></span><span class="preprocessor">#define __INC_COLORSEL_H</span>
+00186 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00187 <span class="preprocessor"></span>
+00188 <span class="preprocessor">#if defined( Uses_TColorGroupList )</span>
+00189 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TListViewer</span>
+00190 <span class="preprocessor"></span><span class="preprocessor">#define __INC_COLORSEL_H</span>
+00191 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00192 <span class="preprocessor"></span>
+00193 <span class="preprocessor">#if defined( Uses_TColorDisplay )</span>
+00194 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TView</span>
+00195 <span class="preprocessor"></span><span class="preprocessor">#define __INC_COLORSEL_H</span>
+00196 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00197 <span class="preprocessor"></span>
+00198 <span class="preprocessor">#if defined( Uses_TMonoSelector )</span>
+00199 <span class="preprocessor"></span><span class="preprocessor">#define __INC_COLORSEL_H</span>
+00200 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00201 <span class="preprocessor"></span>
+00202 <span class="preprocessor">#if defined( Uses_TMonoSelector )</span>
+00203 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TCluster</span>
+00204 <span class="preprocessor"></span><span class="preprocessor">#define __INC_COLORSEL_H</span>
+00205 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00206 <span class="preprocessor"></span>
+00207 <span class="preprocessor">#if defined( Uses_TColorSelector )</span>
+00208 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TView</span>
+00209 <span class="preprocessor"></span><span class="preprocessor">#define __INC_COLORSEL_H</span>
+00210 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00211 <span class="preprocessor"></span>
+00212 <span class="preprocessor">#if defined( Uses_TColorGroup )</span>
+00213 <span class="preprocessor"></span><span class="preprocessor">#define __INC_COLORSEL_H</span>
+00214 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00215 <span class="preprocessor"></span>
+00216 <span class="preprocessor">#if defined( Uses_TColorItem )</span>
+00217 <span class="preprocessor"></span><span class="preprocessor">#define __INC_COLORSEL_H</span>
+00218 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00219 <span class="preprocessor"></span>
+00220 <span class="preprocessor">#if defined( Uses_TChDirDialog )</span>
+00221 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TDialog</span>
+00222 <span class="preprocessor"></span><span class="preprocessor">#define __INC_STDDLG_H</span>
+00223 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00224 <span class="preprocessor"></span>
+00225 <span class="preprocessor">#if defined( Uses_TDirListBox )</span>
+00226 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TListBox</span>
+00227 <span class="preprocessor"></span><span class="preprocessor">#define __INC_STDDLG_H</span>
+00228 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00229 <span class="preprocessor"></span>
+00230 <span class="preprocessor">#if defined( Uses_TDirCollection )</span>
+00231 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TCollection</span>
+00232 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TDirEntry</span>
+00233 <span class="preprocessor"></span><span class="preprocessor">#define __INC_STDDLG_H</span>
+00234 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00235 <span class="preprocessor"></span>
+00236 <span class="preprocessor">#if defined ( Uses_TRangeValidator )</span>
+00237 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TFilterValidator</span>
+00238 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00239 <span class="preprocessor"></span>
+00240 <span class="preprocessor">#if defined ( Uses_TFilterValidator )</span>
+00241 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TValidator</span>
+00242 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00243 <span class="preprocessor"></span>
+00244 <span class="preprocessor">#if defined ( Uses_TStringLookupValidator )</span>
+00245 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TLookupValidator</span>
+00246 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TStringCollection</span>
+00247 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00248 <span class="preprocessor"></span>
+00249 <span class="preprocessor">#if defined ( Uses_TLookupValidator )</span>
+00250 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TValidator</span>
+00251 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00252 <span class="preprocessor"></span>
+00253 <span class="preprocessor">#if defined ( Uses_TPXPictureValidator )</span>
+00254 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TValidator</span>
+00255 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00256 <span class="preprocessor"></span>
+00257 <span class="preprocessor">#if defined ( Uses_TValidator )</span>
+00258 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TObject</span>
+00259 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TStreamable</span>
+00260 <span class="preprocessor"></span><span class="preprocessor">#define __INC_VALIDATOR_H</span>
+00261 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00262 <span class="preprocessor"></span>
+00263 <span class="preprocessor">#if defined( Uses_TDirEntry )</span>
+00264 <span class="preprocessor"></span><span class="preprocessor">#define __INC_STDDLG_H</span>
+00265 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00266 <span class="preprocessor"></span>
+00267 <span class="preprocessor">#if defined( Uses_TFileDialog )</span>
+00268 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TDialog</span>
+00269 <span class="preprocessor"></span><span class="preprocessor">#define __INC_STDDLG_H</span>
+00270 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00271 <span class="preprocessor"></span>
+00272 <span class="preprocessor">#if defined( Uses_TFileInfoPane )</span>
+00273 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TView</span>
+00274 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TSearchRec</span>
+00275 <span class="preprocessor"></span><span class="preprocessor">#define __INC_STDDLG_H</span>
+00276 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00277 <span class="preprocessor"></span>
+00278 <span class="preprocessor">#if defined( Uses_TFileList )</span>
+00279 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TSortedListBox</span>
+00280 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TFileCollection</span>
+00281 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TSearchRec</span>
+00282 <span class="preprocessor"></span><span class="preprocessor">#define __INC_STDDLG_H</span>
+00283 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00284 <span class="preprocessor"></span>
+00285 <span class="preprocessor">#if defined( Uses_TSortedListBox )</span>
+00286 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TListBox</span>
+00287 <span class="preprocessor"></span><span class="preprocessor">#define __INC_STDDLG_H</span>
+00288 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00289 <span class="preprocessor"></span>
+00290 <span class="preprocessor">#if defined( Uses_TFileCollection )</span>
+00291 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TSortedCollection</span>
+00292 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TSearchRec</span>
+00293 <span class="preprocessor"></span><span class="preprocessor">#define __INC_STDDLG_H</span>
+00294 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00295 <span class="preprocessor"></span>
+00296 <span class="preprocessor">#if defined( Uses_TFileInputLine )</span>
+00297 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TInputLine</span>
+00298 <span class="preprocessor"></span><span class="preprocessor">#define __INC_STDDLG_H</span>
+00299 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00300 <span class="preprocessor"></span>
+00301 <span class="preprocessor">#if defined( Uses_TSearchRec )</span>
+00302 <span class="preprocessor"></span><span class="preprocessor">#define __INC_STDDLG_H</span>
+00303 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00304 <span class="preprocessor"></span>
+00305 <span class="preprocessor">#if defined( Uses_THistory )</span>
+00306 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TView</span>
+00307 <span class="preprocessor"></span><span class="preprocessor">#define __INC_DIALOGS_H</span>
+00308 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00309 <span class="preprocessor"></span>
+00310 <span class="preprocessor">#if defined( Uses_THistoryWindow )</span>
+00311 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TWindow</span>
+00312 <span class="preprocessor"></span><span class="preprocessor">#define __INC_DIALOGS_H</span>
+00313 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00314 <span class="preprocessor"></span>
+00315 <span class="preprocessor">#if defined( Uses_THistoryViewer )</span>
+00316 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TListViewer</span>
+00317 <span class="preprocessor"></span><span class="preprocessor">#define __INC_DIALOGS_H</span>
+00318 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00319 <span class="preprocessor"></span>
+00320 <span class="preprocessor">#if defined( Uses_TLabel )</span>
+00321 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TStaticText</span>
+00322 <span class="preprocessor"></span><span class="preprocessor">#define __INC_DIALOGS_H</span>
+00323 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00324 <span class="preprocessor"></span>
+00325 <span class="preprocessor">#if defined( Uses_TParamText )</span>
+00326 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TStaticText</span>
+00327 <span class="preprocessor"></span><span class="preprocessor">#define __INC_DIALOGS_H</span>
+00328 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00329 <span class="preprocessor"></span>
+00330 <span class="preprocessor">#if defined( Uses_TStaticText )</span>
+00331 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TView</span>
+00332 <span class="preprocessor"></span><span class="preprocessor">#define __INC_DIALOGS_H</span>
+00333 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00334 <span class="preprocessor"></span>
+00335 <span class="preprocessor">#if defined( Uses_TListBox )</span>
+00336 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TListViewer</span>
+00337 <span class="preprocessor"></span><span class="preprocessor">#define __INC_DIALOGS_H</span>
+00338 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00339 <span class="preprocessor"></span>
+00340 <span class="preprocessor">#if defined( Uses_TCheckBoxes )</span>
+00341 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TCluster</span>
+00342 <span class="preprocessor"></span><span class="preprocessor">#define __INC_DIALOGS_H</span>
+00343 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00344 <span class="preprocessor"></span>
+00345 <span class="preprocessor">#if defined( Uses_TMultiCheckBoxes )</span>
+00346 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TCluster</span>
+00347 <span class="preprocessor"></span><span class="preprocessor">#define __INC_DIALOGS_H</span>
+00348 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00349 <span class="preprocessor"></span>
+00350 <span class="preprocessor">#if defined( Uses_TRadioButtons )</span>
+00351 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TCluster</span>
+00352 <span class="preprocessor"></span><span class="preprocessor">#define __INC_DIALOGS_H</span>
+00353 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00354 <span class="preprocessor"></span>
+00355 <span class="preprocessor">#if defined( Uses_TCluster )</span>
+00356 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TView</span>
+00357 <span class="preprocessor"></span><span class="preprocessor">#define __INC_DIALOGS_H</span>
+00358 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00359 <span class="preprocessor"></span>
+00360 <span class="preprocessor">#if defined( Uses_TSItem )</span>
+00361 <span class="preprocessor"></span><span class="preprocessor">#define __INC_DIALOGS_H</span>
+00362 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00363 <span class="preprocessor"></span>
+00364 <span class="preprocessor">#if defined( Uses_TButton )</span>
+00365 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TView</span>
+00366 <span class="preprocessor"></span><span class="preprocessor">#define __INC_DIALOGS_H</span>
+00367 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00368 <span class="preprocessor"></span>
+00369 <span class="preprocessor">#if defined( Uses_TInputLine )</span>
+00370 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TView</span>
+00371 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TValidator</span>
+00372 <span class="preprocessor"></span><span class="preprocessor">#define __INC_DIALOGS_H</span>
+00373 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00374 <span class="preprocessor"></span>
+00375 <span class="preprocessor">#if defined( Uses_TDialog )</span>
+00376 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TWindow</span>
+00377 <span class="preprocessor"></span><span class="preprocessor">#define __INC_DIALOGS_H</span>
+00378 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00379 <span class="preprocessor"></span>
+00380 <span class="preprocessor">#if defined( Uses_TVMemMgr )</span>
+00381 <span class="preprocessor"></span><span class="preprocessor">#define __INC_BUFFERS_H</span>
+00382 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00383 <span class="preprocessor"></span>
+00384 <span class="preprocessor">#if defined( Uses_TWindow )</span>
+00385 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TGroup</span>
+00386 <span class="preprocessor"></span><span class="preprocessor">#define __INC_VIEWS_H</span>
+00387 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00388 <span class="preprocessor"></span>
+00389 <span class="preprocessor">#if defined( Uses_TGroup )</span>
+00390 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TView</span>
+00391 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TRect</span>
+00392 <span class="preprocessor"></span><span class="preprocessor">#define __INC_VIEWS_H</span>
+00393 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00394 <span class="preprocessor"></span>
+00395 <span class="preprocessor">#if defined( Uses_TListViewer )</span>
+00396 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TView</span>
+00397 <span class="preprocessor"></span><span class="preprocessor">#define __INC_VIEWS_H</span>
+00398 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00399 <span class="preprocessor"></span>
+00400 <span class="preprocessor">#if defined( Uses_TScroller )</span>
+00401 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TView</span>
+00402 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TPoint</span>
+00403 <span class="preprocessor"></span><span class="preprocessor">#define __INC_VIEWS_H</span>
+00404 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00405 <span class="preprocessor"></span>
+00406 <span class="preprocessor">#if defined( Uses_TScrollBar )</span>
+00407 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TView</span>
+00408 <span class="preprocessor"></span><span class="preprocessor">#define __INC_VIEWS_H</span>
+00409 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00410 <span class="preprocessor"></span>
+00411 <span class="preprocessor">#if defined( Uses_TFrame )</span>
+00412 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TView</span>
+00413 <span class="preprocessor"></span><span class="preprocessor">#define __INC_VIEWS_H</span>
+00414 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00415 <span class="preprocessor"></span>
+00416 <span class="preprocessor">#if defined( Uses_TView )</span>
+00417 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TObject</span>
+00418 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TStreamable</span>
+00419 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TCommandSet</span>
+00420 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TPoint</span>
+00421 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TDrawBuffer</span>
+00422 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TPalette</span>
+00423 <span class="preprocessor"></span><span class="preprocessor">#define __INC_VIEWS_H</span>
+00424 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00425 <span class="preprocessor"></span>
+00426 <span class="preprocessor">#if defined( Uses_TPalette )</span>
+00427 <span class="preprocessor"></span><span class="preprocessor">#define __INC_VIEWS_H</span>
+00428 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00429 <span class="preprocessor"></span>
+00430 <span class="preprocessor">#if defined( Uses_TCommandSet )</span>
+00431 <span class="preprocessor"></span><span class="preprocessor">#define __INC_VIEWS_H</span>
+00432 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00433 <span class="preprocessor"></span>
+00434 <span class="preprocessor">#if defined( Uses_ViewCommands )</span>
+00435 <span class="preprocessor"></span><span class="preprocessor">#define __INC_VIEWS_H</span>
+00436 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00437 <span class="preprocessor"></span>
+00438 <span class="preprocessor">#if defined( Uses_TStrListMaker )</span>
+00439 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TObject</span>
+00440 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TStreamable</span>
+00441 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TStrIndexRec</span>
+00442 <span class="preprocessor"></span><span class="preprocessor">#define __INC_RESOURCE_H</span>
+00443 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00444 <span class="preprocessor"></span>
+00445 <span class="preprocessor">#if defined( Uses_TStringList )</span>
+00446 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TObject</span>
+00447 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TStreamable</span>
+00448 <span class="preprocessor"></span><span class="preprocessor">#define __INC_RESOURCE_H</span>
+00449 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00450 <span class="preprocessor"></span>
+00451 <span class="preprocessor">#if defined( Uses_TStrIndexRec )</span>
+00452 <span class="preprocessor"></span><span class="preprocessor">#define __INC_RESOURCE_H</span>
+00453 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00454 <span class="preprocessor"></span>
+00455 <span class="preprocessor">#if defined( Uses_TResourceFile )</span>
+00456 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TObject</span>
+00457 <span class="preprocessor"></span><span class="preprocessor">#define __INC_RESOURCE_H</span>
+00458 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00459 <span class="preprocessor"></span>
+00460 <span class="preprocessor">#if defined( Uses_TResourceItem )</span>
+00461 <span class="preprocessor"></span><span class="preprocessor">#define __INC_RESOURCE_H</span>
+00462 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00463 <span class="preprocessor"></span>
+00464 <span class="preprocessor">#if defined( Uses_TResourceCollection )</span>
+00465 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TStringCollection</span>
+00466 <span class="preprocessor"></span><span class="preprocessor">#define __INC_RESOURCE_H</span>
+00467 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00468 <span class="preprocessor"></span>
+00469 <span class="preprocessor">#if defined( Uses_TStringCollection )</span>
+00470 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TSortedCollection</span>
+00471 <span class="preprocessor"></span><span class="preprocessor">#define __INC_RESOURCE_H</span>
+00472 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00473 <span class="preprocessor"></span>
+00474 <span class="preprocessor">#if defined( Uses_MsgBox )</span>
+00475 <span class="preprocessor"></span><span class="preprocessor">#define __INC_MSGBOX_H</span>
+00476 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00477 <span class="preprocessor"></span>
+00478 <span class="preprocessor">#if defined( Uses_TSystemError )</span>
+00479 <span class="preprocessor"></span><span class="preprocessor">#define __INC_SYSTEM_H</span>
+00480 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00481 <span class="preprocessor"></span>
+00482 <span class="preprocessor">#if defined( Uses_TScreen )</span>
+00483 <span class="preprocessor"></span><span class="preprocessor">#define __INC_SYSTEM_H</span>
+00484 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00485 <span class="preprocessor"></span>
+00486 <span class="preprocessor">#if defined( Uses_TEventQueue )</span>
+00487 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TEvent</span>
+00488 <span class="preprocessor"></span><span class="preprocessor">#define __INC_SYSTEM_H</span>
+00489 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00490 <span class="preprocessor"></span>
+00491 <span class="preprocessor">#if defined( Uses_TEvent )</span>
+00492 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TPoint</span>
+00493 <span class="preprocessor"></span><span class="preprocessor">#define __INC_SYSTEM_H</span>
+00494 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00495 <span class="preprocessor"></span>
+00496 <span class="preprocessor">#if defined( Uses_THardwareInfo )</span>
+00497 <span class="preprocessor"></span><span class="preprocessor">#define __INC_HARDWARE_H</span>
+00498 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00499 <span class="preprocessor"></span>
+00500 <span class="preprocessor">#if defined( Uses_EventCodes )</span>
+00501 <span class="preprocessor"></span><span class="preprocessor">#define __INC_SYSTEM_H</span>
+00502 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00503 <span class="preprocessor"></span>
+00504 <span class="preprocessor">#if defined( Uses_TSortedCollection )</span>
+00505 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TNSSortedCollection</span>
+00506 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TCollection</span>
+00507 <span class="preprocessor"></span><span class="preprocessor">#define __INC_OBJECTS_H</span>
+00508 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00509 <span class="preprocessor"></span>
+00510 <span class="preprocessor">#if defined( Uses_TCollection )</span>
+00511 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TNSCollection</span>
+00512 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TStreamable</span>
+00513 <span class="preprocessor"></span><span class="preprocessor">#define __INC_OBJECTS_H</span>
+00514 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00515 <span class="preprocessor"></span>
+00516 <span class="preprocessor">#if defined( Uses_TRect )</span>
+00517 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TPoint</span>
+00518 <span class="preprocessor"></span><span class="preprocessor">#define Uses_ipstream</span>
+00519 <span class="preprocessor"></span><span class="preprocessor">#define Uses_opstream</span>
+00520 <span class="preprocessor"></span><span class="preprocessor">#define __INC_OBJECTS_H</span>
+00521 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00522 <span class="preprocessor"></span>
+00523 <span class="preprocessor">#if defined( Uses_TPoint )</span>
+00524 <span class="preprocessor"></span><span class="preprocessor">#define __INC_OBJECTS_H</span>
+00525 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00526 <span class="preprocessor"></span>
+00527 <span class="preprocessor">#if defined( Uses_TDrawBuffer )</span>
+00528 <span class="preprocessor"></span><span class="preprocessor">#define __INC_DRAWBUF_H</span>
+00529 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00530 <span class="preprocessor"></span>
+00531 <span class="preprocessor">#if defined( Uses_fpstream )</span>
+00532 <span class="preprocessor"></span><span class="preprocessor">#define Uses_fpbase</span>
+00533 <span class="preprocessor"></span><span class="preprocessor">#define Uses_iopstream</span>
+00534 <span class="preprocessor"></span><span class="preprocessor">#define __INC_TOBJSTRM_H</span>
+00535 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00536 <span class="preprocessor"></span>
+00537 <span class="preprocessor">#if defined( Uses_ofpstream )</span>
+00538 <span class="preprocessor"></span><span class="preprocessor">#define Uses_fpbase</span>
+00539 <span class="preprocessor"></span><span class="preprocessor">#define Uses_opstream</span>
+00540 <span class="preprocessor"></span><span class="preprocessor">#define __INC_TOBJSTRM_H</span>
+00541 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00542 <span class="preprocessor"></span>
+00543 <span class="preprocessor">#if defined( Uses_ifpstream )</span>
+00544 <span class="preprocessor"></span><span class="preprocessor">#define Uses_fpbase</span>
+00545 <span class="preprocessor"></span><span class="preprocessor">#define Uses_ipstream</span>
+00546 <span class="preprocessor"></span><span class="preprocessor">#define __INC_TOBJSTRM_H</span>
+00547 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00548 <span class="preprocessor"></span>
+00549 <span class="preprocessor">#if defined( Uses_fpbase )</span>
+00550 <span class="preprocessor"></span><span class="preprocessor">#define Uses_pstream</span>
+00551 <span class="preprocessor"></span><span class="preprocessor">#define __INC_TOBJSTRM_H</span>
+00552 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00553 <span class="preprocessor"></span>
+00554 <span class="preprocessor">#if defined( Uses_iopstream )</span>
+00555 <span class="preprocessor"></span><span class="preprocessor">#define Uses_ipstream</span>
+00556 <span class="preprocessor"></span><span class="preprocessor">#define Uses_opstream</span>
+00557 <span class="preprocessor"></span><span class="preprocessor">#define __INC_TOBJSTRM_H</span>
+00558 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00559 <span class="preprocessor"></span>
+00560 <span class="preprocessor">#if defined( Uses_opstream )</span>
+00561 <span class="preprocessor"></span><span class="preprocessor">#define Uses_pstream</span>
+00562 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TPWrittenObjects</span>
+00563 <span class="preprocessor"></span><span class="preprocessor">#define __INC_TOBJSTRM_H</span>
+00564 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00565 <span class="preprocessor"></span>
+00566 <span class="preprocessor">#if defined( Uses_ipstream )</span>
+00567 <span class="preprocessor"></span><span class="preprocessor">#define Uses_pstream</span>
+00568 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TPReadObjects</span>
+00569 <span class="preprocessor"></span><span class="preprocessor">#define __INC_TOBJSTRM_H</span>
+00570 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00571 <span class="preprocessor"></span>
+00572 <span class="preprocessor">#if defined( Uses_pstream )</span>
+00573 <span class="preprocessor"></span><span class="preprocessor">#define __INC_TOBJSTRM_H</span>
+00574 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00575 <span class="preprocessor"></span>
+00576 <span class="preprocessor">#if defined( Uses_TPReadObjects )</span>
+00577 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TNSCollection</span>
+00578 <span class="preprocessor"></span><span class="preprocessor">#define __INC_TOBJSTRM_H</span>
+00579 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00580 <span class="preprocessor"></span>
+00581 <span class="preprocessor">#if defined( Uses_TPWrittenObjects )</span>
+00582 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TNSSortedCollection</span>
+00583 <span class="preprocessor"></span><span class="preprocessor">#define __INC_TOBJSTRM_H</span>
+00584 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00585 <span class="preprocessor"></span>
+00586 <span class="preprocessor">#if defined( Uses_TStreamableTypes )</span>
+00587 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TNSSortedCollection</span>
+00588 <span class="preprocessor"></span><span class="preprocessor">#define __INC_TOBJSTRM_H</span>
+00589 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00590 <span class="preprocessor"></span>
+00591 <span class="preprocessor">#if defined( Uses_TStreamableClass )</span>
+00592 <span class="preprocessor"></span><span class="preprocessor">#define __INC_TOBJSTRM_H</span>
+00593 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00594 <span class="preprocessor"></span>
+00595 <span class="preprocessor">#if defined( Uses_TStreamable )</span>
+00596 <span class="preprocessor"></span><span class="preprocessor">#define __INC_TOBJSTRM_H</span>
+00597 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00598 <span class="preprocessor"></span>
+00599 <span class="preprocessor">#if defined( Uses_TNSSortedCollection )</span>
+00600 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TNSCollection</span>
+00601 <span class="preprocessor"></span><span class="preprocessor">#define __INC_TVOBJS_H</span>
+00602 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00603 <span class="preprocessor"></span>
+00604 <span class="preprocessor">#if defined( Uses_TNSCollection )</span>
+00605 <span class="preprocessor"></span><span class="preprocessor">#define Uses_TObject</span>
+00606 <span class="preprocessor"></span><span class="preprocessor">#define __INC_TVOBJS_H</span>
+00607 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00608 <span class="preprocessor"></span>
+00609 <span class="preprocessor">#if defined( Uses_TObject )</span>
+00610 <span class="preprocessor"></span><span class="preprocessor">#define __INC_TVOBJS_H</span>
+00611 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00612 <span class="preprocessor"></span>
+00613 <span class="preprocessor">#if defined( Uses_TKeys )</span>
+00614 <span class="preprocessor"></span><span class="preprocessor">#define __INC_TKEYS_H</span>
+00615 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00616 <span class="preprocessor"></span>
+00617 <span class="preprocessor">#include &lt;tvision/tvconfig.h&gt;</span>
+00618 <span class="preprocessor">#include &lt;tvision/ttypes.h&gt;</span>
+00619
+00620 <span class="comment">//#if defined( __INC_HARDWARE_H )</span>
+00621 <span class="comment">//#include &lt;tvision/hardware.h&gt;</span>
+00622 <span class="comment">//#endif</span>
+00623
+00624 <span class="preprocessor">#if defined( __INC_TKEYS_H )</span>
+00625 <span class="preprocessor"></span><span class="preprocessor">#include &lt;tvision/tkeys.h&gt;</span>
+00626 <span class="preprocessor">#endif</span>
+00627 <span class="preprocessor"></span>
+00628 <span class="preprocessor">#include &lt;tvision/util.h&gt;</span>
+00629
+00630 <span class="preprocessor">#if defined( __INC_TVOBJS_H )</span>
+00631 <span class="preprocessor"></span><span class="preprocessor">#include &lt;tvision/tvobjs.h&gt;</span>
+00632 <span class="preprocessor">#endif</span>
+00633 <span class="preprocessor"></span>
+00634 <span class="preprocessor">#if defined( __INC_TOBJSTRM_H )</span>
+00635 <span class="preprocessor"></span><span class="preprocessor">#include &lt;tvision/tobjstrm.h&gt;</span>
+00636 <span class="preprocessor">#endif</span>
+00637 <span class="preprocessor"></span>
+00638 <span class="preprocessor">#if defined( __INC_DRAWBUF_H )</span>
+00639 <span class="preprocessor"></span><span class="preprocessor">#include &lt;tvision/drawbuf.h&gt;</span>
+00640 <span class="preprocessor">#endif</span>
+00641 <span class="preprocessor"></span>
+00642 <span class="preprocessor">#if defined( __INC_OBJECTS_H )</span>
+00643 <span class="preprocessor"></span><span class="preprocessor">#include &lt;tvision/objects.h&gt;</span>
+00644 <span class="preprocessor">#endif</span>
+00645 <span class="preprocessor"></span>
+00646 <span class="preprocessor">#if defined( __INC_SYSTEM_H )</span>
+00647 <span class="preprocessor"></span><span class="preprocessor">#include &lt;tvision/system.h&gt;</span>
+00648 <span class="preprocessor">#endif</span>
+00649 <span class="preprocessor"></span>
+00650 <span class="preprocessor">#if defined( __INC_MSGBOX_H )</span>
+00651 <span class="preprocessor"></span><span class="preprocessor">#include &lt;tvision/msgbox.h&gt;</span>
+00652 <span class="preprocessor">#endif</span>
+00653 <span class="preprocessor"></span>
+00654 <span class="preprocessor">#if defined( __INC_RESOURCE_H )</span>
+00655 <span class="preprocessor"></span><span class="preprocessor">#include &lt;tvision/resource.h&gt;</span>
+00656 <span class="preprocessor">#endif</span>
+00657 <span class="preprocessor"></span>
+00658 <span class="preprocessor">#if defined( __INC_VIEWS_H )</span>
+00659 <span class="preprocessor"></span><span class="preprocessor">#include &lt;tvision/views.h&gt;</span>
+00660 <span class="preprocessor">#endif</span>
+00661 <span class="preprocessor"></span>
+00662 <span class="preprocessor">#if defined( __INC_BUFFERS_H )</span>
+00663 <span class="preprocessor"></span><span class="preprocessor">#include &lt;tvision/buffers.h&gt;</span>
+00664 <span class="preprocessor">#endif</span>
+00665 <span class="preprocessor"></span>
+00666 <span class="preprocessor">#if defined( __INC_DIALOGS_H )</span>
+00667 <span class="preprocessor"></span><span class="preprocessor">#include &lt;tvision/dialogs.h&gt;</span>
+00668 <span class="preprocessor">#endif</span>
+00669 <span class="preprocessor"></span>
+00670 <span class="preprocessor">#if defined( __INC_VALIDATOR_H )</span>
+00671 <span class="preprocessor"></span><span class="preprocessor">#include &lt;tvision/validate.h&gt;</span>
+00672 <span class="preprocessor">#endif</span>
+00673 <span class="preprocessor"></span>
+00674 <span class="preprocessor">#if defined( __INC_STDDLG_H )</span>
+00675 <span class="preprocessor"></span><span class="preprocessor">#include &lt;tvision/stddlg.h&gt;</span>
+00676 <span class="preprocessor">#endif</span>
+00677 <span class="preprocessor"></span>
+00678 <span class="preprocessor">#if defined( __INC_COLORSEL_H )</span>
+00679 <span class="preprocessor"></span><span class="preprocessor">#include &lt;tvision/colorsel.h&gt;</span>
+00680 <span class="preprocessor">#endif</span>
+00681 <span class="preprocessor"></span>
+00682 <span class="preprocessor">#if defined( __INC_MENUS_H )</span>
+00683 <span class="preprocessor"></span><span class="preprocessor">#include &lt;tvision/menus.h&gt;</span>
+00684 <span class="preprocessor">#endif</span>
+00685 <span class="preprocessor"></span>
+00686 <span class="preprocessor">#if defined( __INC_TEXTVIEW_H )</span>
+00687 <span class="preprocessor"></span><span class="preprocessor">#include &lt;tvision/textview.h&gt;</span>
+00688 <span class="preprocessor">#endif</span>
+00689 <span class="preprocessor"></span>
+00690 <span class="preprocessor">#if defined( __INC_EDITORS_H )</span>
+00691 <span class="preprocessor"></span><span class="preprocessor">#include &lt;tvision/editors.h&gt;</span>
+00692 <span class="preprocessor">#endif</span>
+00693 <span class="preprocessor"></span>
+00694 <span class="preprocessor">#if defined( __INC_OUTLINE_H )</span>
+00695 <span class="preprocessor"></span><span class="preprocessor">#include &lt;tvision/outline.h&gt;</span>
+00696 <span class="preprocessor">#endif</span>
+00697 <span class="preprocessor"></span>
+00698 <span class="preprocessor">#if defined( __INC_APP_H )</span>
+00699 <span class="preprocessor"></span><span class="preprocessor">#include &lt;tvision/app.h&gt;</span>
+00700 <span class="preprocessor">#endif</span>
+</pre></div><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:10 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/tv_8h.html b/freebsdtvision/doc/html/tv_8h.html
new file mode 100644
index 0000000..bec06db
--- /dev/null
+++ b/freebsdtvision/doc/html/tv_8h.html
@@ -0,0 +1,24 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>tv.h File Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>tv.h File Reference</h1>
+<p>
+<a href="tv_8h-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+ <a class="el" href="tv_8h.html">tv.h</a>
+<p>
+
+<p>
+Definition in file <a class="el" href="tv_8h-source.html">tv.h</a>.<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:11 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/tvconfig_8h-source.html b/freebsdtvision/doc/html/tvconfig_8h-source.html
new file mode 100644
index 0000000..a82be3a
--- /dev/null
+++ b/freebsdtvision/doc/html/tvconfig_8h-source.html
@@ -0,0 +1,41 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>tvconfig.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>tvconfig.h</h1><a href="tvconfig_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="comment">/*</span>
+00002 <span class="comment"> * tvconfig.h</span>
+00003 <span class="comment"> *</span>
+00004 <span class="comment"> * Turbo Vision - Version 2.0</span>
+00005 <span class="comment"> *</span>
+00006 <span class="comment"> * Copyright (c) 1994 by Borland International</span>
+00007 <span class="comment"> * All Rights Reserved.</span>
+00008 <span class="comment"> *</span>
+00009 <span class="comment"> * Modified by Sergio Sigala &lt;sergio@sigala.it&gt;</span>
+00010 <span class="comment"> */</span>
+00011
+00012 <span class="preprocessor">#if !defined( __CONFIG_H )</span>
+00013 <span class="preprocessor"></span><span class="preprocessor">#define __CONFIG_H</span>
+00014 <span class="preprocessor"></span>
+00015 <span class="preprocessor">#include &lt;limits.h&gt;</span>
+00016
+00024 <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="tvconfig_8h.html#a0">eventQSize</a> = 16;
+00025
+00031 <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="tvconfig_8h.html#a1">maxCollectionSize</a> = INT_MAX / <span class="keyword">sizeof</span>(<span class="keywordtype">void</span> *);
+00032
+00036 <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="tvconfig_8h.html#a2">maxViewWidth</a> = 132;
+00037
+00042 <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="tvconfig_8h.html#a3">maxFindStrLen</a> = 80;
+00043
+00048 <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="tvconfig_8h.html#a4">maxReplaceStrLen</a> = 80;
+00049
+00050 <span class="preprocessor">#endif // __CONFIG_H</span>
+</pre></div><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:10 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/tvconfig_8h.html b/freebsdtvision/doc/html/tvconfig_8h.html
new file mode 100644
index 0000000..2f8f0bf
--- /dev/null
+++ b/freebsdtvision/doc/html/tvconfig_8h.html
@@ -0,0 +1,143 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>tvconfig.h File Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>tvconfig.h File Reference</h1>
+<p>
+<a href="tvconfig_8h-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Variables</h2></td></tr>
+<tr><td nowrap align=right valign=top>const int&nbsp;</td><td valign=bottom><a class="el" href="tvconfig_8h.html#a0">eventQSize</a> = 16</td></tr>
+<tr><td nowrap align=right valign=top>const int&nbsp;</td><td valign=bottom><a class="el" href="tvconfig_8h.html#a1">maxCollectionSize</a> = INT_MAX / sizeof(void *)</td></tr>
+<tr><td nowrap align=right valign=top>const int&nbsp;</td><td valign=bottom><a class="el" href="tvconfig_8h.html#a2">maxViewWidth</a> = 132</td></tr>
+<tr><td nowrap align=right valign=top>const int&nbsp;</td><td valign=bottom><a class="el" href="tvconfig_8h.html#a3">maxFindStrLen</a> = 80</td></tr>
+<tr><td nowrap align=right valign=top>const int&nbsp;</td><td valign=bottom><a class="el" href="tvconfig_8h.html#a4">maxReplaceStrLen</a> = 80</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+ <a class="el" href="tvconfig_8h.html">tvconfig.h</a>
+<p>
+
+<p>
+Definition in file <a class="el" href="tvconfig_8h-source.html">tvconfig.h</a>.<hr><h2>Variable Documentation</h2>
+<a name="a0" doxytag="tvconfig.h::eventQSize"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> eventQSize = 16
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Specifies the size of the event queue. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="tvconfig.h::maxCollectionSize"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> maxCollectionSize = INT_MAX / sizeof(void *)
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+maxCollectionSize determines the maximum number of elements that may be contained in a collection, which is essentially the number of pointers that can fit in INT_MAX (= 2^31-1) bytes. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="tvconfig.h::maxFindStrLen"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> maxFindStrLen = 80
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Gives the maximum length for a find string in <a class="el" href="classTEditor.html">TEditor</a> applications. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTEditor.html">TEditor</a> </dl> </td>
+ </tr>
+</table>
+<a name="a4" doxytag="tvconfig.h::maxReplaceStrLen"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> maxReplaceStrLen = 80
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Gives the maximum length for a replacement string in <a class="el" href="classTEditor.html">TEditor</a> applications. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTEditor.html">TEditor</a> </dl> </td>
+ </tr>
+</table>
+<a name="a2" doxytag="tvconfig.h::maxViewWidth"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> maxViewWidth = 132
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Sets the maximum width of a view. </td>
+ </tr>
+</table>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:11 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/tvision.html b/freebsdtvision/doc/html/tvision.html
new file mode 100644
index 0000000..bd26f68
--- /dev/null
+++ b/freebsdtvision/doc/html/tvision.html
@@ -0,0 +1,1193 @@
+<HTML>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<!-- Created on April, 2 2003 by texi2html 1.64 -->
+<!--
+Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
+ Karl Berry <karl@freefriends.org>
+ Olaf Bachmann <obachman@mathematik.uni-kl.de>
+ and many others.
+Maintained by: Olaf Bachmann <obachman@mathematik.uni-kl.de>
+Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
+
+-->
+<HEAD>
+<TITLE>TVision library installation handbook: </TITLE>
+
+<META NAME="description" CONTENT="TVision library installation handbook: ">
+<META NAME="keywords" CONTENT="TVision library installation handbook: ">
+<META NAME="resource-type" CONTENT="document">
+<META NAME="distribution" CONTENT="global">
+<META NAME="Generator" CONTENT="texi2html 1.64">
+
+</HEAD>
+
+<BODY LANG="" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
+
+<A NAME="SEC_Top"></A>
+<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_Top">Top</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_Contents">Contents</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_About"> ? </A>]</TD>
+</TR></TABLE>
+<H1>TVision library installation handbook</H1></P><P>
+
+This document covers the installation and operation of TVision under the
+FreeBSD and Linux operating systems.
+</P><P>
+
+<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="tvision.html#SEC1">1. Overview</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">An overview of the TVision package.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="tvision.html#SEC2">2. Reporting Bugs</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Submitting effective bug reports.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="tvision.html#SEC3">3. File Structure</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Notes on the file hierarchy.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="tvision.html#SEC4">4. Copyright</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">This copyright license says how you can copy and
+ use TVision.</TD></TR>
+</TABLE>
+
+<br>
+<TABLE BORDER=0 CELLSPACING=0>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="tvision.html#SEC5">5. Portability issues</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">The portability of the package.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="tvision.html#SEC6">6. Keyboard</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">The keyboard handling.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="tvision.html#SEC8">7. Screen</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">The screen handling.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="tvision.html#SEC14">8. Mouse</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">The mouse handling.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="tvision.html#SEC17">9. Environment Variables</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">The user modifiable environment variables.</TD></TR>
+</TABLE>
+
+<br>
+<TABLE BORDER=0 CELLSPACING=0>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="tvision.html#SEC22">10. Compiling TVision</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How to compile the library.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="tvision.html#SEC24">11. Resources</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">A list of useful sites.</TD></TR>
+</TABLE>
+
+<br>
+<TABLE BORDER=0 CELLSPACING=0>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="tvision.html#SEC25">12. Credits</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Contributors and useful links.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="tvision.html#SEC26">13. Author's address</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">To send him a nice postcard.</TD></TR>
+</TABLE></BLOCKQUOTE>
+<P>
+
+<HR SIZE=1>
+<A NAME="SEC1"></A>
+<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_Top"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC2"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_Top"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_Top"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC2"> &gt;&gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_Top">Top</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_Contents">Contents</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_About"> ? </A>]</TD>
+</TR></TABLE>
+<A NAME="Overview"></A>
+</P><P>
+
+<H1> 1. Overview </H1>
+<!--docid::SEC1::-->
+Turbo Vision (or TV, for short) is a library that provides an application
+framework. With TV you can write a beautiful object-oriented character-mode
+user interface in a short time.
+<P>
+
+TV is available in C++ and Pascal and is a product of Borland International.
+It was developed to run on MS-DOS systems, but today it is available for many
+other platforms (ported by independent programmers).
+</P><P>
+
+This port is based on the Borland 2.0 version with fixes. Original Turbo
+Vision 2.0 sources should be available at:
+</P><P>
+
+<A HREF="ftp://ftp.borland.com/pub/borlandcpp/devsupport/archive/turbovision">ftp://ftp.borland.com/pub/borlandcpp/devsupport/archive/turbovision</A>
+</P><P>
+
+<A HREF="ftp://ftp.inprise.com/pub/borlandcpp/devsupport/archive/turbovision">ftp://ftp.inprise.com/pub/borlandcpp/devsupport/archive/turbovision</A>
+</P><P>
+
+See the <A HREF="tvision.html#SEC25">12. Credits</A> section for a list of other useful sites.
+</P><P>
+
+<A NAME="Reporting Bugs"></A>
+</P><P>
+
+<HR SIZE="6">
+<A NAME="SEC2"></A>
+<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC1"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC3"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC1"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_Top"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC3"> &gt;&gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_Top">Top</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_Contents">Contents</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_About"> ? </A>]</TD>
+</TR></TABLE>
+<H1> 2. Reporting Bugs </H1>
+<!--docid::SEC2::-->
+We welcome bug reports or suggestions for the TVision system, both programs
+and documentations. Please email them to <A HREF="mailto:sergio@sigala.it">sergio@sigala.it</A>. You can
+download the latest version of TVision from
+<A HREF="http://www.sigala.it/sergio/tvision">http://www.sigala.it/sergio/tvision</A>.
+<P>
+
+For bug reports, please include enough information for the maintainers to
+reproduce the problem. Generally speaking, that means:
+</P><P>
+
+<UL>
+<LI>the version number of TVision and the program(s) involved;
+<P>
+
+<LI>hardware, operating system, and compiler versions;
+<P>
+
+<LI>any unusual options you gave to <TT>`configure'</TT>;
+<P>
+
+<LI>the list of actions and/or the contents of any input files necessary to
+reproduce the bug;
+<P>
+
+<LI>a description of the problem and samples of any erroneous output;
+<P>
+
+<LI>anything else that you think would be helpful.
+</UL>
+<P>
+
+When in doubt whether something is needed or not, include it. It's better to
+include too much than to leave out something important.
+</P><P>
+
+Patches are most welcome; if possible, please make them with
+<SAMP>`diff -ru'</SAMP> (see See section `Overview' in <CITE>The diff program</CITE>, for
+details).
+</P><P>
+
+When sending email, please do not encode or split the messages in any way if
+possible; it's much easier to deal with one plain text message, however large,
+than many small ones.
+</P><P>
+
+<A NAME="File Structure"></A>
+</P><P>
+
+<HR SIZE="6">
+<A NAME="SEC3"></A>
+<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC2"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC4"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC2"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_Top"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC4"> &gt;&gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_Top">Top</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_Contents">Contents</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_About"> ? </A>]</TD>
+</TR></TABLE>
+<H1> 3. File Structure </H1>
+<!--docid::SEC3::-->
+A few notes on the file hierarchy used in this package.
+<P>
+
+<UL>
+<LI>Directory <TT>`doc'</TT> and its subdirectories contain all the
+documentation of the library, along with this manual.
+<P>
+
+<UL>
+<LI><TT>`html/index.html'</TT> is the main page of the documentation. From there
+you can reach both the <EM>installation handbook</EM> and the <EM>class hierarchy
+documentation</EM>. Starting explorations from this page is highly recommended,
+since this file will always stay there in all future versions of the library.
+Anyway, you can alternatively open the various files individually, following
+the instructions given below.
+<P>
+
+<LI><TT>`tvision.info'</TT> is the Texinfo version of this manual, hereinafter
+called <EM>installation handbook</EM>. It contains information regarding
+installation, keyboard handling, screen manipulation, environment variables
+and mouse support. You should take a look at it before using the library. Just
+type <SAMP>`info -f tvision.info'</SAMP> to proceed.
+The Texinfo format allows searching for topics, commands and functions from
+the many indices.
+<P>
+
+<TT>`tvision.info'</TT> was automatically extracted from <TT>`tvision.texi'</TT> with
+the program <SAMP>`makeinfo'</SAMP>.
+The command <SAMP>`texi2dvi tvision.texi'</SAMP> will output <TT>`tvision.dvi'</TT>,
+which can then be processed with <SAMP>`dvips'</SAMP> and optionally <SAMP>`gs'</SAMP>
+(Ghostscript) to produce a nicely formatted printed manual. See
+section `Overview' in <CITE>The Texinfo format</CITE>, and
+See section `Getting Started' in <CITE>The info program</CITE>, for more about the
+Texinfo documentation system.
+</P><P>
+
+<LI><TT>`html/tvision.html'</TT> is the html version of these installation
+notes, automatically produced by applying the <SAMP>`texi2html'</SAMP> utility to
+file <TT>`tvision.texi'</TT>. Since it is built automatically the output may
+appear ugly, so don't blame me.
+<P>
+
+<LI>Files <TT>`html/hierarchy.html'</TT>, <TT>`html/classes.html'</TT>,
+<TT>`html/annotated.html'</TT>, <TT>`html/files.html'</TT>, <TT>`html/functions.html'</TT>
+and <TT>`html/globals.html'</TT> are the main pages of the <EM>class hierarchy
+documentation</EM>. These information describe each class, its methods and data
+members with some degree of detail.
+<P>
+
+To produce this documentation, I annotated each class directly in the header
+file (.h) where it appears. Then I ran <SAMP>`doxygen'</SAMP>, a powerful
+documentation extractor available from
+<A HREF="http://www.doxygen.org/index.html">http://www.doxygen.org/index.html</A> or from
+<A HREF="http://www.stack.nl/~dimitri/doxygen/download.html">http://www.stack.nl/~dimitri/doxygen/download.html</A>. It automatically
+fetches these information and generates a nice html manual.
+</UL>
+<P>
+
+<LI>Directory <TT>`lib'</TT> contains all the sources of the library, both header
+(.h) and program (.cc) files. Object files (.lo, .o) and the generated
+library files (libtvision.a, libtvision.la) are also placed here, after a
+successful compilation.
+<P>
+
+Before compiling the library, a trick in <TT>`Makefile.am'</TT> creates a symbolic
+link named <TT>`tvision'</TT> to this same directory. This recursive link allows
+the smooth compilation of the various source files, because all of them try to
+include <TT>`tvision/tv.h'</TT>.
+</P><P>
+
+<TT>`tv.h'</TT> is the only header every application needs to include. It
+automatically includes the required TVision header files by looking at the
+various <SAMP>`Uses_XXXX'</SAMP> macros. If one macro is defined the relevant header
+is included.
+</P><P>
+
+<LI>Directory <TT>`demo'</TT> presents a complete application made with this
+library, named <SAMP>`demo'</SAMP>. It shows how to use predefined views, how to
+subclass them to create custom views, how to handle the various events and how
+to deal with the online help system. It also gives some advises on how to
+store and recover views to and from streams.
+<P>
+
+<LI>Directory <TT>`tutorial'</TT> contains a lot of simple examples. Read file
+<TT>`README'</TT> in that directory to know exactly what each program does.
+File <TT>`basicMakefile'</TT> is a simple makefile template you can easily modify
+to build your own programs.
+<P>
+
+<LI>Finally, directory <TT>`tvhc'</TT> includes the help compiler, the default
+program used to translate a source help file in the binary form TVision
+internally uses. Some documentation for it is given there in file
+<TT>`README'</TT>.
+</UL>
+<P>
+
+<A NAME="Copyright"></A>
+</P><P>
+
+<HR SIZE="6">
+<A NAME="SEC4"></A>
+<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC3"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC5"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC3"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_Top"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC5"> &gt;&gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_Top">Top</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_Contents">Contents</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_About"> ? </A>]</TD>
+</TR></TABLE>
+<H1> 4. Copyright </H1>
+<!--docid::SEC4::-->
+<BLOCKQUOTE>
+All changes copyright (c) 1997-2001 Sergio Sigala, Brescia, Italy.
+All rights reserved.
+<P>
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+</P><P>
+
+<OL>
+<LI>Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+<LI>Redistributions in binary form must reproduce the above copyright
+notice, this list of conditions and the following disclaimer in the
+documentation and/or other materials provided with the distribution.
+</OL>
+<P>
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+</BLOCKQUOTE>
+<P>
+
+Warning: this BSD-style copyright is applicable only to the modifications
+brought by Sergio Sigala to the original code. Borland has released the code
+to the public, but still owns the original copyright (see file <TT>`lib/tv.h'</TT>
+for instance).
+</P><P>
+
+Other contributors have their respective copyright.
+</P><P>
+
+<A NAME="Portability issues"></A>
+</P><P>
+
+<HR SIZE="6">
+<A NAME="SEC5"></A>
+<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC4"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC6"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC4"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_Top"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC6"> &gt;&gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_Top">Top</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_Contents">Contents</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_About"> ? </A>]</TD>
+</TR></TABLE>
+<H1> 5. Portability issues </H1>
+<!--docid::SEC5::-->
+The TV library was originally written to run on 80x86 processor. These
+processors are little-endian and the original library assumes this as a
+premise. In fact, some code may not run properly on big-endian machines.
+This means it requires a big effort to make the library fully portable across
+all Unix machines.
+<P>
+
+I made various changes in the code to make it run correctly under big-endian
+machines. I tested it with a PowerPC running Linux and it works fine (maybe
+some other minor changes are required).
+</P><P>
+
+Another problem is the massive usage of the PC-specific character set. This
+usually gives a nice look when the applications run in the system console, but
+can show very annoying characters when they run in a remote terminal or under
+a X shell.
+</P><P>
+
+<A NAME="Keyboard"></A>
+</P><P>
+
+<HR SIZE="6">
+<A NAME="SEC6"></A>
+<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC5"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC8"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC5"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_Top"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC8"> &gt;&gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_Top">Top</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_Contents">Contents</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_About"> ? </A>]</TD>
+</TR></TABLE>
+<H1> 6. Keyboard </H1>
+<!--docid::SEC6::-->
+The ncurses library is systematically used in TVision to perform keyboard
+input, and usually to do video output also. These routines give the user a
+terminal-independent method for getting input characters and to update
+character screens with reasonable optimization. The name <SAMP>`ncurses'</SAMP>
+stands for `new curses' and is the approved replacement for the 4.4BSD classic
+<SAMP>`curses'</SAMP> library, which has been discontinued.
+<P>
+
+More specifically, the ncurses package supports:
+</P><P>
+
+<UL>
+<LI>output to windows and reading terminal input;
+<LI>control over terminals and their input and output capabilities;
+<LI>some color manipulation;
+<LI>terminfo capabilities;
+<LI>access to low-level terminal-manipulation routines.
+</UL>
+<P>
+
+In addition to drawing characters on the screen, video attributes and colors
+may be supported, causing the characters to show up in such modes as
+underlined, in reverse video, or in color on terminals that support such
+display enhancements. Line drawing characters may be specified to be output.
+On input, ncurses is also able to translate arrow and function keys that
+transmit escape sequences into single value integers. Type
+<SAMP>`man ncurses'</SAMP> for more.
+</P><P>
+
+Under Linux a special output mechanism called VCS, which gives direct access
+to the console screen memory, may be used. This is noticeably faster than the
+standard ncurses output. See <A HREF="tvision.html#SEC8">7. Screen</A> for details.
+</P><P>
+
+<A NAME="SEC7"></A>
+<H2> Key combinations </H2>
+<!--docid::SEC7::-->
+Two notes, whose applicability is strictly dependent on the operating system
+you are using:
+<P>
+
+<UL>
+<LI>Under FreeBSD <KBD>ALT</KBD> combinations aren't currently supported. You can
+emulate them with <KBD>ESC</KBD> sequences. To perform an <KBD>ALT</KBD> emulation you
+should press <KBD>ESC</KBD> followed by the required letter key within some tenth of
+second. The default time interval is 0.4 seconds, see file <TT>`system.cc'</TT>
+for further details on how to change it.
+<P>
+
+For example, to generate the <KBD>Alt-X</KBD> combination press <KBD>ESC X</KBD>. To
+generate <KBD>ESC</KBD> alone press it once and wait 0.4 seconds or press it twice.
+If the second key is pressed outside the time interval, the entire sequence is
+treated like two ordinary key presses are.
+</P><P>
+
+Support for <KBD>CTRL</KBD> and <KBD>SHIFT</KBD> key combinations is also missing.
+</P><P>
+
+<LI>Under Linux <KBD>ALT</KBD> combinations are usable only when you run
+applications from the system console. In this mode the library can easily
+detect the state of <KBD>ALT</KBD>, <KBD>CTRL</KBD> and <KBD>SHIFT</KBD> keys by using a
+Linux-specific system call (<SAMP>`TIOCLINUX'</SAMP>, see <TT>`sys/kd.h'</TT> for
+more), so strange combinations like <SAMP>`kbCtrlLeft'</SAMP> are always possible.
+In other environments (namely remote terminals and X shells) these sequences
+can't be detected, so you need to compose the same sequences seen above for
+FreeBSD.
+</UL>
+<P>
+
+<A NAME="Screen"></A>
+</P><P>
+
+<HR SIZE="6">
+<A NAME="SEC8"></A>
+<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC6"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC14"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC6"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_Top"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC14"> &gt;&gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_Top">Top</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_Contents">Contents</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_About"> ? </A>]</TD>
+</TR></TABLE>
+<H1> 7. Screen </H1>
+<!--docid::SEC8::-->
+A few, useful notes about screen handling.
+<P>
+
+<A NAME="SEC9"></A>
+<H2> The importance of SIGWINCH </H2>
+<!--docid::SEC9::-->
+The <SAMP>`SIGWINCH'</SAMP> signal is always hooked, so we can resize the screen at
+runtime and the application will adapt itself. Obviously, this capability is
+especially useful in X shells.
+<P>
+
+<A NAME="SEC10"></A>
+<H2> Two drawbacks of ncurses </H2>
+<!--docid::SEC10::-->
+Like mentioned previously, the ncurses library is usually used to perform
+video output. This should work well under any operating system, in any kind of
+terminal (system console, dumb terminal or X shell). But there are at least
+two problems with this otherwise perfectly portable solution:
+<P>
+
+<OL>
+<LI>This mechanism can't output all the 256 characters the 8 bit encoding
+would permit, including those nice semi-graphical signs usually used in
+text-mode applications on PCs. Since TVision uses them all (to draw frames,
+window icons and various other views), your application may appear
+graphically poor.
+<P>
+
+<LI>This mechanism is slow. On the system console it's slower on Linux than
+FreeBSD, because of the advanced system FreeBSD uses to update the screen
+memory. Equally slow on the other kinds of terminal. This limit appears
+noticeably on 486 and low-end Pentiums.
+</OL>
+<P>
+
+There is no way to speedup this process without doing some low-level,
+operating-system-specific trickery, necessarily non portable across the
+various operating systems.
+</P><P>
+
+<A NAME="SEC11"></A>
+<H2> The Linux way: virtual console mode versus remote mode </H2>
+<!--docid::SEC11::-->
+Linux has a special output mechanism called VCS (or VCSA), which gives direct
+access to the screen memory. VCS stands for <EM>virtual console system</EM>.
+<P>
+
+This mechanism is a lot faster than the standard ncurses output; we'll call it
+<EM>virtual console mode</EM>. For clearness, we'll refer to the conventional,
+ncurses-based output approach, as <EM>remote mode</EM>. Not surprising, this
+facility is capable of displaying all of the 256 characters with all colors
+the graphic adapter allows, so it fixes the first problem too.
+</P><P>
+
+The Linux kernel provides a handful of special devices which refer to the
+memories of the various virtual consoles; they are described below:
+</P><P>
+
+<UL>
+<LI><TT>`/dev/vcs0'</TT> is a character device with major number 7 and minor
+number 0, usually of mode 0644 and owner root.tty. It refers to the memory of
+the currently displayed virtual console terminal.
+<P>
+
+<LI><TT>`/dev/vcs[1-63]'</TT> are character devices for virtual console
+terminals, they have major number 7 and minor number 1 to 63, usually mode
+0644 and owner root.tty.
+<P>
+
+<LI><TT>`/dev/vcsa[0-63]'</TT> are the same as above, but including attributes,
+and prefixed with four bytes giving the screen dimensions and cursor position:
+lines, columns, x and y.
+</UL>
+<P>
+
+These devices replace the screendump ioctls of <SAMP>`console(4)'</SAMP>, so the
+system administrator can control access using file system permissions. Your
+application may require root privileges, in order to gain access to these
+devices. Type <SAMP>`man vcs'</SAMP> for more.
+</P><P>
+
+If not already present, the devices for the first eight virtual consoles may
+be created by:
+</P><P>
+
+<TABLE><tr><td>&nbsp;</td><td class=example><pre>for x in 0 1 2 3 4 5 6 7 8; do
+ mknod -m 644 /dev/vcs$x c 7 $x;
+ mknod -m 644 /dev/vcsa$x c 7 $[$x+128];
+done
+chown root:tty /dev/vcs*
+</pre></td></tr></table></P><P>
+
+Alternatively, you may try the following script, taken from the Midnight
+Commander, which builds all the 64 devices:
+</P><P>
+
+<TABLE><tr><td>&nbsp;</td><td class=example><pre>#!/bin/sh
+#
+# Script by Jakub Jelinek
+#
+if test -e /dev/vcs0
+then
+ exit
+fi
+
+I=0
+while [ $I -lt 64 ]
+do
+ mknod /dev/vcs$I c 7 $I
+ chmod 622 /dev/vcs$I
+ chown root.tty /dev/vcs$I
+ mknod /dev/vcsa$I c 7 `expr $I + 128`
+ chmod 622 /dev/vcsa$I
+ chown root.tty /dev/vcsa$I
+ I=`expr $I + 1`
+done
+</pre></td></tr></table></P><P>
+
+<A NAME="SEC12"></A>
+<H2> Conclusions on Linux </H2>
+<!--docid::SEC12::-->
+Under Linux every program can run in two ways:
+<P>
+
+<UL>
+<LI><EM>Virtual console mode</EM> is the fastest output method and should be
+automatically selected when you start your application from the system
+console and it has the required write privileges. Its output goes directly to
+the display via one of the various <TT>`/dev/vcsa*'</TT> devices.
+<P>
+
+<LI><EM>Remote mode</EM> is used when you run the application from a remote
+terminal, under telnet, in a X shell or in the system console but it has not
+write privileges to the <TT>`/dev/vcsa*'</TT> devices. Its output goes to the
+display via standard out, so it's very slow compared to the former.
+</UL>
+<P>
+
+In any case, colors are used if the terminal supports them. Otherwise, a
+monochrome palette with bold and inverse attributes is used to mark the text.
+</P><P>
+
+<A NAME="SEC13"></A>
+<H2> Two notes on FreeBSD </H2>
+<!--docid::SEC13::-->
+<UL>
+<LI>FreeBSD lacks a mechanism like VCS. But it does not really need it,
+because his conventional ncurses output is moderately fast thanks to the
+peculiar screen updating technique it uses.
+<P>
+
+<LI>The last screen line is not used because otherwise the display will
+scroll up (it's an example of the <EM>last character syndrome</EM>, which
+sometimes affects computer programs).
+</UL>
+<P>
+
+<A NAME="Mouse"></A>
+</P><P>
+
+<HR SIZE="6">
+<A NAME="SEC14"></A>
+<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC8"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC17"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC8"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_Top"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC17"> &gt;&gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_Top">Top</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_Contents">Contents</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_About"> ? </A>]</TD>
+</TR></TABLE>
+<H1> 8. Mouse </H1>
+<!--docid::SEC14::-->
+The mouse handling varies a lot, depending on the operating system you are
+using. If you need to change some timing see the <TT>`system.cc'</TT> file.
+<P>
+
+<A NAME="SEC15"></A>
+<H2> Mouse support under FreeBSD </H2>
+<!--docid::SEC15::-->
+The library requires the <SAMP>`moused'</SAMP> daemon to be loaded. See the moused
+man page (by typing <SAMP>`man moused'</SAMP>) for more details. For example, if
+you have a Microsoft compatible mouse connected to COM1, you should issue this
+command:
+<P>
+
+<TABLE><tr><td>&nbsp;</td><td class=example><pre>moused -p /dev/cuaa0 -t microsoft
+</pre></td></tr></table></P><P>
+
+By using the <SAMP>`TVOPT'</SAMP> environment variable, you can modify the shape of
+the cursor. Setting it to <SAMP>`noarrow'</SAMP> disables the arrow pointer; the
+block pointer will instead be used. See the <A HREF="tvision.html#SEC17">9. Environment Variables</A>
+section for more.
+</P><P>
+
+<A NAME="SEC16"></A>
+<H2> Mouse support under Linux </H2>
+<!--docid::SEC16::-->
+The library requires <SAMP>`Gpm'</SAMP>. The Gpm package is a mouse server for the
+Linux console. It is meant to provide cooked mouse events to text-only
+applications, such as editors and simple menu-based programs. I tested
+TVision with Gpm version 1.18.1.
+<P>
+
+<A NAME="Environment Variables"></A>
+</P><P>
+
+<HR SIZE="6">
+<A NAME="SEC17"></A>
+<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC14"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC22"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC14"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_Top"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC22"> &gt;&gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_Top">Top</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_Contents">Contents</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_About"> ? </A>]</TD>
+</TR></TABLE>
+<H1> 9. Environment Variables </H1>
+<!--docid::SEC17::-->
+By setting the two environment variables <SAMP>`TVLOG'</SAMP> and <SAMP>`TVOPT'</SAMP>, you
+can modify the way TVision applications act on your system.
+<P>
+
+<A NAME="SEC18"></A>
+<H2> TVLOG </H2>
+<!--docid::SEC18::-->
+With <SAMP>`TVLOG'</SAMP> you can force TVision to write a log file. For example, the
+following line will produce a log file named <SAMP>`mylog'</SAMP> when the application
+is executed:
+<P>
+
+<TABLE><tr><td>&nbsp;</td><td class=example><pre>TVLOG=mylog
+</pre></td></tr></table></P><P>
+
+The log file creation can be suppressed by assigning an empty string to this
+variable.
+</P><P>
+
+<A NAME="SEC19"></A>
+<H2> TVOPT </H2>
+<!--docid::SEC19::-->
+You can modify some of the behavior of the library by defining the other
+environment variable <SAMP>`TVOPT'</SAMP>. This variable is a set of strings
+separated by one or more space characters. Valid strings are:
+<P>
+
+<DL COMPACT>
+<DT><SAMP>`cyrillic'</SAMP>
+<DD>enables cyrillic character set mapping (for Linux and VCS only). See
+<A HREF="tvision.html#SEC8">7. Screen</A> for more about VCS.
+<P>
+
+<DT><SAMP>`latin'</SAMP>
+<DD>enables latin character set mapping (for Linux and VCS only). See
+<A HREF="tvision.html#SEC8">7. Screen</A> for more about VCS.
+<P>
+
+Note: this option and the one above are useful only when the VCS is enabled;
+in any other mode the application should automatically select the correct
+mapping, thanks to the translation kindly done by ncurses and the operating
+system.
+</P><P>
+
+<DT><SAMP>`noarrow'</SAMP>
+<DD>disables the arrow pointer (FreeBSD only); the block pointer will instead be
+used. See <A HREF="tvision.html#SEC14">8. Mouse</A> for more about mouse handling.
+<P>
+
+<DT><SAMP>`nogpm'</SAMP>
+<DD>disables support for the Gpm mouse driver (Linux only); the application
+will run without mouse. See <A HREF="tvision.html#SEC14">8. Mouse</A> for more about mouse handling.
+<P>
+
+<DT><SAMP>`novcs'</SAMP>
+<DD>inhibits the use of VCS to do video output (Linux only); the application will
+always use remote mode. See <A HREF="tvision.html#SEC8">7. Screen</A> for more about VCS.
+</DL>
+<P>
+
+<A NAME="SEC20"></A>
+<H2> Examples for the Bourne shell </H2>
+<!--docid::SEC20::-->
+<TABLE><tr><td>&nbsp;</td><td class=example><pre>export TVOPT=nogpm ==> does not use Gpm
+export TVOPT="nogpm novcs" ==> disables both Gpm and VCS
+export TVOPT= ==> cleans the environment variable
+</pre></td></tr></table><P>
+
+<A NAME="SEC21"></A>
+<H2> Examples for the C shell </H2>
+<!--docid::SEC21::-->
+<TABLE><tr><td>&nbsp;</td><td class=example><pre>setenv TVOPT nogpm ==> does not use Gpm
+setenv TVOPT "nogpm novcs" ==> disables both Gpm and VCS
+unsetenv TVOPT ==> cleans the environment variable
+</pre></td></tr></table><P>
+
+<A NAME="Compiling TVision"></A>
+</P><P>
+
+<HR SIZE="6">
+<A NAME="SEC22"></A>
+<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC17"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC24"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC17"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_Top"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC24"> &gt;&gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_Top">Top</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_Contents">Contents</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_About"> ? </A>]</TD>
+</TR></TABLE>
+<H1> 10. Compiling TVision </H1>
+<!--docid::SEC22::-->
+This section gives you some information for installing TVision. For further
+details please read the <TT>`INSTALL'</TT> file that can be found in the root
+directory of the source package.
+<P>
+
+<UL>
+<LI>Type <SAMP>`./configure'</SAMP> to automatically detect the system features.
+<P>
+
+<LI>Type <SAMP>`make'</SAMP> in the main directory to compile all the sources. This
+creates both the static and dynamic libraries. Libraries are placed in
+directory <SAMP>`lib'</SAMP> with source files. The <SAMP>`demo'</SAMP> example and the
+tutorials are statically linked against the TVision library.
+<P>
+
+<LI>Type <SAMP>`make install'</SAMP> to install the library in
+<TT>`/usr/local/include'</TT> and <TT>`/usr/local/lib'</TT>. The default prefix
+directory is thus <SAMP>`/usr/local'</SAMP> and it's automatically selected by
+<SAMP>`configure'</SAMP> if you missed to specify a custom prefix directory with
+the option <SAMP>`--prefix=PATH'</SAMP>.
+<P>
+
+<LI>Type <SAMP>`make uninstall'</SAMP> to remove the library.
+<P>
+
+Note: this command and the previous (<SAMP>`make install'</SAMP>) both need root
+privileges and should possibly be followed by <SAMP>`ldconfig'</SAMP> to update the
+linker cache.
+</P><P>
+
+<LI>Type <SAMP>`make clean'</SAMP> in the main directory to remove objects,
+backup files and executables in the main directory and in all the
+subdirectories.
+<P>
+
+<LI>Type <SAMP>`make dist'</SAMP> to build the distribution package.
+</UL>
+<P>
+
+<A NAME="SEC23"></A>
+<H2> Quick start </H2>
+<!--docid::SEC23::-->
+To start, just say <SAMP>`./configure &#38;&#38; make'</SAMP> to your shell. Binaries are not
+released with the package because it's safer for you to compile the package by
+yourself.
+<P>
+
+<A NAME="Resources"></A>
+</P><P>
+
+<HR SIZE="6">
+<A NAME="SEC24"></A>
+<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC22"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC25"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC22"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_Top"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC25"> &gt;&gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_Top">Top</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_Contents">Contents</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_About"> ? </A>]</TD>
+</TR></TABLE>
+<H1> 11. Resources </H1>
+<!--docid::SEC24::-->
+Please connect to <A HREF="http://www.sigala.it/sergio/tvision">http://www.sigala.it/sergio/tvision</A> for fresh
+resources. It is the official TVision site, from which you can download the
+latest version of the package; there is a number of example programs too.
+<P>
+
+<A NAME="Credits"></A>
+</P><P>
+
+<HR SIZE="6">
+<A NAME="SEC25"></A>
+<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC24"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC26"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC24"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_Top"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC26"> &gt;&gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_Top">Top</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_Contents">Contents</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_About"> ? </A>]</TD>
+</TR></TABLE>
+<H1> 12. Credits </H1>
+<!--docid::SEC25::-->
+The following are most of the contributors, listed in chronologic order.
+Sorry if I missed somebody (please contact me in case I did,
+<A HREF="mailto:sergio@sigala.it">sergio@sigala.it</A>).
+<P>
+
+<UL>
+<LI>Vasily Egoshin <A HREF="mailto:wasa@nica.marstu.mari.su">wasa@nica.marstu.mari.su</A>
+<LI>Rainer Keuchel <A HREF="mailto:r_keuchel@smaug.netwave.de">r_keuchel@smaug.netwave.de</A>
+<LI>Martynas Kunigelis <A HREF="mailto:algikun@santaka.sc-uni.ktu.lt">algikun@santaka.sc-uni.ktu.lt</A>
+<LI>Bonni Mierzejewska <A HREF="mailto:u6ed4@wvnvm.wvnet.edu">u6ed4@wvnvm.wvnet.edu</A>
+<LI>Ruslan V. Brushkoff <A HREF="mailto:ruslan@Baby.TM.Odessa.UA">ruslan@Baby.TM.Odessa.UA</A>
+<LI>Dmitrij Korovkin <A HREF="mailto:tkf@glasnet.ru">tkf@glasnet.ru</A>
+<LI>Sergey Clushin <A HREF="mailto:serg@lamport.ru">serg@lamport.ru</A> <A HREF="mailto:Clushin@deol.ru">Clushin@deol.ru</A>
+<LI>Harald Hoyer <A HREF="mailto:HarryH@Royal.Net">HarryH@Royal.Net</A>
+<LI>John Polstra <A HREF="mailto:jdp@polstra.com">jdp@polstra.com</A>
+<LI>Pedro F. Giffuni <A HREF="mailto:giffunip@asme.org">giffunip@asme.org</A>
+<LI>Vitaly Fedrushkov <A HREF="mailto:willy@snowyowl.csu.ac.ru">willy@snowyowl.csu.ac.ru</A>
+<LI>Piotr Klaban <A HREF="mailto:makler@man.torun.pl">makler@man.torun.pl</A>
+<LI>Artur Harasimiuk <A HREF="mailto:maniak@qna.softomat.com.pl">maniak@qna.softomat.com.pl</A>
+<LI>Thorsten Dittmar <A HREF="mailto:dittmar@Mathematik.Uni-Marburg.de">dittmar@Mathematik.Uni-Marburg.de</A>
+<LI>Javor Dimitrov <A HREF="mailto:logix@dobrich-sat.net">logix@dobrich-sat.net</A>
+</UL>
+<P>
+
+<A NAME="Author address"></A>
+</P><P>
+
+<HR SIZE="6">
+<A NAME="SEC26"></A>
+<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC25"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt; ]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC25"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_Top"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt;&gt; ]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_Top">Top</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_Contents">Contents</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_About"> ? </A>]</TD>
+</TR></TABLE>
+<H1> 13. Author's address </H1>
+<!--docid::SEC26::-->
+<PRE>Sergio Sigala <A HREF="mailto:sergio@sigala.it">sergio@sigala.it</A>
+Viale De Gasperi, 8
+25041 Boario Terme (BS)
+Italy
+</PRE>
+<P>
+
+<HR SIZE="6">
+<A NAME="SEC_Contents"></A>
+<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_Top">Top</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_Contents">Contents</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_About"> ? </A>]</TD>
+</TR></TABLE>
+<H1>Table of Contents</H1>
+<UL>
+<A NAME="TOC1" HREF="tvision.html#SEC1">1. Overview</A>
+<BR>
+<A NAME="TOC2" HREF="tvision.html#SEC2">2. Reporting Bugs</A>
+<BR>
+<A NAME="TOC3" HREF="tvision.html#SEC3">3. File Structure</A>
+<BR>
+<A NAME="TOC4" HREF="tvision.html#SEC4">4. Copyright</A>
+<BR>
+<A NAME="TOC5" HREF="tvision.html#SEC5">5. Portability issues</A>
+<BR>
+<A NAME="TOC6" HREF="tvision.html#SEC6">6. Keyboard</A>
+<BR>
+<A NAME="TOC8" HREF="tvision.html#SEC8">7. Screen</A>
+<BR>
+<A NAME="TOC14" HREF="tvision.html#SEC14">8. Mouse</A>
+<BR>
+<A NAME="TOC17" HREF="tvision.html#SEC17">9. Environment Variables</A>
+<BR>
+<A NAME="TOC22" HREF="tvision.html#SEC22">10. Compiling TVision</A>
+<BR>
+<A NAME="TOC24" HREF="tvision.html#SEC24">11. Resources</A>
+<BR>
+<A NAME="TOC25" HREF="tvision.html#SEC25">12. Credits</A>
+<BR>
+<A NAME="TOC26" HREF="tvision.html#SEC26">13. Author's address</A>
+<BR>
+</UL>
+<HR SIZE=1>
+<A NAME="SEC_OVERVIEW"></A>
+<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_Top">Top</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_Contents">Contents</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_About"> ? </A>]</TD>
+</TR></TABLE>
+<H1>Short Table of Contents</H1>
+<BLOCKQUOTE>
+<A NAME="TOC1" HREF="tvision.html#SEC1">1. Overview</A>
+<BR>
+<A NAME="TOC2" HREF="tvision.html#SEC2">2. Reporting Bugs</A>
+<BR>
+<A NAME="TOC3" HREF="tvision.html#SEC3">3. File Structure</A>
+<BR>
+<A NAME="TOC4" HREF="tvision.html#SEC4">4. Copyright</A>
+<BR>
+<A NAME="TOC5" HREF="tvision.html#SEC5">5. Portability issues</A>
+<BR>
+<A NAME="TOC6" HREF="tvision.html#SEC6">6. Keyboard</A>
+<BR>
+<A NAME="TOC8" HREF="tvision.html#SEC8">7. Screen</A>
+<BR>
+<A NAME="TOC14" HREF="tvision.html#SEC14">8. Mouse</A>
+<BR>
+<A NAME="TOC17" HREF="tvision.html#SEC17">9. Environment Variables</A>
+<BR>
+<A NAME="TOC22" HREF="tvision.html#SEC22">10. Compiling TVision</A>
+<BR>
+<A NAME="TOC24" HREF="tvision.html#SEC24">11. Resources</A>
+<BR>
+<A NAME="TOC25" HREF="tvision.html#SEC25">12. Credits</A>
+<BR>
+<A NAME="TOC26" HREF="tvision.html#SEC26">13. Author's address</A>
+<BR>
+
+</BLOCKQUOTE>
+<HR SIZE=1>
+<A NAME="SEC_About"></A>
+<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_Top">Top</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_Contents">Contents</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="tvision.html#SEC_About"> ? </A>]</TD>
+</TR></TABLE>
+<H1>About this document</H1>
+This document was generated by <I>Max Okumoto</I> on <I>April, 2 2003</I>
+using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
+"><I>texi2html</I></A>
+<P></P>
+The buttons in the navigation panels have the following meaning:
+<P></P>
+<table border = "1">
+<TR>
+<TH> Button </TH>
+<TH> Name </TH>
+<TH> Go to </TH>
+<TH> From 1.2.3 go to</TH>
+</TR>
+<TR>
+<TD ALIGN="CENTER">
+ [ &lt; ] </TD>
+<TD ALIGN="CENTER">
+Back
+</TD>
+<TD>
+previous section in reading order
+</TD>
+<TD>
+1.2.2
+</TD>
+</TR>
+<TR>
+<TD ALIGN="CENTER">
+ [ &gt; ] </TD>
+<TD ALIGN="CENTER">
+Forward
+</TD>
+<TD>
+next section in reading order
+</TD>
+<TD>
+1.2.4
+</TD>
+</TR>
+<TR>
+<TD ALIGN="CENTER">
+ [ &lt;&lt; ] </TD>
+<TD ALIGN="CENTER">
+FastBack
+</TD>
+<TD>
+previous or up-and-previous section
+</TD>
+<TD>
+1.1
+</TD>
+</TR>
+<TR>
+<TD ALIGN="CENTER">
+ [ Up ] </TD>
+<TD ALIGN="CENTER">
+Up
+</TD>
+<TD>
+up section
+</TD>
+<TD>
+1.2
+</TD>
+</TR>
+<TR>
+<TD ALIGN="CENTER">
+ [ &gt;&gt; ] </TD>
+<TD ALIGN="CENTER">
+FastForward
+</TD>
+<TD>
+next or up-and-next section
+</TD>
+<TD>
+1.3
+</TD>
+</TR>
+<TR>
+<TD ALIGN="CENTER">
+ [Top] </TD>
+<TD ALIGN="CENTER">
+Top
+</TD>
+<TD>
+cover (top) of document
+</TD>
+<TD>
+ &nbsp;
+</TD>
+</TR>
+<TR>
+<TD ALIGN="CENTER">
+ [Contents] </TD>
+<TD ALIGN="CENTER">
+Contents
+</TD>
+<TD>
+table of contents
+</TD>
+<TD>
+ &nbsp;
+</TD>
+</TR>
+<TR>
+<TD ALIGN="CENTER">
+ [Index] </TD>
+<TD ALIGN="CENTER">
+Index
+</TD>
+<TD>
+concept index
+</TD>
+<TD>
+ &nbsp;
+</TD>
+</TR>
+<TR>
+<TD ALIGN="CENTER">
+ [ ? ] </TD>
+<TD ALIGN="CENTER">
+About
+</TD>
+<TD>
+this page
+</TD>
+<TD>
+ &nbsp;
+</TD>
+</TR>
+</TABLE>
+<P></P>
+where the <STRONG> Example </STRONG> assumes that the current position
+is at <STRONG> Subsubsection One-Two-Three </STRONG> of a document of
+the following structure:
+<UL>
+<LI> 1. Section One </LI>
+<UL>
+<LI>1.1 Subsection One-One</LI>
+<UL>
+<LI> ... </LI>
+</UL>
+<LI>1.2 Subsection One-Two</LI>
+<UL>
+<LI>1.2.1 Subsubsection One-Two-One
+</LI><LI>1.2.2 Subsubsection One-Two-Two
+</LI><LI>1.2.3 Subsubsection One-Two-Three &nbsp; &nbsp; <STRONG>
+&lt;== Current Position </STRONG>
+</LI><LI>1.2.4 Subsubsection One-Two-Four
+</LI></UL>
+<LI>1.3 Subsection One-Three</LI>
+<UL>
+<LI> ... </LI>
+</UL>
+<LI>1.4 Subsection One-Four</LI>
+</UL>
+</UL>
+
+<HR SIZE=1>
+<BR>
+<FONT SIZE="-1">
+This document was generated
+by <I>Max Okumoto</I> on <I>April, 2 2003</I>
+using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
+"><I>texi2html</I></A>
+
+</BODY>
+</HTML>
diff --git a/freebsdtvision/doc/html/tvobjs_8h-source.html b/freebsdtvision/doc/html/tvobjs_8h-source.html
new file mode 100644
index 0000000..b52559e
--- /dev/null
+++ b/freebsdtvision/doc/html/tvobjs_8h-source.html
@@ -0,0 +1,117 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>tvobjs.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>tvobjs.h</h1><a href="tvobjs_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="comment">/*</span>
+00002 <span class="comment"> * tvobjs.h</span>
+00003 <span class="comment"> *</span>
+00004 <span class="comment"> * Turbo Vision - Version 2.0</span>
+00005 <span class="comment"> *</span>
+00006 <span class="comment"> * Copyright (c) 1994 by Borland International</span>
+00007 <span class="comment"> * All Rights Reserved.</span>
+00008 <span class="comment"> *</span>
+00009 <span class="comment"> * Modified by Sergio Sigala &lt;sergio@sigala.it&gt;</span>
+00010 <span class="comment"> */</span>
+00011
+00012 <span class="preprocessor">#if defined( Uses_TObject ) &amp;&amp; !defined( __TObject )</span>
+00013 <span class="preprocessor"></span><span class="preprocessor">#define __TObject</span>
+00014 <span class="preprocessor"></span>
+00019 <span class="preprocessor">#include &lt;stddef.h&gt;</span>
+00020
+<a name="l00031"></a><a class="code" href="classTObject.html">00031</a> <span class="keyword">class </span><a class="code" href="classTObject.html">TObject</a>
+00032 {
+00033 <span class="keyword">public</span>:
+00040 <span class="keyword">virtual</span> <a class="code" href="classTObject.html#a0">~TObject</a>();
+00051 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTObject.html#d0">destroy</a>( <a class="code" href="classTObject.html">TObject</a> *o );
+00061 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTObject.html#a1">shutDown</a>();
+00062 <span class="keyword">private</span>:
+00063 };
+00064
+<a name="l00065"></a><a class="code" href="classTObject.html#d0">00065</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classTObject.html#d0">TObject::destroy</a>( <a class="code" href="classTObject.html">TObject</a> *o )
+00066 {
+00067 <span class="keywordflow">if</span>( o != 0 )
+00068 o-&gt;<a class="code" href="classTObject.html#a1">shutDown</a>();
+00069 <span class="keyword">delete</span> o;
+00070 }
+00071
+00072 <span class="preprocessor">#endif // Uses_TObject</span>
+00073 <span class="preprocessor"></span>
+00074 <span class="preprocessor">#if defined( Uses_TNSCollection ) &amp;&amp; !defined( __TNSCollection )</span>
+00075 <span class="preprocessor"></span><span class="preprocessor">#define __TNSCollection</span>
+00076 <span class="preprocessor"></span>
+<a name="l00089"></a><a class="code" href="classTNSCollection.html">00089</a> <span class="keyword">class </span><a class="code" href="classTNSCollection.html">TNSCollection</a> : <span class="keyword">public</span> <a class="code" href="classTObject.html">TObject</a>
+00090 {
+00091 <span class="keyword">public</span>:
+00111 <a class="code" href="classTNSCollection.html#b0">TNSCollection</a>( <a class="code" href="ttypes_8h.html#a5">ccIndex</a> aLimit, <a class="code" href="ttypes_8h.html#a5">ccIndex</a> aDelta );
+00122 <a class="code" href="classTNSCollection.html#a1">~TNSCollection</a>();
+00129 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTNSCollection.html#a2">shutDown</a>();
+00135 <span class="keywordtype">void</span> *<a class="code" href="classTNSCollection.html#a3">at</a>( <a class="code" href="ttypes_8h.html#a5">ccIndex</a> index );
+00143 <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a5">ccIndex</a> <a class="code" href="classTNSCollection.html#a4">indexOf</a>( <span class="keywordtype">void</span> *item );
+00149 <span class="keywordtype">void</span> <a class="code" href="classTNSCollection.html#a5">atFree</a>( <a class="code" href="ttypes_8h.html#a5">ccIndex</a> index );
+00160 <span class="keywordtype">void</span> <a class="code" href="classTNSCollection.html#a6">atRemove</a>( <a class="code" href="ttypes_8h.html#a5">ccIndex</a> index );
+00169 <span class="keywordtype">void</span> <a class="code" href="classTNSCollection.html#a7">remove</a>( <span class="keywordtype">void</span> *item );
+00174 <span class="keywordtype">void</span> <a class="code" href="classTNSCollection.html#a8">removeAll</a>();
+00183 <span class="keywordtype">void</span> <a class="code" href="classTNSCollection.html#a9">free</a>( <span class="keywordtype">void</span> *item );
+00190 <span class="keywordtype">void</span> <a class="code" href="classTNSCollection.html#a10">freeAll</a>();
+00207 <span class="keywordtype">void</span> <a class="code" href="classTNSCollection.html#a11">atInsert</a>( <a class="code" href="ttypes_8h.html#a5">ccIndex</a> index, <span class="keywordtype">void</span> *item );
+00217 <span class="keywordtype">void</span> <a class="code" href="classTNSCollection.html#a12">atPut</a>( <a class="code" href="ttypes_8h.html#a5">ccIndex</a> index, <span class="keywordtype">void</span> *item );
+00223 <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a5">ccIndex</a> <a class="code" href="classTNSCollection.html#a13">insert</a>( <span class="keywordtype">void</span> *item );
+00224 <span class="preprocessor">#ifndef __UNPATCHED</span>
+00225 <span class="preprocessor"></span>
+00230 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTNSCollection.html#a14">error</a>( <a class="code" href="ttypes_8h.html#a5">ccIndex</a> code, <a class="code" href="ttypes_8h.html#a5">ccIndex</a> info );
+00231 <span class="preprocessor">#else</span>
+00232 <span class="preprocessor"></span>
+00236 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTNSCollection.html#a14">error</a>( <a class="code" href="ttypes_8h.html#a5">ccIndex</a> code, <a class="code" href="ttypes_8h.html#a5">ccIndex</a> info );
+00237 <span class="preprocessor">#endif</span>
+00238 <span class="preprocessor"></span>
+00292 <span class="keywordtype">void</span> *<a class="code" href="classTNSCollection.html#a15">firstThat</a>( <a class="code" href="ttypes_8h.html#a6">ccTestFunc</a> Test, <span class="keywordtype">void</span> *arg );
+00305 <span class="keywordtype">void</span> *<a class="code" href="classTNSCollection.html#a16">lastThat</a>( <a class="code" href="ttypes_8h.html#a6">ccTestFunc</a> Test, <span class="keywordtype">void</span> *arg );
+00321 <span class="keywordtype">void</span> <a class="code" href="classTNSCollection.html#a17">forEach</a>( <a class="code" href="ttypes_8h.html#a7">ccAppFunc</a> action, <span class="keywordtype">void</span> *arg );
+00328 <span class="keywordtype">void</span> <a class="code" href="classTNSCollection.html#a18">pack</a>();
+00346 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTNSCollection.html#a19">setLimit</a>( <a class="code" href="ttypes_8h.html#a5">ccIndex</a> aLimit );
+<a name="l00351"></a><a class="code" href="classTNSCollection.html#a20">00351</a> <a class="code" href="ttypes_8h.html#a5">ccIndex</a> <a class="code" href="classTNSCollection.html#a20">getCount</a>()
+00352 { <span class="keywordflow">return</span> <a class="code" href="classTNSCollection.html#n1">count</a>; }
+00353 <span class="keyword">protected</span>:
+00360 <a class="code" href="classTNSCollection.html#b0">TNSCollection</a>();
+<a name="l00365"></a><a class="code" href="classTNSCollection.html#n0">00365</a> <span class="keywordtype">void</span> **<a class="code" href="classTNSCollection.html#n0">items</a>;
+<a name="l00371"></a><a class="code" href="classTNSCollection.html#n1">00371</a> <a class="code" href="ttypes_8h.html#a5">ccIndex</a> <a class="code" href="classTNSCollection.html#n1">count</a>;
+<a name="l00376"></a><a class="code" href="classTNSCollection.html#n2">00376</a> <a class="code" href="ttypes_8h.html#a5">ccIndex</a> <a class="code" href="classTNSCollection.html#n2">limit</a>;
+<a name="l00385"></a><a class="code" href="classTNSCollection.html#n3">00385</a> <a class="code" href="ttypes_8h.html#a5">ccIndex</a> <a class="code" href="classTNSCollection.html#n3">delta</a>;
+<a name="l00393"></a><a class="code" href="classTNSCollection.html#n4">00393</a> <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTNSCollection.html#n4">shouldDelete</a>;
+00394 <span class="keyword">private</span>:
+00398 <span class="keyword">virtual</span> <span class="keywordtype">void</span> freeItem( <span class="keywordtype">void</span> *item );
+00399 };
+00400
+00401 <span class="preprocessor">#endif // Uses_TNSCollection</span>
+00402 <span class="preprocessor"></span>
+00403 <span class="preprocessor">#if defined( Uses_TNSSortedCollection ) &amp;&amp; !defined( __TNSSortedCollection )</span>
+00404 <span class="preprocessor"></span><span class="preprocessor">#define __TNSSortedCollection</span>
+00405 <span class="preprocessor"></span>
+<a name="l00415"></a><a class="code" href="classTNSSortedCollection.html">00415</a> <span class="keyword">class </span><a class="code" href="classTNSSortedCollection.html">TNSSortedCollection</a>: <span class="keyword">public</span> <span class="keyword">virtual</span> <a class="code" href="classTNSCollection.html">TNSCollection</a>
+00416 {
+00417 <span class="keyword">public</span>:
+<a name="l00427"></a><a class="code" href="classTNSSortedCollection.html#a0">00427</a> <a class="code" href="classTNSSortedCollection.html#b0">TNSSortedCollection</a>( <a class="code" href="ttypes_8h.html#a5">ccIndex</a> aLimit, <a class="code" href="ttypes_8h.html#a5">ccIndex</a> aDelta) :
+00428 <a class="code" href="classTNSCollection.html">TNSCollection</a>( aLimit, aDelta ), <a class="code" href="classTNSSortedCollection.html#m0">duplicates</a>(False)
+00429 { <a class="code" href="classTNSCollection.html#n3">delta</a> = aDelta; <a class="code" href="classTNSCollection.html#a19">setLimit</a>( aLimit ); }
+00436 <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTNSSortedCollection.html#a1">search</a>( <span class="keywordtype">void</span> *key, <a class="code" href="ttypes_8h.html#a5">ccIndex</a>&amp; index );
+00437 <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a5">ccIndex</a> <a class="code" href="classTNSSortedCollection.html#a2">indexOf</a>( <span class="keywordtype">void</span> *item );
+00447 <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a5">ccIndex</a> <a class="code" href="classTNSSortedCollection.html#a3">insert</a>( <span class="keywordtype">void</span> *item );
+<a name="l00455"></a><a class="code" href="classTNSSortedCollection.html#m0">00455</a> <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTNSSortedCollection.html#m0">duplicates</a>;
+00459 <span class="keyword">virtual</span> <span class="keywordtype">void</span> *<a class="code" href="classTNSSortedCollection.html#a4">keyOf</a>( <span class="keywordtype">void</span> *item );
+00460 <span class="keyword">protected</span>:
+<a name="l00464"></a><a class="code" href="classTNSSortedCollection.html#b0">00464</a> <a class="code" href="classTNSSortedCollection.html#b0">TNSSortedCollection</a>() : <a class="code" href="classTNSSortedCollection.html#m0">duplicates</a>(False) {}
+00465 <span class="keyword">private</span>:
+00471 <span class="keyword">virtual</span> <span class="keywordtype">int</span> compare( <span class="keywordtype">void</span> *key1, <span class="keywordtype">void</span> *key2 ) = 0;
+00472 };
+00473
+00474 <span class="preprocessor">#endif // Uses_TNSSortedCollection</span>
+</pre></div><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:10 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/tvobjs_8h.html b/freebsdtvision/doc/html/tvobjs_8h.html
new file mode 100644
index 0000000..622ecae
--- /dev/null
+++ b/freebsdtvision/doc/html/tvobjs_8h.html
@@ -0,0 +1,31 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>tvobjs.h File Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>tvobjs.h File Reference</h1>
+<p>
+<a href="tvobjs_8h-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Compounds</h2></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTNSCollection.html">TNSCollection</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Handles a non-streamable collection of objects.</em> <a href="classTNSCollection.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTNSSortedCollection.html">TNSSortedCollection</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Handles a non-streamable collection sorted by a key (with or without duplicates).</em> <a href="classTNSSortedCollection.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTObject.html">TObject</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>The fundamental class.</em> <a href="classTObject.html#_details">More...</a><em></em></font><br><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+ <a class="el" href="tvobjs_8h.html">tvobjs.h</a>
+<p>
+
+<p>
+Definition in file <a class="el" href="tvobjs_8h-source.html">tvobjs.h</a>.<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:11 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/util_8h-source.html b/freebsdtvision/doc/html/util_8h-source.html
new file mode 100644
index 0000000..4d600a1
--- /dev/null
+++ b/freebsdtvision/doc/html/util_8h-source.html
@@ -0,0 +1,79 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>util.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>util.h</h1><a href="util_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="comment">/*</span>
+00002 <span class="comment"> * util.h</span>
+00003 <span class="comment"> *</span>
+00004 <span class="comment"> * Turbo Vision - Version 2.0</span>
+00005 <span class="comment"> *</span>
+00006 <span class="comment"> * Copyright (c) 1994 by Borland International</span>
+00007 <span class="comment"> * All Rights Reserved.</span>
+00008 <span class="comment"> *</span>
+00009 <span class="comment"> * Modified by Sergio Sigala &lt;sergio@sigala.it&gt;</span>
+00010 <span class="comment"> */</span>
+00011
+00012 <span class="preprocessor">#if !defined( __UTIL_H )</span>
+00013 <span class="preprocessor"></span><span class="preprocessor">#define __UTIL_H</span>
+00014 <span class="preprocessor"></span>
+<a name="l00022"></a><a class="code" href="util_8h.html#a0">00022</a> <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="util_8h.html#a0">min</a>( <span class="keywordtype">int</span> a, <span class="keywordtype">int</span> b )
+00023 {
+00024 <span class="keywordflow">return</span> (a&gt;b) ? b : a;
+00025 }
+00026
+<a name="l00030"></a><a class="code" href="util_8h.html#a1">00030</a> <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="util_8h.html#a1">max</a>( <span class="keywordtype">int</span> a, <span class="keywordtype">int</span> b )
+00031 {
+00032 <span class="keywordflow">return</span> (a&lt;b) ? b : a;
+00033 }
+00034
+00038 <span class="keywordtype">void</span> <a class="code" href="util_8h.html#a2">fexpand</a>( <span class="keywordtype">char</span> * );
+00042 <span class="keywordtype">char</span> <a class="code" href="util_8h.html#a3">hotKey</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *s );
+00043
+00066 <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="util_8h.html#a4">ctrlToArrow</a>( <a class="code" href="ttypes_8h.html#a0">ushort</a> keyCode );
+00067
+00074 <span class="keywordtype">char</span> <a class="code" href="util_8h.html#a5">getAltChar</a>( <a class="code" href="ttypes_8h.html#a0">ushort</a> keyCode );
+00075
+00081 <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="util_8h.html#a6">getAltCode</a>( <span class="keywordtype">char</span> ch );
+00082
+00089 <span class="keywordtype">char</span> <a class="code" href="util_8h.html#a7">getCtrlChar</a>( <a class="code" href="ttypes_8h.html#a0">ushort</a> keyCode );
+00090
+00096 <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="util_8h.html#a8">getCtrlCode</a>( <a class="code" href="ttypes_8h.html#a1">uchar</a> ch );
+00097
+00108 <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="util_8h.html#a9">historyCount</a>( <a class="code" href="ttypes_8h.html#a1">uchar</a> id );
+00109
+00120 <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="util_8h.html#a10">historyStr</a>( <a class="code" href="ttypes_8h.html#a1">uchar</a> id, <span class="keywordtype">int</span> index );
+00121
+00131 <span class="keywordtype">void</span> <a class="code" href="util_8h.html#a11">historyAdd</a>( <a class="code" href="ttypes_8h.html#a1">uchar</a> id, <span class="keyword">const</span> <span class="keywordtype">char</span> *str );
+00132
+00139 <span class="keywordtype">int</span> <a class="code" href="util_8h.html#a12">cstrlen</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *s );
+00140
+00141 <span class="keyword">class </span><a class="code" href="classTView.html">TView</a>;
+00142
+00167 <span class="keywordtype">void</span> *<a class="code" href="util_8h.html#a13">message</a>( <a class="code" href="classTView.html">TView</a> *receiver, <a class="code" href="ttypes_8h.html#a0">ushort</a> what, <a class="code" href="ttypes_8h.html#a0">ushort</a> command, <span class="keywordtype">void</span> *infoPtr );
+00168
+00174 <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="util_8h.html#a14">lowMemory</a>();
+00175
+00183 <span class="keywordtype">char</span> *<a class="code" href="util_8h.html#a15">newStr</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *s );
+00184
+00188 <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="util_8h.html#a16">isDir</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *str );
+00192 <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="util_8h.html#a17">pathValid</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *path );
+00196 <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="util_8h.html#a18">validFileName</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName );
+00200 <span class="keywordtype">void</span> <a class="code" href="util_8h.html#a19">getCurDir</a>( <span class="keywordtype">char</span> *dir );
+00204 <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="util_8h.html#a20">isWild</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *f );
+00205
+00206 <span class="comment">//from system.cc</span>
+00207
+00211 <span class="keywordtype">void</span> <a class="code" href="util_8h.html#a21">expandPath</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *path, <span class="keywordtype">char</span> *dir, <span class="keywordtype">char</span> *file);
+00215 <span class="keywordtype">long</span> <span class="keywordtype">int</span> <a class="code" href="util_8h.html#a22">filelength</a>(<span class="keywordtype">int</span> fd);
+00216
+00217 <span class="preprocessor">#endif // __UTIL_H</span>
+</pre></div><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:10 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/util_8h.html b/freebsdtvision/doc/html/util_8h.html
new file mode 100644
index 0000000..42940cf
--- /dev/null
+++ b/freebsdtvision/doc/html/util_8h.html
@@ -0,0 +1,834 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>util.h File Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>util.h File Reference</h1>
+<p>
+<a href="util_8h-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Functions</h2></td></tr>
+<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="util_8h.html#a0">min</a> (int a, int b)</td></tr>
+<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="util_8h.html#a1">max</a> (int a, int b)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="util_8h.html#a2">fexpand</a> (char *)</td></tr>
+<tr><td nowrap align=right valign=top>char&nbsp;</td><td valign=bottom><a class="el" href="util_8h.html#a3">hotKey</a> (const char *s)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="util_8h.html#a4">ctrlToArrow</a> (<a class="el" href="ttypes_8h.html#a0">ushort</a> keyCode)</td></tr>
+<tr><td nowrap align=right valign=top>char&nbsp;</td><td valign=bottom><a class="el" href="util_8h.html#a5">getAltChar</a> (<a class="el" href="ttypes_8h.html#a0">ushort</a> keyCode)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="util_8h.html#a6">getAltCode</a> (char ch)</td></tr>
+<tr><td nowrap align=right valign=top>char&nbsp;</td><td valign=bottom><a class="el" href="util_8h.html#a7">getCtrlChar</a> (<a class="el" href="ttypes_8h.html#a0">ushort</a> keyCode)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="util_8h.html#a8">getCtrlCode</a> (<a class="el" href="ttypes_8h.html#a1">uchar</a> ch)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td><td valign=bottom><a class="el" href="util_8h.html#a9">historyCount</a> (<a class="el" href="ttypes_8h.html#a1">uchar</a> id)</td></tr>
+<tr><td nowrap align=right valign=top>const char *&nbsp;</td><td valign=bottom><a class="el" href="util_8h.html#a10">historyStr</a> (<a class="el" href="ttypes_8h.html#a1">uchar</a> id, int index)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="util_8h.html#a11">historyAdd</a> (<a class="el" href="ttypes_8h.html#a1">uchar</a> id, const char *str)</td></tr>
+<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="util_8h.html#a12">cstrlen</a> (const char *s)</td></tr>
+<tr><td nowrap align=right valign=top>void *&nbsp;</td><td valign=bottom><a class="el" href="util_8h.html#a13">message</a> (<a class="el" href="classTView.html">TView</a> *receiver, <a class="el" href="ttypes_8h.html#a0">ushort</a> what, <a class="el" href="ttypes_8h.html#a0">ushort</a> command, void *infoPtr)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="util_8h.html#a14">lowMemory</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>char *&nbsp;</td><td valign=bottom><a class="el" href="util_8h.html#a15">newStr</a> (const char *s)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="util_8h.html#a16">isDir</a> (const char *str)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="util_8h.html#a17">pathValid</a> (const char *path)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="util_8h.html#a18">validFileName</a> (const char *fileName)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="util_8h.html#a19">getCurDir</a> (char *dir)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="ttypes_8h.html#a13">Boolean</a>&nbsp;</td><td valign=bottom><a class="el" href="util_8h.html#a20">isWild</a> (const char *f)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="util_8h.html#a21">expandPath</a> (const char *path, char *dir, char *file)</td></tr>
+<tr><td nowrap align=right valign=top>long int&nbsp;</td><td valign=bottom><a class="el" href="util_8h.html#a22">filelength</a> (int fd)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+ <a class="el" href="util_8h.html">util.h</a>
+<p>
+
+<p>
+Definition in file <a class="el" href="util_8h-source.html">util.h</a>.<hr><h2>Function Documentation</h2>
+<a name="a12" doxytag="util.h::cstrlen"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> cstrlen </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>s</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the length of string `s', where `s' is a control string using tilde characters (`~') to designate hot keys. The tildes are excluded from the length of the string, as they will not appear on the screen. For example, given the argument "~B~roccoli", <a class="el" href="util_8h.html#a12">cstrlen()</a> returns 8. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="util.h::ctrlToArrow"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> ctrlToArrow </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>keyCode</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Converts a WordStar-compatible control key code to the corresponding cursor key code. If the low byte of `keyCode' matches one of the following key values, the result is the corresponding constant. Otherwise, `keyCode' is returned unchanged.
+<p>
+<pre>
+ Keystroke Lo(keyCode) Result
+
+ Ctrl-A 0x01 kbHome
+ Ctrl-C 0x03 kbPgDn
+ Ctrl-D 0x04 kbRight
+ Ctrl-E 0x05 kbUp
+ Ctrl-F 0x06 kbEnd
+ Ctrl-G 0x07 kbDel
+ Ctrl-H 0x08 kbBack
+ Ctrl-R 0x12 kbPgUp
+ Ctrl-S 0x13 kbLeft
+ Ctrl-V 0x16 kbIns
+ Ctrl-X 0x18 kbDown
+ </pre> </td>
+ </tr>
+</table>
+<a name="a21" doxytag="util.h::expandPath"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void expandPath </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>path</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>dir</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>file</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="util.h::fexpand"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void fexpand </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">char *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="a22" doxytag="util.h::filelength"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> long int filelength </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>fd</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="a5" doxytag="util.h::getAltChar"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> getAltChar </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>keyCode</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the character ch for which Alt-ch produces the 2-byte scan code given by the argument `keyCode'. This function gives the reverse mapping to <a class="el" href="util_8h.html#a6">getAltCode()</a>. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="util_8h.html#a6">getAltCode</a> </dl> </td>
+ </tr>
+</table>
+<a name="a6" doxytag="util.h::getAltCode"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> getAltCode </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">char&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>ch</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the 2-byte scan code (key code) corresponding to Alt-ch. This function gives the reverse mapping to <a class="el" href="util_8h.html#a5">getAltChar()</a>. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="util_8h.html#a5">getAltChar</a> </dl> </td>
+ </tr>
+</table>
+<a name="a7" doxytag="util.h::getCtrlChar"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> getCtrlChar </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>keyCode</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the character, ch, for which Ctrl+ch produces the 2-byte scan code given by the argument `keyCode'. Gives the reverse mapping to <a class="el" href="util_8h.html#a8">getCtrlCode()</a>. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="util_8h.html#a8">getCtrlCode</a> </dl> </td>
+ </tr>
+</table>
+<a name="a8" doxytag="util.h::getCtrlCode"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> getCtrlCode </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a1">uchar</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>ch</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the 2-byte scan code (keycode) corresponding to Ctrl+ch, where `ch' is the argument. This function gives the reverse mapping to <a class="el" href="util_8h.html#a7">getCtrlChar()</a>. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="util_8h.html#a7">getCtrlChar</a> </dl> </td>
+ </tr>
+</table>
+<a name="a19" doxytag="util.h::getCurDir"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void getCurDir </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">char *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>dir</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="a11" doxytag="util.h::historyAdd"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> historyAdd </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a1">uchar</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>id</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>const char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>str</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Adds the string `str' to the history list indicated by `id'. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTHistInit.html">THistInit</a> , <a class="el" href="classTHistory.html">THistory</a> , <a class="el" href="classTHistoryViewer.html">THistoryViewer</a> , <a class="el" href="classTHistoryWindow.html">THistoryWindow</a> , <a class="el" href="util_8h.html#a9">historyCount</a> , <a class="el" href="util_8h.html#a10">historyStr</a> </dl> </td>
+ </tr>
+</table>
+<a name="a9" doxytag="util.h::historyCount"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> historyCount </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a1">uchar</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>id</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the number of strings in the history list corresponding to ID number `id'. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTHistInit.html">THistInit</a> , <a class="el" href="classTHistory.html">THistory</a> , <a class="el" href="classTHistoryViewer.html">THistoryViewer</a> , <a class="el" href="classTHistoryWindow.html">THistoryWindow</a> , <a class="el" href="util_8h.html#a11">historyAdd</a> , <a class="el" href="util_8h.html#a10">historyStr</a> </dl> </td>
+ </tr>
+</table>
+<a name="a10" doxytag="util.h::historyStr"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> historyStr </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="ttypes_8h.html#a1">uchar</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>id</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>index</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the index'th string in the history list corresponding to ID number `id'. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTHistInit.html">THistInit</a> , <a class="el" href="classTHistory.html">THistory</a> , <a class="el" href="classTHistoryViewer.html">THistoryViewer</a> , <a class="el" href="classTHistoryWindow.html">THistoryWindow</a> , <a class="el" href="util_8h.html#a11">historyAdd</a> , <a class="el" href="util_8h.html#a9">historyCount</a> </dl> </td>
+ </tr>
+</table>
+<a name="a3" doxytag="util.h::hotKey"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> char hotKey </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>s</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="a16" doxytag="util.h::isDir"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a13">Boolean</a> isDir </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>str</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="a20" doxytag="util.h::isWild"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a13">Boolean</a> isWild </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>f</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="a14" doxytag="util.h::lowMemory"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> lowMemory </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Calls <a class="el" href="classTVMemMgr.html#d1">TVMemMgr::safetyPoolExhausted()</a> to check the state of the safety pool. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTVMemMgr.html#d1">TVMemMgr::safetyPoolExhausted</a> </dl> </td>
+ </tr>
+</table>
+<a name="a1" doxytag="util.h::max"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> int max </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>a</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>b</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="util_8h-source.html#l00030">30</a> of file <a class="el" href="util_8h-source.html">util.h</a>.
+<p>
+Referenced by <a class="el" href="objects_8h-source.html#l00256">TRect::intersect()</a>, <a class="el" href="menus_8h-source.html#l00797">TStatusDef::TStatusDef()</a>, and <a class="el" href="objects_8h-source.html#l00264">TRect::Union()</a>. </td>
+ </tr>
+</table>
+<a name="a13" doxytag="util.h::message"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> message </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classTView.html">TView</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>receiver</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>what</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="ttypes_8h.html#a0">ushort</a>&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>command</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>void *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>infoPtr</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<a class="el" href="util_8h.html#a13">message()</a> sets up a command event with the arguments `event', `command', and `infoPtr', and then, if possible, invokes receiver-&gt;handleEvent() to handle this event. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#a41">TView::handleEvent</a></dl><a class="el" href="util_8h.html#a13">message()</a> returns 0 if receiver is 0, or if the event is not handled successfully. If the event is handled successfully (that is, if <a class="el" href="classTView.html#a41">TView::handleEvent()</a> returns event.what as evNothing), the function returns event.infoPtr.
+<p>
+The latter can be used to determine which view actually handled the dispatched event. The event argument is usually set to evBroadcast.
+<p>
+For example, the default <a class="el" href="classTScrollBar.html#a4">TScrollBar::scrollDraw()</a> sends the following message to the scroll bar's owner:
+<p>
+<pre>
+ message(owner, <a class="el" href="system_8h.html#a6">evBroadcast</a>, cmScrollBarChanged, this);
+ </pre>
+<p>
+The above message ensures that the appropriate views are redrawn whenever the scroll bar's value changes. </td>
+ </tr>
+</table>
+<a name="a0" doxytag="util.h::min"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> int min </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>a</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>int&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>b</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="util_8h-source.html#l00022">22</a> of file <a class="el" href="util_8h-source.html">util.h</a>.
+<p>
+Referenced by <a class="el" href="objects_8h-source.html#l00256">TRect::intersect()</a>, <a class="el" href="menus_8h-source.html#l00797">TStatusDef::TStatusDef()</a>, and <a class="el" href="objects_8h-source.html#l00264">TRect::Union()</a>. </td>
+ </tr>
+</table>
+<a name="a15" doxytag="util.h::newStr"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> newStr </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>s</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Dynamic string creation. If `s' is a null pointer, <a class="el" href="util_8h.html#a15">newStr()</a> returns a 0 pointer; otherwise, strlen(s)+ 1 bytes are allocated, containing a copy of `s' (with a terminating '\0'), and a pointer to the first byte is returned.
+<p>
+You can use delete to dispose of such strings.
+<p>
+Referenced by <a class="el" href="stddlg_8h-source.html#l00969">TDirEntry::TDirEntry()</a>, <a class="el" href="outline_8h-source.html#l00073">TNode::TNode()</a>, <a class="el" href="dialogs_8h-source.html#l00799">TSItem::TSItem()</a>, and <a class="el" href="menus_8h-source.html#l00733">TStatusItem::TStatusItem()</a>. </td>
+ </tr>
+</table>
+<a name="a17" doxytag="util.h::pathValid"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a13">Boolean</a> pathValid </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>path</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<a name="a18" doxytag="util.h::validFileName"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="ttypes_8h.html#a13">Boolean</a> validFileName </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>fileName</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. </td>
+ </tr>
+</table>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:11 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/validate_8h-source.html b/freebsdtvision/doc/html/validate_8h-source.html
new file mode 100644
index 0000000..c79ff67
--- /dev/null
+++ b/freebsdtvision/doc/html/validate_8h-source.html
@@ -0,0 +1,277 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>validate.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>validate.h</h1><a href="validate_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="comment">/*</span>
+00002 <span class="comment"> * validate.h</span>
+00003 <span class="comment"> *</span>
+00004 <span class="comment"> * Turbo Vision - Version 2.0</span>
+00005 <span class="comment"> *</span>
+00006 <span class="comment"> * Copyright (c) 1994 by Borland International</span>
+00007 <span class="comment"> * All Rights Reserved.</span>
+00008 <span class="comment"> *</span>
+00009 <span class="comment"> * Modified by Sergio Sigala &lt;sergio@sigala.it&gt;</span>
+00010 <span class="comment"> */</span>
+00011
+00012 <span class="preprocessor">#if defined(Uses_TValidator) &amp;&amp; !defined(__TValidator)</span>
+00013 <span class="preprocessor"></span><span class="preprocessor">#define __TValidator</span>
+00014 <span class="preprocessor"></span>
+00015 <span class="comment">// TValidator Status constants</span>
+00016
+00021 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span>
+00022 vsOk = 0,
+00023 vsSyntax = 1, <span class="comment">// Error in the syntax of either a TPXPictureValidator</span>
+00024 <span class="comment">// or a TDBPictureValidator</span>
+00025
+00026 <span class="comment">// Validator option flags</span>
+00027 voFill = 0x0001,
+00028 voTransfer = 0x0002,
+00029 voReserved = 0x00FC;
+00030
+00031 <span class="comment">// TVTransfer constants</span>
+00032
+00033 <span class="keyword">enum</span> TVTransfer {vtDataSize, vtSetData, vtGetData};
+00034
+00035 <span class="comment">// Abstract TValidator object</span>
+00036
+<a name="l00045"></a><a class="code" href="classTValidator.html">00045</a> <span class="keyword">class </span><a class="code" href="classTValidator.html">TValidator</a> : <span class="keyword">public</span> <a class="code" href="classTObject.html">TObject</a>, <span class="keyword">public</span> <a class="code" href="classTStreamable.html">TStreamable</a>
+00046 {
+00047 <span class="keyword">public</span>:
+00051 <a class="code" href="classTValidator.html#a0">TValidator</a>();
+00058 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTValidator.html#a1">error</a>();
+00085 <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTValidator.html#a2">isValidInput</a>(<span class="keywordtype">char</span>* s, <a class="code" href="ttypes_8h.html#a13">Boolean</a> suppressFill);
+00096 <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTValidator.html#a3">isValid</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* s);
+00140 <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="classTValidator.html#a4">transfer</a>(<span class="keywordtype">char</span> *s, <span class="keywordtype">void</span>* buffer, TVTransfer flag);
+00154 <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTValidator.html#a5">validate</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* s);
+<a name="l00179"></a><a class="code" href="classTValidator.html#m0">00179</a> <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="classTValidator.html#m0">status</a>;
+<a name="l00200"></a><a class="code" href="classTValidator.html#m1">00200</a> <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="classTValidator.html#m1">options</a>;
+00201 <span class="keyword">protected</span>:
+00208 <a class="code" href="classTValidator.html#a0">TValidator</a>( <a class="code" href="ttypes_8h.html#a14">StreamableInit</a> );
+00212 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTValidator.html#b1">write</a>( <a class="code" href="classopstream.html">opstream</a>&amp; os );
+00216 <span class="keyword">virtual</span> <span class="keywordtype">void</span>* <a class="code" href="classTValidator.html#b2">read</a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is );
+00217 <span class="keyword">private</span>:
+00218 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *streamableName()<span class="keyword"> const </span>{<span class="keywordflow">return</span> <a class="code" href="classTValidator.html#p0">name</a>;};
+00219 <span class="keyword">public</span>:
+00223 <span class="keyword">static</span> <a class="code" href="classTStreamable.html">TStreamable</a> *<a class="code" href="classTValidator.html#d0">build</a>();
+<a name="l00227"></a><a class="code" href="classTValidator.html#p0">00227</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classTValidator.html#p0">name</a>;
+00228 };
+00229
+00230 <span class="preprocessor">#endif</span>
+00231 <span class="preprocessor"></span>
+00232
+00233 <span class="preprocessor">#if defined(Uses_TPXPictureValidator) &amp;&amp; !defined(__TPXPictureValidator)</span>
+00234 <span class="preprocessor"></span><span class="preprocessor">#define __TPXPictureValidator</span>
+00235 <span class="preprocessor"></span>
+00236 <span class="comment">// TPXPictureValidator result type</span>
+00237
+00238 <span class="keyword">enum</span> TPicResult {prComplete, prIncomplete, prEmpty, prError, prSyntax,
+00239 prAmbiguous, prIncompNoFill};
+00240
+00241 <span class="comment">// TPXPictureValidator</span>
+00242
+<a name="l00254"></a><a class="code" href="classTPXPictureValidator.html">00254</a> <span class="keyword">class </span><a class="code" href="classTPXPictureValidator.html">TPXPictureValidator</a> : <span class="keyword">public</span> <a class="code" href="classTValidator.html">TValidator</a>
+00255 {
+00256 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * errorMsg;
+00257 <span class="keyword">public</span>:
+00265 <a class="code" href="classTPXPictureValidator.html#a0">TPXPictureValidator</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* aPic, <a class="code" href="ttypes_8h.html#a13">Boolean</a> autoFill);
+00271 <a class="code" href="classTPXPictureValidator.html#a1">~TPXPictureValidator</a>();
+00276 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTPXPictureValidator.html#a2">error</a>();
+00291 <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTPXPictureValidator.html#a3">isValidInput</a>(<span class="keywordtype">char</span>* s, <a class="code" href="ttypes_8h.html#a13">Boolean</a> suppressFill);
+00298 <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTPXPictureValidator.html#a4">isValid</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* s);
+00379 <span class="keyword">virtual</span> TPicResult <a class="code" href="classTPXPictureValidator.html#a5">picture</a>(<span class="keywordtype">char</span>* input, <a class="code" href="ttypes_8h.html#a13">Boolean</a> autoFill);
+00380 <span class="keyword">protected</span>:
+00387 <a class="code" href="classTPXPictureValidator.html#a0">TPXPictureValidator</a>( <a class="code" href="ttypes_8h.html#a14">StreamableInit</a> );
+00391 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTPXPictureValidator.html#b1">write</a>( <a class="code" href="classopstream.html">opstream</a>&amp; os );
+00395 <span class="keyword">virtual</span> <span class="keywordtype">void</span>* <a class="code" href="classTPXPictureValidator.html#b2">read</a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is );
+<a name="l00401"></a><a class="code" href="classTPXPictureValidator.html#n0">00401</a> <span class="keywordtype">char</span>* <a class="code" href="classTPXPictureValidator.html#n0">pic</a>;
+00402 <span class="keyword">private</span>:
+00406 <span class="keywordtype">void</span> consume(<span class="keywordtype">char</span> ch, <span class="keywordtype">char</span>* input);
+00410 <span class="keywordtype">void</span> toGroupEnd(<span class="keywordtype">int</span>&amp; i, <span class="keywordtype">int</span> termCh);
+00414 <a class="code" href="ttypes_8h.html#a13">Boolean</a> skipToComma(<span class="keywordtype">int</span> termCh);
+00418 <span class="keywordtype">int</span> calcTerm(<span class="keywordtype">int</span>);
+00422 TPicResult iteration(<span class="keywordtype">char</span>* input, <span class="keywordtype">int</span> termCh);
+00426 TPicResult group(<span class="keywordtype">char</span>* input, <span class="keywordtype">int</span> termCh);
+00430 TPicResult checkComplete(TPicResult rslt, <span class="keywordtype">int</span> termCh);
+00434 TPicResult scan(<span class="keywordtype">char</span>* input, <span class="keywordtype">int</span> termCh);
+00438 TPicResult process(<span class="keywordtype">char</span>* input, <span class="keywordtype">int</span> termCh);
+00442 <a class="code" href="ttypes_8h.html#a13">Boolean</a> syntaxCheck();
+00446 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *streamableName()<span class="keyword"> const </span>{<span class="keywordflow">return</span> <a class="code" href="classTPXPictureValidator.html#p0">name</a>;};
+00450 <span class="keywordtype">int</span> index, jndex;
+00451 <span class="keyword">public</span>:
+00455 <span class="keyword">static</span> <a class="code" href="classTStreamable.html">TStreamable</a> *<a class="code" href="classTPXPictureValidator.html#d0">build</a>();
+<a name="l00459"></a><a class="code" href="classTPXPictureValidator.html#p0">00459</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classTPXPictureValidator.html#p0">name</a>;
+00460 };
+00461
+<a name="l00465"></a><a class="code" href="validate_8h.html#a15">00465</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTValidator.html">TValidator</a>&amp; v )
+00466 { <span class="keywordflow">return</span> is &gt;&gt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)v; }
+<a name="l00470"></a><a class="code" href="validate_8h.html#a16">00470</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTValidator.html">TValidator</a>*&amp; v )
+00471 { <span class="keywordflow">return</span> is &gt;&gt; (<span class="keywordtype">void</span> *&amp;)v; }
+00472
+<a name="l00476"></a><a class="code" href="validate_8h.html#a17">00476</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTValidator.html">TValidator</a>&amp; v )
+00477 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)v; }
+<a name="l00481"></a><a class="code" href="validate_8h.html#a18">00481</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTValidator.html">TValidator</a>* v )
+00482 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a> *)v; }
+00483
+00484 <span class="preprocessor">#endif</span>
+00485 <span class="preprocessor"></span>
+00486
+00487 <span class="preprocessor">#if defined(Uses_TFilterValidator) &amp;&amp; !defined(__TFilterValidator)</span>
+00488 <span class="preprocessor"></span><span class="preprocessor">#define __TFilterValidator</span>
+00489 <span class="preprocessor"></span>
+00490 <span class="comment">// TFilterValidator</span>
+00491
+<a name="l00502"></a><a class="code" href="classTFilterValidator.html">00502</a> <span class="keyword">class </span><a class="code" href="classTFilterValidator.html">TFilterValidator</a> : <span class="keyword">public</span> <a class="code" href="classTValidator.html">TValidator</a>
+00503 {
+00504 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * errorMsg;
+00505 <span class="keyword">public</span>:
+00511 <a class="code" href="classTFilterValidator.html#a0">TFilterValidator</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* aValidChars);
+00515 <a class="code" href="classTFilterValidator.html#a1">~TFilterValidator</a>();
+00519 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTFilterValidator.html#a2">error</a>();
+00525 <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTFilterValidator.html#a3">isValidInput</a>(<span class="keywordtype">char</span>* s, <a class="code" href="ttypes_8h.html#a13">Boolean</a> suppressFill);
+00531 <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTFilterValidator.html#a4">isValid</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* s);
+00532 <span class="keyword">protected</span>:
+00539 <a class="code" href="classTFilterValidator.html#a0">TFilterValidator</a>( <a class="code" href="ttypes_8h.html#a14">StreamableInit</a> );
+00543 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTFilterValidator.html#b1">write</a>( <a class="code" href="classopstream.html">opstream</a>&amp; os);
+00547 <span class="keyword">virtual</span> <span class="keywordtype">void</span>* <a class="code" href="classTFilterValidator.html#b2">read</a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is );
+<a name="l00553"></a><a class="code" href="classTFilterValidator.html#n0">00553</a> <span class="keywordtype">char</span>* <a class="code" href="classTFilterValidator.html#n0">validChars</a>;
+00554 <span class="keyword">private</span>:
+00558 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *streamableName()<span class="keyword"> const </span>{<span class="keywordflow">return</span> <a class="code" href="classTFilterValidator.html#p0">name</a>;};
+00559 <span class="keyword">public</span>:
+00563 <span class="keyword">static</span> <a class="code" href="classTStreamable.html">TStreamable</a> *<a class="code" href="classTFilterValidator.html#d0">build</a>();
+<a name="l00567"></a><a class="code" href="classTFilterValidator.html#p0">00567</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classTFilterValidator.html#p0">name</a>;
+00568 };
+00569
+<a name="l00573"></a><a class="code" href="validate_8h.html#a19">00573</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTFilterValidator.html">TFilterValidator</a>&amp; v )
+00574 { <span class="keywordflow">return</span> is &gt;&gt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)v; }
+<a name="l00578"></a><a class="code" href="validate_8h.html#a20">00578</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTFilterValidator.html">TFilterValidator</a>*&amp; v )
+00579 { <span class="keywordflow">return</span> is &gt;&gt; (<span class="keywordtype">void</span> *&amp;)v; }
+00580
+<a name="l00584"></a><a class="code" href="validate_8h.html#a21">00584</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTFilterValidator.html">TFilterValidator</a>&amp; v )
+00585 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)v; }
+<a name="l00589"></a><a class="code" href="validate_8h.html#a22">00589</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTFilterValidator.html">TFilterValidator</a>* v )
+00590 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a> *)v; }
+00591
+00592 <span class="preprocessor">#endif</span>
+00593 <span class="preprocessor"></span>
+00594
+00595 <span class="preprocessor">#if defined(Uses_TRangeValidator) &amp;&amp; !defined(__TRangeValidator)</span>
+00596 <span class="preprocessor"></span><span class="preprocessor">#define __TRangeValidator</span>
+00597 <span class="preprocessor"></span>
+00598 <span class="comment">// TRangeValidator</span>
+00599
+<a name="l00606"></a><a class="code" href="classTRangeValidator.html">00606</a> <span class="keyword">class </span><a class="code" href="classTRangeValidator.html">TRangeValidator</a> : <span class="keyword">public</span> <a class="code" href="classTFilterValidator.html">TFilterValidator</a>
+00607 {
+00611 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * validUnsignedChars;
+00615 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * validSignedChars;
+00619 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * errorMsg;
+00620 <span class="keyword">public</span>:
+00629 <a class="code" href="classTRangeValidator.html#a0">TRangeValidator</a>(<span class="keywordtype">long</span> aMin, <span class="keywordtype">long</span> aMax);
+00634 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTRangeValidator.html#a1">error</a>();
+00645 <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTRangeValidator.html#a2">isValid</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* s);
+00670 <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="classTRangeValidator.html#a3">transfer</a>(<span class="keywordtype">char</span>* s, <span class="keywordtype">void</span>* buffer, TVTransfer flag);
+00671 <span class="keyword">protected</span>:
+<a name="l00675"></a><a class="code" href="classTRangeValidator.html#n0">00675</a> <span class="keywordtype">long</span> <a class="code" href="classTRangeValidator.html#n0">min</a>;
+<a name="l00679"></a><a class="code" href="classTRangeValidator.html#n1">00679</a> <span class="keywordtype">long</span> <a class="code" href="classTRangeValidator.html#n1">max</a>;
+00686 <a class="code" href="classTRangeValidator.html#a0">TRangeValidator</a>( <a class="code" href="ttypes_8h.html#a14">StreamableInit</a> );
+00690 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTRangeValidator.html#b1">write</a>( <a class="code" href="classopstream.html">opstream</a>&amp; os );
+00694 <span class="keyword">virtual</span> <span class="keywordtype">void</span>* <a class="code" href="classTRangeValidator.html#b2">read</a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is );
+00695 <span class="keyword">private</span>:
+00699 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *streamableName()<span class="keyword"> const </span>{<span class="keywordflow">return</span> <a class="code" href="classTRangeValidator.html#p0">name</a>;};
+00700 <span class="keyword">public</span>:
+00704 <span class="keyword">static</span> <a class="code" href="classTStreamable.html">TStreamable</a> *<a class="code" href="classTRangeValidator.html#d0">build</a>();
+<a name="l00708"></a><a class="code" href="classTRangeValidator.html#p0">00708</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classTRangeValidator.html#p0">name</a>;
+00709 };
+00710
+<a name="l00714"></a><a class="code" href="validate_8h.html#a23">00714</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTRangeValidator.html">TRangeValidator</a>&amp; v )
+00715 { <span class="keywordflow">return</span> is &gt;&gt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)v; }
+<a name="l00719"></a><a class="code" href="validate_8h.html#a24">00719</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTRangeValidator.html">TRangeValidator</a>*&amp; v )
+00720 { <span class="keywordflow">return</span> is &gt;&gt; (<span class="keywordtype">void</span> *&amp;)v; }
+00721
+<a name="l00725"></a><a class="code" href="validate_8h.html#a25">00725</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTRangeValidator.html">TRangeValidator</a>&amp; v )
+00726 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)v; }
+<a name="l00730"></a><a class="code" href="validate_8h.html#a26">00730</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTRangeValidator.html">TRangeValidator</a>* v )
+00731 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a> *)v; }
+00732
+00733 <span class="preprocessor">#endif</span>
+00734 <span class="preprocessor"></span>
+00735 <span class="preprocessor">#if defined(Uses_TLookupValidator) &amp;&amp; !defined(__TLookupValidator)</span>
+00736 <span class="preprocessor"></span><span class="preprocessor">#define __TLookupValidator</span>
+00737 <span class="preprocessor"></span>
+00738 <span class="comment">// TLookupValidator</span>
+00739
+<a name="l00752"></a><a class="code" href="classTLookupValidator.html">00752</a> <span class="keyword">class </span><a class="code" href="classTLookupValidator.html">TLookupValidator</a> : <span class="keyword">public</span> <a class="code" href="classTValidator.html">TValidator</a>
+00753 {
+00754 <span class="keyword">public</span>:
+<a name="l00758"></a><a class="code" href="classTLookupValidator.html#a0">00758</a> <a class="code" href="classTLookupValidator.html#a0">TLookupValidator</a>() {};
+00764 <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTLookupValidator.html#a1">isValid</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* s);
+00773 <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTLookupValidator.html#a2">lookup</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* s);
+00777 <span class="keyword">static</span> <a class="code" href="classTStreamable.html">TStreamable</a> *<a class="code" href="classTLookupValidator.html#d0">build</a>();
+<a name="l00781"></a><a class="code" href="classTLookupValidator.html#p0">00781</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classTLookupValidator.html#p0">name</a>;
+00782 <span class="keyword">protected</span>:
+00789 <a class="code" href="classTLookupValidator.html#a0">TLookupValidator</a>( <a class="code" href="ttypes_8h.html#a14">StreamableInit</a> );
+00790 <span class="keyword">private</span>:
+00794 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *streamableName()<span class="keyword"> const </span>{<span class="keywordflow">return</span> <a class="code" href="classTLookupValidator.html#p0">name</a>;};
+00795 };
+00796
+<a name="l00800"></a><a class="code" href="validate_8h.html#a27">00800</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTLookupValidator.html">TLookupValidator</a>&amp; v )
+00801 { <span class="keywordflow">return</span> is &gt;&gt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)v; }
+<a name="l00805"></a><a class="code" href="validate_8h.html#a28">00805</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTLookupValidator.html">TLookupValidator</a>*&amp; v )
+00806 { <span class="keywordflow">return</span> is &gt;&gt; (<span class="keywordtype">void</span> *&amp;)v; }
+00807
+<a name="l00811"></a><a class="code" href="validate_8h.html#a29">00811</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTLookupValidator.html">TLookupValidator</a>&amp; v )
+00812 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)v; }
+<a name="l00816"></a><a class="code" href="validate_8h.html#a30">00816</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTLookupValidator.html">TLookupValidator</a>* v )
+00817 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a> *)v; }
+00818
+00819 <span class="preprocessor">#endif</span>
+00820 <span class="preprocessor"></span>
+00821
+00822 <span class="preprocessor">#if defined(Uses_TStringLookupValidator) &amp;&amp; !defined(__TStringLookupValidator)</span>
+00823 <span class="preprocessor"></span><span class="preprocessor">#define __TStringLookupValidator</span>
+00824 <span class="preprocessor"></span>
+00825 <span class="comment">// TStringLookupValidator</span>
+00826
+<a name="l00835"></a><a class="code" href="classTStringLookupValidator.html">00835</a> <span class="keyword">class </span><a class="code" href="classTStringLookupValidator.html">TStringLookupValidator</a> : <span class="keyword">public</span> <a class="code" href="classTLookupValidator.html">TLookupValidator</a>
+00836 {
+00837 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * errorMsg;
+00838 <span class="keyword">public</span>:
+00844 <a class="code" href="classTStringLookupValidator.html#a0">TStringLookupValidator</a>(<a class="code" href="classTStringCollection.html">TStringCollection</a>* aStrings);
+00851 <a class="code" href="classTStringLookupValidator.html#a1">~TStringLookupValidator</a>();
+00856 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTStringLookupValidator.html#a2">error</a>();
+00862 <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTStringLookupValidator.html#a3">lookup</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* s);
+00863 <span class="keyword">protected</span>:
+00870 <a class="code" href="classTStringLookupValidator.html#a0">TStringLookupValidator</a>( <a class="code" href="ttypes_8h.html#a14">StreamableInit</a> );
+00874 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTStringLookupValidator.html#b1">write</a>( <a class="code" href="classopstream.html">opstream</a>&amp; os );
+00878 <span class="keyword">virtual</span> <span class="keywordtype">void</span>* <a class="code" href="classTStringLookupValidator.html#b2">read</a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is );
+<a name="l00883"></a><a class="code" href="classTStringLookupValidator.html#n0">00883</a> <a class="code" href="classTStringCollection.html">TStringCollection</a>* <a class="code" href="classTStringLookupValidator.html#n0">strings</a>;
+00884 <span class="keyword">private</span>:
+00888 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *streamableName()<span class="keyword"> const </span>{<span class="keywordflow">return</span> <a class="code" href="classTStringLookupValidator.html#p0">name</a>;};
+00889 <span class="keyword">public</span>:
+00898 <span class="keywordtype">void</span> <a class="code" href="classTStringLookupValidator.html#a4">newStringList</a>(<a class="code" href="classTStringCollection.html">TStringCollection</a>* aStrings);
+00902 <span class="keyword">static</span> <a class="code" href="classTStreamable.html">TStreamable</a> *<a class="code" href="classTStringLookupValidator.html#d0">build</a>();
+<a name="l00906"></a><a class="code" href="classTStringLookupValidator.html#p0">00906</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classTStringLookupValidator.html#p0">name</a>;
+00907 };
+00908
+00909
+<a name="l00913"></a><a class="code" href="validate_8h.html#a31">00913</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTStringLookupValidator.html">TStringLookupValidator</a>&amp; v )
+00914 { <span class="keywordflow">return</span> is &gt;&gt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)v; }
+<a name="l00918"></a><a class="code" href="validate_8h.html#a32">00918</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTStringLookupValidator.html">TStringLookupValidator</a>*&amp; v )
+00919 { <span class="keywordflow">return</span> is &gt;&gt; (<span class="keywordtype">void</span> *&amp;)v; }
+00920
+<a name="l00924"></a><a class="code" href="validate_8h.html#a33">00924</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTStringLookupValidator.html">TStringLookupValidator</a>&amp; v )
+00925 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)v; }
+<a name="l00929"></a><a class="code" href="validate_8h.html#a34">00929</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTStringLookupValidator.html">TStringLookupValidator</a>* v )
+00930 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a> *)v; }
+00931
+00932
+00933 <span class="preprocessor">#endif</span>
+</pre></div><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:10 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/validate_8h.html b/freebsdtvision/doc/html/validate_8h.html
new file mode 100644
index 0000000..98c75e5
--- /dev/null
+++ b/freebsdtvision/doc/html/validate_8h.html
@@ -0,0 +1,859 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>validate.h File Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>validate.h File Reference</h1>
+<p>
+<a href="validate_8h-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Compounds</h2></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTFilterValidator.html">TFilterValidator</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Check an input field as the user types into it.</em> <a href="classTFilterValidator.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTLookupValidator.html">TLookupValidator</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Compares the string typed by a user with a list of acceptable values.</em> <a href="classTLookupValidator.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTPXPictureValidator.html">TPXPictureValidator</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Compare user input with a picture of a data format to determine the validity of entered data.</em> <a href="classTPXPictureValidator.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTRangeValidator.html">TRangeValidator</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Determines whether the data typed by a user falls within a designated range of integers.</em> <a href="classTRangeValidator.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTStringLookupValidator.html">TStringLookupValidator</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Verifies the data in its associated input line by searching through a collection of valid strings.</em> <a href="classTStringLookupValidator.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTValidator.html">TValidator</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Implements an abstract data validation object.</em> <a href="classTValidator.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td colspan=2><br><h2>Functions</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="validate_8h.html#a15">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTValidator.html">TValidator</a> &amp;v)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="validate_8h.html#a16">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTValidator.html">TValidator</a> *&amp;v)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="validate_8h.html#a17">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTValidator.html">TValidator</a> &amp;v)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="validate_8h.html#a18">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTValidator.html">TValidator</a> *v)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="validate_8h.html#a19">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTFilterValidator.html">TFilterValidator</a> &amp;v)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="validate_8h.html#a20">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTFilterValidator.html">TFilterValidator</a> *&amp;v)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="validate_8h.html#a21">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTFilterValidator.html">TFilterValidator</a> &amp;v)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="validate_8h.html#a22">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTFilterValidator.html">TFilterValidator</a> *v)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="validate_8h.html#a23">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTRangeValidator.html">TRangeValidator</a> &amp;v)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="validate_8h.html#a24">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTRangeValidator.html">TRangeValidator</a> *&amp;v)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="validate_8h.html#a25">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTRangeValidator.html">TRangeValidator</a> &amp;v)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="validate_8h.html#a26">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTRangeValidator.html">TRangeValidator</a> *v)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="validate_8h.html#a27">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTLookupValidator.html">TLookupValidator</a> &amp;v)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="validate_8h.html#a28">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTLookupValidator.html">TLookupValidator</a> *&amp;v)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="validate_8h.html#a29">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTLookupValidator.html">TLookupValidator</a> &amp;v)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="validate_8h.html#a30">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTLookupValidator.html">TLookupValidator</a> *v)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="validate_8h.html#a31">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTStringLookupValidator.html">TStringLookupValidator</a> &amp;v)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="validate_8h.html#a32">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTStringLookupValidator.html">TStringLookupValidator</a> *&amp;v)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="validate_8h.html#a33">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTStringLookupValidator.html">TStringLookupValidator</a> &amp;v)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="validate_8h.html#a34">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTStringLookupValidator.html">TStringLookupValidator</a> *v)</td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+ <a class="el" href="validate_8h.html">validate.h</a>
+<p>
+
+<p>
+Definition in file <a class="el" href="validate_8h-source.html">validate.h</a>.<hr><h2>Function Documentation</h2>
+<a name="a34" doxytag="validate.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTStringLookupValidator.html">TStringLookupValidator</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>v</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="validate_8h-source.html#l00929">929</a> of file <a class="el" href="validate_8h-source.html">validate.h</a>. </td>
+ </tr>
+</table>
+<a name="a33" doxytag="validate.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTStringLookupValidator.html">TStringLookupValidator</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>v</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="validate_8h-source.html#l00924">924</a> of file <a class="el" href="validate_8h-source.html">validate.h</a>. </td>
+ </tr>
+</table>
+<a name="a30" doxytag="validate.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTLookupValidator.html">TLookupValidator</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>v</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="validate_8h-source.html#l00816">816</a> of file <a class="el" href="validate_8h-source.html">validate.h</a>. </td>
+ </tr>
+</table>
+<a name="a29" doxytag="validate.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTLookupValidator.html">TLookupValidator</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>v</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="validate_8h-source.html#l00811">811</a> of file <a class="el" href="validate_8h-source.html">validate.h</a>. </td>
+ </tr>
+</table>
+<a name="a26" doxytag="validate.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTRangeValidator.html">TRangeValidator</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>v</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="validate_8h-source.html#l00730">730</a> of file <a class="el" href="validate_8h-source.html">validate.h</a>. </td>
+ </tr>
+</table>
+<a name="a25" doxytag="validate.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTRangeValidator.html">TRangeValidator</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>v</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="validate_8h-source.html#l00725">725</a> of file <a class="el" href="validate_8h-source.html">validate.h</a>. </td>
+ </tr>
+</table>
+<a name="a22" doxytag="validate.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTFilterValidator.html">TFilterValidator</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>v</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="validate_8h-source.html#l00589">589</a> of file <a class="el" href="validate_8h-source.html">validate.h</a>. </td>
+ </tr>
+</table>
+<a name="a21" doxytag="validate.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTFilterValidator.html">TFilterValidator</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>v</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="validate_8h-source.html#l00584">584</a> of file <a class="el" href="validate_8h-source.html">validate.h</a>. </td>
+ </tr>
+</table>
+<a name="a18" doxytag="validate.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTValidator.html">TValidator</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>v</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="validate_8h-source.html#l00481">481</a> of file <a class="el" href="validate_8h-source.html">validate.h</a>. </td>
+ </tr>
+</table>
+<a name="a17" doxytag="validate.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTValidator.html">TValidator</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>v</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="validate_8h-source.html#l00476">476</a> of file <a class="el" href="validate_8h-source.html">validate.h</a>. </td>
+ </tr>
+</table>
+<a name="a32" doxytag="validate.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTStringLookupValidator.html">TStringLookupValidator</a> *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>v</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="validate_8h-source.html#l00918">918</a> of file <a class="el" href="validate_8h-source.html">validate.h</a>. </td>
+ </tr>
+</table>
+<a name="a31" doxytag="validate.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTStringLookupValidator.html">TStringLookupValidator</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>v</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="validate_8h-source.html#l00913">913</a> of file <a class="el" href="validate_8h-source.html">validate.h</a>. </td>
+ </tr>
+</table>
+<a name="a28" doxytag="validate.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTLookupValidator.html">TLookupValidator</a> *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>v</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="validate_8h-source.html#l00805">805</a> of file <a class="el" href="validate_8h-source.html">validate.h</a>. </td>
+ </tr>
+</table>
+<a name="a27" doxytag="validate.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTLookupValidator.html">TLookupValidator</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>v</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="validate_8h-source.html#l00800">800</a> of file <a class="el" href="validate_8h-source.html">validate.h</a>. </td>
+ </tr>
+</table>
+<a name="a24" doxytag="validate.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTRangeValidator.html">TRangeValidator</a> *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>v</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="validate_8h-source.html#l00719">719</a> of file <a class="el" href="validate_8h-source.html">validate.h</a>. </td>
+ </tr>
+</table>
+<a name="a23" doxytag="validate.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTRangeValidator.html">TRangeValidator</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>v</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="validate_8h-source.html#l00714">714</a> of file <a class="el" href="validate_8h-source.html">validate.h</a>. </td>
+ </tr>
+</table>
+<a name="a20" doxytag="validate.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTFilterValidator.html">TFilterValidator</a> *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>v</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="validate_8h-source.html#l00578">578</a> of file <a class="el" href="validate_8h-source.html">validate.h</a>. </td>
+ </tr>
+</table>
+<a name="a19" doxytag="validate.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTFilterValidator.html">TFilterValidator</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>v</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="validate_8h-source.html#l00573">573</a> of file <a class="el" href="validate_8h-source.html">validate.h</a>. </td>
+ </tr>
+</table>
+<a name="a16" doxytag="validate.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTValidator.html">TValidator</a> *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>v</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="validate_8h-source.html#l00470">470</a> of file <a class="el" href="validate_8h-source.html">validate.h</a>. </td>
+ </tr>
+</table>
+<a name="a15" doxytag="validate.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTValidator.html">TValidator</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>v</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="validate_8h-source.html#l00465">465</a> of file <a class="el" href="validate_8h-source.html">validate.h</a>. </td>
+ </tr>
+</table>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:11 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/views_8h-source.html b/freebsdtvision/doc/html/views_8h-source.html
new file mode 100644
index 0000000..657ce46
--- /dev/null
+++ b/freebsdtvision/doc/html/views_8h-source.html
@@ -0,0 +1,909 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>views.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>views.h</h1><a href="views_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="comment">/*</span>
+00002 <span class="comment"> * views.h</span>
+00003 <span class="comment"> *</span>
+00004 <span class="comment"> * Turbo Vision - Version 2.0</span>
+00005 <span class="comment"> *</span>
+00006 <span class="comment"> * Copyright (c) 1994 by Borland International</span>
+00007 <span class="comment"> * All Rights Reserved.</span>
+00008 <span class="comment"> *</span>
+00009 <span class="comment"> * Modified by Sergio Sigala &lt;sergio@sigala.it&gt;</span>
+00010 <span class="comment"> */</span>
+00011
+00012 <span class="preprocessor">#if !defined( __COMMAND_CODES )</span>
+00013 <span class="preprocessor"></span><span class="preprocessor">#define __COMMAND_CODES</span>
+00014 <span class="preprocessor"></span>
+00019 <span class="keyword">const</span> <a class="code" href="ttypes_8h.html#a0">ushort</a>
+00020
+00021 <span class="comment">// Standard command codes</span>
+00022
+00023 cmValid = 0,
+00024 cmQuit = 1,
+00025 cmError = 2,
+00026 cmMenu = 3,
+00027 cmClose = 4,
+00028 cmZoom = 5,
+00029 cmResize = 6,
+00030 cmNext = 7,
+00031 cmPrev = 8,
+00032 cmHelp = 9,
+00033
+00034 <span class="comment">// TDialog standard commands</span>
+00035
+00036 cmOK = 10,
+00037 cmCancel = 11,
+00038 cmYes = 12,
+00039 cmNo = 13,
+00040 cmDefault = 14,
+00041
+00042 <span class="comment">// Standard application commands</span>
+00043
+00044 cmNew = 30,
+00045 cmOpen = 31,
+00046 cmSave = 32,
+00047 cmSaveAs = 33,
+00048 cmSaveAll = 34,
+00049 cmChDir = 35,
+00050 cmDosShell = 36,
+00051 cmCloseAll = 37,
+00052
+00053 <span class="comment">// SS: some new internal commands.</span>
+00054
+00055 cmSysRepaint = 38,
+00056 cmSysResize = 39,
+<a name="l00057"></a><a class="code" href="views_8h.html#a26">00057</a> cmSysWakeup = 40,
+00058
+00059 <span class="comment">// TView State masks</span>
+00060
+<a name="l00069"></a><a class="code" href="views_8h.html#a27">00069</a> <a class="code" href="views_8h.html#a26">sfVisible</a> = 0x001,
+00070
+<a name="l00077"></a><a class="code" href="views_8h.html#a28">00077</a> <a class="code" href="views_8h.html#a27">sfCursorVis</a> = 0x002,
+00078
+<a name="l00085"></a><a class="code" href="views_8h.html#a29">00085</a> <a class="code" href="views_8h.html#a28">sfCursorIns</a> = 0x004,
+00086
+<a name="l00091"></a><a class="code" href="views_8h.html#a30">00091</a> <a class="code" href="views_8h.html#a29">sfShadow</a> = 0x008,
+00092
+<a name="l00097"></a><a class="code" href="views_8h.html#a31">00097</a> <a class="code" href="views_8h.html#a30">sfActive</a> = 0x010,
+00098
+<a name="l00107"></a><a class="code" href="views_8h.html#a32">00107</a> <a class="code" href="views_8h.html#a31">sfSelected</a> = 0x020,
+00108
+<a name="l00115"></a><a class="code" href="views_8h.html#a33">00115</a> <a class="code" href="views_8h.html#a32">sfFocused</a> = 0x040,
+00116
+<a name="l00121"></a><a class="code" href="views_8h.html#a34">00121</a> <a class="code" href="views_8h.html#a33">sfDragging</a> = 0x080,
+00122
+<a name="l00128"></a><a class="code" href="views_8h.html#a35">00128</a> <a class="code" href="views_8h.html#a34">sfDisabled</a> = 0x100,
+00129
+<a name="l00144"></a><a class="code" href="views_8h.html#a36">00144</a> <a class="code" href="views_8h.html#a35">sfModal</a> = 0x200,
+00145
+<a name="l00151"></a><a class="code" href="views_8h.html#a37">00151</a> <a class="code" href="views_8h.html#a36">sfDefault</a> = 0x400,
+00152
+<a name="l00161"></a><a class="code" href="views_8h.html#a38">00161</a> <a class="code" href="views_8h.html#a37">sfExposed</a> = 0x800,
+00162
+00163 <span class="comment">// TView Option masks</span>
+00164
+<a name="l00171"></a><a class="code" href="views_8h.html#a39">00171</a> <a class="code" href="views_8h.html#a38">ofSelectable</a> = 0x001,
+00172
+<a name="l00182"></a><a class="code" href="views_8h.html#a40">00182</a> <a class="code" href="views_8h.html#a39">ofTopSelect</a> = 0x002,
+00183
+<a name="l00192"></a><a class="code" href="views_8h.html#a41">00192</a> <a class="code" href="views_8h.html#a40">ofFirstClick</a> = 0x004,
+00193
+<a name="l00201"></a><a class="code" href="views_8h.html#a42">00201</a> <a class="code" href="views_8h.html#a41">ofFramed</a> = 0x008,
+00202
+<a name="l00209"></a><a class="code" href="views_8h.html#a43">00209</a> <a class="code" href="views_8h.html#a42">ofPreProcess</a> = 0x010,
+00210
+<a name="l00217"></a><a class="code" href="views_8h.html#a44">00217</a> <a class="code" href="views_8h.html#a43">ofPostProcess</a> = 0x020,
+00218
+<a name="l00229"></a><a class="code" href="views_8h.html#a45">00229</a> <a class="code" href="views_8h.html#a44">ofBuffered</a> = 0x040,
+00230
+<a name="l00236"></a><a class="code" href="views_8h.html#a46">00236</a> <a class="code" href="views_8h.html#a45">ofTileable</a> = 0x080,
+00237
+<a name="l00243"></a><a class="code" href="views_8h.html#a47">00243</a> <a class="code" href="views_8h.html#a46">ofCenterX</a> = 0x100,
+00244
+<a name="l00250"></a><a class="code" href="views_8h.html#a48">00250</a> <a class="code" href="views_8h.html#a47">ofCenterY</a> = 0x200,
+00251
+<a name="l00257"></a><a class="code" href="views_8h.html#a49">00257</a> <a class="code" href="views_8h.html#a48">ofCentered</a> = 0x300,
+00258
+<a name="l00263"></a><a class="code" href="views_8h.html#a50">00263</a> <a class="code" href="views_8h.html#a49">ofValidate</a> = 0x400,
+00264
+00265 <span class="comment">// TView GrowMode masks</span>
+00266
+<a name="l00273"></a><a class="code" href="views_8h.html#a51">00273</a> <a class="code" href="views_8h.html#a50">gfGrowLoX</a> = 0x01,
+00274
+<a name="l00280"></a><a class="code" href="views_8h.html#a52">00280</a> <a class="code" href="views_8h.html#a51">gfGrowLoY</a> = 0x02,
+00281
+<a name="l00287"></a><a class="code" href="views_8h.html#a53">00287</a> <a class="code" href="views_8h.html#a52">gfGrowHiX</a> = 0x04,
+00288
+<a name="l00294"></a><a class="code" href="views_8h.html#a54">00294</a> <a class="code" href="views_8h.html#a53">gfGrowHiY</a> = 0x08,
+00295
+<a name="l00300"></a><a class="code" href="views_8h.html#a55">00300</a> <a class="code" href="views_8h.html#a54">gfGrowAll</a> = 0x0f,
+00301
+<a name="l00308"></a><a class="code" href="views_8h.html#a56">00308</a> <a class="code" href="views_8h.html#a55">gfGrowRel</a> = 0x10,
+00309
+<a name="l00314"></a><a class="code" href="views_8h.html#a57">00314</a> <a class="code" href="views_8h.html#a56">gfFixed</a> = 0x20,
+00315
+00316 <span class="comment">// TView DragMode masks</span>
+00317
+<a name="l00322"></a><a class="code" href="views_8h.html#a58">00322</a> <a class="code" href="views_8h.html#a57">dmDragMove</a> = 0x01,
+00323
+<a name="l00328"></a><a class="code" href="views_8h.html#a59">00328</a> <a class="code" href="views_8h.html#a58">dmDragGrow</a> = 0x02,
+00329
+<a name="l00334"></a><a class="code" href="views_8h.html#a60">00334</a> <a class="code" href="views_8h.html#a59">dmLimitLoX</a> = 0x10,
+00335
+<a name="l00340"></a><a class="code" href="views_8h.html#a61">00340</a> <a class="code" href="views_8h.html#a60">dmLimitLoY</a> = 0x20,
+00341
+<a name="l00346"></a><a class="code" href="views_8h.html#a62">00346</a> <a class="code" href="views_8h.html#a61">dmLimitHiX</a> = 0x40,
+00347
+<a name="l00352"></a><a class="code" href="views_8h.html#a63">00352</a> <a class="code" href="views_8h.html#a62">dmLimitHiY</a> = 0x80,
+00353
+<a name="l00358"></a><a class="code" href="views_8h.html#a64">00358</a> <a class="code" href="views_8h.html#a63">dmLimitAll</a> = <a class="code" href="views_8h.html#a59">dmLimitLoX</a> | <a class="code" href="views_8h.html#a60">dmLimitLoY</a> | <a class="code" href="views_8h.html#a61">dmLimitHiX</a> | <a class="code" href="views_8h.html#a62">dmLimitHiY</a>,
+00359
+00360 <span class="comment">// TView Help context codes</span>
+00361
+<a name="l00366"></a><a class="code" href="views_8h.html#a65">00366</a> <a class="code" href="views_8h.html#a64">hcNoContext</a> = 0,
+00367
+<a name="l00372"></a><a class="code" href="views_8h.html#a66">00372</a> <a class="code" href="views_8h.html#a65">hcDragging</a> = 1,
+00373
+00374 <span class="comment">// TScrollBar part codes</span>
+00375
+<a name="l00380"></a><a class="code" href="views_8h.html#a67">00380</a> <a class="code" href="views_8h.html#a66">sbLeftArrow</a> = 0,
+00381
+<a name="l00386"></a><a class="code" href="views_8h.html#a68">00386</a> <a class="code" href="views_8h.html#a67">sbRightArrow</a> = 1,
+00387
+<a name="l00392"></a><a class="code" href="views_8h.html#a69">00392</a> <a class="code" href="views_8h.html#a68">sbPageLeft</a> = 2,
+00393
+<a name="l00398"></a><a class="code" href="views_8h.html#a70">00398</a> <a class="code" href="views_8h.html#a69">sbPageRight</a> = 3,
+00399
+<a name="l00404"></a><a class="code" href="views_8h.html#a71">00404</a> <a class="code" href="views_8h.html#a70">sbUpArrow</a> = 4,
+00405
+<a name="l00410"></a><a class="code" href="views_8h.html#a72">00410</a> <a class="code" href="views_8h.html#a71">sbDownArrow</a> = 5,
+00411
+<a name="l00416"></a><a class="code" href="views_8h.html#a73">00416</a> <a class="code" href="views_8h.html#a72">sbPageUp</a> = 6,
+00417
+<a name="l00422"></a><a class="code" href="views_8h.html#a74">00422</a> <a class="code" href="views_8h.html#a73">sbPageDown</a> = 7,
+00423
+<a name="l00428"></a><a class="code" href="views_8h.html#a75">00428</a> <a class="code" href="views_8h.html#a74">sbIndicator</a> = 8,
+00429
+00430 <span class="comment">// TScrollBar options for TWindow.StandardScrollBar</span>
+00431
+<a name="l00436"></a><a class="code" href="views_8h.html#a76">00436</a> <a class="code" href="views_8h.html#a75">sbHorizontal</a> = 0x000,
+00437
+<a name="l00442"></a><a class="code" href="views_8h.html#a77">00442</a> <a class="code" href="views_8h.html#a76">sbVertical</a> = 0x001,
+00443
+<a name="l00448"></a><a class="code" href="views_8h.html#a78">00448</a> <a class="code" href="views_8h.html#a77">sbHandleKeyboard</a> = 0x002,
+00449
+00450 <span class="comment">// TWindow Flags masks</span>
+00451
+<a name="l00456"></a><a class="code" href="views_8h.html#a79">00456</a> <a class="code" href="views_8h.html#a78">wfMove</a> = 0x01,
+00457
+<a name="l00462"></a><a class="code" href="views_8h.html#a80">00462</a> <a class="code" href="views_8h.html#a79">wfGrow</a> = 0x02,
+00463
+<a name="l00469"></a><a class="code" href="views_8h.html#a81">00469</a> <a class="code" href="views_8h.html#a80">wfClose</a> = 0x04,
+00470
+00475 <a class="code" href="views_8h.html#a81">wfZoom</a> = 0x08,
+00476
+00477 <span class="comment">// TView inhibit flags</span>
+00478
+00479 noMenuBar = 0x0001,
+00480 noDeskTop = 0x0002,
+00481 noStatusLine = 0x0004,
+00482 noBackground = 0x0008,
+00483 noFrame = 0x0010,
+00484 noViewer = 0x0020,
+<a name="l00485"></a><a class="code" href="views_8h.html#a89">00485</a> noHistory = 0x0040,
+00486
+00487 <span class="comment">// TWindow number constants</span>
+00488
+<a name="l00494"></a><a class="code" href="views_8h.html#a90">00494</a> <a class="code" href="views_8h.html#a89">wnNoNumber</a> = 0,
+00495
+00496 <span class="comment">// TWindow palette entries</span>
+00497
+<a name="l00502"></a><a class="code" href="views_8h.html#a91">00502</a> <a class="code" href="views_8h.html#a90">wpBlueWindow</a> = 0,
+00503
+<a name="l00508"></a><a class="code" href="views_8h.html#a92">00508</a> <a class="code" href="views_8h.html#a91">wpCyanWindow</a> = 1,
+00509
+00514 <a class="code" href="views_8h.html#a92">wpGrayWindow</a> = 2,
+00515
+00516 <span class="comment">// Application command codes</span>
+00517
+00518 cmCut = 20,
+00519 cmCopy = 21,
+00520 cmPaste = 22,
+00521 cmUndo = 23,
+00522 cmClear = 24,
+00523 cmTile = 25,
+00524 cmCascade = 26,
+00525
+00526 <span class="comment">// Standard messages</span>
+00527
+00528 cmReceivedFocus = 50,
+00529 cmReleasedFocus = 51,
+00530 cmCommandSetChanged = 52,
+00531
+00532 <span class="comment">// TScrollBar messages</span>
+00533
+00534 cmScrollBarChanged = 53,
+00535 cmScrollBarClicked = 54,
+00536
+00537 <span class="comment">// TWindow select messages</span>
+00538
+00539 cmSelectWindowNum = 55,
+00540
+00541 <span class="comment">// TListViewer messages</span>
+00542
+<a name="l00543"></a><a class="code" href="views_8h.html#a107">00543</a> cmListItemSelected = 56,
+00544
+00545 <span class="comment">// Event masks</span>
+00546
+<a name="l00555"></a><a class="code" href="views_8h.html#a108">00555</a> <a class="code" href="views_8h.html#a107">positionalEvents</a> = <a class="code" href="system_8h.html#a8">evMouse</a>,
+00556
+00565 <a class="code" href="views_8h.html#a108">focusedEvents</a> = <a class="code" href="system_8h.html#a9">evKeyboard</a> | <a class="code" href="system_8h.html#a5">evCommand</a>;
+00566
+00567 <span class="preprocessor">#endif // __COMMAND_CODES</span>
+00568 <span class="preprocessor"></span>
+00569 <span class="preprocessor">#if defined( Uses_TCommandSet ) &amp;&amp; !defined( __TCommandSet )</span>
+00570 <span class="preprocessor"></span><span class="preprocessor">#define __TCommandSet</span>
+00571 <span class="preprocessor"></span>
+<a name="l00584"></a><a class="code" href="classTCommandSet.html">00584</a> <span class="keyword">class </span><a class="code" href="classTCommandSet.html">TCommandSet</a>
+00585 {
+00586 <span class="keyword">public</span>:
+00592 <a class="code" href="classTCommandSet.html#a0">TCommandSet</a>();
+00599 <a class="code" href="classTCommandSet.html#a0">TCommandSet</a>( <span class="keyword">const</span> <a class="code" href="classTCommandSet.html">TCommandSet</a>&amp; tc );
+00603 <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTCommandSet.html#a2">has</a>( <span class="keywordtype">int</span> cmd );
+00607 <span class="keywordtype">void</span> <a class="code" href="classTCommandSet.html#a3">disableCmd</a>( <span class="keywordtype">int</span> cmd );
+00611 <span class="keywordtype">void</span> <a class="code" href="classTCommandSet.html#a4">enableCmd</a>( <span class="keywordtype">int</span> cmd );
+00615 <span class="keywordtype">void</span> <a class="code" href="classTCommandSet.html#a5">operator += </a>( <span class="keywordtype">int</span> cmd );
+00619 <span class="keywordtype">void</span> <a class="code" href="classTCommandSet.html#a6">operator -= </a>( <span class="keywordtype">int</span> cmd );
+00623 <span class="keywordtype">void</span> <a class="code" href="classTCommandSet.html#a3">disableCmd</a>( <span class="keyword">const</span> <a class="code" href="classTCommandSet.html">TCommandSet</a>&amp; tc );
+00627 <span class="keywordtype">void</span> <a class="code" href="classTCommandSet.html#a4">enableCmd</a>( <span class="keyword">const</span> <a class="code" href="classTCommandSet.html">TCommandSet</a>&amp; tc );
+00631 <span class="keywordtype">void</span> <a class="code" href="classTCommandSet.html#a5">operator += </a>( <span class="keyword">const</span> <a class="code" href="classTCommandSet.html">TCommandSet</a>&amp; tc );
+00635 <span class="keywordtype">void</span> <a class="code" href="classTCommandSet.html#a6">operator -= </a>( <span class="keyword">const</span> <a class="code" href="classTCommandSet.html">TCommandSet</a>&amp; tc );
+00639 <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTCommandSet.html#a11">isEmpty</a>();
+00646 <a class="code" href="classTCommandSet.html">TCommandSet</a>&amp; <a class="code" href="classTCommandSet.html#a12">operator &amp;= </a>( <span class="keyword">const</span> <a class="code" href="classTCommandSet.html">TCommandSet</a>&amp; tc);
+00653 <a class="code" href="classTCommandSet.html">TCommandSet</a>&amp; <a class="code" href="classTCommandSet.html#a13">operator |= </a>( <span class="keyword">const</span> <a class="code" href="classTCommandSet.html">TCommandSet</a>&amp; tc);
+00660 <span class="keyword">friend</span> <a class="code" href="classTCommandSet.html">TCommandSet</a> <a class="code" href="classTCommandSet.html#l0">operator &amp; </a>( <span class="keyword">const</span> <a class="code" href="classTCommandSet.html">TCommandSet</a>&amp;, <span class="keyword">const</span> <a class="code" href="classTCommandSet.html">TCommandSet</a>&amp; );
+00667 <span class="keyword">friend</span> <a class="code" href="classTCommandSet.html">TCommandSet</a> <a class="code" href="classTCommandSet.html#l1">operator | </a>( <span class="keyword">const</span> <a class="code" href="classTCommandSet.html">TCommandSet</a>&amp;, <span class="keyword">const</span> <a class="code" href="classTCommandSet.html">TCommandSet</a>&amp; );
+00673 <span class="keyword">friend</span> <span class="keywordtype">int</span> <a class="code" href="classTCommandSet.html#l2">operator == </a>( <span class="keyword">const</span> <a class="code" href="classTCommandSet.html">TCommandSet</a>&amp; tc1, <span class="keyword">const</span> <a class="code" href="classTCommandSet.html">TCommandSet</a>&amp; tc2 );
+00679 <span class="keyword">friend</span> <span class="keywordtype">int</span> <a class="code" href="classTCommandSet.html#a110">operator != </a>( <span class="keyword">const</span> <a class="code" href="classTCommandSet.html">TCommandSet</a>&amp; tc1, <span class="keyword">const</span> <a class="code" href="classTCommandSet.html">TCommandSet</a>&amp; tc2 );
+00680 <span class="keyword">private</span>:
+00684 <span class="keywordtype">int</span> loc( <span class="keywordtype">int</span> );
+00688 <span class="keywordtype">int</span> mask( <span class="keywordtype">int</span> );
+00692 <span class="keyword">static</span> <span class="keywordtype">int</span> masks[8];
+00696 <a class="code" href="ttypes_8h.html#a1">uchar</a> cmds[32];
+00697 };
+00698
+<a name="l00699"></a><a class="code" href="classTCommandSet.html#a5">00699</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classTCommandSet.html#a5">TCommandSet::operator += </a>( <span class="keywordtype">int</span> cmd )
+00700 {
+00701 <a class="code" href="classTCommandSet.html#a4">enableCmd</a>( cmd );
+00702 }
+00703
+<a name="l00704"></a><a class="code" href="classTCommandSet.html#a6">00704</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classTCommandSet.html#a6">TCommandSet::operator -= </a>( <span class="keywordtype">int</span> cmd )
+00705 {
+00706 <a class="code" href="classTCommandSet.html#a3">disableCmd</a>( cmd );
+00707 }
+00708
+<a name="l00709"></a><a class="code" href="classTCommandSet.html#a9">00709</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classTCommandSet.html#a5">TCommandSet::operator += </a>( <span class="keyword">const</span> <a class="code" href="classTCommandSet.html">TCommandSet</a>&amp; tc )
+00710 {
+00711 <a class="code" href="classTCommandSet.html#a4">enableCmd</a>( tc );
+00712 }
+00713
+<a name="l00714"></a><a class="code" href="classTCommandSet.html#a10">00714</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classTCommandSet.html#a6">TCommandSet::operator -= </a>( <span class="keyword">const</span> <a class="code" href="classTCommandSet.html">TCommandSet</a>&amp; tc )
+00715 {
+00716 <a class="code" href="classTCommandSet.html#a3">disableCmd</a>( tc );
+00717 }
+00718
+<a name="l00719"></a><a class="code" href="views_8h.html#a110">00719</a> <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="views_8h.html#a110">operator != </a>( <span class="keyword">const</span> <a class="code" href="classTCommandSet.html">TCommandSet</a>&amp; tc1, <span class="keyword">const</span> <a class="code" href="classTCommandSet.html">TCommandSet</a>&amp; tc2 )
+00720 {
+00721 <span class="keywordflow">return</span> !operator == ( tc1, tc2 );
+00722 }
+00723
+00724 <span class="keyword">inline</span> <span class="keywordtype">int</span> TCommandSet::loc( <span class="keywordtype">int</span> cmd )
+00725 {
+00726 <span class="keywordflow">return</span> cmd / 8;
+00727 }
+00728
+00729 <span class="keyword">inline</span> <span class="keywordtype">int</span> TCommandSet::mask( <span class="keywordtype">int</span> cmd )
+00730 {
+00731 <span class="keywordflow">return</span> masks[ cmd &amp; 0x07 ];
+00732 }
+00733
+00734 <span class="preprocessor">#endif // Uses_TCommandSet</span>
+00735 <span class="preprocessor"></span>
+00736 <span class="preprocessor">#if defined( Uses_TPalette ) &amp;&amp; !defined( __TPalette )</span>
+00737 <span class="preprocessor"></span><span class="preprocessor">#define __TPalette</span>
+00738 <span class="preprocessor"></span>
+<a name="l00752"></a><a class="code" href="classTPalette.html">00752</a> <span class="keyword">class </span><a class="code" href="classTPalette.html">TPalette</a>
+00753 {
+00754 <span class="keyword">public</span>:
+00760 <a class="code" href="classTPalette.html#a0">TPalette</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *d, <a class="code" href="ttypes_8h.html#a0">ushort</a> len );
+00764 <a class="code" href="classTPalette.html#a0">TPalette</a>( <span class="keyword">const</span> <a class="code" href="classTPalette.html">TPalette</a>&amp; tp );
+00768 <a class="code" href="classTPalette.html#a2">~TPalette</a>();
+00772 <a class="code" href="classTPalette.html">TPalette</a>&amp; <a class="code" href="classTPalette.html#a3">operator = </a>( <span class="keyword">const</span> <a class="code" href="classTPalette.html">TPalette</a>&amp; tp );
+00777 <a class="code" href="ttypes_8h.html#a1">uchar</a>&amp; <a class="code" href="classTPalette.html#a4">operator[]</a>( <span class="keywordtype">int</span> index ) <span class="keyword">const</span>;
+<a name="l00781"></a><a class="code" href="classTPalette.html#m0">00781</a> <a class="code" href="ttypes_8h.html#a1">uchar</a> *<a class="code" href="classTPalette.html#m0">data</a>;
+00782 };
+00783
+00784 <span class="preprocessor">#endif // Uses_TPalette</span>
+00785 <span class="preprocessor"></span>
+00786 <span class="preprocessor">#if defined( Uses_TView ) &amp;&amp; !defined( __TView )</span>
+00787 <span class="preprocessor"></span><span class="preprocessor">#define __TView</span>
+00788 <span class="preprocessor"></span>
+00789 <span class="keyword">class </span><a class="code" href="classTRect.html">TRect</a>;
+00790 <span class="keyword">class </span><a class="code" href="structTEvent.html">TEvent</a>;
+00791 <span class="keyword">class </span><a class="code" href="classTGroup.html">TGroup</a>;
+00792
+<a name="l00807"></a><a class="code" href="classTView.html">00807</a> <span class="keyword">class </span><a class="code" href="classTView.html">TView</a> : <span class="keyword">public</span> <a class="code" href="classTObject.html">TObject</a>, <span class="keyword">public</span> <a class="code" href="classTStreamable.html">TStreamable</a>
+00808 {
+00809 <span class="keyword">public</span>:
+<a name="l00814"></a><a class="code" href="classTView.html#s6">00814</a> <span class="keyword">enum</span> <a class="code" href="classTView.html#s6">phaseType</a> { phFocused, phPreProcess, phPostProcess };
+<a name="l00818"></a><a class="code" href="classTView.html#s7">00818</a> <span class="keyword">enum</span> <a class="code" href="classTView.html#s7">selectMode</a>{ normalSelect, enterSelect, leaveSelect };
+00840 <a class="code" href="classTView.html#a0">TView</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; bounds );
+00844 <a class="code" href="classTView.html#a1">~TView</a>();
+00853 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTView.html#a2">sizeLimits</a>( <a class="code" href="classTPoint.html">TPoint</a>&amp; <a class="code" href="util_8h.html#a0">min</a>, <a class="code" href="classTPoint.html">TPoint</a>&amp; <a class="code" href="util_8h.html#a1">max</a> );
+00861 <a class="code" href="classTRect.html">TRect</a> <a class="code" href="classTView.html#a3">getBounds</a>();
+00868 <a class="code" href="classTRect.html">TRect</a> <a class="code" href="classTView.html#a4">getExtent</a>();
+00876 <a class="code" href="classTRect.html">TRect</a> <a class="code" href="classTView.html#a5">getClipRect</a>();
+00882 <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTView.html#a6">mouseInView</a>( <a class="code" href="classTPoint.html">TPoint</a> mouse );
+00892 <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTView.html#a7">containsMouse</a>( <a class="code" href="structTEvent.html">TEvent</a>&amp; event );
+00901 <span class="keywordtype">void</span> <a class="code" href="classTView.html#a8">locate</a>( <a class="code" href="classTRect.html">TRect</a>&amp; bounds );
+00913 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTView.html#a9">dragView</a>( <a class="code" href="structTEvent.html">TEvent</a>&amp; event, <a class="code" href="ttypes_8h.html#a1">uchar</a> mode, <span class="comment">// temporary fix</span>
+00914 <a class="code" href="classTRect.html">TRect</a>&amp; limits, <a class="code" href="classTPoint.html">TPoint</a> minSize, <a class="code" href="classTPoint.html">TPoint</a> maxSize ); <span class="comment">// for Miller's stuff</span>
+00926 <span class="comment"></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTView.html#a10">calcBounds</a>( <a class="code" href="classTRect.html">TRect</a>&amp; bounds, <a class="code" href="classTPoint.html">TPoint</a> delta );
+00938 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTView.html#a11">changeBounds</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; bounds );
+00943 <span class="keywordtype">void</span> <a class="code" href="classTView.html#a12">growTo</a>( <span class="keywordtype">short</span> x, <span class="keywordtype">short</span> y );
+00948 <span class="keywordtype">void</span> <a class="code" href="classTView.html#a13">moveTo</a>( <span class="keywordtype">short</span> x, <span class="keywordtype">short</span> y );
+00959 <span class="keywordtype">void</span> <a class="code" href="classTView.html#a14">setBounds</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; bounds );
+00965 <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="classTView.html#a15">getHelpCtx</a>();
+00984 <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTView.html#a16">valid</a>( <a class="code" href="ttypes_8h.html#a0">ushort</a> command );
+00989 <span class="keywordtype">void</span> <a class="code" href="classTView.html#a17">hide</a>();
+00995 <span class="keywordtype">void</span> <a class="code" href="classTView.html#a18">show</a>();
+01013 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTView.html#a19">draw</a>();
+01024 <span class="keywordtype">void</span> <a class="code" href="classTView.html#a20">drawView</a>();
+01035 <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTView.html#a21">exposed</a>();
+01048 <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTView.html#a22">focus</a>();
+01053 <span class="keywordtype">void</span> <a class="code" href="classTView.html#a23">hideCursor</a>();
+01059 <span class="keywordtype">void</span> <a class="code" href="classTView.html#a24">drawHide</a>( <a class="code" href="classTView.html">TView</a> *lastView );
+01065 <span class="keywordtype">void</span> <a class="code" href="classTView.html#a25">drawShow</a>( <a class="code" href="classTView.html">TView</a> *lastView );
+01075 <span class="keywordtype">void</span> <a class="code" href="classTView.html#a26">drawUnderRect</a>( <a class="code" href="classTRect.html">TRect</a>&amp; r, <a class="code" href="classTView.html">TView</a> *lastView );
+01082 <span class="keywordtype">void</span> <a class="code" href="classTView.html#a27">drawUnderView</a>( <a class="code" href="ttypes_8h.html#a13">Boolean</a> doShadow, <a class="code" href="classTView.html">TView</a> *lastView );
+01092 <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="classTView.html#a28">dataSize</a>();
+01101 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTView.html#a29">getData</a>( <span class="keywordtype">void</span> *rec );
+01110 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTView.html#a30">setData</a>( <span class="keywordtype">void</span> *rec );
+01121 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTView.html#a31">awaken</a>();
+01127 <span class="keywordtype">void</span> <a class="code" href="classTView.html#a32">blockCursor</a>();
+01133 <span class="keywordtype">void</span> <a class="code" href="classTView.html#a33">normalCursor</a>();
+01137 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTView.html#a34">resetCursor</a>();
+01142 <span class="keywordtype">void</span> <a class="code" href="classTView.html#a35">setCursor</a>( <span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y );
+01147 <span class="keywordtype">void</span> <a class="code" href="classTView.html#a36">showCursor</a>();
+01153 <span class="keywordtype">void</span> <a class="code" href="classTView.html#a37">drawCursor</a>();
+01160 <span class="keywordtype">void</span> <a class="code" href="classTView.html#a38">clearEvent</a>( <a class="code" href="structTEvent.html">TEvent</a>&amp; event );
+01166 <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTView.html#a39">eventAvail</a>();
+01174 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTView.html#a40">getEvent</a>( <a class="code" href="structTEvent.html">TEvent</a>&amp; event );
+01198 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTView.html#a41">handleEvent</a>( <a class="code" href="structTEvent.html">TEvent</a>&amp; event );
+01218 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTView.html#a42">putEvent</a>( <a class="code" href="structTEvent.html">TEvent</a>&amp; event );
+01227 <span class="keyword">static</span> <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTView.html#d0">commandEnabled</a>( <a class="code" href="ttypes_8h.html#a0">ushort</a> command );
+01232 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTView.html#d1">disableCommands</a>( <a class="code" href="classTCommandSet.html">TCommandSet</a>&amp; commands );
+01237 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTView.html#d2">enableCommands</a>( <a class="code" href="classTCommandSet.html">TCommandSet</a>&amp; commands );
+01242 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTView.html#d3">disableCommand</a>( <a class="code" href="ttypes_8h.html#a0">ushort</a> command );
+01247 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTView.html#d4">enableCommand</a>( <a class="code" href="ttypes_8h.html#a0">ushort</a> command );
+01251 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTView.html#d5">getCommands</a>( <a class="code" href="classTCommandSet.html">TCommandSet</a>&amp; commands );
+01255 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTView.html#d6">setCommands</a>( <a class="code" href="classTCommandSet.html">TCommandSet</a>&amp; commands );
+01259 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classTView.html#d7">setCmdState</a>( <a class="code" href="classTCommandSet.html">TCommandSet</a>&amp; commands, <a class="code" href="ttypes_8h.html#a13">Boolean</a> enable);
+01269 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTView.html#a43">endModal</a>( <a class="code" href="ttypes_8h.html#a0">ushort</a> command );
+01278 <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="classTView.html#a44">execute</a>();
+01284 <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="classTView.html#a45">getColor</a>( <a class="code" href="ttypes_8h.html#a0">ushort</a> color );
+01296 <span class="keyword">virtual</span> <a class="code" href="classTPalette.html">TPalette</a>&amp; <a class="code" href="classTView.html#a46">getPalette</a>() <span class="keyword">const</span>;
+01307 <a class="code" href="ttypes_8h.html#a1">uchar</a> <a class="code" href="classTView.html#a47">mapColor</a>( <a class="code" href="ttypes_8h.html#a1">uchar</a> );
+01312 <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTView.html#a48">getState</a>( <a class="code" href="ttypes_8h.html#a0">ushort</a> aState );
+01322 <span class="keywordtype">void</span> <a class="code" href="classTView.html#a49">select</a>();
+01338 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTView.html#a50">setState</a>( <a class="code" href="ttypes_8h.html#a0">ushort</a> aState, <a class="code" href="ttypes_8h.html#a13">Boolean</a> enable );
+01344 <span class="keywordtype">void</span> <a class="code" href="classTView.html#a51">keyEvent</a>( <a class="code" href="structTEvent.html">TEvent</a>&amp; event );
+01379 <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTView.html#a52">mouseEvent</a>( <a class="code" href="structTEvent.html">TEvent</a>&amp; event, <a class="code" href="ttypes_8h.html#a0">ushort</a> mask );
+01384 <a class="code" href="classTPoint.html">TPoint</a> <a class="code" href="classTView.html#a53">makeGlobal</a>( <a class="code" href="classTPoint.html">TPoint</a> source );
+01397 <a class="code" href="classTPoint.html">TPoint</a> <a class="code" href="classTView.html#a54">makeLocal</a>( <a class="code" href="classTPoint.html">TPoint</a> source );
+01403 <a class="code" href="classTView.html">TView</a> *<a class="code" href="classTView.html#a55">nextView</a>();
+01412 <a class="code" href="classTView.html">TView</a> *<a class="code" href="classTView.html#a56">prevView</a>();
+01421 <a class="code" href="classTView.html">TView</a> *<a class="code" href="classTView.html#a57">prev</a>();
+<a name="l01426"></a><a class="code" href="classTView.html#m0">01426</a> <a class="code" href="classTView.html">TView</a> *<a class="code" href="classTView.html#m0">next</a>;
+01433 <span class="keywordtype">void</span> <a class="code" href="classTView.html#a58">makeFirst</a>();
+01453 <span class="keywordtype">void</span> <a class="code" href="classTView.html#a59">putInFrontOf</a>( <a class="code" href="classTView.html">TView</a> *Target );
+01457 <a class="code" href="classTView.html">TView</a> *<a class="code" href="classTView.html#a60">TopView</a>();
+01464 <span class="keywordtype">void</span> <a class="code" href="classTView.html#a61">writeBuf</a>( <span class="keywordtype">short</span> x, <span class="keywordtype">short</span> y, <span class="keywordtype">short</span> w, <span class="keywordtype">short</span> h, <span class="keyword">const</span> <span class="keywordtype">void</span>* b );
+01471 <span class="keywordtype">void</span> <a class="code" href="classTView.html#a61">writeBuf</a>( <span class="keywordtype">short</span> x, <span class="keywordtype">short</span> y, <span class="keywordtype">short</span> w, <span class="keywordtype">short</span> h, <span class="keyword">const</span> <a class="code" href="classTDrawBuffer.html">TDrawBuffer</a>&amp; b );
+01477 <span class="keywordtype">void</span> <a class="code" href="classTView.html#a63">writeChar</a>( <span class="keywordtype">short</span> x, <span class="keywordtype">short</span> y, <span class="keywordtype">char</span> c, <a class="code" href="ttypes_8h.html#a1">uchar</a> color, <span class="keywordtype">short</span> count );
+01485 <span class="keywordtype">void</span> <a class="code" href="classTView.html#a64">writeLine</a>( <span class="keywordtype">short</span> x, <span class="keywordtype">short</span> y, <span class="keywordtype">short</span> w, <span class="keywordtype">short</span> h, <span class="keyword">const</span> <a class="code" href="classTDrawBuffer.html">TDrawBuffer</a>&amp; b );
+01493 <span class="keywordtype">void</span> <a class="code" href="classTView.html#a64">writeLine</a>( <span class="keywordtype">short</span> x, <span class="keywordtype">short</span> y, <span class="keywordtype">short</span> w, <span class="keywordtype">short</span> h, <span class="keyword">const</span> <span class="keywordtype">void</span> *b );
+01499 <span class="keywordtype">void</span> <a class="code" href="classTView.html#a66">writeStr</a>( <span class="keywordtype">short</span> x, <span class="keywordtype">short</span> y, <span class="keyword">const</span> <span class="keywordtype">char</span> *str, <a class="code" href="ttypes_8h.html#a1">uchar</a> color );
+<a name="l01503"></a><a class="code" href="classTView.html#m1">01503</a> <a class="code" href="classTPoint.html">TPoint</a> <a class="code" href="classTView.html#m1">size</a>;
+<a name="l01579"></a><a class="code" href="classTView.html#m2">01579</a> <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="classTView.html#m2">options</a>;
+<a name="l01589"></a><a class="code" href="classTView.html#m3">01589</a> <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="classTView.html#m3">eventMask</a>;
+<a name="l01665"></a><a class="code" href="classTView.html#m4">01665</a> <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="classTView.html#m4">state</a>;
+<a name="l01670"></a><a class="code" href="classTView.html#m5">01670</a> <a class="code" href="classTPoint.html">TPoint</a> <a class="code" href="classTView.html#m5">origin</a>;
+<a name="l01680"></a><a class="code" href="classTView.html#m6">01680</a> <a class="code" href="classTPoint.html">TPoint</a> <a class="code" href="classTView.html#m6">cursor</a>;
+<a name="l01718"></a><a class="code" href="classTView.html#m7">01718</a> <a class="code" href="ttypes_8h.html#a1">uchar</a> <a class="code" href="classTView.html#m7">growMode</a>;
+<a name="l01740"></a><a class="code" href="classTView.html#m8">01740</a> <a class="code" href="ttypes_8h.html#a1">uchar</a> <a class="code" href="classTView.html#m8">dragMode</a>;
+<a name="l01764"></a><a class="code" href="classTView.html#m9">01764</a> <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="classTView.html#m9">helpCtx</a>;
+<a name="l01774"></a><a class="code" href="classTView.html#p0">01774</a> <span class="keyword">static</span> <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTView.html#p0">commandSetChanged</a>;
+01775 <span class="preprocessor">#ifndef GENINC</span>
+01776 <span class="preprocessor"></span>
+<a name="l01792"></a><a class="code" href="classTView.html#p1">01792</a> <span class="keyword">static</span> <a class="code" href="classTCommandSet.html">TCommandSet</a> <a class="code" href="classTView.html#p1">curCommandSet</a>;
+01793 <span class="preprocessor">#endif</span>
+01794 <span class="preprocessor"></span>
+<a name="l01799"></a><a class="code" href="classTView.html#m10">01799</a> <a class="code" href="classTGroup.html">TGroup</a> *<a class="code" href="classTView.html#m10">owner</a>;
+<a name="l01806"></a><a class="code" href="classTView.html#p2">01806</a> <span class="keyword">static</span> <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTView.html#p2">showMarkers</a>;
+<a name="l01815"></a><a class="code" href="classTView.html#p3">01815</a> <span class="keyword">static</span> <a class="code" href="ttypes_8h.html#a1">uchar</a> <a class="code" href="classTView.html#p3">errorAttr</a>;
+01822 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTView.html#a67">shutDown</a>();
+01823 <span class="keyword">private</span>:
+01827 <span class="keywordtype">void</span> moveGrow( <a class="code" href="classTPoint.html">TPoint</a> p,
+01828 <a class="code" href="classTPoint.html">TPoint</a> s,
+01829 <a class="code" href="classTRect.html">TRect</a>&amp; limits,
+01830 <a class="code" href="classTPoint.html">TPoint</a> minSize,
+01831 <a class="code" href="classTPoint.html">TPoint</a> maxSize,
+01832 <a class="code" href="ttypes_8h.html#a1">uchar</a> mode
+01833 );
+01837 <span class="keywordtype">void</span> change( <a class="code" href="ttypes_8h.html#a1">uchar</a>, <a class="code" href="classTPoint.html">TPoint</a> delta, <a class="code" href="classTPoint.html">TPoint</a>&amp; p, <a class="code" href="classTPoint.html">TPoint</a>&amp; s, <a class="code" href="ttypes_8h.html#a3">ulong</a> ctrlState );
+01841 <span class="keywordtype">int</span> exposedRec1(<span class="keywordtype">short</span> <span class="keywordtype">int</span>, <span class="keywordtype">short</span> <span class="keywordtype">int</span>, <span class="keyword">class</span> <a class="code" href="classTView.html">TView</a> *);
+01845 <span class="keywordtype">int</span> exposedRec2(<span class="keywordtype">short</span> <span class="keywordtype">int</span>, <span class="keywordtype">short</span> <span class="keywordtype">int</span>, <span class="keyword">class</span> <a class="code" href="classTView.html">TView</a> *);
+01849 <span class="keywordtype">void</span> writeView(<span class="keywordtype">short</span> <span class="keywordtype">int</span>, <span class="keywordtype">short</span> <span class="keywordtype">int</span>, <span class="keywordtype">short</span> <span class="keywordtype">int</span>, <span class="keyword">const</span> <span class="keywordtype">void</span> *);
+01853 <span class="keywordtype">void</span> writeViewRec1(<span class="keywordtype">short</span> <span class="keywordtype">int</span>, <span class="keywordtype">short</span> <span class="keywordtype">int</span>, <span class="keyword">class</span> <a class="code" href="classTView.html">TView</a> *, <span class="keywordtype">int</span>);
+01857 <span class="keywordtype">void</span> writeViewRec2(<span class="keywordtype">short</span> <span class="keywordtype">int</span>, <span class="keywordtype">short</span> <span class="keywordtype">int</span>, <span class="keyword">class</span> <a class="code" href="classTView.html">TView</a> *, <span class="keywordtype">int</span>);
+01861 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *streamableName()<span class="keyword"> const</span>
+01862 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classTView.html#p4">name</a>; }
+01863 <span class="keyword">protected</span>:
+01870 <a class="code" href="classTView.html#a0">TView</a>( <a class="code" href="ttypes_8h.html#a14">StreamableInit</a> );
+01871 <span class="keyword">public</span>:
+<a name="l01875"></a><a class="code" href="classTView.html#p4">01875</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classTView.html#p4">name</a>;
+01879 <span class="keyword">static</span> <a class="code" href="classTStreamable.html">TStreamable</a> *<a class="code" href="classTView.html#d8">build</a>();
+01880 <span class="keyword">protected</span>:
+01884 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTView.html#b1">write</a>( <a class="code" href="classopstream.html">opstream</a>&amp; os );
+01888 <span class="keyword">virtual</span> <span class="keywordtype">void</span> *<a class="code" href="classTView.html#b2">read</a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is );
+01889 };
+01890
+<a name="l01894"></a><a class="code" href="views_8h.html#a111">01894</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTView.html">TView</a>&amp; cl )
+01895 { <span class="keywordflow">return</span> is &gt;&gt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l01899"></a><a class="code" href="views_8h.html#a112">01899</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTView.html">TView</a>*&amp; cl )
+01900 { <span class="keywordflow">return</span> is &gt;&gt; (<span class="keywordtype">void</span> *&amp;)cl; }
+01901
+<a name="l01905"></a><a class="code" href="views_8h.html#a113">01905</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTView.html">TView</a>&amp; cl )
+01906 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l01910"></a><a class="code" href="views_8h.html#a114">01910</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTView.html">TView</a>* cl )
+01911 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a> *)cl; }
+01912
+<a name="l01913"></a><a class="code" href="classTView.html#a62">01913</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classTView.html#a61">TView::writeBuf</a>( <span class="keywordtype">short</span> x, <span class="keywordtype">short</span> y, <span class="keywordtype">short</span> w, <span class="keywordtype">short</span> h,
+01914 <span class="keyword">const</span> <a class="code" href="classTDrawBuffer.html">TDrawBuffer</a>&amp; b )
+01915 {
+01916 <a class="code" href="classTView.html#a61">writeBuf</a>( x, y, w, h, b.<a class="code" href="classTDrawBuffer.html#n0">data</a> );
+01917 }
+01918
+<a name="l01919"></a><a class="code" href="classTView.html#a64">01919</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classTView.html#a64">TView::writeLine</a>( <span class="keywordtype">short</span> x, <span class="keywordtype">short</span> y, <span class="keywordtype">short</span> w, <span class="keywordtype">short</span> h,
+01920 <span class="keyword">const</span> <a class="code" href="classTDrawBuffer.html">TDrawBuffer</a>&amp; b )
+01921 {
+01922 <a class="code" href="classTView.html#a64">writeLine</a>( x, y, w, h, b.<a class="code" href="classTDrawBuffer.html#n0">data</a> );
+01923 }
+01924
+01925 <span class="preprocessor">#endif // Uses_TView</span>
+01926 <span class="preprocessor"></span>
+01927 <span class="comment">/* ---------------------------------------------------------------------- */</span>
+01928 <span class="comment">/* class TFrame */</span>
+01929 <span class="comment">/* */</span>
+01930 <span class="comment">/* Palette layout */</span>
+01931 <span class="comment">/* 1 = Passive frame */</span>
+01932 <span class="comment">/* 2 = Passive title */</span>
+01933 <span class="comment">/* 3 = Active frame */</span>
+01934 <span class="comment">/* 4 = Active title */</span>
+01935 <span class="comment">/* 5 = Icons */</span>
+01936 <span class="comment">/* ---------------------------------------------------------------------- */</span>
+01937
+01938 <span class="preprocessor">#if defined( Uses_TFrame ) &amp;&amp; !defined( __TFrame )</span>
+01939 <span class="preprocessor"></span><span class="preprocessor">#define __TFrame</span>
+01940 <span class="preprocessor"></span>
+01941 <span class="keyword">class </span><a class="code" href="classTRect.html">TRect</a>;
+01942 <span class="keyword">class </span><a class="code" href="structTEvent.html">TEvent</a>;
+01943 <span class="keyword">class </span><a class="code" href="classTDrawBuffer.html">TDrawBuffer</a>;
+01944
+<a name="l01951"></a><a class="code" href="classTFrame.html">01951</a> <span class="keyword">class </span><a class="code" href="classTFrame.html">TFrame</a> : <span class="keyword">public</span> <a class="code" href="classTView.html">TView</a>
+01952 {
+01953 <span class="keyword">public</span>:
+01961 <a class="code" href="classTFrame.html#a0">TFrame</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; bounds );
+01972 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTFrame.html#a1">draw</a>();
+01977 <span class="keyword">virtual</span> <a class="code" href="classTPalette.html">TPalette</a>&amp; <a class="code" href="classTFrame.html#a2">getPalette</a>() <span class="keyword">const</span>;
+01989 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTFrame.html#a3">handleEvent</a>( <a class="code" href="structTEvent.html">TEvent</a>&amp; event );
+01998 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTFrame.html#a4">setState</a>( <a class="code" href="ttypes_8h.html#a0">ushort</a> aState, <a class="code" href="ttypes_8h.html#a13">Boolean</a> enable );
+<a name="l02002"></a><a class="code" href="classTFrame.html#p0">02002</a> <span class="keyword">static</span> <span class="keywordtype">char</span> <a class="code" href="classTFrame.html#p0">frameChars</a>[33];
+<a name="l02006"></a><a class="code" href="classTFrame.html#p1">02006</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="classTFrame.html#p1">closeIcon</a>;
+<a name="l02010"></a><a class="code" href="classTFrame.html#p2">02010</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="classTFrame.html#p2">dragIcon</a>;
+02011 <span class="keyword">private</span>:
+02015 <span class="keywordtype">void</span> frameLine( <a class="code" href="classTDrawBuffer.html">TDrawBuffer</a>&amp; frameBuf, <span class="keywordtype">short</span> y, <span class="keywordtype">short</span> n, <a class="code" href="ttypes_8h.html#a1">uchar</a> color );
+02019 <span class="keywordtype">void</span> dragWindow( <a class="code" href="structTEvent.html">TEvent</a>&amp; event, <a class="code" href="ttypes_8h.html#a1">uchar</a> <a class="code" href="classTView.html#m8">dragMode</a> );
+<a name="l02023"></a><a class="code" href="classTFrame.html#l0">02023</a> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classTDisplay.html">TDisplay</a>;
+02027 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> initFrame[19];
+02031 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * zoomIcon;
+02035 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * unZoomIcon;
+02039 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *streamableName()<span class="keyword"> const</span>
+02040 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classTFrame.html#p3">name</a>; }
+02041 <span class="keyword">protected</span>:
+02049 <a class="code" href="classTFrame.html#a0">TFrame</a>( <a class="code" href="ttypes_8h.html#a14">StreamableInit</a> );
+02050 <span class="keyword">public</span>:
+<a name="l02054"></a><a class="code" href="classTFrame.html#p3">02054</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classTFrame.html#p3">name</a>;
+02059 <span class="keyword">static</span> <a class="code" href="classTStreamable.html">TStreamable</a> *<a class="code" href="classTFrame.html#d0">build</a>();
+02060 };
+02061
+<a name="l02065"></a><a class="code" href="views_8h.html#a115">02065</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTFrame.html">TFrame</a>&amp; cl )
+02066 { <span class="keywordflow">return</span> is &gt;&gt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l02070"></a><a class="code" href="views_8h.html#a116">02070</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTFrame.html">TFrame</a>*&amp; cl )
+02071 { <span class="keywordflow">return</span> is &gt;&gt; (<span class="keywordtype">void</span> *&amp;)cl; }
+02072
+<a name="l02076"></a><a class="code" href="views_8h.html#a117">02076</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTFrame.html">TFrame</a>&amp; cl )
+02077 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l02081"></a><a class="code" href="views_8h.html#a118">02081</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTFrame.html">TFrame</a>* cl )
+02082 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a> *)cl; }
+02083
+02084 <span class="preprocessor">#endif // Uses_TFrame</span>
+02085 <span class="preprocessor"></span>
+02086 <span class="comment">/* ---------------------------------------------------------------------- */</span>
+02087 <span class="comment">/* class TScrollBar */</span>
+02088 <span class="comment">/* */</span>
+02089 <span class="comment">/* Palette layout */</span>
+02090 <span class="comment">/* 1 = Page areas */</span>
+02091 <span class="comment">/* 2 = Arrows */</span>
+02092 <span class="comment">/* 3 = Indicator */</span>
+02093 <span class="comment">/* ---------------------------------------------------------------------- */</span>
+02094
+02095 <span class="preprocessor">#if defined( Uses_TScrollBar ) &amp;&amp; !defined( __TScrollBar )</span>
+02096 <span class="preprocessor"></span><span class="preprocessor">#define __TScrollBar</span>
+02097 <span class="preprocessor"></span>
+02098 <span class="keyword">class </span><a class="code" href="classTRect.html">TRect</a>;
+02099 <span class="keyword">class </span><a class="code" href="structTEvent.html">TEvent</a>;
+02100
+<a name="l02106"></a><a class="code" href="views_8h.html#a109">02106</a> <span class="keyword">typedef</span> <span class="keywordtype">char</span> <a class="code" href="views_8h.html#a109">TScrollChars</a>[5];
+02107
+<a name="l02111"></a><a class="code" href="classTScrollBar.html">02111</a> <span class="keyword">class </span><a class="code" href="classTScrollBar.html">TScrollBar</a> : <span class="keyword">public</span> <a class="code" href="classTView.html">TView</a>
+02112 {
+02113 <span class="keyword">public</span>:
+02128 <a class="code" href="classTScrollBar.html#a0">TScrollBar</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; bounds );
+02133 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTScrollBar.html#a1">draw</a>();
+02137 <span class="keyword">virtual</span> <a class="code" href="classTPalette.html">TPalette</a>&amp; <a class="code" href="classTScrollBar.html#a2">getPalette</a>() <span class="keyword">const</span>;
+02148 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTScrollBar.html#a3">handleEvent</a>( <a class="code" href="structTEvent.html">TEvent</a>&amp; event );
+02159 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTScrollBar.html#a4">scrollDraw</a>();
+02186 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classTScrollBar.html#a5">scrollStep</a>( <span class="keywordtype">int</span> part );
+02195 <span class="keywordtype">void</span> <a class="code" href="classTScrollBar.html#a6">setParams</a>( <span class="keywordtype">int</span> aValue, <span class="keywordtype">int</span> aMin, <span class="keywordtype">int</span> aMax,
+02196 <span class="keywordtype">int</span> aPgStep, <span class="keywordtype">int</span> aArStep );
+02204 <span class="keywordtype">void</span> <a class="code" href="classTScrollBar.html#a7">setRange</a>( <span class="keywordtype">int</span> aMin, <span class="keywordtype">int</span> aMax );
+02211 <span class="keywordtype">void</span> <a class="code" href="classTScrollBar.html#a8">setStep</a>( <span class="keywordtype">int</span> aPgStep, <span class="keywordtype">int</span> aArStep );
+02218 <span class="keywordtype">void</span> <a class="code" href="classTScrollBar.html#a9">setValue</a>( <span class="keywordtype">int</span> aValue );
+02222 <span class="keywordtype">void</span> <a class="code" href="classTScrollBar.html#a10">drawPos</a>( <span class="keywordtype">int</span> pos );
+02226 <span class="keywordtype">int</span> <a class="code" href="classTScrollBar.html#a11">getPos</a>();
+02230 <span class="keywordtype">int</span> <a class="code" href="classTScrollBar.html#a12">getSize</a>();
+<a name="l02239"></a><a class="code" href="classTScrollBar.html#m0">02239</a> <span class="keywordtype">int</span> <a class="code" href="classTScrollBar.html#m0">value</a>;
+<a name="l02250"></a><a class="code" href="classTScrollBar.html#m1">02250</a> <a class="code" href="views_8h.html#a109">TScrollChars</a> <a class="code" href="classTScrollBar.html#m1">chars</a>;
+<a name="l02255"></a><a class="code" href="classTScrollBar.html#m2">02255</a> <span class="keywordtype">int</span> <a class="code" href="classTScrollBar.html#m2">minVal</a>;
+<a name="l02260"></a><a class="code" href="classTScrollBar.html#m3">02260</a> <span class="keywordtype">int</span> <a class="code" href="classTScrollBar.html#m3">maxVal</a>;
+<a name="l02272"></a><a class="code" href="classTScrollBar.html#m4">02272</a> <span class="keywordtype">int</span> <a class="code" href="classTScrollBar.html#m4">pgStep</a>;
+<a name="l02281"></a><a class="code" href="classTScrollBar.html#m5">02281</a> <span class="keywordtype">int</span> <a class="code" href="classTScrollBar.html#m5">arStep</a>;
+<a name="l02285"></a><a class="code" href="classTScrollBar.html#p0">02285</a> <span class="keyword">static</span> <a class="code" href="views_8h.html#a109">TScrollChars</a> <a class="code" href="classTScrollBar.html#p0">vChars</a>;
+<a name="l02289"></a><a class="code" href="classTScrollBar.html#p1">02289</a> <span class="keyword">static</span> <a class="code" href="views_8h.html#a109">TScrollChars</a> <a class="code" href="classTScrollBar.html#p1">hChars</a>;
+02290 <span class="keyword">private</span>:
+02294 <span class="keywordtype">int</span> getPartCode(<span class="keywordtype">void</span>);
+02298 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *streamableName()<span class="keyword"> const</span>
+02299 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classTScrollBar.html#p2">name</a>; }
+02300 <span class="keyword">protected</span>:
+02307 <a class="code" href="classTScrollBar.html#a0">TScrollBar</a>( <a class="code" href="ttypes_8h.html#a14">StreamableInit</a> );
+02311 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTScrollBar.html#b1">write</a>( <a class="code" href="classopstream.html">opstream</a>&amp; os );
+02315 <span class="keyword">virtual</span> <span class="keywordtype">void</span> *<a class="code" href="classTScrollBar.html#b2">read</a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is );
+02316 <span class="keyword">public</span>:
+<a name="l02320"></a><a class="code" href="classTScrollBar.html#p2">02320</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classTScrollBar.html#p2">name</a>;
+02324 <span class="keyword">static</span> <a class="code" href="classTStreamable.html">TStreamable</a> *<a class="code" href="classTScrollBar.html#d0">build</a>();
+02325 };
+02326
+<a name="l02330"></a><a class="code" href="views_8h.html#a119">02330</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTScrollBar.html">TScrollBar</a>&amp; cl )
+02331 { <span class="keywordflow">return</span> is &gt;&gt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l02335"></a><a class="code" href="views_8h.html#a120">02335</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTScrollBar.html">TScrollBar</a>*&amp; cl )
+02336 { <span class="keywordflow">return</span> is &gt;&gt; (<span class="keywordtype">void</span> *&amp;)cl; }
+02337
+<a name="l02341"></a><a class="code" href="views_8h.html#a121">02341</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTScrollBar.html">TScrollBar</a>&amp; cl )
+02342 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l02346"></a><a class="code" href="views_8h.html#a122">02346</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTScrollBar.html">TScrollBar</a>* cl )
+02347 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a> *)cl; }
+02348
+02349 <span class="preprocessor">#endif // Uses_TScrollBar</span>
+02350 <span class="preprocessor"></span>
+02351 <span class="comment">/* ---------------------------------------------------------------------- */</span>
+02352 <span class="comment">/* class TScroller */</span>
+02353 <span class="comment">/* */</span>
+02354 <span class="comment">/* Palette layout */</span>
+02355 <span class="comment">/* 1 = Normal text */</span>
+02356 <span class="comment">/* 2 = Selected text */</span>
+02357 <span class="comment">/* ---------------------------------------------------------------------- */</span>
+02358
+02359 <span class="preprocessor">#if defined( Uses_TScroller ) &amp;&amp; !defined( __TScroller )</span>
+02360 <span class="preprocessor"></span><span class="preprocessor">#define __TScroller</span>
+02361 <span class="preprocessor"></span>
+02362 <span class="keyword">class </span><a class="code" href="classTRect.html">TRect</a>;
+02363 <span class="keyword">class </span><a class="code" href="classTScrollBar.html">TScrollBar</a>;
+02364 <span class="keyword">class </span><a class="code" href="structTEvent.html">TEvent</a>;
+02365
+<a name="l02379"></a><a class="code" href="classTScroller.html">02379</a> <span class="keyword">class </span><a class="code" href="classTScroller.html">TScroller</a> : <span class="keyword">public</span> <a class="code" href="classTView.html">TView</a>
+02380 {
+02381 <span class="keyword">public</span>:
+02389 <a class="code" href="classTScroller.html#a0">TScroller</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; bounds,
+02390 <a class="code" href="classTScrollBar.html">TScrollBar</a> *aHScrollBar,
+02391 <a class="code" href="classTScrollBar.html">TScrollBar</a> *aVScrollBar
+02392 );
+02398 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTScroller.html#a1">changeBounds</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; bounds );
+02402 <span class="keyword">virtual</span> <a class="code" href="classTPalette.html">TPalette</a>&amp; <a class="code" href="classTScroller.html#a2">getPalette</a>() <span class="keyword">const</span>;
+02409 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTScroller.html#a3">handleEvent</a>( <a class="code" href="structTEvent.html">TEvent</a>&amp; event );
+02415 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTScroller.html#a4">scrollDraw</a>();
+02423 <span class="keywordtype">void</span> <a class="code" href="classTScroller.html#a5">scrollTo</a>( <span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y );
+02428 <span class="keywordtype">void</span> <a class="code" href="classTScroller.html#a6">setLimit</a>( <span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y );
+02436 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTScroller.html#a7">setState</a>( <a class="code" href="ttypes_8h.html#a0">ushort</a> aState, <a class="code" href="ttypes_8h.html#a13">Boolean</a> enable );
+02446 <span class="keywordtype">void</span> <a class="code" href="classTScroller.html#a8">checkDraw</a>();
+02453 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTScroller.html#a9">shutDown</a>();
+<a name="l02466"></a><a class="code" href="classTScroller.html#m0">02466</a> <a class="code" href="classTPoint.html">TPoint</a> <a class="code" href="classTScroller.html#m0">delta</a>;
+02467 <span class="keyword">protected</span>:
+<a name="l02471"></a><a class="code" href="classTScroller.html#n0">02471</a> <a class="code" href="ttypes_8h.html#a1">uchar</a> <a class="code" href="classTScroller.html#n0">drawLock</a>;
+<a name="l02475"></a><a class="code" href="classTScroller.html#n1">02475</a> <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTScroller.html#n1">drawFlag</a>;
+<a name="l02480"></a><a class="code" href="classTScroller.html#n2">02480</a> <a class="code" href="classTScrollBar.html">TScrollBar</a> *<a class="code" href="classTScroller.html#n2">hScrollBar</a>;
+<a name="l02485"></a><a class="code" href="classTScroller.html#n3">02485</a> <a class="code" href="classTScrollBar.html">TScrollBar</a> *<a class="code" href="classTScroller.html#n3">vScrollBar</a>;
+<a name="l02491"></a><a class="code" href="classTScroller.html#n4">02491</a> <a class="code" href="classTPoint.html">TPoint</a> <a class="code" href="classTScroller.html#n4">limit</a>;
+02492 <span class="keyword">private</span>:
+02496 <span class="keywordtype">void</span> showSBar( <a class="code" href="classTScrollBar.html">TScrollBar</a> *sBar );
+02500 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *streamableName()<span class="keyword"> const</span>
+02501 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classTScroller.html#p0">name</a>; }
+02502 <span class="keyword">protected</span>:
+02509 <a class="code" href="classTScroller.html#a0">TScroller</a>( <a class="code" href="ttypes_8h.html#a14">StreamableInit</a> );
+02513 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTScroller.html#b1">write</a>( <a class="code" href="classopstream.html">opstream</a>&amp; os );
+02517 <span class="keyword">virtual</span> <span class="keywordtype">void</span> *<a class="code" href="classTScroller.html#b2">read</a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is );
+02518 <span class="keyword">public</span>:
+<a name="l02522"></a><a class="code" href="classTScroller.html#p0">02522</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classTScroller.html#p0">name</a>;
+02526 <span class="keyword">static</span> <a class="code" href="classTStreamable.html">TStreamable</a> *<a class="code" href="classTScroller.html#d0">build</a>();
+02527 };
+02528
+<a name="l02532"></a><a class="code" href="views_8h.html#a123">02532</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTScroller.html">TScroller</a>&amp; cl )
+02533 { <span class="keywordflow">return</span> is &gt;&gt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l02537"></a><a class="code" href="views_8h.html#a124">02537</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTScroller.html">TScroller</a>*&amp; cl )
+02538 { <span class="keywordflow">return</span> is &gt;&gt; (<span class="keywordtype">void</span> *&amp;)cl; }
+02539
+<a name="l02543"></a><a class="code" href="views_8h.html#a125">02543</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTScroller.html">TScroller</a>&amp; cl )
+02544 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l02548"></a><a class="code" href="views_8h.html#a126">02548</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTScroller.html">TScroller</a>* cl )
+02549 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a> *)cl; }
+02550
+02551 <span class="preprocessor">#endif // Uses_TScroller</span>
+02552 <span class="preprocessor"></span>
+02553 <span class="preprocessor">#if defined( Uses_TListViewer ) &amp;&amp; !defined( __TListViewer )</span>
+02554 <span class="preprocessor"></span><span class="preprocessor">#define __TListViewer</span>
+02555 <span class="preprocessor"></span>
+02556 <span class="keyword">class </span><a class="code" href="classTRect.html">TRect</a>;
+02557 <span class="keyword">class </span><a class="code" href="classTScrollBar.html">TScrollBar</a>;
+02558 <span class="keyword">class </span><a class="code" href="structTEvent.html">TEvent</a>;
+02559
+<a name="l02584"></a><a class="code" href="classTListViewer.html">02584</a> <span class="keyword">class </span><a class="code" href="classTListViewer.html">TListViewer</a> : <span class="keyword">public</span> <a class="code" href="classTView.html">TView</a>
+02585 {
+02586 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * emptyText;
+02587 <span class="keyword">public</span>:
+02605 <a class="code" href="classTListViewer.html#a0">TListViewer</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; bounds,
+02606 <a class="code" href="ttypes_8h.html#a0">ushort</a> aNumCols,
+02607 <a class="code" href="classTScrollBar.html">TScrollBar</a> *aHScrollBar,
+02608 <a class="code" href="classTScrollBar.html">TScrollBar</a> *aVScrollBar
+02609 );
+02617 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTListViewer.html#a1">changeBounds</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; bounds );
+02624 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTListViewer.html#a2">draw</a>();
+02630 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTListViewer.html#a3">focusItem</a>( <span class="keywordtype">short</span> item );
+02634 <span class="keyword">virtual</span> <a class="code" href="classTPalette.html">TPalette</a>&amp; <a class="code" href="classTListViewer.html#a4">getPalette</a>() <span class="keyword">const</span>;
+02642 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTListViewer.html#a5">getText</a>( <span class="keywordtype">char</span> *dest, <span class="keywordtype">short</span> item, <span class="keywordtype">short</span> maxLen );
+02647 <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTListViewer.html#a6">isSelected</a>( <span class="keywordtype">short</span> item );
+02662 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTListViewer.html#a7">handleEvent</a>( <a class="code" href="structTEvent.html">TEvent</a>&amp; event );
+02672 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTListViewer.html#a8">selectItem</a>( <span class="keywordtype">short</span> item );
+02683 <span class="keywordtype">void</span> <a class="code" href="classTListViewer.html#a9">setRange</a>( <span class="keywordtype">short</span> aRange );
+02695 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTListViewer.html#a10">setState</a>( <a class="code" href="ttypes_8h.html#a0">ushort</a> aState, <a class="code" href="ttypes_8h.html#a13">Boolean</a> enable );
+02700 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTListViewer.html#a11">focusItemNum</a>( <span class="keywordtype">short</span> item );
+02707 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTListViewer.html#a12">shutDown</a>();
+<a name="l02712"></a><a class="code" href="classTListViewer.html#m0">02712</a> <a class="code" href="classTScrollBar.html">TScrollBar</a> *<a class="code" href="classTListViewer.html#m0">hScrollBar</a>;
+<a name="l02717"></a><a class="code" href="classTListViewer.html#m1">02717</a> <a class="code" href="classTScrollBar.html">TScrollBar</a> *<a class="code" href="classTListViewer.html#m1">vScrollBar</a>;
+<a name="l02721"></a><a class="code" href="classTListViewer.html#m2">02721</a> <span class="keywordtype">short</span> <a class="code" href="classTListViewer.html#m2">numCols</a>;
+<a name="l02728"></a><a class="code" href="classTListViewer.html#m3">02728</a> <span class="keywordtype">short</span> <a class="code" href="classTListViewer.html#m3">topItem</a>;
+<a name="l02734"></a><a class="code" href="classTListViewer.html#m4">02734</a> <span class="keywordtype">short</span> <a class="code" href="classTListViewer.html#m4">focused</a>;
+<a name="l02739"></a><a class="code" href="classTListViewer.html#m5">02739</a> <span class="keywordtype">short</span> <a class="code" href="classTListViewer.html#m5">range</a>;
+<a name="l02743"></a><a class="code" href="classTListViewer.html#p0">02743</a> <span class="keyword">static</span> <span class="keywordtype">char</span> <a class="code" href="classTListViewer.html#p0">separatorChar</a>;
+02744 <span class="keyword">private</span>:
+02745 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *streamableName()<span class="keyword"> const</span>
+02746 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classTListViewer.html#p1">name</a>; }
+02747 <span class="keyword">protected</span>:
+02754 <a class="code" href="classTListViewer.html#a0">TListViewer</a>( <a class="code" href="ttypes_8h.html#a14">StreamableInit</a> );
+02758 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTListViewer.html#b1">write</a>( <a class="code" href="classopstream.html">opstream</a>&amp; os );
+02762 <span class="keyword">virtual</span> <span class="keywordtype">void</span> *<a class="code" href="classTListViewer.html#b2">read</a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is );
+02763 <span class="keyword">public</span>:
+<a name="l02767"></a><a class="code" href="classTListViewer.html#p1">02767</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classTListViewer.html#p1">name</a>;
+02771 <span class="keyword">static</span> <a class="code" href="classTStreamable.html">TStreamable</a> *<a class="code" href="classTListViewer.html#d0">build</a>();
+02772 };
+02773
+<a name="l02777"></a><a class="code" href="views_8h.html#a127">02777</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTListViewer.html">TListViewer</a>&amp; cl )
+02778 { <span class="keywordflow">return</span> is &gt;&gt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l02782"></a><a class="code" href="views_8h.html#a128">02782</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTListViewer.html">TListViewer</a>*&amp; cl )
+02783 { <span class="keywordflow">return</span> is &gt;&gt; (<span class="keywordtype">void</span> *&amp;)cl; }
+02784
+<a name="l02788"></a><a class="code" href="views_8h.html#a129">02788</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTListViewer.html">TListViewer</a>&amp; cl )
+02789 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l02793"></a><a class="code" href="views_8h.html#a130">02793</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTListViewer.html">TListViewer</a>* cl )
+02794 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a> *)cl; }
+02795
+02796 <span class="preprocessor">#endif // Uses_TListViewer</span>
+02797 <span class="preprocessor"></span>
+02798 <span class="preprocessor">#if defined( Uses_TGroup ) &amp;&amp; !defined( __TGroup )</span>
+02799 <span class="preprocessor"></span><span class="preprocessor">#define __TGroup</span>
+02800 <span class="preprocessor"></span>
+02801 <span class="keyword">class </span><a class="code" href="classTView.html">TView</a>;
+02802
+<a name="l02848"></a><a class="code" href="classTGroup.html">02848</a> <span class="keyword">class </span><a class="code" href="classTGroup.html">TGroup</a> : <span class="keyword">public</span> <a class="code" href="classTView.html">TView</a>
+02849 {
+02850 <span class="keyword">public</span>:
+02857 <a class="code" href="classTGroup.html#a0">TGroup</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; bounds );
+02863 <a class="code" href="classTGroup.html#a1">~TGroup</a>();
+02871 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTGroup.html#a2">shutDown</a>();
+02897 <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="classTGroup.html#a3">execView</a>( <a class="code" href="classTView.html">TView</a> *p );
+02907 <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="classTGroup.html#a4">execute</a>();
+02912 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTGroup.html#a5">awaken</a>();
+02916 <span class="keywordtype">void</span> <a class="code" href="classTGroup.html#a6">insertView</a>( <a class="code" href="classTView.html">TView</a> *p, <a class="code" href="classTView.html">TView</a> *Target );
+02921 <span class="keywordtype">void</span> <a class="code" href="classTGroup.html#a7">remove</a>( <a class="code" href="classTView.html">TView</a> *p );
+02926 <span class="keywordtype">void</span> <a class="code" href="classTGroup.html#a8">removeView</a>( <a class="code" href="classTView.html">TView</a> *p );
+02942 <span class="keywordtype">void</span> <a class="code" href="classTGroup.html#a9">resetCurrent</a>();
+02954 <span class="keywordtype">void</span> <a class="code" href="classTGroup.html#a10">setCurrent</a>( <a class="code" href="classTView.html">TView</a> *p, <a class="code" href="classTView.html#s7">selectMode</a> mode );
+02962 <span class="keywordtype">void</span> <a class="code" href="classTGroup.html#a11">selectNext</a>( <a class="code" href="ttypes_8h.html#a13">Boolean</a> forwards );
+02990 <a class="code" href="classTView.html">TView</a> *<a class="code" href="classTGroup.html#a12">firstThat</a>( <a class="code" href="ttypes_8h.html#a13">Boolean</a> (*func)( <a class="code" href="classTView.html">TView</a> *, <span class="keywordtype">void</span> * ), <span class="keywordtype">void</span> *args );
+02994 <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTGroup.html#a13">focusNext</a>(<a class="code" href="ttypes_8h.html#a13">Boolean</a> forwards);
+03017 <span class="keywordtype">void</span> <a class="code" href="classTGroup.html#a14">forEach</a>( <span class="keywordtype">void</span> (*func)( <a class="code" href="classTView.html">TView</a> *, <span class="keywordtype">void</span> * ), <span class="keywordtype">void</span> *args );
+03031 <span class="keywordtype">void</span> <a class="code" href="classTGroup.html#a15">insert</a>( <a class="code" href="classTView.html">TView</a> *p );
+03037 <span class="keywordtype">void</span> <a class="code" href="classTGroup.html#a16">insertBefore</a>( <a class="code" href="classTView.html">TView</a> *p, <a class="code" href="classTView.html">TView</a> *Target );
+<a name="l03042"></a><a class="code" href="classTGroup.html#m0">03042</a> <a class="code" href="classTView.html">TView</a> *<a class="code" href="classTGroup.html#m0">current</a>;
+03046 <a class="code" href="classTView.html">TView</a> *<a class="code" href="classTGroup.html#a17">at</a>( <span class="keywordtype">short</span> index );
+03051 <a class="code" href="classTView.html">TView</a> *<a class="code" href="classTGroup.html#a18">firstMatch</a>( <a class="code" href="ttypes_8h.html#a0">ushort</a> aState, <a class="code" href="ttypes_8h.html#a0">ushort</a> aOptions );
+03055 <span class="keywordtype">short</span> <a class="code" href="classTGroup.html#a19">indexOf</a>( <a class="code" href="classTView.html">TView</a> *p );
+03060 <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTGroup.html#a20">matches</a>( <a class="code" href="classTView.html">TView</a> *p );
+03065 <a class="code" href="classTView.html">TView</a> *<a class="code" href="classTGroup.html#a21">first</a>();
+03079 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTGroup.html#a22">setState</a>( <a class="code" href="ttypes_8h.html#a0">ushort</a> aState, <a class="code" href="ttypes_8h.html#a13">Boolean</a> enable );
+03111 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTGroup.html#a23">handleEvent</a>( <a class="code" href="structTEvent.html">TEvent</a>&amp; event );
+03116 <span class="keywordtype">void</span> <a class="code" href="classTGroup.html#a24">drawSubViews</a>( <a class="code" href="classTView.html">TView</a> *p, <a class="code" href="classTView.html">TView</a> *bottom );
+03122 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTGroup.html#a25">changeBounds</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; bounds );
+03129 <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="classTGroup.html#a26">dataSize</a>();
+03137 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTGroup.html#a27">getData</a>( <span class="keywordtype">void</span> *rec );
+03145 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTGroup.html#a28">setData</a>( <span class="keywordtype">void</span> *rec );
+03154 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTGroup.html#a29">draw</a>();
+03160 <span class="keywordtype">void</span> <a class="code" href="classTGroup.html#a30">redraw</a>();
+03181 <span class="keywordtype">void</span> <a class="code" href="classTGroup.html#a31">lock</a>();
+03188 <span class="keywordtype">void</span> <a class="code" href="classTGroup.html#a32">unlock</a>();
+03192 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTGroup.html#a33">resetCursor</a>();
+03202 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTGroup.html#a34">endModal</a>( <a class="code" href="ttypes_8h.html#a0">ushort</a> command );
+03213 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTGroup.html#a35">eventError</a>( <a class="code" href="structTEvent.html">TEvent</a>&amp; event );
+03222 <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="classTGroup.html#a36">getHelpCtx</a>();
+03232 <span class="keyword">virtual</span> <a class="code" href="ttypes_8h.html#a13">Boolean</a> <a class="code" href="classTGroup.html#a37">valid</a>( <a class="code" href="ttypes_8h.html#a0">ushort</a> command );
+03237 <span class="keywordtype">void</span> <a class="code" href="classTGroup.html#a38">freeBuffer</a>();
+03245 <span class="keywordtype">void</span> <a class="code" href="classTGroup.html#a39">getBuffer</a>();
+<a name="l03250"></a><a class="code" href="classTGroup.html#m1">03250</a> <a class="code" href="classTView.html">TView</a> *<a class="code" href="classTGroup.html#m1">last</a>;
+<a name="l03257"></a><a class="code" href="classTGroup.html#m2">03257</a> <a class="code" href="classTRect.html">TRect</a> <a class="code" href="classTGroup.html#m2">clip</a>;
+<a name="l03272"></a><a class="code" href="classTGroup.html#m3">03272</a> <a class="code" href="classTView.html#s6">phaseType</a> <a class="code" href="classTGroup.html#m3">phase</a>;
+<a name="l03279"></a><a class="code" href="classTGroup.html#m4">03279</a> <a class="code" href="ttypes_8h.html#a0">ushort</a> *<a class="code" href="classTGroup.html#m4">buffer</a>;
+<a name="l03291"></a><a class="code" href="classTGroup.html#m5">03291</a> <a class="code" href="ttypes_8h.html#a1">uchar</a> <a class="code" href="classTGroup.html#m5">lockFlag</a>;
+<a name="l03295"></a><a class="code" href="classTGroup.html#m6">03295</a> <a class="code" href="ttypes_8h.html#a0">ushort</a> <a class="code" href="classTGroup.html#m6">endState</a>;
+03296 <span class="keyword">private</span>:
+03300 <a class="code" href="ttypes_8h.html#a13">Boolean</a> invalid( <a class="code" href="classTView.html">TView</a> *p, <a class="code" href="ttypes_8h.html#a0">ushort</a> command );
+03304 <span class="keywordtype">void</span> focusView( <a class="code" href="classTView.html">TView</a> *p, <a class="code" href="ttypes_8h.html#a13">Boolean</a> enable );
+03308 <span class="keywordtype">void</span> selectView( <a class="code" href="classTView.html">TView</a> *p, <a class="code" href="ttypes_8h.html#a13">Boolean</a> enable );
+03312 <a class="code" href="classTView.html">TView</a>* findNext(<a class="code" href="ttypes_8h.html#a13">Boolean</a> forwards);
+03316 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *streamableName()<span class="keyword"> const</span>
+03317 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classTGroup.html#p0">name</a>; }
+03318 <span class="keyword">protected</span>:
+03325 <a class="code" href="classTGroup.html#a0">TGroup</a>( <a class="code" href="ttypes_8h.html#a14">StreamableInit</a> );
+03329 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTGroup.html#b1">write</a>( <a class="code" href="classopstream.html">opstream</a>&amp; os );
+03333 <span class="keyword">virtual</span> <span class="keywordtype">void</span> *<a class="code" href="classTGroup.html#b2">read</a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is );
+03334 <span class="keyword">public</span>:
+<a name="l03338"></a><a class="code" href="classTGroup.html#p0">03338</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classTGroup.html#p0">name</a>;
+03342 <span class="keyword">static</span> <a class="code" href="classTStreamable.html">TStreamable</a> *<a class="code" href="classTGroup.html#d0">build</a>();
+03343 };
+03344
+<a name="l03348"></a><a class="code" href="views_8h.html#a131">03348</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTGroup.html">TGroup</a>&amp; cl )
+03349 { <span class="keywordflow">return</span> is &gt;&gt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l03353"></a><a class="code" href="views_8h.html#a132">03353</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTGroup.html">TGroup</a>*&amp; cl )
+03354 { <span class="keywordflow">return</span> is &gt;&gt; (<span class="keywordtype">void</span> *&amp;)cl; }
+03355
+<a name="l03359"></a><a class="code" href="views_8h.html#a133">03359</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTGroup.html">TGroup</a>&amp; cl )
+03360 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l03364"></a><a class="code" href="views_8h.html#a134">03364</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTGroup.html">TGroup</a>* cl )
+03365 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a> *)cl; }
+03366
+03367 <span class="preprocessor">#endif // Uses_TGroup</span>
+03368 <span class="preprocessor"></span>
+03369 <span class="preprocessor">#if defined( Uses_TWindow ) &amp;&amp; !defined( __TWindow )</span>
+03370 <span class="preprocessor"></span><span class="preprocessor">#define __TWindow</span>
+03371 <span class="preprocessor"></span>
+03372 <span class="preprocessor">#define cpBlueWindow "\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F"</span>
+03373 <span class="preprocessor"></span><span class="preprocessor">#define cpCyanWindow "\x10\x11\x12\x13\x14\x15\x16\x17"</span>
+03374 <span class="preprocessor"></span><span class="preprocessor">#define cpGrayWindow "\x18\x19\x1A\x1B\x1C\x1D\x1E\x1F"</span>
+03375 <span class="preprocessor"></span>
+03376 <span class="keyword">class </span><a class="code" href="classTFrame.html">TFrame</a>;
+03377 <span class="keyword">class </span><a class="code" href="classTRect.html">TRect</a>;
+03378 <span class="keyword">class </span><a class="code" href="classTPoint.html">TPoint</a>;
+03379 <span class="keyword">class </span><a class="code" href="structTEvent.html">TEvent</a>;
+03380 <span class="keyword">class </span><a class="code" href="classTFrame.html">TFrame</a>;
+03381 <span class="keyword">class </span><a class="code" href="classTScrollBar.html">TScrollBar</a>;
+03382
+<a name="l03392"></a><a class="code" href="classTWindowInit.html">03392</a> <span class="keyword">class </span><a class="code" href="classTWindowInit.html">TWindowInit</a>
+03393 {
+03394 <span class="keyword">public</span>:
+03407 <a class="code" href="classTWindowInit.html#a0">TWindowInit</a>( <a class="code" href="classTFrame.html">TFrame</a> *(*cFrame)( <a class="code" href="classTRect.html">TRect</a> bounds ) );
+03408 <span class="keyword">protected</span>:
+03414 <a class="code" href="classTFrame.html">TFrame</a> *(*createFrame)( <a class="code" href="classTRect.html">TRect</a> bounds );
+03415 };
+03416
+03417 <span class="comment">/* ---------------------------------------------------------------------- */</span>
+03418 <span class="comment">/* class TWindow */</span>
+03419 <span class="comment">/* */</span>
+03420 <span class="comment">/* Palette layout */</span>
+03421 <span class="comment">/* 1 = Frame passive */</span>
+03422 <span class="comment">/* 2 = Frame active */</span>
+03423 <span class="comment">/* 3 = Frame icon */</span>
+03424 <span class="comment">/* 4 = ScrollBar page area */</span>
+03425 <span class="comment">/* 5 = ScrollBar controls */</span>
+03426 <span class="comment">/* 6 = Scroller normal text */</span>
+03427 <span class="comment">/* 7 = Scroller selected text */</span>
+03428 <span class="comment">/* 8 = Reserved */</span>
+03429 <span class="comment">/* ---------------------------------------------------------------------- */</span>
+03430
+<a name="l03441"></a><a class="code" href="classTWindow.html">03441</a> <span class="keyword">class </span><a class="code" href="classTWindow.html">TWindow</a>: <span class="keyword">public</span> <a class="code" href="classTGroup.html">TGroup</a>, <span class="keyword">public</span> <span class="keyword">virtual</span> <a class="code" href="classTWindowInit.html">TWindowInit</a>
+03442 {
+03443 <span class="keyword">public</span>:
+03469 <a class="code" href="classTWindow.html#a0">TWindow</a>( <span class="keyword">const</span> <a class="code" href="classTRect.html">TRect</a>&amp; bounds,
+03470 <span class="keyword">const</span> <span class="keywordtype">char</span> *aTitle,
+03471 <span class="keywordtype">short</span> aNumber
+03472 );
+03477 <a class="code" href="classTWindow.html#a1">~TWindow</a>();
+03483 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTWindow.html#a2">close</a>();
+03488 <span class="keyword">virtual</span> <a class="code" href="classTPalette.html">TPalette</a>&amp; <a class="code" href="classTWindow.html#a3">getPalette</a>() <span class="keyword">const</span>;
+03492 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classTWindow.html#a4">getTitle</a>( <span class="keywordtype">short</span> maxSize );
+03510 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTWindow.html#a5">handleEvent</a>( <a class="code" href="structTEvent.html">TEvent</a>&amp; event );
+03518 <span class="keyword">static</span> <a class="code" href="classTFrame.html">TFrame</a> *<a class="code" href="classTWindow.html#d0">initFrame</a>( <a class="code" href="classTRect.html">TRect</a> );
+03528 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTWindow.html#a6">setState</a>( <a class="code" href="ttypes_8h.html#a0">ushort</a> aState, <a class="code" href="ttypes_8h.html#a13">Boolean</a> enable );
+03539 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTWindow.html#a7">sizeLimits</a>( <a class="code" href="classTPoint.html">TPoint</a>&amp; <a class="code" href="util_8h.html#a0">min</a>, <a class="code" href="classTPoint.html">TPoint</a>&amp; <a class="code" href="util_8h.html#a1">max</a> );
+03564 <a class="code" href="classTScrollBar.html">TScrollBar</a> *<a class="code" href="classTWindow.html#a8">standardScrollBar</a>( <a class="code" href="ttypes_8h.html#a0">ushort</a> aOptions );
+03571 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTWindow.html#a9">zoom</a>();
+03578 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTWindow.html#a10">shutDown</a>();
+<a name="l03604"></a><a class="code" href="classTWindow.html#m0">03604</a> <a class="code" href="ttypes_8h.html#a1">uchar</a> <a class="code" href="classTWindow.html#m0">flags</a>;
+<a name="l03608"></a><a class="code" href="classTWindow.html#m1">03608</a> <a class="code" href="classTRect.html">TRect</a> <a class="code" href="classTWindow.html#m1">zoomRect</a>;
+<a name="l03614"></a><a class="code" href="classTWindow.html#m2">03614</a> <span class="keywordtype">short</span> <a class="code" href="classTWindow.html#m2">number</a>;
+<a name="l03631"></a><a class="code" href="classTWindow.html#m3">03631</a> <span class="keywordtype">short</span> <a class="code" href="classTWindow.html#m3">palette</a>;
+<a name="l03635"></a><a class="code" href="classTWindow.html#m4">03635</a> <a class="code" href="classTFrame.html">TFrame</a> *<a class="code" href="classTWindow.html#m4">frame</a>;
+<a name="l03640"></a><a class="code" href="classTWindow.html#m5">03640</a> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classTWindow.html#m5">title</a>;
+03641 <span class="keyword">private</span>:
+03642 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *streamableName()<span class="keyword"> const</span>
+03643 <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classTWindow.html#p0">name</a>; }
+03644 <span class="keyword">protected</span>:
+03651 <a class="code" href="classTWindow.html#a0">TWindow</a>( <a class="code" href="ttypes_8h.html#a14">StreamableInit</a> );
+03655 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTWindow.html#b1">write</a>( <a class="code" href="classopstream.html">opstream</a>&amp; os );
+03659 <span class="keyword">virtual</span> <span class="keywordtype">void</span> *<a class="code" href="classTWindow.html#b2">read</a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is );
+03660 <span class="keyword">public</span>:
+<a name="l03664"></a><a class="code" href="classTWindow.html#p0">03664</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classTWindow.html#p0">name</a>;
+03668 <span class="keyword">static</span> <a class="code" href="classTStreamable.html">TStreamable</a> *<a class="code" href="classTWindow.html#d1">build</a>();
+03669 };
+03670
+<a name="l03674"></a><a class="code" href="views_8h.html#a135">03674</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTWindow.html">TWindow</a>&amp; cl )
+03675 { <span class="keywordflow">return</span> is &gt;&gt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l03679"></a><a class="code" href="views_8h.html#a136">03679</a> <span class="keyword">inline</span> <a class="code" href="classipstream.html">ipstream</a>&amp; <a class="code" href="views_8h.html#a136">operator &gt;&gt; </a>( <a class="code" href="classipstream.html">ipstream</a>&amp; is, <a class="code" href="classTWindow.html">TWindow</a>*&amp; cl )
+03680 { <span class="keywordflow">return</span> is &gt;&gt; (<span class="keywordtype">void</span> *&amp;)cl; }
+03681
+<a name="l03685"></a><a class="code" href="views_8h.html#a137">03685</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTWindow.html">TWindow</a>&amp; cl )
+03686 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a>&amp;)cl; }
+<a name="l03690"></a><a class="code" href="views_8h.html#a138">03690</a> <span class="keyword">inline</span> <a class="code" href="classopstream.html">opstream</a>&amp; <a class="code" href="views_8h.html#a138">operator &lt;&lt; </a>( <a class="code" href="classopstream.html">opstream</a>&amp; os, <a class="code" href="classTWindow.html">TWindow</a>* cl )
+03691 { <span class="keywordflow">return</span> os &lt;&lt; (<a class="code" href="classTStreamable.html">TStreamable</a> *)cl; }
+03692
+03693 <span class="preprocessor">#endif // Uses_TWindow</span>
+</pre></div><hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:10 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/html/views_8h.html b/freebsdtvision/doc/html/views_8h.html
new file mode 100644
index 0000000..56b61cb
--- /dev/null
+++ b/freebsdtvision/doc/html/views_8h.html
@@ -0,0 +1,2880 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>views.h File Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.2.18 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
+<hr><h1>views.h File Reference</h1>
+<p>
+<a href="views_8h-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Compounds</h2></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTCommandSet.html">TCommandSet</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Implements a non-view class for handling command sets.</em> <a href="classTCommandSet.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTFrame.html">TFrame</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>The frame around the windows.</em> <a href="classTFrame.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTGroup.html">TGroup</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>TGroup objects and their derivatives provide the central driving power to TVision.</em> <a href="classTGroup.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTListViewer.html">TListViewer</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>An abstract class from which you can derive list viewers of various kinds, such as <a class="el" href="classTListBox.html">TListBox</a>.</em> <a href="classTListViewer.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTPalette.html">TPalette</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Simple class used to create and manipulate palette arrays.</em> <a href="classTPalette.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTScrollBar.html">TScrollBar</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Implements a scroll bar.</em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTScroller.html">TScroller</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Provides a scrolling virtual window onto a larger view.</em> <a href="classTScroller.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTView.html">TView</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>The base of all visible objects.</em> <a href="classTView.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTWindow.html">TWindow</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Implements a window.</em> <a href="classTWindow.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTWindowInit.html">TWindowInit</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Virtual base class for <a class="el" href="classTWindow.html">TWindow</a>.</em> <a href="classTWindowInit.html#_details">More...</a><em></em></font><br><br></td></tr>
+<tr><td colspan=2><br><h2>Typedefs</h2></td></tr>
+<tr><td nowrap align=right valign=top>typedef char&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a109">TScrollChars</a> [5]</td></tr>
+<tr><td colspan=2><br><h2>Functions</h2></td></tr>
+<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a110">operator!=</a> (const <a class="el" href="classTCommandSet.html">TCommandSet</a> &amp;tc1, const <a class="el" href="classTCommandSet.html">TCommandSet</a> &amp;tc2)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a111">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTView.html">TView</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a112">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTView.html">TView</a> *&amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a113">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTView.html">TView</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a114">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTView.html">TView</a> *cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a115">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTFrame.html">TFrame</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a116">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTFrame.html">TFrame</a> *&amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a117">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTFrame.html">TFrame</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a118">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTFrame.html">TFrame</a> *cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a119">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTScrollBar.html">TScrollBar</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a120">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTScrollBar.html">TScrollBar</a> *&amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a121">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTScrollBar.html">TScrollBar</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a122">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTScrollBar.html">TScrollBar</a> *cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a123">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTScroller.html">TScroller</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a124">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTScroller.html">TScroller</a> *&amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a125">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTScroller.html">TScroller</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a126">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTScroller.html">TScroller</a> *cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a127">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTListViewer.html">TListViewer</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a128">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTListViewer.html">TListViewer</a> *&amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a129">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTListViewer.html">TListViewer</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a130">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTListViewer.html">TListViewer</a> *cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a131">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTGroup.html">TGroup</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a132">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTGroup.html">TGroup</a> *&amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a133">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTGroup.html">TGroup</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a134">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTGroup.html">TGroup</a> *cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a135">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTWindow.html">TWindow</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a136">operator&gt;&gt;</a> (<a class="el" href="classipstream.html">ipstream</a> &amp;is, <a class="el" href="classTWindow.html">TWindow</a> *&amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a137">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTWindow.html">TWindow</a> &amp;cl)</td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a138">operator&lt;&lt;</a> (<a class="el" href="classopstream.html">opstream</a> &amp;os, <a class="el" href="classTWindow.html">TWindow</a> *cl)</td></tr>
+<tr><td colspan=2><br><h2>Variables</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a26">sfVisible</a> = 0x001</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a27">sfCursorVis</a> = 0x002</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a28">sfCursorIns</a> = 0x004</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a29">sfShadow</a> = 0x008</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a30">sfActive</a> = 0x010</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a31">sfSelected</a> = 0x020</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a32">sfFocused</a> = 0x040</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a33">sfDragging</a> = 0x080</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a34">sfDisabled</a> = 0x100</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a35">sfModal</a> = 0x200</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a36">sfDefault</a> = 0x400</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a37">sfExposed</a> = 0x800</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a38">ofSelectable</a> = 0x001</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a39">ofTopSelect</a> = 0x002</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a40">ofFirstClick</a> = 0x004</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a41">ofFramed</a> = 0x008</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a42">ofPreProcess</a> = 0x010</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a43">ofPostProcess</a> = 0x020</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a44">ofBuffered</a> = 0x040</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a45">ofTileable</a> = 0x080</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a46">ofCenterX</a> = 0x100</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a47">ofCenterY</a> = 0x200</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a48">ofCentered</a> = 0x300</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a49">ofValidate</a> = 0x400</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a50">gfGrowLoX</a> = 0x01</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a51">gfGrowLoY</a> = 0x02</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a52">gfGrowHiX</a> = 0x04</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a53">gfGrowHiY</a> = 0x08</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a54">gfGrowAll</a> = 0x0f</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a55">gfGrowRel</a> = 0x10</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a56">gfFixed</a> = 0x20</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a57">dmDragMove</a> = 0x01</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a58">dmDragGrow</a> = 0x02</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a59">dmLimitLoX</a> = 0x10</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a60">dmLimitLoY</a> = 0x20</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a61">dmLimitHiX</a> = 0x40</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a62">dmLimitHiY</a> = 0x80</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a63">dmLimitAll</a> = <a class="el" href="views_8h.html#a59">dmLimitLoX</a> | <a class="el" href="views_8h.html#a60">dmLimitLoY</a> | <a class="el" href="views_8h.html#a61">dmLimitHiX</a> | <a class="el" href="views_8h.html#a62">dmLimitHiY</a></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a64">hcNoContext</a> = 0</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a65">hcDragging</a> = 1</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a66">sbLeftArrow</a> = 0</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a67">sbRightArrow</a> = 1</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a68">sbPageLeft</a> = 2</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a69">sbPageRight</a> = 3</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a70">sbUpArrow</a> = 4</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a71">sbDownArrow</a> = 5</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a72">sbPageUp</a> = 6</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a73">sbPageDown</a> = 7</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a74">sbIndicator</a> = 8</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a75">sbHorizontal</a> = 0x000</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a76">sbVertical</a> = 0x001</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a77">sbHandleKeyboard</a> = 0x002</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a78">wfMove</a> = 0x01</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a79">wfGrow</a> = 0x02</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a80">wfClose</a> = 0x04</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a81">wfZoom</a> = 0x08</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a89">wnNoNumber</a> = 0</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a90">wpBlueWindow</a> = 0</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a91">wpCyanWindow</a> = 1</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a92">wpGrayWindow</a> = 2</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a107">positionalEvents</a> = <a class="el" href="system_8h.html#a8">evMouse</a></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="views_8h.html#a108">focusedEvents</a> = <a class="el" href="system_8h.html#a9">evKeyboard</a> | <a class="el" href="system_8h.html#a5">evCommand</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+ <a class="el" href="views_8h.html">views.h</a>
+<p>
+
+<p>
+Definition in file <a class="el" href="views_8h-source.html">views.h</a>.<hr><h2>Typedef Documentation</h2>
+<a name="a109" doxytag="views.h::TScrollChars"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> typedef char TScrollChars[5]
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+An array representing the characters used to draw a <a class="el" href="classTScrollBar.html">TScrollBar</a>. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTScrollBar.html">TScrollBar</a> , <a class="el" href="classTScrollBar.html#a1">TScrollBar::draw</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l02106">2106</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<hr><h2>Function Documentation</h2>
+<a name="a110" doxytag="views.h::operator!="></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> int operator!= </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classTCommandSet.html">TCommandSet</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>tc1</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>const <a class="el" href="classTCommandSet.html">TCommandSet</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>tc2</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns 1 if the sets `tc1' and `tc2' are not equal.
+<p>
+Otherwise returns 0.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00719">719</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a138" doxytag="views.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTWindow.html">TWindow</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l03690">3690</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a137" doxytag="views.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTWindow.html">TWindow</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l03685">3685</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a134" doxytag="views.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTGroup.html">TGroup</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l03364">3364</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a133" doxytag="views.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTGroup.html">TGroup</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l03359">3359</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a130" doxytag="views.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTListViewer.html">TListViewer</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l02793">2793</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a129" doxytag="views.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTListViewer.html">TListViewer</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l02788">2788</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a126" doxytag="views.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTScroller.html">TScroller</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l02548">2548</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a125" doxytag="views.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTScroller.html">TScroller</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l02543">2543</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a122" doxytag="views.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTScrollBar.html">TScrollBar</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l02346">2346</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a121" doxytag="views.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTScrollBar.html">TScrollBar</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l02341">2341</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a118" doxytag="views.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTFrame.html">TFrame</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l02081">2081</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a117" doxytag="views.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTFrame.html">TFrame</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l02076">2076</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a114" doxytag="views.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTView.html">TView</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l01910">1910</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a113" doxytag="views.h::operator<<"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classopstream.html">opstream</a>&amp; operator&lt;&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classopstream.html">opstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>os</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTView.html">TView</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l01905">1905</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a136" doxytag="views.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTWindow.html">TWindow</a> *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l03679">3679</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a135" doxytag="views.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTWindow.html">TWindow</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l03674">3674</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a132" doxytag="views.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTGroup.html">TGroup</a> *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l03353">3353</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a131" doxytag="views.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTGroup.html">TGroup</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l03348">3348</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a128" doxytag="views.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTListViewer.html">TListViewer</a> *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l02782">2782</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a127" doxytag="views.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTListViewer.html">TListViewer</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l02777">2777</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a124" doxytag="views.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTScroller.html">TScroller</a> *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l02537">2537</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a123" doxytag="views.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTScroller.html">TScroller</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l02532">2532</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a120" doxytag="views.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTScrollBar.html">TScrollBar</a> *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l02335">2335</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a119" doxytag="views.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTScrollBar.html">TScrollBar</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l02330">2330</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a116" doxytag="views.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTFrame.html">TFrame</a> *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l02070">2070</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a115" doxytag="views.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTFrame.html">TFrame</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l02065">2065</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a112" doxytag="views.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTView.html">TView</a> *&amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l01899">1899</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a111" doxytag="views.h::operator>>"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classipstream.html">ipstream</a>&amp; operator&gt;&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classipstream.html">ipstream</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>is</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classTView.html">TView</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cl</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l01894">1894</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<hr><h2>Variable Documentation</h2>
+<a name="a58" doxytag="views.h::dmDragGrow"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> dmDragGrow = 0x02
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Allow the view to change size. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#m8">TView::dragMode</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00322">322</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a57" doxytag="views.h::dmDragMove"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> dmDragMove = 0x01
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Allow the view to move. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#m8">TView::dragMode</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00314">314</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a63" doxytag="views.h::dmLimitAll"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> dmLimitAll = <a class="el" href="views_8h.html#a59">dmLimitLoX</a> | <a class="el" href="views_8h.html#a60">dmLimitLoY</a> | <a class="el" href="views_8h.html#a61">dmLimitHiX</a> | <a class="el" href="views_8h.html#a62">dmLimitHiY</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+No part of the view can move outside limits. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#m8">TView::dragMode</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00352">352</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a61" doxytag="views.h::dmLimitHiX"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> dmLimitHiX = 0x40
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The view's right-hand side cannot move outside limits. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#m8">TView::dragMode</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00340">340</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a62" doxytag="views.h::dmLimitHiY"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> dmLimitHiY = 0x80
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The view's bottom side cannot move outside limits. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#m8">TView::dragMode</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00346">346</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a59" doxytag="views.h::dmLimitLoX"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> dmLimitLoX = 0x10
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The view's left-hand side cannot move outside limits. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#m8">TView::dragMode</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00328">328</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a60" doxytag="views.h::dmLimitLoY"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> dmLimitLoY = 0x20
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The view's top side cannot move outside limits. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#m8">TView::dragMode</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00334">334</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a108" doxytag="views.h::focusedEvents"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> focusedEvents = <a class="el" href="system_8h.html#a9">evKeyboard</a> | <a class="el" href="system_8h.html#a5">evCommand</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Defines the event classes that are focused events. The focusedEvents and positionalEvents values are used by <a class="el" href="classTGroup.html#a23">TGroup::handleEvent()</a> to determine how to dispatch an event to the group's subviews. If an event class isn't contained in focusedEvents or <a class="el" href="views_8h.html#a107">positionalEvents</a>, it is treated as a broadcast event.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00555">555</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a56" doxytag="views.h::gfFixed"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> gfFixed = 0x20
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#m7">TView::growMode</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00308">308</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a54" doxytag="views.h::gfGrowAll"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> gfGrowAll = 0x0f
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+If set, the view will move with the lower-right corner of its owner. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#m7">TView::growMode</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00294">294</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a52" doxytag="views.h::gfGrowHiX"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> gfGrowHiX = 0x04
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+If set, the right-hand side of the view will maintain a constant distance from its owner's right side. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#m7">TView::growMode</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00280">280</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a53" doxytag="views.h::gfGrowHiY"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> gfGrowHiY = 0x08
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+If set, the bottom of the view will maintain a constant distance from the bottom of its owner's. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#m7">TView::growMode</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00287">287</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a50" doxytag="views.h::gfGrowLoX"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> gfGrowLoX = 0x01
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+If set, the left-hand side of the view will maintain a constant distance from its owner's right-hand side. If not set, the movement indicated won't occur. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#m7">TView::growMode</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00263">263</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a51" doxytag="views.h::gfGrowLoY"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> gfGrowLoY = 0x02
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+If set, the top of the view will maintain a constant distance from the bottom of its owner. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#m7">TView::growMode</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00273">273</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a55" doxytag="views.h::gfGrowRel"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> gfGrowRel = 0x10
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+For use with <a class="el" href="classTWindow.html">TWindow</a> objects that are in the desktop. The view will change size relative to the owner's size, maintaining that relative size with respect to the owner even when screen is resized. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#m7">TView::growMode</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00300">300</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a65" doxytag="views.h::hcDragging"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> hcDragging = 1
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Object is being dragged. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#m9">TView::helpCtx</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00366">366</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a64" doxytag="views.h::hcNoContext"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> hcNoContext = 0
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+No context specified. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#m9">TView::helpCtx</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00358">358</a> of file <a class="el" href="views_8h-source.html">views.h</a>.
+<p>
+Referenced by <a class="el" href="menus_8h-source.html#l00143">newLine()</a>. </td>
+ </tr>
+</table>
+<a name="a44" doxytag="views.h::ofBuffered"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> ofBuffered = 0x040
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Used for <a class="el" href="classTGroup.html">TGroup</a> objects and classes derived from <a class="el" href="classTGroup.html">TGroup</a> only. Set if a cache buffer should be allocated if sufficient memory is available. The group buffer holds a screen image of the whole group so that group redraws can be speeded up. In the absence of a buffer, <a class="el" href="classTGroup.html#a29">TGroup::draw()</a> calls on each subview's <a class="el" href="classTView.html#a20">TView::drawView()</a> method. If subsequent memory allocation calls fail, group buffers will be deallocated to make memory available. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#m2">TView::options</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00217">217</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a48" doxytag="views.h::ofCentered"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> ofCentered = 0x300
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set if the view should be centered on both axes of its owner when inserted in a group using <a class="el" href="classTGroup.html#a15">TGroup::insert()</a>. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#m2">TView::options</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00250">250</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a46" doxytag="views.h::ofCenterX"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> ofCenterX = 0x100
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set if the view should be centered on the x-axis of its owner when inserted in a group using <a class="el" href="classTGroup.html#a15">TGroup::insert()</a>. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#m2">TView::options</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00236">236</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a47" doxytag="views.h::ofCenterY"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> ofCenterY = 0x200
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set if the view should be centered on the y-axis of its owner when inserted in a group using <a class="el" href="classTGroup.html#a15">TGroup::insert()</a>. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#m2">TView::options</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00243">243</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a40" doxytag="views.h::ofFirstClick"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> ofFirstClick = 0x004
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+If clear, a mouse click that selects a view will have no further effect. If set, such a mouse click is processed as a normal mouse click after selecting the view. Has no effect unless <a class="el" href="views_8h.html#a38">ofSelectable</a> is also set. See also <a class="el" href="classTView.html#a41">TView::handleEvent()</a>, <a class="el" href="views_8h.html#a31">sfSelected</a> and <a class="el" href="views_8h.html#a38">ofSelectable</a>. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#m2">TView::options</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00182">182</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a41" doxytag="views.h::ofFramed"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> ofFramed = 0x008
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set if the view should have a frame drawn around it. A <a class="el" href="classTWindow.html">TWindow</a> and any class derived from <a class="el" href="classTWindow.html">TWindow</a>, has a <a class="el" href="classTFrame.html">TFrame</a> as its last subview. When drawing itself, the <a class="el" href="classTFrame.html">TFrame</a> will also draw a frame around any other subviews that have the ofFramed bit set. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#m2">TView::options</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00192">192</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a43" doxytag="views.h::ofPostProcess"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> ofPostProcess = 0x020
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set if the view should receive focused events whenever the focused view fails to handle them. Otherwise clear. See also <a class="el" href="views_8h.html#a32">sfFocused</a>, <a class="el" href="views_8h.html#a42">ofPreProcess</a> and <a class="el" href="classTGroup.html#m3">TGroup::phase</a>. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#m2">TView::options</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00209">209</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a42" doxytag="views.h::ofPreProcess"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> ofPreProcess = 0x010
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set if the view should receive focused events before they are sent to the focused view. Otherwise clear. See also <a class="el" href="views_8h.html#a32">sfFocused</a>, <a class="el" href="views_8h.html#a43">ofPostProcess</a>, and <a class="el" href="classTGroup.html#m3">TGroup::phase</a>. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#m2">TView::options</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00201">201</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a38" doxytag="views.h::ofSelectable"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> ofSelectable = 0x001
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set if the view should select itself automatically (see <a class="el" href="views_8h.html#a31">sfSelected</a>); for example, by a mouse click in the view, or a Tab in a dialog box. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#m2">TView::options</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00161">161</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a45" doxytag="views.h::ofTileable"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> ofTileable = 0x080
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set if the desktop can tile (or cascade) this view. Usually used only with <a class="el" href="classTWindow.html">TWindow</a> objects. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#m2">TView::options</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00229">229</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a39" doxytag="views.h::ofTopSelect"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> ofTopSelect = 0x002
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set if the view should move in front of all other peer views when selected. When the ofTopSelect bit is set, a call to <a class="el" href="classTView.html#a49">TView::select()</a> corresponds to a call to <a class="el" href="classTView.html#a58">TView::makeFirst()</a>. <a class="el" href="classTWindow.html">TWindow</a> and descendants by default have the ofTopSelect bit set, which causes them to move in front of all other windows on the desktop when selected. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#m2">TView::options</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00171">171</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a49" doxytag="views.h::ofValidate"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> ofValidate = 0x400
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Undocumented. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#m2">TView::options</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00257">257</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a107" doxytag="views.h::positionalEvents"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> positionalEvents = <a class="el" href="system_8h.html#a8">evMouse</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Defines the event classes that are positional events. The focusedEvents and positionalEvents masks are used by <a class="el" href="classTGroup.html#a23">TGroup::handleEvent()</a> to determine how to dispatch an event to the group's subviews. If an event class isn't contained in <a class="el" href="views_8h.html#a108">focusedEvents</a> or positionalEvents, it is treated as a broadcast event.
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00543">543</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a71" doxytag="views.h::sbDownArrow"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> sbDownArrow = 5
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Bottom arrow of vertical scroll bar. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTScrollBar.html#a5">TScrollBar::scrollStep</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00404">404</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a77" doxytag="views.h::sbHandleKeyboard"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> sbHandleKeyboard = 0x002
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The scroll bar responds to keyboard commands. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTWindow.html#a8">TWindow::standardScrollBar</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00442">442</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a75" doxytag="views.h::sbHorizontal"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> sbHorizontal = 0x000
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The scroll bar is horizontal. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTWindow.html#a8">TWindow::standardScrollBar</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00428">428</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a74" doxytag="views.h::sbIndicator"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> sbIndicator = 8
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Position indicator on scroll bar. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTScrollBar.html#a5">TScrollBar::scrollStep</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00422">422</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a66" doxytag="views.h::sbLeftArrow"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> sbLeftArrow = 0
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Left arrow of horizontal scroll bar. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTScrollBar.html#a5">TScrollBar::scrollStep</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00372">372</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a73" doxytag="views.h::sbPageDown"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> sbPageDown = 7
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Lower paging area of vertical scroll bar. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTScrollBar.html#a5">TScrollBar::scrollStep</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00416">416</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a68" doxytag="views.h::sbPageLeft"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> sbPageLeft = 2
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Left paging area of horizontal scroll bar. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTScrollBar.html#a5">TScrollBar::scrollStep</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00386">386</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a69" doxytag="views.h::sbPageRight"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> sbPageRight = 3
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Right paging area of horizontal scroll bar. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTScrollBar.html#a5">TScrollBar::scrollStep</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00392">392</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a72" doxytag="views.h::sbPageUp"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> sbPageUp = 6
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Upper paging area of vertical scroll bar. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTScrollBar.html#a5">TScrollBar::scrollStep</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00410">410</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a67" doxytag="views.h::sbRightArrow"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> sbRightArrow = 1
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Right arrow of horizontal scroll bar. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTScrollBar.html#a5">TScrollBar::scrollStep</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00380">380</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a70" doxytag="views.h::sbUpArrow"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> sbUpArrow = 4
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Top arrow of vertical scroll bar. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTScrollBar.html#a5">TScrollBar::scrollStep</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00398">398</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a76" doxytag="views.h::sbVertical"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> sbVertical = 0x001
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The scroll bar is vertical. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTWindow.html#a8">TWindow::standardScrollBar</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00436">436</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a30" doxytag="views.h::sfActive"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> sfActive = 0x010
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set if the view is the active window or a subview in the active window. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#m4">TView::state</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00091">91</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a28" doxytag="views.h::sfCursorIns"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> sfCursorIns = 0x004
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set if the view's cursor is a solid block; clear if the view's cursor is an underline (the default). Use <a class="el" href="classTView.html#a32">TView::blockCursor()</a> and <a class="el" href="classTView.html#a33">TView::normalCursor()</a> to modify this bit. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#m4">TView::state</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00077">77</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a27" doxytag="views.h::sfCursorVis"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> sfCursorVis = 0x002
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set if a view's cursor is visible. Clear is the default. You can use <a class="el" href="classTView.html#a36">TView::showCursor()</a> and <a class="el" href="classTView.html#a23">TView::hideCursor()</a> to modify sfCursorVis. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#m4">TView::state</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00069">69</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a36" doxytag="views.h::sfDefault"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> sfDefault = 0x400
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This is a spare flag, available to specify some user-defined default state. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#m4">TView::state</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00144">144</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a34" doxytag="views.h::sfDisabled"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> sfDisabled = 0x100
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set if the view is disabled. A disabled view will ignore all events sent to it. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#m4">TView::state</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00121">121</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a33" doxytag="views.h::sfDragging"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> sfDragging = 0x080
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set if the view is being dragged. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#m4">TView::state</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00115">115</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a37" doxytag="views.h::sfExposed"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> sfExposed = 0x800
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set if the view is owned directly or indirectly by the application object, and therefore possibly visible on the. <a class="el" href="classTView.html#a21">TView::exposed()</a> uses this flag in combination with further clipping calculations to determine whether any part of the view is actually visible on the screen. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#m4">TView::state</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00151">151</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a32" doxytag="views.h::sfFocused"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> sfFocused = 0x040
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set if the view is focused. A view is focused if it is selected and all owners above it are also selected. The last view on the focused chain is the final target of all focused events. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#m4">TView::state</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00107">107</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a35" doxytag="views.h::sfModal"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> sfModal = 0x200
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set if the view is modal. There is always exactly one modal view in a running TVision application, usually a <a class="el" href="classTApplication.html">TApplication</a> or <a class="el" href="classTDialog.html">TDialog</a> object. When a view starts executing (through an <a class="el" href="classTGroup.html#a3">TGroup::execView()</a> call), that view becomes modal. The modal view represents the apex (root) of the active event tree, getting and handling events until its <a class="el" href="classTView.html#a43">TView::endModal()</a> method is called. During this "local" event loop, events are passed down to lower subviews in the view tree. Events from these lower views pass back up the tree, but go no further than the modal view. See also <a class="el" href="classTView.html#a50">TView::setState()</a>, <a class="el" href="classTView.html#a41">TView::handleEvent()</a> and <a class="el" href="classTGroup.html#a3">TGroup::execView()</a>. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#m4">TView::state</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00128">128</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a31" doxytag="views.h::sfSelected"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> sfSelected = 0x020
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set if the view is the currently selected subview within its owner. Each <a class="el" href="classTGroup.html">TGroup</a> object has a <a class="el" href="classTGroup.html#m0">TGroup::current</a> data member that points to the currently selected subview (or is 0 if no subview is selected). There can be only one currently selected subview in a <a class="el" href="classTGroup.html">TGroup</a>. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#m4">TView::state</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00097">97</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a29" doxytag="views.h::sfShadow"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> sfShadow = 0x008
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set if the view has a shadow. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#m4">TView::state</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00085">85</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a26" doxytag="views.h::sfVisible"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> sfVisible = 0x001
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set if the view is visible on its owner. Views are by default sfVisible. Use <a class="el" href="classTView.html#a18">TView::show()</a> and <a class="el" href="classTView.html#a17">TView::hide()</a> to modify sfVisible. An sfVisible view is not necessarily visible on the screen, since its owner might not be visible. To test for visibility on the screen, examine the <a class="el" href="views_8h.html#a37">sfExposed</a> bit or call <a class="el" href="classTView.html#a21">TView::exposed()</a>. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTView.html#m4">TView::state</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00057">57</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a80" doxytag="views.h::wfClose"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> wfClose = 0x04
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Window frame has a close icon that can be mouse-clicked to close the window. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTWindow.html#m0">TWindow::flags</a>. </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00462">462</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a79" doxytag="views.h::wfGrow"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> wfGrow = 0x02
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Window can be resized and has a grow icon in the lower-right corner. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTWindow.html#m0">TWindow::flags</a>. </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00456">456</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a78" doxytag="views.h::wfMove"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> wfMove = 0x01
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Window can be moved. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTWindow.html#m0">TWindow::flags</a>. </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00448">448</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a81" doxytag="views.h::wfZoom"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> wfZoom = 0x08
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Window frame has a zoom icon that can be mouse-clicked. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTWindow.html#m0">TWindow::flags</a>. </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00469">469</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a89" doxytag="views.h::wnNoNumber"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> wnNoNumber = 0
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Use the constant wnNoNumber to indicate that the window is not to be numbered and cannot be selected via the Alt+number key. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTWindow.html#a0">TWindow::TWindow</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00485">485</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a90" doxytag="views.h::wpBlueWindow"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> wpBlueWindow = 0
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Window text is yellow on blue. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTWindow.html#m3">TWindow::palette</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00494">494</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a91" doxytag="views.h::wpCyanWindow"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> wpCyanWindow = 1
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Window text is blue on cyan. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTWindow.html#m3">TWindow::palette</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00502">502</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<a name="a92" doxytag="views.h::wpGrayWindow"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> wpGrayWindow = 2
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Window text is black on gray. <dl compact><dt><b>See also: </b></dt><dd>
+<a class="el" href="classTWindow.html#m3">TWindow::palette</a> </dl>
+<p>
+Definition at line <a class="el" href="views_8h-source.html#l00508">508</a> of file <a class="el" href="views_8h-source.html">views.h</a>. </td>
+ </tr>
+</table>
+<hr><address style="align: right;"><small>Generated on Wed Apr 2 22:13:11 2003 for TVision by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0
+width=110 height=53></a>1.2.18 </small></address>
+</body>
+</html>
diff --git a/freebsdtvision/doc/index.html.in b/freebsdtvision/doc/index.html.in
new file mode 100644
index 0000000..8b49d41
--- /dev/null
+++ b/freebsdtvision/doc/index.html.in
@@ -0,0 +1,44 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+ <title>TVision documentation main page</title>
+ <link href="doxygen.css" rel="stylesheet" type="text/css">
+ </head>
+ <body bgcolor="#ffffff">
+ <center>
+ <a class="qindex" href="http://www.sigala.it/sergio/tvision">TVision home page</a>
+ <hr>
+ <p><a class="qindex" href="tvision.html">Installation handbook</a></p>
+ <p><a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp;
+ <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp;
+ <a class="qindex" href="annotated.html">Compound List</a> &nbsp;
+ <a class="qindex" href="files.html">File List</a> &nbsp;
+ <a class="qindex" href="functions.html">Compound Members</a> &nbsp;
+ <a class="qindex" href="globals.html">File Members</a> &nbsp;</p>
+ </center>
+ <hr>
+ <center>
+ <h1>TVision Documentation</h1>
+ <h1>Version 0.8</h1>
+ <img SRC="example.gif">
+ <hr>
+ <p>No warranties, either express or implied, are hereby given. All software is
+ supplied as is, without guarantee. The user assumes all responsibility for
+ damages resulting from the use of these features, including, but not limited
+ to, frustration, disgust, system amends, disk head crashes, general
+ malfunctions, floods, fires, cyclones, hurricanes, local electromagnetic
+ disruptions, hydraulic brake system failure, invasion, normal wear and tear
+ of friction surfaces, cosmic radiation, inadvertent destruction of sensitive
+ electronic components, malfunctioning mechanical or electrical devices,
+ premature activation of the distant early warning system, explosions.</p>
+ <hr>
+ <small>TVision 0.8 online documentation</small>
+ <address>
+ <small>Don't forget to visit the official TVision homepage at
+ <a href="http://www.sigala.it/sergio/tvision">http://www.sigala.it/sergio/tvision</a>
+ </small>
+ </address>
+ </center>
+ </body>
+</html>
diff --git a/freebsdtvision/doc/texinfo.tex b/freebsdtvision/doc/texinfo.tex
new file mode 100644
index 0000000..c49af9f
--- /dev/null
+++ b/freebsdtvision/doc/texinfo.tex
@@ -0,0 +1,5992 @@
+% texinfo.tex -- TeX macros to handle Texinfo files.
+%
+% Load plain if necessary, i.e., if running under initex.
+\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
+%
+\def\texinfoversion{1999-09-25.10}
+%
+% Copyright (C) 1985, 86, 88, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99
+% Free Software Foundation, Inc.
+%
+% This texinfo.tex file is free software; you can redistribute it and/or
+% modify it under the terms of the GNU General Public License as
+% published by the Free Software Foundation; either version 2, or (at
+% your option) any later version.
+%
+% This texinfo.tex file is distributed in the hope that it will be
+% useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+% of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+% General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this texinfo.tex file; see the file COPYING. If not, write
+% to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+% Boston, MA 02111-1307, USA.
+%
+% In other words, you are welcome to use, share and improve this program.
+% You are forbidden to forbid anyone else to use, share and improve
+% what you give them. Help stamp out software-hoarding!
+%
+% Please try the latest version of texinfo.tex before submitting bug
+% reports; you can get the latest version from:
+% ftp://ftp.gnu.org/gnu/texinfo.tex
+% (and all GNU mirrors, see http://www.gnu.org/order/ftp.html)
+% ftp://texinfo.org/tex/texinfo.tex
+% ftp://us.ctan.org/macros/texinfo/texinfo.tex
+% (and all CTAN mirrors, finger ctan@us.ctan.org for a list).
+% /home/gd/gnu/doc/texinfo.tex on the GNU machines.
+% The texinfo.tex in any given Texinfo distribution could well be out
+% of date, so if that's what you're using, please check.
+% Texinfo has a small home page at http://texinfo.org/.
+%
+% Send bug reports to bug-texinfo@gnu.org. Please include including a
+% complete document in each bug report with which we can reproduce the
+% problem. Patches are, of course, greatly appreciated.
+%
+% To process a Texinfo manual with TeX, it's most reliable to use the
+% texi2dvi shell script that comes with the distribution. For a simple
+% manual foo.texi, however, you can get away with this:
+% tex foo.texi
+% texindex foo.??
+% tex foo.texi
+% tex foo.texi
+% dvips foo.dvi -o # or whatever, to process the dvi file; this makes foo.ps.
+% The extra runs of TeX get the cross-reference information correct.
+% Sometimes one run after texindex suffices, and sometimes you need more
+% than two; texi2dvi does it as many times as necessary.
+%
+% It is possible to adapt texinfo.tex for other languages. You can get
+% the existing language-specific files from ftp://ftp.gnu.org/gnu/texinfo/.
+
+\message{Loading texinfo [version \texinfoversion]:}
+
+% If in a .fmt file, print the version number
+% and turn on active characters that we couldn't do earlier because
+% they might have appeared in the input file name.
+\everyjob{\message{[Texinfo version \texinfoversion]}%
+ \catcode`+=\active \catcode`\_=\active}
+
+% Save some parts of plain tex whose names we will redefine.
+\let\ptexb=\b
+\let\ptexbullet=\bullet
+\let\ptexc=\c
+\let\ptexcomma=\,
+\let\ptexdot=\.
+\let\ptexdots=\dots
+\let\ptexend=\end
+\let\ptexequiv=\equiv
+\let\ptexexclam=\!
+\let\ptexi=\i
+\let\ptexlbrace=\{
+\let\ptexrbrace=\}
+\let\ptexstar=\*
+\let\ptext=\t
+
+% We never want plain's outer \+ definition in Texinfo.
+% For @tex, we can use \tabalign.
+\let\+ = \relax
+
+\message{Basics,}
+\chardef\other=12
+
+% If this character appears in an error message or help string, it
+% starts a new line in the output.
+\newlinechar = `^^J
+
+% Set up fixed words for English if not already set.
+\ifx\putwordAppendix\undefined \gdef\putwordAppendix{Appendix}\fi
+\ifx\putwordChapter\undefined \gdef\putwordChapter{Chapter}\fi
+\ifx\putwordfile\undefined \gdef\putwordfile{file}\fi
+\ifx\putwordin\undefined \gdef\putwordin{in}\fi
+\ifx\putwordIndexIsEmpty\undefined \gdef\putwordIndexIsEmpty{(Index is empty)}\fi
+\ifx\putwordIndexNonexistent\undefined \gdef\putwordIndexNonexistent{(Index is nonexistent)}\fi
+\ifx\putwordInfo\undefined \gdef\putwordInfo{Info}\fi
+\ifx\putwordInstanceVariableof\undefined \gdef\putwordInstanceVariableof{Instance Variable of}\fi
+\ifx\putwordMethodon\undefined \gdef\putwordMethodon{Method on}\fi
+\ifx\putwordNoTitle\undefined \gdef\putwordNoTitle{No Title}\fi
+\ifx\putwordof\undefined \gdef\putwordof{of}\fi
+\ifx\putwordon\undefined \gdef\putwordon{on}\fi
+\ifx\putwordpage\undefined \gdef\putwordpage{page}\fi
+\ifx\putwordsection\undefined \gdef\putwordsection{section}\fi
+\ifx\putwordSection\undefined \gdef\putwordSection{Section}\fi
+\ifx\putwordsee\undefined \gdef\putwordsee{see}\fi
+\ifx\putwordSee\undefined \gdef\putwordSee{See}\fi
+\ifx\putwordShortTOC\undefined \gdef\putwordShortTOC{Short Contents}\fi
+\ifx\putwordTOC\undefined \gdef\putwordTOC{Table of Contents}\fi
+%
+\ifx\putwordMJan\undefined \gdef\putwordMJan{January}\fi
+\ifx\putwordMFeb\undefined \gdef\putwordMFeb{February}\fi
+\ifx\putwordMMar\undefined \gdef\putwordMMar{March}\fi
+\ifx\putwordMApr\undefined \gdef\putwordMApr{April}\fi
+\ifx\putwordMMay\undefined \gdef\putwordMMay{May}\fi
+\ifx\putwordMJun\undefined \gdef\putwordMJun{June}\fi
+\ifx\putwordMJul\undefined \gdef\putwordMJul{July}\fi
+\ifx\putwordMAug\undefined \gdef\putwordMAug{August}\fi
+\ifx\putwordMSep\undefined \gdef\putwordMSep{September}\fi
+\ifx\putwordMOct\undefined \gdef\putwordMOct{October}\fi
+\ifx\putwordMNov\undefined \gdef\putwordMNov{November}\fi
+\ifx\putwordMDec\undefined \gdef\putwordMDec{December}\fi
+%
+\ifx\putwordDefmac\undefined \gdef\putwordDefmac{Macro}\fi
+\ifx\putwordDefspec\undefined \gdef\putwordDefspec{Special Form}\fi
+\ifx\putwordDefvar\undefined \gdef\putwordDefvar{Variable}\fi
+\ifx\putwordDefopt\undefined \gdef\putwordDefopt{User Option}\fi
+\ifx\putwordDeftypevar\undefined\gdef\putwordDeftypevar{Variable}\fi
+\ifx\putwordDeffunc\undefined \gdef\putwordDeffunc{Function}\fi
+\ifx\putwordDeftypefun\undefined\gdef\putwordDeftypefun{Function}\fi
+
+% Ignore a token.
+%
+\def\gobble#1{}
+
+\hyphenation{ap-pen-dix}
+\hyphenation{mini-buf-fer mini-buf-fers}
+\hyphenation{eshell}
+\hyphenation{white-space}
+
+% Margin to add to right of even pages, to left of odd pages.
+\newdimen \bindingoffset
+\newdimen \normaloffset
+\newdimen\pagewidth \newdimen\pageheight
+
+% Sometimes it is convenient to have everything in the transcript file
+% and nothing on the terminal. We don't just call \tracingall here,
+% since that produces some useless output on the terminal.
+%
+\def\gloggingall{\begingroup \globaldefs = 1 \loggingall \endgroup}%
+\ifx\eTeXversion\undefined
+\def\loggingall{\tracingcommands2 \tracingstats2
+ \tracingpages1 \tracingoutput1 \tracinglostchars1
+ \tracingmacros2 \tracingparagraphs1 \tracingrestores1
+ \showboxbreadth\maxdimen\showboxdepth\maxdimen
+}%
+\else
+\def\loggingall{\tracingcommands3 \tracingstats2
+ \tracingpages1 \tracingoutput1 \tracinglostchars1
+ \tracingmacros2 \tracingparagraphs1 \tracingrestores1
+ \tracingscantokens1 \tracingassigns1 \tracingifs1
+ \tracinggroups1 \tracingnesting2
+ \showboxbreadth\maxdimen\showboxdepth\maxdimen
+}%
+\fi
+
+% For @cropmarks command.
+% Do @cropmarks to get crop marks.
+%
+\newif\ifcropmarks
+\let\cropmarks = \cropmarkstrue
+%
+% Dimensions to add cropmarks at corners.
+% Added by P. A. MacKay, 12 Nov. 1986
+%
+\newdimen\outerhsize \newdimen\outervsize % set by the paper size routines
+\newdimen\cornerlong \cornerlong=1pc
+\newdimen\cornerthick \cornerthick=.3pt
+\newdimen\topandbottommargin \topandbottommargin=.75in
+
+% Main output routine.
+\chardef\PAGE = 255
+\output = {\onepageout{\pagecontents\PAGE}}
+
+\newbox\headlinebox
+\newbox\footlinebox
+
+% \onepageout takes a vbox as an argument. Note that \pagecontents
+% does insertions, but you have to call it yourself.
+\def\onepageout#1{%
+ \ifcropmarks \hoffset=0pt \else \hoffset=\normaloffset \fi
+ %
+ \ifodd\pageno \advance\hoffset by \bindingoffset
+ \else \advance\hoffset by -\bindingoffset\fi
+ %
+ % Do this outside of the \shipout so @code etc. will be expanded in
+ % the headline as they should be, not taken literally (outputting ''code).
+ \setbox\headlinebox = \vbox{\let\hsize=\pagewidth \makeheadline}%
+ \setbox\footlinebox = \vbox{\let\hsize=\pagewidth \makefootline}%
+ %
+ {%
+ % Have to do this stuff outside the \shipout because we want it to
+ % take effect in \write's, yet the group defined by the \vbox ends
+ % before the \shipout runs.
+ %
+ \escapechar = `\\ % use backslash in output files.
+ \indexdummies % don't expand commands in the output.
+ \normalturnoffactive % \ in index entries must not stay \, e.g., if
+ % the page break happens to be in the middle of an example.
+ \shipout\vbox{%
+ \ifcropmarks \vbox to \outervsize\bgroup
+ \hsize = \outerhsize
+ \vskip-\topandbottommargin
+ \vtop to0pt{%
+ \line{\ewtop\hfil\ewtop}%
+ \nointerlineskip
+ \line{%
+ \vbox{\moveleft\cornerthick\nstop}%
+ \hfill
+ \vbox{\moveright\cornerthick\nstop}%
+ }%
+ \vss}%
+ \vskip\topandbottommargin
+ \line\bgroup
+ \hfil % center the page within the outer (page) hsize.
+ \ifodd\pageno\hskip\bindingoffset\fi
+ \vbox\bgroup
+ \fi
+ %
+ \unvbox\headlinebox
+ \pagebody{#1}%
+ \ifdim\ht\footlinebox > 0pt
+ % Only leave this space if the footline is nonempty.
+ % (We lessened \vsize for it in \oddfootingxxx.)
+ % The \baselineskip=24pt in plain's \makefootline has no effect.
+ \vskip 2\baselineskip
+ \unvbox\footlinebox
+ \fi
+ %
+ \ifpdfmakepagedest \pdfmkdest{\the\pageno} \fi
+ %
+ \ifcropmarks
+ \egroup % end of \vbox\bgroup
+ \hfil\egroup % end of (centering) \line\bgroup
+ \vskip\topandbottommargin plus1fill minus1fill
+ \boxmaxdepth = \cornerthick
+ \vbox to0pt{\vss
+ \line{%
+ \vbox{\moveleft\cornerthick\nsbot}%
+ \hfill
+ \vbox{\moveright\cornerthick\nsbot}%
+ }%
+ \nointerlineskip
+ \line{\ewbot\hfil\ewbot}%
+ }%
+ \egroup % \vbox from first cropmarks clause
+ \fi
+ }% end of \shipout\vbox
+ }% end of group with \turnoffactive
+ \advancepageno
+ \ifnum\outputpenalty>-20000 \else\dosupereject\fi
+}
+
+\newinsert\margin \dimen\margin=\maxdimen
+
+\def\pagebody#1{\vbox to\pageheight{\boxmaxdepth=\maxdepth #1}}
+{\catcode`\@ =11
+\gdef\pagecontents#1{\ifvoid\topins\else\unvbox\topins\fi
+% marginal hacks, juha@viisa.uucp (Juha Takala)
+\ifvoid\margin\else % marginal info is present
+ \rlap{\kern\hsize\vbox to\z@{\kern1pt\box\margin \vss}}\fi
+\dimen@=\dp#1 \unvbox#1
+\ifvoid\footins\else\vskip\skip\footins\footnoterule \unvbox\footins\fi
+\ifr@ggedbottom \kern-\dimen@ \vfil \fi}
+}
+
+% Here are the rules for the cropmarks. Note that they are
+% offset so that the space between them is truly \outerhsize or \outervsize
+% (P. A. MacKay, 12 November, 1986)
+%
+\def\ewtop{\vrule height\cornerthick depth0pt width\cornerlong}
+\def\nstop{\vbox
+ {\hrule height\cornerthick depth\cornerlong width\cornerthick}}
+\def\ewbot{\vrule height0pt depth\cornerthick width\cornerlong}
+\def\nsbot{\vbox
+ {\hrule height\cornerlong depth\cornerthick width\cornerthick}}
+
+% Parse an argument, then pass it to #1. The argument is the rest of
+% the input line (except we remove a trailing comment). #1 should be a
+% macro which expects an ordinary undelimited TeX argument.
+%
+\def\parsearg#1{%
+ \let\next = #1%
+ \begingroup
+ \obeylines
+ \futurelet\temp\parseargx
+}
+
+% If the next token is an obeyed space (from an @example environment or
+% the like), remove it and recurse. Otherwise, we're done.
+\def\parseargx{%
+ % \obeyedspace is defined far below, after the definition of \sepspaces.
+ \ifx\obeyedspace\temp
+ \expandafter\parseargdiscardspace
+ \else
+ \expandafter\parseargline
+ \fi
+}
+
+% Remove a single space (as the delimiter token to the macro call).
+{\obeyspaces %
+ \gdef\parseargdiscardspace {\futurelet\temp\parseargx}}
+
+{\obeylines %
+ \gdef\parseargline#1^^M{%
+ \endgroup % End of the group started in \parsearg.
+ %
+ % First remove any @c comment, then any @comment.
+ % Result of each macro is put in \toks0.
+ \argremovec #1\c\relax %
+ \expandafter\argremovecomment \the\toks0 \comment\relax %
+ %
+ % Call the caller's macro, saved as \next in \parsearg.
+ \expandafter\next\expandafter{\the\toks0}%
+ }%
+}
+
+% Since all \c{,omment} does is throw away the argument, we can let TeX
+% do that for us. The \relax here is matched by the \relax in the call
+% in \parseargline; it could be more or less anything, its purpose is
+% just to delimit the argument to the \c.
+\def\argremovec#1\c#2\relax{\toks0 = {#1}}
+\def\argremovecomment#1\comment#2\relax{\toks0 = {#1}}
+
+% \argremovec{,omment} might leave us with trailing spaces, though; e.g.,
+% @end itemize @c foo
+% will have two active spaces as part of the argument with the
+% `itemize'. Here we remove all active spaces from #1, and assign the
+% result to \toks0.
+%
+% This loses if there are any *other* active characters besides spaces
+% in the argument -- _ ^ +, for example -- since they get expanded.
+% Fortunately, Texinfo does not define any such commands. (If it ever
+% does, the catcode of the characters in questionwill have to be changed
+% here.) But this means we cannot call \removeactivespaces as part of
+% \argremovec{,omment}, since @c uses \parsearg, and thus the argument
+% that \parsearg gets might well have any character at all in it.
+%
+\def\removeactivespaces#1{%
+ \begingroup
+ \ignoreactivespaces
+ \edef\temp{#1}%
+ \global\toks0 = \expandafter{\temp}%
+ \endgroup
+}
+
+% Change the active space to expand to nothing.
+%
+\begingroup
+ \obeyspaces
+ \gdef\ignoreactivespaces{\obeyspaces\let =\empty}
+\endgroup
+
+
+\def\flushcr{\ifx\par\lisppar \def\next##1{}\else \let\next=\relax \fi \next}
+
+%% These are used to keep @begin/@end levels from running away
+%% Call \inENV within environments (after a \begingroup)
+\newif\ifENV \ENVfalse \def\inENV{\ifENV\relax\else\ENVtrue\fi}
+\def\ENVcheck{%
+\ifENV\errmessage{Still within an environment; press RETURN to continue}
+\endgroup\fi} % This is not perfect, but it should reduce lossage
+
+% @begin foo is the same as @foo, for now.
+\newhelp\EMsimple{Press RETURN to continue.}
+
+\outer\def\begin{\parsearg\beginxxx}
+
+\def\beginxxx #1{%
+\expandafter\ifx\csname #1\endcsname\relax
+{\errhelp=\EMsimple \errmessage{Undefined command @begin #1}}\else
+\csname #1\endcsname\fi}
+
+% @end foo executes the definition of \Efoo.
+%
+\def\end{\parsearg\endxxx}
+\def\endxxx #1{%
+ \removeactivespaces{#1}%
+ \edef\endthing{\the\toks0}%
+ %
+ \expandafter\ifx\csname E\endthing\endcsname\relax
+ \expandafter\ifx\csname \endthing\endcsname\relax
+ % There's no \foo, i.e., no ``environment'' foo.
+ \errhelp = \EMsimple
+ \errmessage{Undefined command `@end \endthing'}%
+ \else
+ \unmatchedenderror\endthing
+ \fi
+ \else
+ % Everything's ok; the right environment has been started.
+ \csname E\endthing\endcsname
+ \fi
+}
+
+% There is an environment #1, but it hasn't been started. Give an error.
+%
+\def\unmatchedenderror#1{%
+ \errhelp = \EMsimple
+ \errmessage{This `@end #1' doesn't have a matching `@#1'}%
+}
+
+% Define the control sequence \E#1 to give an unmatched @end error.
+%
+\def\defineunmatchedend#1{%
+ \expandafter\def\csname E#1\endcsname{\unmatchedenderror{#1}}%
+}
+
+
+% Single-spacing is done by various environments (specifically, in
+% \nonfillstart and \quotations).
+\newskip\singlespaceskip \singlespaceskip = 12.5pt
+\def\singlespace{%
+ % Why was this kern here? It messes up equalizing space above and below
+ % environments. --karl, 6may93
+ %{\advance \baselineskip by -\singlespaceskip
+ %\kern \baselineskip}%
+ \setleading \singlespaceskip
+}
+
+%% Simple single-character @ commands
+
+% @@ prints an @
+% Kludge this until the fonts are right (grr).
+\def\@{{\tt\char64}}
+
+% This is turned off because it was never documented
+% and you can use @w{...} around a quote to suppress ligatures.
+%% Define @` and @' to be the same as ` and '
+%% but suppressing ligatures.
+%\def\`{{`}}
+%\def\'{{'}}
+
+% Used to generate quoted braces.
+\def\mylbrace {{\tt\char123}}
+\def\myrbrace {{\tt\char125}}
+\let\{=\mylbrace
+\let\}=\myrbrace
+\begingroup
+ % Definitions to produce actual \{ & \} command in an index.
+ \catcode`\{ = 12 \catcode`\} = 12
+ \catcode`\[ = 1 \catcode`\] = 2
+ \catcode`\@ = 0 \catcode`\\ = 12
+ @gdef@lbracecmd[\{]%
+ @gdef@rbracecmd[\}]%
+@endgroup
+
+% Accents: @, @dotaccent @ringaccent @ubaraccent @udotaccent
+% Others are defined by plain TeX: @` @' @" @^ @~ @= @v @H.
+\let\, = \c
+\let\dotaccent = \.
+\def\ringaccent#1{{\accent23 #1}}
+\let\tieaccent = \t
+\let\ubaraccent = \b
+\let\udotaccent = \d
+
+% Other special characters: @questiondown @exclamdown
+% Plain TeX defines: @AA @AE @O @OE @L (and lowercase versions) @ss.
+\def\questiondown{?`}
+\def\exclamdown{!`}
+
+% Dotless i and dotless j, used for accents.
+\def\imacro{i}
+\def\jmacro{j}
+\def\dotless#1{%
+ \def\temp{#1}%
+ \ifx\temp\imacro \ptexi
+ \else\ifx\temp\jmacro \j
+ \else \errmessage{@dotless can be used only with i or j}%
+ \fi\fi
+}
+
+% Be sure we're in horizontal mode when doing a tie, since we make space
+% equivalent to this in @example-like environments. Otherwise, a space
+% at the beginning of a line will start with \penalty -- and
+% since \penalty is valid in vertical mode, we'd end up putting the
+% penalty on the vertical list instead of in the new paragraph.
+{\catcode`@ = 11
+ % Avoid using \@M directly, because that causes trouble
+ % if the definition is written into an index file.
+ \global\let\tiepenalty = \@M
+ \gdef\tie{\leavevmode\penalty\tiepenalty\ }
+}
+
+% @: forces normal size whitespace following.
+\def\:{\spacefactor=1000 }
+
+% @* forces a line break.
+\def\*{\hfil\break\hbox{}\ignorespaces}
+
+% @. is an end-of-sentence period.
+\def\.{.\spacefactor=3000 }
+
+% @! is an end-of-sentence bang.
+\def\!{!\spacefactor=3000 }
+
+% @? is an end-of-sentence query.
+\def\?{?\spacefactor=3000 }
+
+% @w prevents a word break. Without the \leavevmode, @w at the
+% beginning of a paragraph, when TeX is still in vertical mode, would
+% produce a whole line of output instead of starting the paragraph.
+\def\w#1{\leavevmode\hbox{#1}}
+
+% @group ... @end group forces ... to be all on one page, by enclosing
+% it in a TeX vbox. We use \vtop instead of \vbox to construct the box
+% to keep its height that of a normal line. According to the rules for
+% \topskip (p.114 of the TeXbook), the glue inserted is
+% max (\topskip - \ht (first item), 0). If that height is large,
+% therefore, no glue is inserted, and the space between the headline and
+% the text is small, which looks bad.
+%
+\def\group{\begingroup
+ \ifnum\catcode13=\active \else
+ \errhelp = \groupinvalidhelp
+ \errmessage{@group invalid in context where filling is enabled}%
+ \fi
+ %
+ % The \vtop we start below produces a box with normal height and large
+ % depth; thus, TeX puts \baselineskip glue before it, and (when the
+ % next line of text is done) \lineskip glue after it. (See p.82 of
+ % the TeXbook.) Thus, space below is not quite equal to space
+ % above. But it's pretty close.
+ \def\Egroup{%
+ \egroup % End the \vtop.
+ \endgroup % End the \group.
+ }%
+ %
+ \vtop\bgroup
+ % We have to put a strut on the last line in case the @group is in
+ % the midst of an example, rather than completely enclosing it.
+ % Otherwise, the interline space between the last line of the group
+ % and the first line afterwards is too small. But we can't put the
+ % strut in \Egroup, since there it would be on a line by itself.
+ % Hence this just inserts a strut at the beginning of each line.
+ \everypar = {\strut}%
+ %
+ % Since we have a strut on every line, we don't need any of TeX's
+ % normal interline spacing.
+ \offinterlineskip
+ %
+ % OK, but now we have to do something about blank
+ % lines in the input in @example-like environments, which normally
+ % just turn into \lisppar, which will insert no space now that we've
+ % turned off the interline space. Simplest is to make them be an
+ % empty paragraph.
+ \ifx\par\lisppar
+ \edef\par{\leavevmode \par}%
+ %
+ % Reset ^^M's definition to new definition of \par.
+ \obeylines
+ \fi
+ %
+ % Do @comment since we are called inside an environment such as
+ % @example, where each end-of-line in the input causes an
+ % end-of-line in the output. We don't want the end-of-line after
+ % the `@group' to put extra space in the output. Since @group
+ % should appear on a line by itself (according to the Texinfo
+ % manual), we don't worry about eating any user text.
+ \comment
+}
+%
+% TeX puts in an \escapechar (i.e., `@') at the beginning of the help
+% message, so this ends up printing `@group can only ...'.
+%
+\newhelp\groupinvalidhelp{%
+group can only be used in environments such as @example,^^J%
+where each line of input produces a line of output.}
+
+% @need space-in-mils
+% forces a page break if there is not space-in-mils remaining.
+
+\newdimen\mil \mil=0.001in
+
+\def\need{\parsearg\needx}
+
+% Old definition--didn't work.
+%\def\needx #1{\par %
+%% This method tries to make TeX break the page naturally
+%% if the depth of the box does not fit.
+%{\baselineskip=0pt%
+%\vtop to #1\mil{\vfil}\kern -#1\mil\nobreak
+%\prevdepth=-1000pt
+%}}
+
+\def\needx#1{%
+ % Ensure vertical mode, so we don't make a big box in the middle of a
+ % paragraph.
+ \par
+ %
+ % If the @need value is less than one line space, it's useless.
+ \dimen0 = #1\mil
+ \dimen2 = \ht\strutbox
+ \advance\dimen2 by \dp\strutbox
+ \ifdim\dimen0 > \dimen2
+ %
+ % Do a \strut just to make the height of this box be normal, so the
+ % normal leading is inserted relative to the preceding line.
+ % And a page break here is fine.
+ \vtop to #1\mil{\strut\vfil}%
+ %
+ % TeX does not even consider page breaks if a penalty added to the
+ % main vertical list is 10000 or more. But in order to see if the
+ % empty box we just added fits on the page, we must make it consider
+ % page breaks. On the other hand, we don't want to actually break the
+ % page after the empty box. So we use a penalty of 9999.
+ %
+ % There is an extremely small chance that TeX will actually break the
+ % page at this \penalty, if there are no other feasible breakpoints in
+ % sight. (If the user is using lots of big @group commands, which
+ % almost-but-not-quite fill up a page, TeX will have a hard time doing
+ % good page breaking, for example.) However, I could not construct an
+ % example where a page broke at this \penalty; if it happens in a real
+ % document, then we can reconsider our strategy.
+ \penalty9999
+ %
+ % Back up by the size of the box, whether we did a page break or not.
+ \kern -#1\mil
+ %
+ % Do not allow a page break right after this kern.
+ \nobreak
+ \fi
+}
+
+% @br forces paragraph break
+
+\let\br = \par
+
+% @dots{} output an ellipsis using the current font.
+% We do .5em per period so that it has the same spacing in a typewriter
+% font as three actual period characters.
+%
+\def\dots{%
+ \leavevmode
+ \hbox to 1.5em{%
+ \hskip 0pt plus 0.25fil minus 0.25fil
+ .\hss.\hss.%
+ \hskip 0pt plus 0.5fil minus 0.5fil
+ }%
+}
+
+% @enddots{} is an end-of-sentence ellipsis.
+%
+\def\enddots{%
+ \leavevmode
+ \hbox to 2em{%
+ \hskip 0pt plus 0.25fil minus 0.25fil
+ .\hss.\hss.\hss.%
+ \hskip 0pt plus 0.5fil minus 0.5fil
+ }%
+ \spacefactor=3000
+}
+
+
+% @page forces the start of a new page
+%
+\def\page{\par\vfill\supereject}
+
+% @exdent text....
+% outputs text on separate line in roman font, starting at standard page margin
+
+% This records the amount of indent in the innermost environment.
+% That's how much \exdent should take out.
+\newskip\exdentamount
+
+% This defn is used inside fill environments such as @defun.
+\def\exdent{\parsearg\exdentyyy}
+\def\exdentyyy #1{{\hfil\break\hbox{\kern -\exdentamount{\rm#1}}\hfil\break}}
+
+% This defn is used inside nofill environments such as @example.
+\def\nofillexdent{\parsearg\nofillexdentyyy}
+\def\nofillexdentyyy #1{{\advance \leftskip by -\exdentamount
+\leftline{\hskip\leftskip{\rm#1}}}}
+
+% @inmargin{TEXT} puts TEXT in the margin next to the current paragraph.
+
+\def\inmargin#1{%
+\strut\vadjust{\nobreak\kern-\strutdepth
+ \vtop to \strutdepth{\baselineskip\strutdepth\vss
+ \llap{\rightskip=\inmarginspacing \vbox{\noindent #1}}\null}}}
+\newskip\inmarginspacing \inmarginspacing=1cm
+\def\strutdepth{\dp\strutbox}
+
+%\hbox{{\rm#1}}\hfil\break}}
+
+% @include file insert text of that file as input.
+% Allow normal characters that we make active in the argument (a file name).
+\def\include{\begingroup
+ \catcode`\\=12
+ \catcode`~=12
+ \catcode`^=12
+ \catcode`_=12
+ \catcode`|=12
+ \catcode`<=12
+ \catcode`>=12
+ \catcode`+=12
+ \parsearg\includezzz}
+% Restore active chars for included file.
+\def\includezzz#1{\endgroup\begingroup
+ % Read the included file in a group so nested @include's work.
+ \def\thisfile{#1}%
+ \input\thisfile
+\endgroup}
+
+\def\thisfile{}
+
+% @center line outputs that line, centered
+
+\def\center{\parsearg\centerzzz}
+\def\centerzzz #1{{\advance\hsize by -\leftskip
+\advance\hsize by -\rightskip
+\centerline{#1}}}
+
+% @sp n outputs n lines of vertical space
+
+\def\sp{\parsearg\spxxx}
+\def\spxxx #1{\vskip #1\baselineskip}
+
+% @comment ...line which is ignored...
+% @c is the same as @comment
+% @ignore ... @end ignore is another way to write a comment
+
+\def\comment{\begingroup \catcode`\^^M=\other%
+\catcode`\@=\other \catcode`\{=\other \catcode`\}=\other%
+\commentxxx}
+{\catcode`\^^M=\other \gdef\commentxxx#1^^M{\endgroup}}
+
+\let\c=\comment
+
+% @paragraphindent NCHARS
+% We'll use ems for NCHARS, close enough.
+% We cannot implement @paragraphindent asis, though.
+%
+\def\asisword{asis} % no translation, these are keywords
+\def\noneword{none}
+%
+\def\paragraphindent{\parsearg\doparagraphindent}
+\def\doparagraphindent#1{%
+ \def\temp{#1}%
+ \ifx\temp\asisword
+ \else
+ \ifx\temp\noneword
+ \defaultparindent = 0pt
+ \else
+ \defaultparindent = #1em
+ \fi
+ \fi
+ \parindent = \defaultparindent
+}
+
+% @exampleindent NCHARS
+% We'll use ems for NCHARS like @paragraphindent.
+% It seems @exampleindent asis isn't necessary, but
+% I preserve it to make it similar to @paragraphindent.
+\def\exampleindent{\parsearg\doexampleindent}
+\def\doexampleindent#1{%
+ \def\temp{#1}%
+ \ifx\temp\asisword
+ \else
+ \ifx\temp\noneword
+ \lispnarrowing = 0pt
+ \else
+ \lispnarrowing = #1em
+ \fi
+ \fi
+}
+
+% @asis just yields its argument. Used with @table, for example.
+%
+\def\asis#1{#1}
+
+% @math means output in math mode.
+% We don't use $'s directly in the definition of \math because control
+% sequences like \math are expanded when the toc file is written. Then,
+% we read the toc file back, the $'s will be normal characters (as they
+% should be, according to the definition of Texinfo). So we must use a
+% control sequence to switch into and out of math mode.
+%
+% This isn't quite enough for @math to work properly in indices, but it
+% seems unlikely it will ever be needed there.
+%
+\let\implicitmath = $
+\def\math#1{\implicitmath #1\implicitmath}
+
+% @bullet and @minus need the same treatment as @math, just above.
+\def\bullet{\implicitmath\ptexbullet\implicitmath}
+\def\minus{\implicitmath-\implicitmath}
+
+% @refill is a no-op.
+\let\refill=\relax
+
+% If working on a large document in chapters, it is convenient to
+% be able to disable indexing, cross-referencing, and contents, for test runs.
+% This is done with @novalidate (before @setfilename).
+%
+\newif\iflinks \linkstrue % by default we want the aux files.
+\let\novalidate = \linksfalse
+
+% @setfilename is done at the beginning of every texinfo file.
+% So open here the files we need to have open while reading the input.
+% This makes it possible to make a .fmt file for texinfo.
+\def\setfilename{%
+ \iflinks
+ \readauxfile
+ \fi % \openindices needs to do some work in any case.
+ \openindices
+ \fixbackslash % Turn off hack to swallow `\input texinfo'.
+ \global\let\setfilename=\comment % Ignore extra @setfilename cmds.
+ %
+ % If texinfo.cnf is present on the system, read it.
+ % Useful for site-wide @afourpaper, etc.
+ % Just to be on the safe side, close the input stream before the \input.
+ \openin 1 texinfo.cnf
+ \ifeof1 \let\temp=\relax \else \def\temp{\input texinfo.cnf }\fi
+ \closein1
+ \temp
+ %
+ \comment % Ignore the actual filename.
+}
+
+% Called from \setfilename.
+%
+\def\openindices{%
+ \newindex{cp}%
+ \newcodeindex{fn}%
+ \newcodeindex{vr}%
+ \newcodeindex{tp}%
+ \newcodeindex{ky}%
+ \newcodeindex{pg}%
+}
+
+% @bye.
+\outer\def\bye{\pagealignmacro\tracingstats=1\ptexend}
+
+
+\message{pdf,}
+% adobe `portable' document format
+\newcount\tempnum
+\newcount\lnkcount
+\newtoks\filename
+\newcount\filenamelength
+\newcount\pgn
+\newtoks\toksA
+\newtoks\toksB
+\newtoks\toksC
+\newtoks\toksD
+\newbox\boxA
+\newcount\countA
+\newif\ifpdf
+\newif\ifpdfmakepagedest
+
+\ifx\pdfoutput\undefined
+ \pdffalse
+ \let\pdfmkdest = \gobble
+ \let\pdfurl = \gobble
+ \let\endlink = \relax
+ \let\linkcolor = \relax
+ \let\pdfmakeoutlines = \relax
+\else
+ \pdftrue
+ \pdfoutput = 1
+ \input pdfcolor
+ \def\dopdfimage#1#2#3{%
+ \def\imagewidth{#2}%
+ \def\imageheight{#3}%
+ \ifnum\pdftexversion < 14
+ \pdfimage
+ \else
+ \pdfximage
+ \fi
+ \ifx\empty\imagewidth\else width \imagewidth \fi
+ \ifx\empty\imageheight\else height \imageheight \fi
+ {#1.pdf}%
+ \ifnum\pdftexversion < 14 \else
+ \pdfrefximage \pdflastximage
+ \fi}
+ \def\pdfmkdest#1{\pdfdest name{#1@} xyz}
+ \def\pdfmkpgn#1{#1@}
+ \let\linkcolor = \Cyan
+ \def\endlink{\Black\pdfendlink}
+ % Adding outlines to PDF; macros for calculating structure of outlines
+ % come from Petr Olsak
+ \def\expnumber#1{\expandafter\ifx\csname#1\endcsname\relax 0%
+ \else \csname#1\endcsname \fi}
+ \def\advancenumber#1{\tempnum=\expnumber{#1}\relax
+ \advance\tempnum by1
+ \expandafter\xdef\csname#1\endcsname{\the\tempnum}}
+ \def\pdfmakeoutlines{{%
+ \openin 1 \jobname.toc
+ \ifeof 1\else\bgroup
+ \closein 1
+ \indexnofonts
+ \def\tt{}
+ % thanh's hack / proper braces in bookmarks
+ \edef\mylbrace{\iftrue \string{\else}\fi}\let\{=\mylbrace
+ \edef\myrbrace{\iffalse{\else\string}\fi}\let\}=\myrbrace
+ %
+ \def\chapentry ##1##2##3{}
+ \def\unnumbchapentry ##1##2{}
+ \def\secentry ##1##2##3##4{\advancenumber{chap##2}}
+ \def\unnumbsecentry ##1##2{}
+ \def\subsecentry ##1##2##3##4##5{\advancenumber{sec##2.##3}}
+ \def\unnumbsubsecentry ##1##2{}
+ \def\subsubsecentry ##1##2##3##4##5##6{\advancenumber{subsec##2.##3.##4}}
+ \def\unnumbsubsubsecentry ##1##2{}
+ \input \jobname.toc
+ \def\chapentry ##1##2##3{%
+ \pdfoutline goto name{\pdfmkpgn{##3}}count-\expnumber{chap##2}{##1}}
+ \def\unnumbchapentry ##1##2{%
+ \pdfoutline goto name{\pdfmkpgn{##2}}{##1}}
+ \def\secentry ##1##2##3##4{%
+ \pdfoutline goto name{\pdfmkpgn{##4}}count-\expnumber{sec##2.##3}{##1}}
+ \def\unnumbsecentry ##1##2{%
+ \pdfoutline goto name{\pdfmkpgn{##2}}{##1}}
+ \def\subsecentry ##1##2##3##4##5{%
+ \pdfoutline goto name{\pdfmkpgn{##5}}count-\expnumber{subsec##2.##3.##4}{##1}}
+ \def\unnumbsubsecentry ##1##2{%
+ \pdfoutline goto name{\pdfmkpgn{##2}}{##1}}
+ \def\subsubsecentry ##1##2##3##4##5##6{%
+ \pdfoutline goto name{\pdfmkpgn{##6}}{##1}}
+ \def\unnumbsubsubsecentry ##1##2{%
+ \pdfoutline goto name{\pdfmkpgn{##2}}{##1}}
+ \input \jobname.toc
+ \egroup\fi
+ }}
+ \def\makelinks #1,{%
+ \def\params{#1}\def\E{END}%
+ \ifx\params\E
+ \let\nextmakelinks=\relax
+ \else
+ \let\nextmakelinks=\makelinks
+ \ifnum\lnkcount>0,\fi
+ \picknum{#1}%
+ \startlink attr{/Border [0 0 0]}
+ goto name{\pdfmkpgn{\the\pgn}}%
+ \linkcolor #1%
+ \advance\lnkcount by 1%
+ \endlink
+ \fi
+ \nextmakelinks
+ }
+ \def\picknum#1{\expandafter\pn#1}
+ \def\pn#1{%
+ \def\p{#1}%
+ \ifx\p\lbrace
+ \let\nextpn=\ppn
+ \else
+ \let\nextpn=\ppnn
+ \def\first{#1}
+ \fi
+ \nextpn
+ }
+ \def\ppn#1{\pgn=#1\gobble}
+ \def\ppnn{\pgn=\first}
+ \def\pdfmklnk#1{\lnkcount=0\makelinks #1,END,}
+ \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks}
+ \def\skipspaces#1{\def\PP{#1}\def\D{|}%
+ \ifx\PP\D\let\nextsp\relax
+ \else\let\nextsp\skipspaces
+ \ifx\p\space\else\addtokens{\filename}{\PP}%
+ \advance\filenamelength by 1
+ \fi
+ \fi
+ \nextsp}
+ \def\getfilename#1{\filenamelength=0\expandafter\skipspaces#1|\relax}
+ \ifnum\pdftexversion < 14
+ \let \startlink \pdfannotlink
+ \else
+ \let \startlink \pdfstartlink
+ \fi
+ \def\pdfurl#1{%
+ \begingroup
+ \normalturnoffactive\def\@{@}%
+ \leavevmode\Red
+ \startlink attr{/Border [0 0 0]}%
+ user{/Subtype /Link /A << /S /URI /URI (#1) >>}%
+ % #1
+ \endgroup}
+ \def\pdfgettoks#1.{\setbox\boxA=\hbox{\toksA={#1.}\toksB={}\maketoks}}
+ \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks}
+ \def\adn#1{\addtokens{\toksC}{#1}\global\countA=1\let\next=\maketoks}
+ \def\poptoks#1#2|ENDTOKS|{\let\first=#1\toksD={#1}\toksA={#2}}
+ \def\maketoks{%
+ \expandafter\poptoks\the\toksA|ENDTOKS|
+ \ifx\first0\adn0
+ \else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3
+ \else\ifx\first4\adn4 \else\ifx\first5\adn5 \else\ifx\first6\adn6
+ \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9
+ \else
+ \ifnum0=\countA\else\makelink\fi
+ \ifx\first.\let\next=\done\else
+ \let\next=\maketoks
+ \addtokens{\toksB}{\the\toksD}
+ \ifx\first,\addtokens{\toksB}{\space}\fi
+ \fi
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+ \next}
+ \def\makelink{\addtokens{\toksB}%
+ {\noexpand\pdflink{\the\toksC}}\toksC={}\global\countA=0}
+ \def\pdflink#1{%
+ \startlink attr{/Border [0 0 0]} goto name{\mkpgn{#1}}
+ \linkcolor #1\endlink}
+ \def\mkpgn#1{#1@}
+ \def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st}
+\fi % \ifx\pdfoutput
+
+
+\message{fonts,}
+% Font-change commands.
+
+% Texinfo sort of supports the sans serif font style, which plain TeX does not.
+% So we set up a \sf analogous to plain's \rm, etc.
+\newfam\sffam
+\def\sf{\fam=\sffam \tensf}
+\let\li = \sf % Sometimes we call it \li, not \sf.
+
+% We don't need math for this one.
+\def\ttsl{\tenttsl}
+
+% Use Computer Modern fonts at \magstephalf (11pt).
+\newcount\mainmagstep
+\mainmagstep=\magstephalf
+
+% Set the font macro #1 to the font named #2, adding on the
+% specified font prefix (normally `cm').
+% #3 is the font's design size, #4 is a scale factor
+\def\setfont#1#2#3#4{\font#1=\fontprefix#2#3 scaled #4}
+
+% Use cm as the default font prefix.
+% To specify the font prefix, you must define \fontprefix
+% before you read in texinfo.tex.
+\ifx\fontprefix\undefined
+\def\fontprefix{cm}
+\fi
+% Support font families that don't use the same naming scheme as CM.
+\def\rmshape{r}
+\def\rmbshape{bx} %where the normal face is bold
+\def\bfshape{b}
+\def\bxshape{bx}
+\def\ttshape{tt}
+\def\ttbshape{tt}
+\def\ttslshape{sltt}
+\def\itshape{ti}
+\def\itbshape{bxti}
+\def\slshape{sl}
+\def\slbshape{bxsl}
+\def\sfshape{ss}
+\def\sfbshape{ss}
+\def\scshape{csc}
+\def\scbshape{csc}
+
+\ifx\bigger\relax
+\let\mainmagstep=\magstep1
+\setfont\textrm\rmshape{12}{1000}
+\setfont\texttt\ttshape{12}{1000}
+\else
+\setfont\textrm\rmshape{10}{\mainmagstep}
+\setfont\texttt\ttshape{10}{\mainmagstep}
+\fi
+% Instead of cmb10, you many want to use cmbx10.
+% cmbx10 is a prettier font on its own, but cmb10
+% looks better when embedded in a line with cmr10.
+\setfont\textbf\bfshape{10}{\mainmagstep}
+\setfont\textit\itshape{10}{\mainmagstep}
+\setfont\textsl\slshape{10}{\mainmagstep}
+\setfont\textsf\sfshape{10}{\mainmagstep}
+\setfont\textsc\scshape{10}{\mainmagstep}
+\setfont\textttsl\ttslshape{10}{\mainmagstep}
+\font\texti=cmmi10 scaled \mainmagstep
+\font\textsy=cmsy10 scaled \mainmagstep
+
+% A few fonts for @defun, etc.
+\setfont\defbf\bxshape{10}{\magstep1} %was 1314
+\setfont\deftt\ttshape{10}{\magstep1}
+\def\df{\let\tentt=\deftt \let\tenbf = \defbf \bf}
+
+% Fonts for indices, footnotes, small examples (9pt).
+\setfont\smallrm\rmshape{9}{1000}
+\setfont\smalltt\ttshape{9}{1000}
+\setfont\smallbf\bfshape{10}{900}
+\setfont\smallit\itshape{9}{1000}
+\setfont\smallsl\slshape{9}{1000}
+\setfont\smallsf\sfshape{9}{1000}
+\setfont\smallsc\scshape{10}{900}
+\setfont\smallttsl\ttslshape{10}{900}
+\font\smalli=cmmi9
+\font\smallsy=cmsy9
+
+% Fonts for title page:
+\setfont\titlerm\rmbshape{12}{\magstep3}
+\setfont\titleit\itbshape{10}{\magstep4}
+\setfont\titlesl\slbshape{10}{\magstep4}
+\setfont\titlett\ttbshape{12}{\magstep3}
+\setfont\titlettsl\ttslshape{10}{\magstep4}
+\setfont\titlesf\sfbshape{17}{\magstep1}
+\let\titlebf=\titlerm
+\setfont\titlesc\scbshape{10}{\magstep4}
+\font\titlei=cmmi12 scaled \magstep3
+\font\titlesy=cmsy10 scaled \magstep4
+\def\authorrm{\secrm}
+
+% Chapter (and unnumbered) fonts (17.28pt).
+\setfont\chaprm\rmbshape{12}{\magstep2}
+\setfont\chapit\itbshape{10}{\magstep3}
+\setfont\chapsl\slbshape{10}{\magstep3}
+\setfont\chaptt\ttbshape{12}{\magstep2}
+\setfont\chapttsl\ttslshape{10}{\magstep3}
+\setfont\chapsf\sfbshape{17}{1000}
+\let\chapbf=\chaprm
+\setfont\chapsc\scbshape{10}{\magstep3}
+\font\chapi=cmmi12 scaled \magstep2
+\font\chapsy=cmsy10 scaled \magstep3
+
+% Section fonts (14.4pt).
+\setfont\secrm\rmbshape{12}{\magstep1}
+\setfont\secit\itbshape{10}{\magstep2}
+\setfont\secsl\slbshape{10}{\magstep2}
+\setfont\sectt\ttbshape{12}{\magstep1}
+\setfont\secttsl\ttslshape{10}{\magstep2}
+\setfont\secsf\sfbshape{12}{\magstep1}
+\let\secbf\secrm
+\setfont\secsc\scbshape{10}{\magstep2}
+\font\seci=cmmi12 scaled \magstep1
+\font\secsy=cmsy10 scaled \magstep2
+
+% \setfont\ssecrm\bxshape{10}{\magstep1} % This size an font looked bad.
+% \setfont\ssecit\itshape{10}{\magstep1} % The letters were too crowded.
+% \setfont\ssecsl\slshape{10}{\magstep1}
+% \setfont\ssectt\ttshape{10}{\magstep1}
+% \setfont\ssecsf\sfshape{10}{\magstep1}
+
+%\setfont\ssecrm\bfshape{10}{1315} % Note the use of cmb rather than cmbx.
+%\setfont\ssecit\itshape{10}{1315} % Also, the size is a little larger than
+%\setfont\ssecsl\slshape{10}{1315} % being scaled magstep1.
+%\setfont\ssectt\ttshape{10}{1315}
+%\setfont\ssecsf\sfshape{10}{1315}
+
+%\let\ssecbf=\ssecrm
+
+% Subsection fonts (13.15pt).
+\setfont\ssecrm\rmbshape{12}{\magstephalf}
+\setfont\ssecit\itbshape{10}{1315}
+\setfont\ssecsl\slbshape{10}{1315}
+\setfont\ssectt\ttbshape{12}{\magstephalf}
+\setfont\ssecttsl\ttslshape{10}{1315}
+\setfont\ssecsf\sfbshape{12}{\magstephalf}
+\let\ssecbf\ssecrm
+\setfont\ssecsc\scbshape{10}{\magstep1}
+\font\sseci=cmmi12 scaled \magstephalf
+\font\ssecsy=cmsy10 scaled 1315
+% The smallcaps and symbol fonts should actually be scaled \magstep1.5,
+% but that is not a standard magnification.
+
+% In order for the font changes to affect most math symbols and letters,
+% we have to define the \textfont of the standard families. Since
+% texinfo doesn't allow for producing subscripts and superscripts, we
+% don't bother to reset \scriptfont and \scriptscriptfont (which would
+% also require loading a lot more fonts).
+%
+\def\resetmathfonts{%
+ \textfont0 = \tenrm \textfont1 = \teni \textfont2 = \tensy
+ \textfont\itfam = \tenit \textfont\slfam = \tensl \textfont\bffam = \tenbf
+ \textfont\ttfam = \tentt \textfont\sffam = \tensf
+}
+
+
+% The font-changing commands redefine the meanings of \tenSTYLE, instead
+% of just \STYLE. We do this so that font changes will continue to work
+% in math mode, where it is the current \fam that is relevant in most
+% cases, not the current font. Plain TeX does \def\bf{\fam=\bffam
+% \tenbf}, for example. By redefining \tenbf, we obviate the need to
+% redefine \bf itself.
+\def\textfonts{%
+ \let\tenrm=\textrm \let\tenit=\textit \let\tensl=\textsl
+ \let\tenbf=\textbf \let\tentt=\texttt \let\smallcaps=\textsc
+ \let\tensf=\textsf \let\teni=\texti \let\tensy=\textsy \let\tenttsl=\textttsl
+ \resetmathfonts}
+\def\titlefonts{%
+ \let\tenrm=\titlerm \let\tenit=\titleit \let\tensl=\titlesl
+ \let\tenbf=\titlebf \let\tentt=\titlett \let\smallcaps=\titlesc
+ \let\tensf=\titlesf \let\teni=\titlei \let\tensy=\titlesy
+ \let\tenttsl=\titlettsl
+ \resetmathfonts \setleading{25pt}}
+\def\titlefont#1{{\titlefonts\rm #1}}
+\def\chapfonts{%
+ \let\tenrm=\chaprm \let\tenit=\chapit \let\tensl=\chapsl
+ \let\tenbf=\chapbf \let\tentt=\chaptt \let\smallcaps=\chapsc
+ \let\tensf=\chapsf \let\teni=\chapi \let\tensy=\chapsy \let\tenttsl=\chapttsl
+ \resetmathfonts \setleading{19pt}}
+\def\secfonts{%
+ \let\tenrm=\secrm \let\tenit=\secit \let\tensl=\secsl
+ \let\tenbf=\secbf \let\tentt=\sectt \let\smallcaps=\secsc
+ \let\tensf=\secsf \let\teni=\seci \let\tensy=\secsy \let\tenttsl=\secttsl
+ \resetmathfonts \setleading{16pt}}
+\def\subsecfonts{%
+ \let\tenrm=\ssecrm \let\tenit=\ssecit \let\tensl=\ssecsl
+ \let\tenbf=\ssecbf \let\tentt=\ssectt \let\smallcaps=\ssecsc
+ \let\tensf=\ssecsf \let\teni=\sseci \let\tensy=\ssecsy \let\tenttsl=\ssecttsl
+ \resetmathfonts \setleading{15pt}}
+\let\subsubsecfonts = \subsecfonts % Maybe make sssec fonts scaled magstephalf?
+\def\smallfonts{%
+ \let\tenrm=\smallrm \let\tenit=\smallit \let\tensl=\smallsl
+ \let\tenbf=\smallbf \let\tentt=\smalltt \let\smallcaps=\smallsc
+ \let\tensf=\smallsf \let\teni=\smalli \let\tensy=\smallsy
+ \let\tenttsl=\smallttsl
+ \resetmathfonts \setleading{11pt}}
+
+% Set up the default fonts, so we can use them for creating boxes.
+%
+\textfonts
+
+% Define these so they can be easily changed for other fonts.
+\def\angleleft{$\langle$}
+\def\angleright{$\rangle$}
+
+% Count depth in font-changes, for error checks
+\newcount\fontdepth \fontdepth=0
+
+% Fonts for short table of contents.
+\setfont\shortcontrm\rmshape{12}{1000}
+\setfont\shortcontbf\bxshape{12}{1000}
+\setfont\shortcontsl\slshape{12}{1000}
+
+%% Add scribe-like font environments, plus @l for inline lisp (usually sans
+%% serif) and @ii for TeX italic
+
+% \smartitalic{ARG} outputs arg in italics, followed by an italic correction
+% unless the following character is such as not to need one.
+\def\smartitalicx{\ifx\next,\else\ifx\next-\else\ifx\next.\else\/\fi\fi\fi}
+\def\smartslanted#1{{\sl #1}\futurelet\next\smartitalicx}
+\def\smartitalic#1{{\it #1}\futurelet\next\smartitalicx}
+
+\let\i=\smartitalic
+\let\var=\smartslanted
+\let\dfn=\smartslanted
+\let\emph=\smartitalic
+\let\cite=\smartslanted
+
+\def\b#1{{\bf #1}}
+\let\strong=\b
+
+% We can't just use \exhyphenpenalty, because that only has effect at
+% the end of a paragraph. Restore normal hyphenation at the end of the
+% group within which \nohyphenation is presumably called.
+%
+\def\nohyphenation{\hyphenchar\font = -1 \aftergroup\restorehyphenation}
+\def\restorehyphenation{\hyphenchar\font = `- }
+
+\def\t#1{%
+ {\tt \rawbackslash \frenchspacing #1}%
+ \null
+}
+\let\ttfont=\t
+\def\samp#1{`\tclose{#1}'\null}
+\setfont\keyrm\rmshape{8}{1000}
+\font\keysy=cmsy9
+\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{%
+ \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{%
+ \vbox{\hrule\kern-0.4pt
+ \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}%
+ \kern-0.4pt\hrule}%
+ \kern-.06em\raise0.4pt\hbox{\angleright}}}}
+% The old definition, with no lozenge:
+%\def\key #1{{\ttsl \nohyphenation \uppercase{#1}}\null}
+\def\ctrl #1{{\tt \rawbackslash \hat}#1}
+
+% @file, @option are the same as @samp.
+\let\file=\samp
+\let\option=\samp
+
+% @code is a modification of @t,
+% which makes spaces the same size as normal in the surrounding text.
+\def\tclose#1{%
+ {%
+ % Change normal interword space to be same as for the current font.
+ \spaceskip = \fontdimen2\font
+ %
+ % Switch to typewriter.
+ \tt
+ %
+ % But `\ ' produces the large typewriter interword space.
+ \def\ {{\spaceskip = 0pt{} }}%
+ %
+ % Turn off hyphenation.
+ \nohyphenation
+ %
+ \rawbackslash
+ \frenchspacing
+ #1%
+ }%
+ \null
+}
+
+% We *must* turn on hyphenation at `-' and `_' in \code.
+% Otherwise, it is too hard to avoid overfull hboxes
+% in the Emacs manual, the Library manual, etc.
+
+% Unfortunately, TeX uses one parameter (\hyphenchar) to control
+% both hyphenation at - and hyphenation within words.
+% We must therefore turn them both off (\tclose does that)
+% and arrange explicitly to hyphenate at a dash.
+% -- rms.
+{
+ \catcode`\-=\active
+ \catcode`\_=\active
+ %
+ \global\def\code{\begingroup
+ \catcode`\-=\active \let-\codedash
+ \catcode`\_=\active \let_\codeunder
+ \codex
+ }
+ %
+ % If we end up with any active - characters when handling the index,
+ % just treat them as a normal -.
+ \global\def\indexbreaks{\catcode`\-=\active \let-\realdash}
+}
+
+\def\realdash{-}
+\def\codedash{-\discretionary{}{}{}}
+\def\codeunder{\ifusingtt{\normalunderscore\discretionary{}{}{}}{\_}}
+\def\codex #1{\tclose{#1}\endgroup}
+
+%\let\exp=\tclose %Was temporary
+
+% @kbd is like @code, except that if the argument is just one @key command,
+% then @kbd has no effect.
+
+% @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always),
+% `example' (@kbd uses ttsl only inside of @example and friends),
+% or `code' (@kbd uses normal tty font always).
+\def\kbdinputstyle{\parsearg\kbdinputstylexxx}
+\def\kbdinputstylexxx#1{%
+ \def\arg{#1}%
+ \ifx\arg\worddistinct
+ \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\ttsl}%
+ \else\ifx\arg\wordexample
+ \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\tt}%
+ \else\ifx\arg\wordcode
+ \gdef\kbdexamplefont{\tt}\gdef\kbdfont{\tt}%
+ \fi\fi\fi
+}
+\def\worddistinct{distinct}
+\def\wordexample{example}
+\def\wordcode{code}
+
+% Default is kbdinputdistinct. (Too much of a hassle to call the macro,
+% the catcodes are wrong for parsearg to work.)
+\gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\ttsl}
+
+\def\xkey{\key}
+\def\kbdfoo#1#2#3\par{\def\one{#1}\def\three{#3}\def\threex{??}%
+\ifx\one\xkey\ifx\threex\three \key{#2}%
+\else{\tclose{\kbdfont\look}}\fi
+\else{\tclose{\kbdfont\look}}\fi}
+
+% For @url, @env, @command quotes seem unnecessary, so use \code.
+\let\url=\code
+\let\env=\code
+\let\command=\code
+
+% @uref (abbreviation for `urlref') takes an optional (comma-separated)
+% second argument specifying the text to display and an optional third
+% arg as text to display instead of (rather than in addition to) the url
+% itself. First (mandatory) arg is the url. Perhaps eventually put in
+% a hypertex \special here.
+%
+\def\uref#1{\douref #1,,,\finish}
+\def\douref#1,#2,#3,#4\finish{\begingroup
+ \unsepspaces
+ \pdfurl{#1}%
+ \setbox0 = \hbox{\ignorespaces #3}%
+ \ifdim\wd0 > 0pt
+ \unhbox0 % third arg given, show only that
+ \else
+ \setbox0 = \hbox{\ignorespaces #2}%
+ \ifdim\wd0 > 0pt
+ \ifpdf
+ \unhbox0 % PDF: 2nd arg given, show only it
+ \else
+ \unhbox0\ (\code{#1})% DVI: 2nd arg given, show both it and url
+ \fi
+ \else
+ \code{#1}% only url given, so show it
+ \fi
+ \fi
+ \endlink
+\endgroup}
+
+% rms does not like angle brackets --karl, 17may97.
+% So now @email is just like @uref, unless we are pdf.
+%
+%\def\email#1{\angleleft{\tt #1}\angleright}
+\ifpdf
+ \def\email#1{\doemail#1,,\finish}
+ \def\doemail#1,#2,#3\finish{\begingroup
+ \unsepspaces
+ \pdfurl{mailto:#1}%
+ \setbox0 = \hbox{\ignorespaces #2}%
+ \ifdim\wd0>0pt\unhbox0\else\code{#1}\fi
+ \endlink
+ \endgroup}
+\else
+ \let\email=\uref
+\fi
+
+% Check if we are currently using a typewriter font. Since all the
+% Computer Modern typewriter fonts have zero interword stretch (and
+% shrink), and it is reasonable to expect all typewriter fonts to have
+% this property, we can check that font parameter.
+%
+\def\ifmonospace{\ifdim\fontdimen3\font=0pt }
+
+% Typeset a dimension, e.g., `in' or `pt'. The only reason for the
+% argument is to make the input look right: @dmn{pt} instead of @dmn{}pt.
+%
+\def\dmn#1{\thinspace #1}
+
+\def\kbd#1{\def\look{#1}\expandafter\kbdfoo\look??\par}
+
+% @l was never documented to mean ``switch to the Lisp font'',
+% and it is not used as such in any manual I can find. We need it for
+% Polish suppressed-l. --karl, 22sep96.
+%\def\l#1{{\li #1}\null}
+
+% Explicit font changes: @r, @sc, undocumented @ii.
+\def\r#1{{\rm #1}} % roman font
+\def\sc#1{{\smallcaps#1}} % smallcaps font
+\def\ii#1{{\it #1}} % italic font
+
+% @acronym downcases the argument and prints in smallcaps.
+\def\acronym#1{{\smallcaps \lowercase{#1}}}
+
+% @pounds{} is a sterling sign.
+\def\pounds{{\it\$}}
+
+
+\message{page headings,}
+
+\newskip\titlepagetopglue \titlepagetopglue = 1.5in
+\newskip\titlepagebottomglue \titlepagebottomglue = 2pc
+
+% First the title page. Must do @settitle before @titlepage.
+\newif\ifseenauthor
+\newif\iffinishedtitlepage
+
+% Do an implicit @contents or @shortcontents after @end titlepage if the
+% user says @setcontentsaftertitlepage or @setshortcontentsaftertitlepage.
+%
+\newif\ifsetcontentsaftertitlepage
+ \let\setcontentsaftertitlepage = \setcontentsaftertitlepagetrue
+\newif\ifsetshortcontentsaftertitlepage
+ \let\setshortcontentsaftertitlepage = \setshortcontentsaftertitlepagetrue
+
+\def\shorttitlepage{\parsearg\shorttitlepagezzz}
+\def\shorttitlepagezzz #1{\begingroup\hbox{}\vskip 1.5in \chaprm \centerline{#1}%
+ \endgroup\page\hbox{}\page}
+
+\def\titlepage{\begingroup \parindent=0pt \textfonts
+ \let\subtitlerm=\tenrm
+ \def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines}%
+ %
+ \def\authorfont{\authorrm \normalbaselineskip = 16pt \normalbaselines}%
+ %
+ % Leave some space at the very top of the page.
+ \vglue\titlepagetopglue
+ %
+ % Now you can print the title using @title.
+ \def\title{\parsearg\titlezzz}%
+ \def\titlezzz##1{\leftline{\titlefonts\rm ##1}
+ % print a rule at the page bottom also.
+ \finishedtitlepagefalse
+ \vskip4pt \hrule height 4pt width \hsize \vskip4pt}%
+ % No rule at page bottom unless we print one at the top with @title.
+ \finishedtitlepagetrue
+ %
+ % Now you can put text using @subtitle.
+ \def\subtitle{\parsearg\subtitlezzz}%
+ \def\subtitlezzz##1{{\subtitlefont \rightline{##1}}}%
+ %
+ % @author should come last, but may come many times.
+ \def\author{\parsearg\authorzzz}%
+ \def\authorzzz##1{\ifseenauthor\else\vskip 0pt plus 1filll\seenauthortrue\fi
+ {\authorfont \leftline{##1}}}%
+ %
+ % Most title ``pages'' are actually two pages long, with space
+ % at the top of the second. We don't want the ragged left on the second.
+ \let\oldpage = \page
+ \def\page{%
+ \iffinishedtitlepage\else
+ \finishtitlepage
+ \fi
+ \oldpage
+ \let\page = \oldpage
+ \hbox{}}%
+% \def\page{\oldpage \hbox{}}
+}
+
+\def\Etitlepage{%
+ \iffinishedtitlepage\else
+ \finishtitlepage
+ \fi
+ % It is important to do the page break before ending the group,
+ % because the headline and footline are only empty inside the group.
+ % If we use the new definition of \page, we always get a blank page
+ % after the title page, which we certainly don't want.
+ \oldpage
+ \endgroup
+ %
+ % If they want short, they certainly want long too.
+ \ifsetshortcontentsaftertitlepage
+ \shortcontents
+ \contents
+ \global\let\shortcontents = \relax
+ \global\let\contents = \relax
+ \fi
+ %
+ \ifsetcontentsaftertitlepage
+ \contents
+ \global\let\contents = \relax
+ \global\let\shortcontents = \relax
+ \fi
+ %
+ \ifpdf \pdfmakepagedesttrue \fi
+ %
+ \HEADINGSon
+}
+
+\def\finishtitlepage{%
+ \vskip4pt \hrule height 2pt width \hsize
+ \vskip\titlepagebottomglue
+ \finishedtitlepagetrue
+}
+
+%%% Set up page headings and footings.
+
+\let\thispage=\folio
+
+\newtoks\evenheadline % headline on even pages
+\newtoks\oddheadline % headline on odd pages
+\newtoks\evenfootline % footline on even pages
+\newtoks\oddfootline % footline on odd pages
+
+% Now make Tex use those variables
+\headline={{\textfonts\rm \ifodd\pageno \the\oddheadline
+ \else \the\evenheadline \fi}}
+\footline={{\textfonts\rm \ifodd\pageno \the\oddfootline
+ \else \the\evenfootline \fi}\HEADINGShook}
+\let\HEADINGShook=\relax
+
+% Commands to set those variables.
+% For example, this is what @headings on does
+% @evenheading @thistitle|@thispage|@thischapter
+% @oddheading @thischapter|@thispage|@thistitle
+% @evenfooting @thisfile||
+% @oddfooting ||@thisfile
+
+\def\evenheading{\parsearg\evenheadingxxx}
+\def\oddheading{\parsearg\oddheadingxxx}
+\def\everyheading{\parsearg\everyheadingxxx}
+
+\def\evenfooting{\parsearg\evenfootingxxx}
+\def\oddfooting{\parsearg\oddfootingxxx}
+\def\everyfooting{\parsearg\everyfootingxxx}
+
+{\catcode`\@=0 %
+
+\gdef\evenheadingxxx #1{\evenheadingyyy #1@|@|@|@|\finish}
+\gdef\evenheadingyyy #1@|#2@|#3@|#4\finish{%
+\global\evenheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
+
+\gdef\oddheadingxxx #1{\oddheadingyyy #1@|@|@|@|\finish}
+\gdef\oddheadingyyy #1@|#2@|#3@|#4\finish{%
+\global\oddheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
+
+\gdef\everyheadingxxx#1{\oddheadingxxx{#1}\evenheadingxxx{#1}}%
+
+\gdef\evenfootingxxx #1{\evenfootingyyy #1@|@|@|@|\finish}
+\gdef\evenfootingyyy #1@|#2@|#3@|#4\finish{%
+\global\evenfootline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
+
+\gdef\oddfootingxxx #1{\oddfootingyyy #1@|@|@|@|\finish}
+\gdef\oddfootingyyy #1@|#2@|#3@|#4\finish{%
+ \global\oddfootline = {\rlap{\centerline{#2}}\line{#1\hfil#3}}%
+ %
+ % Leave some space for the footline. Hopefully ok to assume
+ % @evenfooting will not be used by itself.
+ \global\advance\pageheight by -\baselineskip
+ \global\advance\vsize by -\baselineskip
+}
+
+\gdef\everyfootingxxx#1{\oddfootingxxx{#1}\evenfootingxxx{#1}}
+%
+}% unbind the catcode of @.
+
+% @headings double turns headings on for double-sided printing.
+% @headings single turns headings on for single-sided printing.
+% @headings off turns them off.
+% @headings on same as @headings double, retained for compatibility.
+% @headings after turns on double-sided headings after this page.
+% @headings doubleafter turns on double-sided headings after this page.
+% @headings singleafter turns on single-sided headings after this page.
+% By default, they are off at the start of a document,
+% and turned `on' after @end titlepage.
+
+\def\headings #1 {\csname HEADINGS#1\endcsname}
+
+\def\HEADINGSoff{
+\global\evenheadline={\hfil} \global\evenfootline={\hfil}
+\global\oddheadline={\hfil} \global\oddfootline={\hfil}}
+\HEADINGSoff
+% When we turn headings on, set the page number to 1.
+% For double-sided printing, put current file name in lower left corner,
+% chapter name on inside top of right hand pages, document
+% title on inside top of left hand pages, and page numbers on outside top
+% edge of all pages.
+\def\HEADINGSdouble{
+\global\pageno=1
+\global\evenfootline={\hfil}
+\global\oddfootline={\hfil}
+\global\evenheadline={\line{\folio\hfil\thistitle}}
+\global\oddheadline={\line{\thischapter\hfil\folio}}
+\global\let\contentsalignmacro = \chapoddpage
+}
+\let\contentsalignmacro = \chappager
+
+% For single-sided printing, chapter title goes across top left of page,
+% page number on top right.
+\def\HEADINGSsingle{
+\global\pageno=1
+\global\evenfootline={\hfil}
+\global\oddfootline={\hfil}
+\global\evenheadline={\line{\thischapter\hfil\folio}}
+\global\oddheadline={\line{\thischapter\hfil\folio}}
+\global\let\contentsalignmacro = \chappager
+}
+\def\HEADINGSon{\HEADINGSdouble}
+
+\def\HEADINGSafter{\let\HEADINGShook=\HEADINGSdoublex}
+\let\HEADINGSdoubleafter=\HEADINGSafter
+\def\HEADINGSdoublex{%
+\global\evenfootline={\hfil}
+\global\oddfootline={\hfil}
+\global\evenheadline={\line{\folio\hfil\thistitle}}
+\global\oddheadline={\line{\thischapter\hfil\folio}}
+\global\let\contentsalignmacro = \chapoddpage
+}
+
+\def\HEADINGSsingleafter{\let\HEADINGShook=\HEADINGSsinglex}
+\def\HEADINGSsinglex{%
+\global\evenfootline={\hfil}
+\global\oddfootline={\hfil}
+\global\evenheadline={\line{\thischapter\hfil\folio}}
+\global\oddheadline={\line{\thischapter\hfil\folio}}
+\global\let\contentsalignmacro = \chappager
+}
+
+% Subroutines used in generating headings
+% Produces Day Month Year style of output.
+\def\today{%
+ \number\day\space
+ \ifcase\month
+ \or\putwordMJan\or\putwordMFeb\or\putwordMMar\or\putwordMApr
+ \or\putwordMMay\or\putwordMJun\or\putwordMJul\or\putwordMAug
+ \or\putwordMSep\or\putwordMOct\or\putwordMNov\or\putwordMDec
+ \fi
+ \space\number\year}
+
+% @settitle line... specifies the title of the document, for headings.
+% It generates no output of its own.
+\def\thistitle{\putwordNoTitle}
+\def\settitle{\parsearg\settitlezzz}
+\def\settitlezzz #1{\gdef\thistitle{#1}}
+
+
+\message{tables,}
+% Tables -- @table, @ftable, @vtable, @item(x), @kitem(x), @xitem(x).
+
+% default indentation of table text
+\newdimen\tableindent \tableindent=.8in
+% default indentation of @itemize and @enumerate text
+\newdimen\itemindent \itemindent=.3in
+% margin between end of table item and start of table text.
+\newdimen\itemmargin \itemmargin=.1in
+
+% used internally for \itemindent minus \itemmargin
+\newdimen\itemmax
+
+% Note @table, @vtable, and @vtable define @item, @itemx, etc., with
+% these defs.
+% They also define \itemindex
+% to index the item name in whatever manner is desired (perhaps none).
+
+\newif\ifitemxneedsnegativevskip
+
+\def\itemxpar{\par\ifitemxneedsnegativevskip\nobreak\vskip-\parskip\nobreak\fi}
+
+\def\internalBitem{\smallbreak \parsearg\itemzzz}
+\def\internalBitemx{\itemxpar \parsearg\itemzzz}
+
+\def\internalBxitem "#1"{\def\xitemsubtopix{#1} \smallbreak \parsearg\xitemzzz}
+\def\internalBxitemx "#1"{\def\xitemsubtopix{#1} \itemxpar \parsearg\xitemzzz}
+
+\def\internalBkitem{\smallbreak \parsearg\kitemzzz}
+\def\internalBkitemx{\itemxpar \parsearg\kitemzzz}
+
+\def\kitemzzz #1{\dosubind {kw}{\code{#1}}{for {\bf \lastfunction}}%
+ \itemzzz {#1}}
+
+\def\xitemzzz #1{\dosubind {kw}{\code{#1}}{for {\bf \xitemsubtopic}}%
+ \itemzzz {#1}}
+
+\def\itemzzz #1{\begingroup %
+ \advance\hsize by -\rightskip
+ \advance\hsize by -\tableindent
+ \setbox0=\hbox{\itemfont{#1}}%
+ \itemindex{#1}%
+ \nobreak % This prevents a break before @itemx.
+ %
+ % If the item text does not fit in the space we have, put it on a line
+ % by itself, and do not allow a page break either before or after that
+ % line. We do not start a paragraph here because then if the next
+ % command is, e.g., @kindex, the whatsit would get put into the
+ % horizontal list on a line by itself, resulting in extra blank space.
+ \ifdim \wd0>\itemmax
+ %
+ % Make this a paragraph so we get the \parskip glue and wrapping,
+ % but leave it ragged-right.
+ \begingroup
+ \advance\leftskip by-\tableindent
+ \advance\hsize by\tableindent
+ \advance\rightskip by0pt plus1fil
+ \leavevmode\unhbox0\par
+ \endgroup
+ %
+ % We're going to be starting a paragraph, but we don't want the
+ % \parskip glue -- logically it's part of the @item we just started.
+ \nobreak \vskip-\parskip
+ %
+ % Stop a page break at the \parskip glue coming up. Unfortunately
+ % we can't prevent a possible page break at the following
+ % \baselineskip glue.
+ \nobreak
+ \endgroup
+ \itemxneedsnegativevskipfalse
+ \else
+ % The item text fits into the space. Start a paragraph, so that the
+ % following text (if any) will end up on the same line.
+ \noindent
+ % Do this with kerns and \unhbox so that if there is a footnote in
+ % the item text, it can migrate to the main vertical list and
+ % eventually be printed.
+ \nobreak\kern-\tableindent
+ \dimen0 = \itemmax \advance\dimen0 by \itemmargin \advance\dimen0 by -\wd0
+ \unhbox0
+ \nobreak\kern\dimen0
+ \endgroup
+ \itemxneedsnegativevskiptrue
+ \fi
+}
+
+\def\item{\errmessage{@item while not in a table}}
+\def\itemx{\errmessage{@itemx while not in a table}}
+\def\kitem{\errmessage{@kitem while not in a table}}
+\def\kitemx{\errmessage{@kitemx while not in a table}}
+\def\xitem{\errmessage{@xitem while not in a table}}
+\def\xitemx{\errmessage{@xitemx while not in a table}}
+
+% Contains a kludge to get @end[description] to work.
+\def\description{\tablez{\dontindex}{1}{}{}{}{}}
+
+% @table, @ftable, @vtable.
+\def\table{\begingroup\inENV\obeylines\obeyspaces\tablex}
+{\obeylines\obeyspaces%
+\gdef\tablex #1^^M{%
+\tabley\dontindex#1 \endtabley}}
+
+\def\ftable{\begingroup\inENV\obeylines\obeyspaces\ftablex}
+{\obeylines\obeyspaces%
+\gdef\ftablex #1^^M{%
+\tabley\fnitemindex#1 \endtabley
+\def\Eftable{\endgraf\afterenvbreak\endgroup}%
+\let\Etable=\relax}}
+
+\def\vtable{\begingroup\inENV\obeylines\obeyspaces\vtablex}
+{\obeylines\obeyspaces%
+\gdef\vtablex #1^^M{%
+\tabley\vritemindex#1 \endtabley
+\def\Evtable{\endgraf\afterenvbreak\endgroup}%
+\let\Etable=\relax}}
+
+\def\dontindex #1{}
+\def\fnitemindex #1{\doind {fn}{\code{#1}}}%
+\def\vritemindex #1{\doind {vr}{\code{#1}}}%
+
+{\obeyspaces %
+\gdef\tabley#1#2 #3 #4 #5 #6 #7\endtabley{\endgroup%
+\tablez{#1}{#2}{#3}{#4}{#5}{#6}}}
+
+\def\tablez #1#2#3#4#5#6{%
+\aboveenvbreak %
+\begingroup %
+\def\Edescription{\Etable}% Necessary kludge.
+\let\itemindex=#1%
+\ifnum 0#3>0 \advance \leftskip by #3\mil \fi %
+\ifnum 0#4>0 \tableindent=#4\mil \fi %
+\ifnum 0#5>0 \advance \rightskip by #5\mil \fi %
+\def\itemfont{#2}%
+\itemmax=\tableindent %
+\advance \itemmax by -\itemmargin %
+\advance \leftskip by \tableindent %
+\exdentamount=\tableindent
+\parindent = 0pt
+\parskip = \smallskipamount
+\ifdim \parskip=0pt \parskip=2pt \fi%
+\def\Etable{\endgraf\afterenvbreak\endgroup}%
+\let\item = \internalBitem %
+\let\itemx = \internalBitemx %
+\let\kitem = \internalBkitem %
+\let\kitemx = \internalBkitemx %
+\let\xitem = \internalBxitem %
+\let\xitemx = \internalBxitemx %
+}
+
+% This is the counter used by @enumerate, which is really @itemize
+
+\newcount \itemno
+
+\def\itemize{\parsearg\itemizezzz}
+
+\def\itemizezzz #1{%
+ \begingroup % ended by the @end itemize
+ \itemizey {#1}{\Eitemize}
+}
+
+\def\itemizey #1#2{%
+\aboveenvbreak %
+\itemmax=\itemindent %
+\advance \itemmax by -\itemmargin %
+\advance \leftskip by \itemindent %
+\exdentamount=\itemindent
+\parindent = 0pt %
+\parskip = \smallskipamount %
+\ifdim \parskip=0pt \parskip=2pt \fi%
+\def#2{\endgraf\afterenvbreak\endgroup}%
+\def\itemcontents{#1}%
+\let\item=\itemizeitem}
+
+% Set sfcode to normal for the chars that usually have another value.
+% These are `.?!:;,'
+\def\frenchspacing{\sfcode46=1000 \sfcode63=1000 \sfcode33=1000
+ \sfcode58=1000 \sfcode59=1000 \sfcode44=1000 }
+
+% \splitoff TOKENS\endmark defines \first to be the first token in
+% TOKENS, and \rest to be the remainder.
+%
+\def\splitoff#1#2\endmark{\def\first{#1}\def\rest{#2}}%
+
+% Allow an optional argument of an uppercase letter, lowercase letter,
+% or number, to specify the first label in the enumerated list. No
+% argument is the same as `1'.
+%
+\def\enumerate{\parsearg\enumeratezzz}
+\def\enumeratezzz #1{\enumeratey #1 \endenumeratey}
+\def\enumeratey #1 #2\endenumeratey{%
+ \begingroup % ended by the @end enumerate
+ %
+ % If we were given no argument, pretend we were given `1'.
+ \def\thearg{#1}%
+ \ifx\thearg\empty \def\thearg{1}\fi
+ %
+ % Detect if the argument is a single token. If so, it might be a
+ % letter. Otherwise, the only valid thing it can be is a number.
+ % (We will always have one token, because of the test we just made.
+ % This is a good thing, since \splitoff doesn't work given nothing at
+ % all -- the first parameter is undelimited.)
+ \expandafter\splitoff\thearg\endmark
+ \ifx\rest\empty
+ % Only one token in the argument. It could still be anything.
+ % A ``lowercase letter'' is one whose \lccode is nonzero.
+ % An ``uppercase letter'' is one whose \lccode is both nonzero, and
+ % not equal to itself.
+ % Otherwise, we assume it's a number.
+ %
+ % We need the \relax at the end of the \ifnum lines to stop TeX from
+ % continuing to look for a <number>.
+ %
+ \ifnum\lccode\expandafter`\thearg=0\relax
+ \numericenumerate % a number (we hope)
+ \else
+ % It's a letter.
+ \ifnum\lccode\expandafter`\thearg=\expandafter`\thearg\relax
+ \lowercaseenumerate % lowercase letter
+ \else
+ \uppercaseenumerate % uppercase letter
+ \fi
+ \fi
+ \else
+ % Multiple tokens in the argument. We hope it's a number.
+ \numericenumerate
+ \fi
+}
+
+% An @enumerate whose labels are integers. The starting integer is
+% given in \thearg.
+%
+\def\numericenumerate{%
+ \itemno = \thearg
+ \startenumeration{\the\itemno}%
+}
+
+% The starting (lowercase) letter is in \thearg.
+\def\lowercaseenumerate{%
+ \itemno = \expandafter`\thearg
+ \startenumeration{%
+ % Be sure we're not beyond the end of the alphabet.
+ \ifnum\itemno=0
+ \errmessage{No more lowercase letters in @enumerate; get a bigger
+ alphabet}%
+ \fi
+ \char\lccode\itemno
+ }%
+}
+
+% The starting (uppercase) letter is in \thearg.
+\def\uppercaseenumerate{%
+ \itemno = \expandafter`\thearg
+ \startenumeration{%
+ % Be sure we're not beyond the end of the alphabet.
+ \ifnum\itemno=0
+ \errmessage{No more uppercase letters in @enumerate; get a bigger
+ alphabet}
+ \fi
+ \char\uccode\itemno
+ }%
+}
+
+% Call itemizey, adding a period to the first argument and supplying the
+% common last two arguments. Also subtract one from the initial value in
+% \itemno, since @item increments \itemno.
+%
+\def\startenumeration#1{%
+ \advance\itemno by -1
+ \itemizey{#1.}\Eenumerate\flushcr
+}
+
+% @alphaenumerate and @capsenumerate are abbreviations for giving an arg
+% to @enumerate.
+%
+\def\alphaenumerate{\enumerate{a}}
+\def\capsenumerate{\enumerate{A}}
+\def\Ealphaenumerate{\Eenumerate}
+\def\Ecapsenumerate{\Eenumerate}
+
+% Definition of @item while inside @itemize.
+
+\def\itemizeitem{%
+\advance\itemno by 1
+{\let\par=\endgraf \smallbreak}%
+\ifhmode \errmessage{In hmode at itemizeitem}\fi
+{\parskip=0in \hskip 0pt
+\hbox to 0pt{\hss \itemcontents\hskip \itemmargin}%
+\vadjust{\penalty 1200}}%
+\flushcr}
+
+% @multitable macros
+% Amy Hendrickson, 8/18/94, 3/6/96
+%
+% @multitable ... @end multitable will make as many columns as desired.
+% Contents of each column will wrap at width given in preamble. Width
+% can be specified either with sample text given in a template line,
+% or in percent of \hsize, the current width of text on page.
+
+% Table can continue over pages but will only break between lines.
+
+% To make preamble:
+%
+% Either define widths of columns in terms of percent of \hsize:
+% @multitable @columnfractions .25 .3 .45
+% @item ...
+%
+% Numbers following @columnfractions are the percent of the total
+% current hsize to be used for each column. You may use as many
+% columns as desired.
+
+
+% Or use a template:
+% @multitable {Column 1 template} {Column 2 template} {Column 3 template}
+% @item ...
+% using the widest term desired in each column.
+%
+% For those who want to use more than one line's worth of words in
+% the preamble, break the line within one argument and it
+% will parse correctly, i.e.,
+%
+% @multitable {Column 1 template} {Column 2 template} {Column 3
+% template}
+% Not:
+% @multitable {Column 1 template} {Column 2 template}
+% {Column 3 template}
+
+% Each new table line starts with @item, each subsequent new column
+% starts with @tab. Empty columns may be produced by supplying @tab's
+% with nothing between them for as many times as empty columns are needed,
+% ie, @tab@tab@tab will produce two empty columns.
+
+% @item, @tab, @multitable or @end multitable do not need to be on their
+% own lines, but it will not hurt if they are.
+
+% Sample multitable:
+
+% @multitable {Column 1 template} {Column 2 template} {Column 3 template}
+% @item first col stuff @tab second col stuff @tab third col
+% @item
+% first col stuff
+% @tab
+% second col stuff
+% @tab
+% third col
+% @item first col stuff @tab second col stuff
+% @tab Many paragraphs of text may be used in any column.
+%
+% They will wrap at the width determined by the template.
+% @item@tab@tab This will be in third column.
+% @end multitable
+
+% Default dimensions may be reset by user.
+% @multitableparskip is vertical space between paragraphs in table.
+% @multitableparindent is paragraph indent in table.
+% @multitablecolmargin is horizontal space to be left between columns.
+% @multitablelinespace is space to leave between table items, baseline
+% to baseline.
+% 0pt means it depends on current normal line spacing.
+%
+\newskip\multitableparskip
+\newskip\multitableparindent
+\newdimen\multitablecolspace
+\newskip\multitablelinespace
+\multitableparskip=0pt
+\multitableparindent=6pt
+\multitablecolspace=12pt
+\multitablelinespace=0pt
+
+% Macros used to set up halign preamble:
+%
+\let\endsetuptable\relax
+\def\xendsetuptable{\endsetuptable}
+\let\columnfractions\relax
+\def\xcolumnfractions{\columnfractions}
+\newif\ifsetpercent
+
+% #1 is the part of the @columnfraction before the decimal point, which
+% is presumably either 0 or the empty string (but we don't check, we
+% just throw it away). #2 is the decimal part, which we use as the
+% percent of \hsize for this column.
+\def\pickupwholefraction#1.#2 {%
+ \global\advance\colcount by 1
+ \expandafter\xdef\csname col\the\colcount\endcsname{.#2\hsize}%
+ \setuptable
+}
+
+\newcount\colcount
+\def\setuptable#1{%
+ \def\firstarg{#1}%
+ \ifx\firstarg\xendsetuptable
+ \let\go = \relax
+ \else
+ \ifx\firstarg\xcolumnfractions
+ \global\setpercenttrue
+ \else
+ \ifsetpercent
+ \let\go\pickupwholefraction
+ \else
+ \global\advance\colcount by 1
+ \setbox0=\hbox{#1\unskip }% Add a normal word space as a separator;
+ % typically that is always in the input, anyway.
+ \expandafter\xdef\csname col\the\colcount\endcsname{\the\wd0}%
+ \fi
+ \fi
+ \ifx\go\pickupwholefraction
+ % Put the argument back for the \pickupwholefraction call, so
+ % we'll always have a period there to be parsed.
+ \def\go{\pickupwholefraction#1}%
+ \else
+ \let\go = \setuptable
+ \fi%
+ \fi
+ \go
+}
+
+% This used to have \hskip1sp. But then the space in a template line is
+% not enough. That is bad. So let's go back to just & until we
+% encounter the problem it was intended to solve again.
+% --karl, nathan@acm.org, 20apr99.
+\def\tab{&}
+
+% @multitable ... @end multitable definitions:
+%
+\def\multitable{\parsearg\dotable}
+\def\dotable#1{\bgroup
+ \vskip\parskip
+ \let\item\crcr
+ \tolerance=9500
+ \hbadness=9500
+ \setmultitablespacing
+ \parskip=\multitableparskip
+ \parindent=\multitableparindent
+ \overfullrule=0pt
+ \global\colcount=0
+ \def\Emultitable{\global\setpercentfalse\cr\egroup\egroup}%
+ %
+ % To parse everything between @multitable and @item:
+ \setuptable#1 \endsetuptable
+ %
+ % \everycr will reset column counter, \colcount, at the end of
+ % each line. Every column entry will cause \colcount to advance by one.
+ % The table preamble
+ % looks at the current \colcount to find the correct column width.
+ \everycr{\noalign{%
+ %
+ % \filbreak%% keeps underfull box messages off when table breaks over pages.
+ % Maybe so, but it also creates really weird page breaks when the table
+ % breaks over pages. Wouldn't \vfil be better? Wait until the problem
+ % manifests itself, so it can be fixed for real --karl.
+ \global\colcount=0\relax}}%
+ %
+ % This preamble sets up a generic column definition, which will
+ % be used as many times as user calls for columns.
+ % \vtop will set a single line and will also let text wrap and
+ % continue for many paragraphs if desired.
+ \halign\bgroup&\global\advance\colcount by 1\relax
+ \multistrut\vtop{\hsize=\expandafter\csname col\the\colcount\endcsname
+ %
+ % In order to keep entries from bumping into each other
+ % we will add a \leftskip of \multitablecolspace to all columns after
+ % the first one.
+ %
+ % If a template has been used, we will add \multitablecolspace
+ % to the width of each template entry.
+ %
+ % If the user has set preamble in terms of percent of \hsize we will
+ % use that dimension as the width of the column, and the \leftskip
+ % will keep entries from bumping into each other. Table will start at
+ % left margin and final column will justify at right margin.
+ %
+ % Make sure we don't inherit \rightskip from the outer environment.
+ \rightskip=0pt
+ \ifnum\colcount=1
+ % The first column will be indented with the surrounding text.
+ \advance\hsize by\leftskip
+ \else
+ \ifsetpercent \else
+ % If user has not set preamble in terms of percent of \hsize
+ % we will advance \hsize by \multitablecolspace.
+ \advance\hsize by \multitablecolspace
+ \fi
+ % In either case we will make \leftskip=\multitablecolspace:
+ \leftskip=\multitablecolspace
+ \fi
+ % Ignoring space at the beginning and end avoids an occasional spurious
+ % blank line, when TeX decides to break the line at the space before the
+ % box from the multistrut, so the strut ends up on a line by itself.
+ % For example:
+ % @multitable @columnfractions .11 .89
+ % @item @code{#}
+ % @tab Legal holiday which is valid in major parts of the whole country.
+ % Is automatically provided with highlighting sequences respectively marking
+ % characters.
+ \noindent\ignorespaces##\unskip\multistrut}\cr
+}
+
+\def\setmultitablespacing{% test to see if user has set \multitablelinespace.
+% If so, do nothing. If not, give it an appropriate dimension based on
+% current baselineskip.
+\ifdim\multitablelinespace=0pt
+\setbox0=\vbox{X}\global\multitablelinespace=\the\baselineskip
+\global\advance\multitablelinespace by-\ht0
+%% strut to put in table in case some entry doesn't have descenders,
+%% to keep lines equally spaced
+\let\multistrut = \strut
+\else
+%% FIXME: what is \box0 supposed to be?
+\gdef\multistrut{\vrule height\multitablelinespace depth\dp0
+width0pt\relax} \fi
+%% Test to see if parskip is larger than space between lines of
+%% table. If not, do nothing.
+%% If so, set to same dimension as multitablelinespace.
+\ifdim\multitableparskip>\multitablelinespace
+\global\multitableparskip=\multitablelinespace
+\global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller
+ %% than skip between lines in the table.
+\fi%
+\ifdim\multitableparskip=0pt
+\global\multitableparskip=\multitablelinespace
+\global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller
+ %% than skip between lines in the table.
+\fi}
+
+
+\message{conditionals,}
+% Prevent errors for section commands.
+% Used in @ignore and in failing conditionals.
+\def\ignoresections{%
+ \let\chapter=\relax
+ \let\unnumbered=\relax
+ \let\top=\relax
+ \let\unnumberedsec=\relax
+ \let\unnumberedsection=\relax
+ \let\unnumberedsubsec=\relax
+ \let\unnumberedsubsection=\relax
+ \let\unnumberedsubsubsec=\relax
+ \let\unnumberedsubsubsection=\relax
+ \let\section=\relax
+ \let\subsec=\relax
+ \let\subsubsec=\relax
+ \let\subsection=\relax
+ \let\subsubsection=\relax
+ \let\appendix=\relax
+ \let\appendixsec=\relax
+ \let\appendixsection=\relax
+ \let\appendixsubsec=\relax
+ \let\appendixsubsection=\relax
+ \let\appendixsubsubsec=\relax
+ \let\appendixsubsubsection=\relax
+ \let\contents=\relax
+ \let\smallbook=\relax
+ \let\titlepage=\relax
+}
+
+% Used in nested conditionals, where we have to parse the Texinfo source
+% and so want to turn off most commands, in case they are used
+% incorrectly.
+%
+\def\ignoremorecommands{%
+ \let\defcodeindex = \relax
+ \let\defcv = \relax
+ \let\deffn = \relax
+ \let\deffnx = \relax
+ \let\defindex = \relax
+ \let\defivar = \relax
+ \let\defmac = \relax
+ \let\defmethod = \relax
+ \let\defop = \relax
+ \let\defopt = \relax
+ \let\defspec = \relax
+ \let\deftp = \relax
+ \let\deftypefn = \relax
+ \let\deftypefun = \relax
+ \let\deftypeivar = \relax
+ \let\deftypeop = \relax
+ \let\deftypevar = \relax
+ \let\deftypevr = \relax
+ \let\defun = \relax
+ \let\defvar = \relax
+ \let\defvr = \relax
+ \let\ref = \relax
+ \let\xref = \relax
+ \let\printindex = \relax
+ \let\pxref = \relax
+ \let\settitle = \relax
+ \let\setchapternewpage = \relax
+ \let\setchapterstyle = \relax
+ \let\everyheading = \relax
+ \let\evenheading = \relax
+ \let\oddheading = \relax
+ \let\everyfooting = \relax
+ \let\evenfooting = \relax
+ \let\oddfooting = \relax
+ \let\headings = \relax
+ \let\include = \relax
+ \let\lowersections = \relax
+ \let\down = \relax
+ \let\raisesections = \relax
+ \let\up = \relax
+ \let\set = \relax
+ \let\clear = \relax
+ \let\item = \relax
+}
+
+% Ignore @ignore ... @end ignore.
+%
+\def\ignore{\doignore{ignore}}
+
+% Ignore @ifinfo, @ifhtml, @ifnottex, @html, @menu, and @direntry text.
+%
+\def\ifinfo{\doignore{ifinfo}}
+\def\ifhtml{\doignore{ifhtml}}
+\def\ifnottex{\doignore{ifnottex}}
+\def\html{\doignore{html}}
+\def\menu{\doignore{menu}}
+\def\direntry{\doignore{direntry}}
+
+% @dircategory CATEGORY -- specify a category of the dir file
+% which this file should belong to. Ignore this in TeX.
+\let\dircategory = \comment
+
+% Ignore text until a line `@end #1'.
+%
+\def\doignore#1{\begingroup
+ % Don't complain about control sequences we have declared \outer.
+ \ignoresections
+ %
+ % Define a command to swallow text until we reach `@end #1'.
+ % This @ is a catcode 12 token (that is the normal catcode of @ in
+ % this texinfo.tex file). We change the catcode of @ below to match.
+ \long\def\doignoretext##1@end #1{\enddoignore}%
+ %
+ % Make sure that spaces turn into tokens that match what \doignoretext wants.
+ \catcode32 = 10
+ %
+ % Ignore braces, too, so mismatched braces don't cause trouble.
+ \catcode`\{ = 9
+ \catcode`\} = 9
+ %
+ % We must not have @c interpreted as a control sequence.
+ \catcode`\@ = 12
+ %
+ % Make the letter c a comment character so that the rest of the line
+ % will be ignored. This way, the document can have (for example)
+ % @c @end ifinfo
+ % and the @end ifinfo will be properly ignored.
+ % (We've just changed @ to catcode 12.)
+ \catcode`\c = 14
+ %
+ % And now expand that command.
+ \doignoretext
+}
+
+% What we do to finish off ignored text.
+%
+\def\enddoignore{\endgroup\ignorespaces}%
+
+\newif\ifwarnedobs\warnedobsfalse
+\def\obstexwarn{%
+ \ifwarnedobs\relax\else
+ % We need to warn folks that they may have trouble with TeX 3.0.
+ % This uses \immediate\write16 rather than \message to get newlines.
+ \immediate\write16{}
+ \immediate\write16{WARNING: for users of Unix TeX 3.0!}
+ \immediate\write16{This manual trips a bug in TeX version 3.0 (tex hangs).}
+ \immediate\write16{If you are running another version of TeX, relax.}
+ \immediate\write16{If you are running Unix TeX 3.0, kill this TeX process.}
+ \immediate\write16{ Then upgrade your TeX installation if you can.}
+ \immediate\write16{ (See ftp://ftp.gnu.org/pub/gnu/TeX.README.)}
+ \immediate\write16{If you are stuck with version 3.0, run the}
+ \immediate\write16{ script ``tex3patch'' from the Texinfo distribution}
+ \immediate\write16{ to use a workaround.}
+ \immediate\write16{}
+ \global\warnedobstrue
+ \fi
+}
+
+% **In TeX 3.0, setting text in \nullfont hangs tex. For a
+% workaround (which requires the file ``dummy.tfm'' to be installed),
+% uncomment the following line:
+%%%%%\font\nullfont=dummy\let\obstexwarn=\relax
+
+% Ignore text, except that we keep track of conditional commands for
+% purposes of nesting, up to an `@end #1' command.
+%
+\def\nestedignore#1{%
+ \obstexwarn
+ % We must actually expand the ignored text to look for the @end
+ % command, so that nested ignore constructs work. Thus, we put the
+ % text into a \vbox and then do nothing with the result. To minimize
+ % the change of memory overflow, we follow the approach outlined on
+ % page 401 of the TeXbook: make the current font be a dummy font.
+ %
+ \setbox0 = \vbox\bgroup
+ % Don't complain about control sequences we have declared \outer.
+ \ignoresections
+ %
+ % Define `@end #1' to end the box, which will in turn undefine the
+ % @end command again.
+ \expandafter\def\csname E#1\endcsname{\egroup\ignorespaces}%
+ %
+ % We are going to be parsing Texinfo commands. Most cause no
+ % trouble when they are used incorrectly, but some commands do
+ % complicated argument parsing or otherwise get confused, so we
+ % undefine them.
+ %
+ % We can't do anything about stray @-signs, unfortunately;
+ % they'll produce `undefined control sequence' errors.
+ \ignoremorecommands
+ %
+ % Set the current font to be \nullfont, a TeX primitive, and define
+ % all the font commands to also use \nullfont. We don't use
+ % dummy.tfm, as suggested in the TeXbook, because not all sites
+ % might have that installed. Therefore, math mode will still
+ % produce output, but that should be an extremely small amount of
+ % stuff compared to the main input.
+ %
+ \nullfont
+ \let\tenrm=\nullfont \let\tenit=\nullfont \let\tensl=\nullfont
+ \let\tenbf=\nullfont \let\tentt=\nullfont \let\smallcaps=\nullfont
+ \let\tensf=\nullfont
+ % Similarly for index fonts (mostly for their use in smallexample).
+ \let\smallrm=\nullfont \let\smallit=\nullfont \let\smallsl=\nullfont
+ \let\smallbf=\nullfont \let\smalltt=\nullfont \let\smallsc=\nullfont
+ \let\smallsf=\nullfont
+ %
+ % Don't complain when characters are missing from the fonts.
+ \tracinglostchars = 0
+ %
+ % Don't bother to do space factor calculations.
+ \frenchspacing
+ %
+ % Don't report underfull hboxes.
+ \hbadness = 10000
+ %
+ % Do minimal line-breaking.
+ \pretolerance = 10000
+ %
+ % Do not execute instructions in @tex
+ \def\tex{\doignore{tex}}%
+ % Do not execute macro definitions.
+ % `c' is a comment character, so the word `macro' will get cut off.
+ \def\macro{\doignore{ma}}%
+}
+
+% @set VAR sets the variable VAR to an empty value.
+% @set VAR REST-OF-LINE sets VAR to the value REST-OF-LINE.
+%
+% Since we want to separate VAR from REST-OF-LINE (which might be
+% empty), we can't just use \parsearg; we have to insert a space of our
+% own to delimit the rest of the line, and then take it out again if we
+% didn't need it. Make sure the catcode of space is correct to avoid
+% losing inside @example, for instance.
+%
+\def\set{\begingroup\catcode` =10
+ \catcode`\-=12 \catcode`\_=12 % Allow - and _ in VAR.
+ \parsearg\setxxx}
+\def\setxxx#1{\setyyy#1 \endsetyyy}
+\def\setyyy#1 #2\endsetyyy{%
+ \def\temp{#2}%
+ \ifx\temp\empty \global\expandafter\let\csname SET#1\endcsname = \empty
+ \else \setzzz{#1}#2\endsetzzz % Remove the trailing space \setxxx inserted.
+ \fi
+ \endgroup
+}
+% Can't use \xdef to pre-expand #2 and save some time, since \temp or
+% \next or other control sequences that we've defined might get us into
+% an infinite loop. Consider `@set foo @cite{bar}'.
+\def\setzzz#1#2 \endsetzzz{\expandafter\gdef\csname SET#1\endcsname{#2}}
+
+% @clear VAR clears (i.e., unsets) the variable VAR.
+%
+\def\clear{\parsearg\clearxxx}
+\def\clearxxx#1{\global\expandafter\let\csname SET#1\endcsname=\relax}
+
+% @value{foo} gets the text saved in variable foo.
+{
+ \catcode`\_ = \active
+ %
+ % We might end up with active _ or - characters in the argument if
+ % we're called from @code, as @code{@value{foo-bar_}}. So \let any
+ % such active characters to their normal equivalents.
+ \gdef\value{\begingroup
+ \catcode`\-=12 \catcode`\_=12
+ \indexbreaks \let_\normalunderscore
+ \valuexxx}
+}
+\def\valuexxx#1{\expandablevalue{#1}\endgroup}
+
+% We have this subroutine so that we can handle at least some @value's
+% properly in indexes (we \let\value to this in \indexdummies). Ones
+% whose names contain - or _ still won't work, but we can't do anything
+% about that. The command has to be fully expandable, since the result
+% winds up in the index file. This means that if the variable's value
+% contains other Texinfo commands, it's almost certain it will fail
+% (although perhaps we could fix that with sufficient work to do a
+% one-level expansion on the result, instead of complete).
+%
+\def\expandablevalue#1{%
+ \expandafter\ifx\csname SET#1\endcsname\relax
+ {[No value for ``#1'']}%
+ \else
+ \csname SET#1\endcsname
+ \fi
+}
+
+% @ifset VAR ... @end ifset reads the `...' iff VAR has been defined
+% with @set.
+%
+\def\ifset{\parsearg\ifsetxxx}
+\def\ifsetxxx #1{%
+ \expandafter\ifx\csname SET#1\endcsname\relax
+ \expandafter\ifsetfail
+ \else
+ \expandafter\ifsetsucceed
+ \fi
+}
+\def\ifsetsucceed{\conditionalsucceed{ifset}}
+\def\ifsetfail{\nestedignore{ifset}}
+\defineunmatchedend{ifset}
+
+% @ifclear VAR ... @end ifclear reads the `...' iff VAR has never been
+% defined with @set, or has been undefined with @clear.
+%
+\def\ifclear{\parsearg\ifclearxxx}
+\def\ifclearxxx #1{%
+ \expandafter\ifx\csname SET#1\endcsname\relax
+ \expandafter\ifclearsucceed
+ \else
+ \expandafter\ifclearfail
+ \fi
+}
+\def\ifclearsucceed{\conditionalsucceed{ifclear}}
+\def\ifclearfail{\nestedignore{ifclear}}
+\defineunmatchedend{ifclear}
+
+% @iftex, @ifnothtml, @ifnotinfo always succeed; we read the text
+% following, through the first @end iftex (etc.). Make `@end iftex'
+% (etc.) valid only after an @iftex.
+%
+\def\iftex{\conditionalsucceed{iftex}}
+\def\ifnothtml{\conditionalsucceed{ifnothtml}}
+\def\ifnotinfo{\conditionalsucceed{ifnotinfo}}
+\defineunmatchedend{iftex}
+\defineunmatchedend{ifnothtml}
+\defineunmatchedend{ifnotinfo}
+
+% We can't just want to start a group at @iftex (for example) and end it
+% at @end iftex, since then @set commands inside the conditional have no
+% effect (they'd get reverted at the end of the group). So we must
+% define \Eiftex to redefine itself to be its previous value. (We can't
+% just define it to fail again with an ``unmatched end'' error, since
+% the @ifset might be nested.)
+%
+\def\conditionalsucceed#1{%
+ \edef\temp{%
+ % Remember the current value of \E#1.
+ \let\nece{prevE#1} = \nece{E#1}%
+ %
+ % At the `@end #1', redefine \E#1 to be its previous value.
+ \def\nece{E#1}{\let\nece{E#1} = \nece{prevE#1}}%
+ }%
+ \temp
+}
+
+% We need to expand lots of \csname's, but we don't want to expand the
+% control sequences after we've constructed them.
+%
+\def\nece#1{\expandafter\noexpand\csname#1\endcsname}
+
+% @defininfoenclose.
+\let\definfoenclose=\comment
+
+
+\message{indexing,}
+% Index generation facilities
+
+% Define \newwrite to be identical to plain tex's \newwrite
+% except not \outer, so it can be used within \newindex.
+{\catcode`\@=11
+\gdef\newwrite{\alloc@7\write\chardef\sixt@@n}}
+
+% \newindex {foo} defines an index named foo.
+% It automatically defines \fooindex such that
+% \fooindex ...rest of line... puts an entry in the index foo.
+% It also defines \fooindfile to be the number of the output channel for
+% the file that accumulates this index. The file's extension is foo.
+% The name of an index should be no more than 2 characters long
+% for the sake of vms.
+%
+\def\newindex#1{%
+ \iflinks
+ \expandafter\newwrite \csname#1indfile\endcsname
+ \openout \csname#1indfile\endcsname \jobname.#1 % Open the file
+ \fi
+ \expandafter\xdef\csname#1index\endcsname{% % Define @#1index
+ \noexpand\doindex{#1}}
+}
+
+% @defindex foo == \newindex{foo}
+
+\def\defindex{\parsearg\newindex}
+
+% Define @defcodeindex, like @defindex except put all entries in @code.
+
+\def\newcodeindex#1{%
+ \iflinks
+ \expandafter\newwrite \csname#1indfile\endcsname
+ \openout \csname#1indfile\endcsname \jobname.#1
+ \fi
+ \expandafter\xdef\csname#1index\endcsname{%
+ \noexpand\docodeindex{#1}}
+}
+
+\def\defcodeindex{\parsearg\newcodeindex}
+
+% @synindex foo bar makes index foo feed into index bar.
+% Do this instead of @defindex foo if you don't want it as a separate index.
+% The \closeout helps reduce unnecessary open files; the limit on the
+% Acorn RISC OS is a mere 16 files.
+\def\synindex#1 #2 {%
+ \expandafter\let\expandafter\synindexfoo\expandafter=\csname#2indfile\endcsname
+ \expandafter\closeout\csname#1indfile\endcsname
+ \expandafter\let\csname#1indfile\endcsname=\synindexfoo
+ \expandafter\xdef\csname#1index\endcsname{% define \xxxindex
+ \noexpand\doindex{#2}}%
+}
+
+% @syncodeindex foo bar similar, but put all entries made for index foo
+% inside @code.
+\def\syncodeindex#1 #2 {%
+ \expandafter\let\expandafter\synindexfoo\expandafter=\csname#2indfile\endcsname
+ \expandafter\closeout\csname#1indfile\endcsname
+ \expandafter\let\csname#1indfile\endcsname=\synindexfoo
+ \expandafter\xdef\csname#1index\endcsname{% define \xxxindex
+ \noexpand\docodeindex{#2}}%
+}
+
+% Define \doindex, the driver for all \fooindex macros.
+% Argument #1 is generated by the calling \fooindex macro,
+% and it is "foo", the name of the index.
+
+% \doindex just uses \parsearg; it calls \doind for the actual work.
+% This is because \doind is more useful to call from other macros.
+
+% There is also \dosubind {index}{topic}{subtopic}
+% which makes an entry in a two-level index such as the operation index.
+
+\def\doindex#1{\edef\indexname{#1}\parsearg\singleindexer}
+\def\singleindexer #1{\doind{\indexname}{#1}}
+
+% like the previous two, but they put @code around the argument.
+\def\docodeindex#1{\edef\indexname{#1}\parsearg\singlecodeindexer}
+\def\singlecodeindexer #1{\doind{\indexname}{\code{#1}}}
+
+\def\indexdummies{%
+\def\ { }%
+% Take care of the plain tex accent commands.
+\def\"{\realbackslash "}%
+\def\`{\realbackslash `}%
+\def\'{\realbackslash '}%
+\def\^{\realbackslash ^}%
+\def\~{\realbackslash ~}%
+\def\={\realbackslash =}%
+\def\b{\realbackslash b}%
+\def\c{\realbackslash c}%
+\def\d{\realbackslash d}%
+\def\u{\realbackslash u}%
+\def\v{\realbackslash v}%
+\def\H{\realbackslash H}%
+% Take care of the plain tex special European modified letters.
+\def\oe{\realbackslash oe}%
+\def\ae{\realbackslash ae}%
+\def\aa{\realbackslash aa}%
+\def\OE{\realbackslash OE}%
+\def\AE{\realbackslash AE}%
+\def\AA{\realbackslash AA}%
+\def\o{\realbackslash o}%
+\def\O{\realbackslash O}%
+\def\l{\realbackslash l}%
+\def\L{\realbackslash L}%
+\def\ss{\realbackslash ss}%
+% Take care of texinfo commands likely to appear in an index entry.
+% (Must be a way to avoid doing expansion at all, and thus not have to
+% laboriously list every single command here.)
+\def\@{@}% will be @@ when we switch to @ as escape char.
+% Need these in case \tex is in effect and \{ is a \delimiter again.
+% But can't use \lbracecmd and \rbracecmd because texindex assumes
+% braces and backslashes are used only as delimiters.
+\let\{ = \mylbrace
+\let\} = \myrbrace
+\def\_{{\realbackslash _}}%
+\def\w{\realbackslash w }%
+\def\bf{\realbackslash bf }%
+%\def\rm{\realbackslash rm }%
+\def\sl{\realbackslash sl }%
+\def\sf{\realbackslash sf}%
+\def\tt{\realbackslash tt}%
+\def\gtr{\realbackslash gtr}%
+\def\less{\realbackslash less}%
+\def\hat{\realbackslash hat}%
+\def\TeX{\realbackslash TeX}%
+\def\dots{\realbackslash dots }%
+\def\result{\realbackslash result}%
+\def\equiv{\realbackslash equiv}%
+\def\expansion{\realbackslash expansion}%
+\def\print{\realbackslash print}%
+\def\error{\realbackslash error}%
+\def\point{\realbackslash point}%
+\def\copyright{\realbackslash copyright}%
+\def\tclose##1{\realbackslash tclose {##1}}%
+\def\code##1{\realbackslash code {##1}}%
+\def\uref##1{\realbackslash uref {##1}}%
+\def\url##1{\realbackslash url {##1}}%
+\def\env##1{\realbackslash env {##1}}%
+\def\command##1{\realbackslash command {##1}}%
+\def\option##1{\realbackslash option {##1}}%
+\def\dotless##1{\realbackslash dotless {##1}}%
+\def\samp##1{\realbackslash samp {##1}}%
+\def\,##1{\realbackslash ,{##1}}%
+\def\t##1{\realbackslash t {##1}}%
+\def\r##1{\realbackslash r {##1}}%
+\def\i##1{\realbackslash i {##1}}%
+\def\b##1{\realbackslash b {##1}}%
+\def\sc##1{\realbackslash sc {##1}}%
+\def\cite##1{\realbackslash cite {##1}}%
+\def\key##1{\realbackslash key {##1}}%
+\def\file##1{\realbackslash file {##1}}%
+\def\var##1{\realbackslash var {##1}}%
+\def\kbd##1{\realbackslash kbd {##1}}%
+\def\dfn##1{\realbackslash dfn {##1}}%
+\def\emph##1{\realbackslash emph {##1}}%
+\def\acronym##1{\realbackslash acronym {##1}}%
+%
+% Handle some cases of @value -- where the variable name does not
+% contain - or _, and the value does not contain any
+% (non-fully-expandable) commands.
+\let\value = \expandablevalue
+%
+\unsepspaces
+% Turn off macro expansion
+\turnoffmacros
+}
+
+% If an index command is used in an @example environment, any spaces
+% therein should become regular spaces in the raw index file, not the
+% expansion of \tie (\\leavevmode \penalty \@M \ ).
+{\obeyspaces
+ \gdef\unsepspaces{\obeyspaces\let =\space}}
+
+% \indexnofonts no-ops all font-change commands.
+% This is used when outputting the strings to sort the index by.
+\def\indexdummyfont#1{#1}
+\def\indexdummytex{TeX}
+\def\indexdummydots{...}
+
+\def\indexnofonts{%
+% Just ignore accents.
+\let\,=\indexdummyfont
+\let\"=\indexdummyfont
+\let\`=\indexdummyfont
+\let\'=\indexdummyfont
+\let\^=\indexdummyfont
+\let\~=\indexdummyfont
+\let\==\indexdummyfont
+\let\b=\indexdummyfont
+\let\c=\indexdummyfont
+\let\d=\indexdummyfont
+\let\u=\indexdummyfont
+\let\v=\indexdummyfont
+\let\H=\indexdummyfont
+\let\dotless=\indexdummyfont
+% Take care of the plain tex special European modified letters.
+\def\oe{oe}%
+\def\ae{ae}%
+\def\aa{aa}%
+\def\OE{OE}%
+\def\AE{AE}%
+\def\AA{AA}%
+\def\o{o}%
+\def\O{O}%
+\def\l{l}%
+\def\L{L}%
+\def\ss{ss}%
+\let\w=\indexdummyfont
+\let\t=\indexdummyfont
+\let\r=\indexdummyfont
+\let\i=\indexdummyfont
+\let\b=\indexdummyfont
+\let\emph=\indexdummyfont
+\let\strong=\indexdummyfont
+\let\cite=\indexdummyfont
+\let\sc=\indexdummyfont
+%Don't no-op \tt, since it isn't a user-level command
+% and is used in the definitions of the active chars like <, >, |...
+%\let\tt=\indexdummyfont
+\let\tclose=\indexdummyfont
+\let\code=\indexdummyfont
+\let\url=\indexdummyfont
+\let\uref=\indexdummyfont
+\let\env=\indexdummyfont
+\let\acronym=\indexdummyfont
+\let\command=\indexdummyfont
+\let\option=\indexdummyfont
+\let\file=\indexdummyfont
+\let\samp=\indexdummyfont
+\let\kbd=\indexdummyfont
+\let\key=\indexdummyfont
+\let\var=\indexdummyfont
+\let\TeX=\indexdummytex
+\let\dots=\indexdummydots
+\def\@{@}%
+}
+
+% To define \realbackslash, we must make \ not be an escape.
+% We must first make another character (@) an escape
+% so we do not become unable to do a definition.
+
+{\catcode`\@=0 \catcode`\\=\other
+ @gdef@realbackslash{\}}
+
+\let\indexbackslash=0 %overridden during \printindex.
+\let\SETmarginindex=\relax % put index entries in margin (undocumented)?
+
+% For \ifx comparisons.
+\def\emptymacro{\empty}
+
+% Most index entries go through here, but \dosubind is the general case.
+%
+\def\doind#1#2{\dosubind{#1}{#2}\empty}
+
+% Workhorse for all \fooindexes.
+% #1 is name of index, #2 is stuff to put there, #3 is subentry --
+% \empty if called from \doind, as we usually are. The main exception
+% is with defuns, which call us directly.
+%
+\def\dosubind#1#2#3{%
+ % Put the index entry in the margin if desired.
+ \ifx\SETmarginindex\relax\else
+ \insert\margin{\hbox{\vrule height8pt depth3pt width0pt #2}}%
+ \fi
+ {%
+ \count255=\lastpenalty
+ {%
+ \indexdummies % Must do this here, since \bf, etc expand at this stage
+ \escapechar=`\\
+ {%
+ \let\folio = 0% We will expand all macros now EXCEPT \folio.
+ \def\rawbackslashxx{\indexbackslash}% \indexbackslash isn't defined now
+ % so it will be output as is; and it will print as backslash.
+ %
+ \def\thirdarg{#3}%
+ %
+ % If third arg is present, precede it with space in sort key.
+ \ifx\thirdarg\emptymacro
+ \let\subentry = \empty
+ \else
+ \def\subentry{ #3}%
+ \fi
+ %
+ % First process the index entry with all font commands turned
+ % off to get the string to sort by.
+ {\indexnofonts \xdef\indexsorttmp{#2\subentry}}%
+ %
+ % Now the real index entry with the fonts.
+ \toks0 = {#2}%
+ %
+ % If third (subentry) arg is present, add it to the index
+ % string. And include a space.
+ \ifx\thirdarg\emptymacro \else
+ \toks0 = \expandafter{\the\toks0 \space #3}%
+ \fi
+ %
+ % Set up the complete index entry, with both the sort key
+ % and the original text, including any font commands. We write
+ % three arguments to \entry to the .?? file, texindex reduces to
+ % two when writing the .??s sorted result.
+ \edef\temp{%
+ \write\csname#1indfile\endcsname{%
+ \realbackslash entry{\indexsorttmp}{\folio}{\the\toks0}}%
+ }%
+ %
+ % If a skip is the last thing on the list now, preserve it
+ % by backing up by \lastskip, doing the \write, then inserting
+ % the skip again. Otherwise, the whatsit generated by the
+ % \write will make \lastskip zero. The result is that sequences
+ % like this:
+ % @end defun
+ % @tindex whatever
+ % @defun ...
+ % will have extra space inserted, because the \medbreak in the
+ % start of the @defun won't see the skip inserted by the @end of
+ % the previous defun.
+ %
+ % But don't do any of this if we're not in vertical mode. We
+ % don't want to do a \vskip and prematurely end a paragraph.
+ %
+ % Avoid page breaks due to these extra skips, too.
+ %
+ \iflinks
+ \ifvmode
+ \skip0 = \lastskip
+ \ifdim\lastskip = 0pt \else \nobreak\vskip-\lastskip \fi
+ \fi
+ %
+ \temp % do the write
+ %
+ %
+ \ifvmode \ifdim\skip0 = 0pt \else \nobreak\vskip\skip0 \fi \fi
+ \fi
+ }%
+ }%
+ \penalty\count255
+ }%
+}
+
+% The index entry written in the file actually looks like
+% \entry {sortstring}{page}{topic}
+% or
+% \entry {sortstring}{page}{topic}{subtopic}
+% The texindex program reads in these files and writes files
+% containing these kinds of lines:
+% \initial {c}
+% before the first topic whose initial is c
+% \entry {topic}{pagelist}
+% for a topic that is used without subtopics
+% \primary {topic}
+% for the beginning of a topic that is used with subtopics
+% \secondary {subtopic}{pagelist}
+% for each subtopic.
+
+% Define the user-accessible indexing commands
+% @findex, @vindex, @kindex, @cindex.
+
+\def\findex {\fnindex}
+\def\kindex {\kyindex}
+\def\cindex {\cpindex}
+\def\vindex {\vrindex}
+\def\tindex {\tpindex}
+\def\pindex {\pgindex}
+
+\def\cindexsub {\begingroup\obeylines\cindexsub}
+{\obeylines %
+\gdef\cindexsub "#1" #2^^M{\endgroup %
+\dosubind{cp}{#2}{#1}}}
+
+% Define the macros used in formatting output of the sorted index material.
+
+% @printindex causes a particular index (the ??s file) to get printed.
+% It does not print any chapter heading (usually an @unnumbered).
+%
+\def\printindex{\parsearg\doprintindex}
+\def\doprintindex#1{\begingroup
+ \dobreak \chapheadingskip{10000}%
+ %
+ \smallfonts \rm
+ \tolerance = 9500
+ \indexbreaks
+ %
+ % See if the index file exists and is nonempty.
+ % Change catcode of @ here so that if the index file contains
+ % \initial {@}
+ % as its first line, TeX doesn't complain about mismatched braces
+ % (because it thinks @} is a control sequence).
+ \catcode`\@ = 11
+ \openin 1 \jobname.#1s
+ \ifeof 1
+ % \enddoublecolumns gets confused if there is no text in the index,
+ % and it loses the chapter title and the aux file entries for the
+ % index. The easiest way to prevent this problem is to make sure
+ % there is some text.
+ \putwordIndexNonexistent
+ \else
+ %
+ % If the index file exists but is empty, then \openin leaves \ifeof
+ % false. We have to make TeX try to read something from the file, so
+ % it can discover if there is anything in it.
+ \read 1 to \temp
+ \ifeof 1
+ \putwordIndexIsEmpty
+ \else
+ % Index files are almost Texinfo source, but we use \ as the escape
+ % character. It would be better to use @, but that's too big a change
+ % to make right now.
+ \def\indexbackslash{\rawbackslashxx}%
+ \catcode`\\ = 0
+ \escapechar = `\\
+ \begindoublecolumns
+ \input \jobname.#1s
+ \enddoublecolumns
+ \fi
+ \fi
+ \closein 1
+\endgroup}
+
+% These macros are used by the sorted index file itself.
+% Change them to control the appearance of the index.
+
+\def\initial#1{{%
+ % Some minor font changes for the special characters.
+ \let\tentt=\sectt \let\tt=\sectt \let\sf=\sectt
+ %
+ % Remove any glue we may have, we'll be inserting our own.
+ \removelastskip
+ %
+ % We like breaks before the index initials, so insert a bonus.
+ \penalty -300
+ %
+ % Typeset the initial. Making this add up to a whole number of
+ % baselineskips increases the chance of the dots lining up from column
+ % to column. It still won't often be perfect, because of the stretch
+ % we need before each entry, but it's better.
+ %
+ % No shrink because it confuses \balancecolumns.
+ \vskip 1.67\baselineskip plus .5\baselineskip
+ \leftline{\secbf #1}%
+ \vskip .33\baselineskip plus .1\baselineskip
+ %
+ % Do our best not to break after the initial.
+ \nobreak
+}}
+
+% This typesets a paragraph consisting of #1, dot leaders, and then #2
+% flush to the right margin. It is used for index and table of contents
+% entries. The paragraph is indented by \leftskip.
+%
+\def\entry#1#2{\begingroup
+ %
+ % Start a new paragraph if necessary, so our assignments below can't
+ % affect previous text.
+ \par
+ %
+ % Do not fill out the last line with white space.
+ \parfillskip = 0in
+ %
+ % No extra space above this paragraph.
+ \parskip = 0in
+ %
+ % Do not prefer a separate line ending with a hyphen to fewer lines.
+ \finalhyphendemerits = 0
+ %
+ % \hangindent is only relevant when the entry text and page number
+ % don't both fit on one line. In that case, bob suggests starting the
+ % dots pretty far over on the line. Unfortunately, a large
+ % indentation looks wrong when the entry text itself is broken across
+ % lines. So we use a small indentation and put up with long leaders.
+ %
+ % \hangafter is reset to 1 (which is the value we want) at the start
+ % of each paragraph, so we need not do anything with that.
+ \hangindent = 2em
+ %
+ % When the entry text needs to be broken, just fill out the first line
+ % with blank space.
+ \rightskip = 0pt plus1fil
+ %
+ % A bit of stretch before each entry for the benefit of balancing columns.
+ \vskip 0pt plus1pt
+ %
+ % Start a ``paragraph'' for the index entry so the line breaking
+ % parameters we've set above will have an effect.
+ \noindent
+ %
+ % Insert the text of the index entry. TeX will do line-breaking on it.
+ #1%
+ % The following is kludged to not output a line of dots in the index if
+ % there are no page numbers. The next person who breaks this will be
+ % cursed by a Unix daemon.
+ \def\tempa{{\rm }}%
+ \def\tempb{#2}%
+ \edef\tempc{\tempa}%
+ \edef\tempd{\tempb}%
+ \ifx\tempc\tempd\ \else%
+ %
+ % If we must, put the page number on a line of its own, and fill out
+ % this line with blank space. (The \hfil is overwhelmed with the
+ % fill leaders glue in \indexdotfill if the page number does fit.)
+ \hfil\penalty50
+ \null\nobreak\indexdotfill % Have leaders before the page number.
+ %
+ % The `\ ' here is removed by the implicit \unskip that TeX does as
+ % part of (the primitive) \par. Without it, a spurious underfull
+ % \hbox ensues.
+ \ifpdf
+ \pdfgettoks#2.\ \the\toksA % The page number ends the paragraph.
+ \else
+ \ #2% The page number ends the paragraph.
+ \fi
+ \fi%
+ \par
+\endgroup}
+
+% Like \dotfill except takes at least 1 em.
+\def\indexdotfill{\cleaders
+ \hbox{$\mathsurround=0pt \mkern1.5mu ${\it .}$ \mkern1.5mu$}\hskip 1em plus 1fill}
+
+\def\primary #1{\line{#1\hfil}}
+
+\newskip\secondaryindent \secondaryindent=0.5cm
+
+\def\secondary #1#2{
+{\parfillskip=0in \parskip=0in
+\hangindent =1in \hangafter=1
+\noindent\hskip\secondaryindent\hbox{#1}\indexdotfill #2\par
+}}
+
+% Define two-column mode, which we use to typeset indexes.
+% Adapted from the TeXbook, page 416, which is to say,
+% the manmac.tex format used to print the TeXbook itself.
+\catcode`\@=11
+
+\newbox\partialpage
+\newdimen\doublecolumnhsize
+
+\def\begindoublecolumns{\begingroup % ended by \enddoublecolumns
+ % Grab any single-column material above us.
+ \output = {%
+ %
+ % Here is a possibility not foreseen in manmac: if we accumulate a
+ % whole lot of material, we might end up calling this \output
+ % routine twice in a row (see the doublecol-lose test, which is
+ % essentially a couple of indexes with @setchapternewpage off). In
+ % that case we just ship out what is in \partialpage with the normal
+ % output routine. Generally, \partialpage will be empty when this
+ % runs and this will be a no-op. See the indexspread.tex test case.
+ \ifvoid\partialpage \else
+ \onepageout{\pagecontents\partialpage}%
+ \fi
+ %
+ \global\setbox\partialpage = \vbox{%
+ % Unvbox the main output page.
+ \unvbox\PAGE
+ \kern-\topskip \kern\baselineskip
+ }%
+ }%
+ \eject % run that output routine to set \partialpage
+ %
+ % Use the double-column output routine for subsequent pages.
+ \output = {\doublecolumnout}%
+ %
+ % Change the page size parameters. We could do this once outside this
+ % routine, in each of @smallbook, @afourpaper, and the default 8.5x11
+ % format, but then we repeat the same computation. Repeating a couple
+ % of assignments once per index is clearly meaningless for the
+ % execution time, so we may as well do it in one place.
+ %
+ % First we halve the line length, less a little for the gutter between
+ % the columns. We compute the gutter based on the line length, so it
+ % changes automatically with the paper format. The magic constant
+ % below is chosen so that the gutter has the same value (well, +-<1pt)
+ % as it did when we hard-coded it.
+ %
+ % We put the result in a separate register, \doublecolumhsize, so we
+ % can restore it in \pagesofar, after \hsize itself has (potentially)
+ % been clobbered.
+ %
+ \doublecolumnhsize = \hsize
+ \advance\doublecolumnhsize by -.04154\hsize
+ \divide\doublecolumnhsize by 2
+ \hsize = \doublecolumnhsize
+ %
+ % Double the \vsize as well. (We don't need a separate register here,
+ % since nobody clobbers \vsize.)
+ \advance\vsize by -\ht\partialpage
+ \vsize = 2\vsize
+}
+
+% The double-column output routine for all double-column pages except
+% the last.
+%
+\def\doublecolumnout{%
+ \splittopskip=\topskip \splitmaxdepth=\maxdepth
+ % Get the available space for the double columns -- the normal
+ % (undoubled) page height minus any material left over from the
+ % previous page.
+ \dimen@ = \vsize
+ \divide\dimen@ by 2
+ %
+ % box0 will be the left-hand column, box2 the right.
+ \setbox0=\vsplit255 to\dimen@ \setbox2=\vsplit255 to\dimen@
+ \onepageout\pagesofar
+ \unvbox255
+ \penalty\outputpenalty
+}
+\def\pagesofar{%
+ % Re-output the contents of the output page -- any previous material,
+ % followed by the two boxes we just split, in box0 and box2.
+ \unvbox\partialpage
+ %
+ \hsize = \doublecolumnhsize
+ \wd0=\hsize \wd2=\hsize
+ \hbox to\pagewidth{\box0\hfil\box2}%
+}
+\def\enddoublecolumns{%
+ \output = {%
+ % Split the last of the double-column material. Leave it on the
+ % current page, no automatic page break.
+ \balancecolumns
+ %
+ % If we end up splitting too much material for the current page,
+ % though, there will be another page break right after this \output
+ % invocation ends. Having called \balancecolumns once, we do not
+ % want to call it again. Therefore, reset \output to its normal
+ % definition right away. (We hope \balancecolumns will never be
+ % called on to balance too much material, but if it is, this makes
+ % the output somewhat more palatable.)
+ \global\output = {\onepageout{\pagecontents\PAGE}}%
+ }%
+ \eject
+ \endgroup % started in \begindoublecolumns
+ %
+ % \pagegoal was set to the doubled \vsize above, since we restarted
+ % the current page. We're now back to normal single-column
+ % typesetting, so reset \pagegoal to the normal \vsize (after the
+ % \endgroup where \vsize got restored).
+ \pagegoal = \vsize
+}
+\def\balancecolumns{%
+ % Called at the end of the double column material.
+ \setbox0 = \vbox{\unvbox255}% like \box255 but more efficient, see p.120.
+ \dimen@ = \ht0
+ \advance\dimen@ by \topskip
+ \advance\dimen@ by-\baselineskip
+ \divide\dimen@ by 2 % target to split to
+ %debug\message{final 2-column material height=\the\ht0, target=\the\dimen@.}%
+ \splittopskip = \topskip
+ % Loop until we get a decent breakpoint.
+ {%
+ \vbadness = 10000
+ \loop
+ \global\setbox3 = \copy0
+ \global\setbox1 = \vsplit3 to \dimen@
+ \ifdim\ht3>\dimen@
+ \global\advance\dimen@ by 1pt
+ \repeat
+ }%
+ %debug\message{split to \the\dimen@, column heights: \the\ht1, \the\ht3.}%
+ \setbox0=\vbox to\dimen@{\unvbox1}%
+ \setbox2=\vbox to\dimen@{\unvbox3}%
+ %
+ \pagesofar
+}
+\catcode`\@ = \other
+
+
+\message{sectioning,}
+% Chapters, sections, etc.
+
+\newcount\chapno
+\newcount\secno \secno=0
+\newcount\subsecno \subsecno=0
+\newcount\subsubsecno \subsubsecno=0
+
+% This counter is funny since it counts through charcodes of letters A, B, ...
+\newcount\appendixno \appendixno = `\@
+% \def\appendixletter{\char\the\appendixno}
+% We do the following for the sake of pdftex, which needs the actual
+% letter in the expansion, not just typeset.
+\def\appendixletter{%
+ \ifnum\appendixno=`A A%
+ \else\ifnum\appendixno=`B B%
+ \else\ifnum\appendixno=`C C%
+ \else\ifnum\appendixno=`D D%
+ \else\ifnum\appendixno=`E E%
+ \else\ifnum\appendixno=`F F%
+ \else\ifnum\appendixno=`G G%
+ \else\ifnum\appendixno=`H H%
+ \else\ifnum\appendixno=`I I%
+ \else\ifnum\appendixno=`J J%
+ \else\ifnum\appendixno=`K K%
+ \else\ifnum\appendixno=`L L%
+ \else\ifnum\appendixno=`M M%
+ \else\ifnum\appendixno=`N N%
+ \else\ifnum\appendixno=`O O%
+ \else\ifnum\appendixno=`P P%
+ \else\ifnum\appendixno=`Q Q%
+ \else\ifnum\appendixno=`R R%
+ \else\ifnum\appendixno=`S S%
+ \else\ifnum\appendixno=`T T%
+ \else\ifnum\appendixno=`U U%
+ \else\ifnum\appendixno=`V V%
+ \else\ifnum\appendixno=`W W%
+ \else\ifnum\appendixno=`X X%
+ \else\ifnum\appendixno=`Y Y%
+ \else\ifnum\appendixno=`Z Z%
+ % The \the is necessary, despite appearances, because \appendixletter is
+ % expanded while writing the .toc file. \char\appendixno is not
+ % expandable, thus it is written literally, thus all appendixes come out
+ % with the same letter (or @) in the toc without it.
+ \else\char\the\appendixno
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}
+
+% Each @chapter defines this as the name of the chapter.
+% page headings and footings can use it. @section does likewise.
+\def\thischapter{}
+\def\thissection{}
+
+\newcount\absseclevel % used to calculate proper heading level
+\newcount\secbase\secbase=0 % @raise/lowersections modify this count
+
+% @raisesections: treat @section as chapter, @subsection as section, etc.
+\def\raisesections{\global\advance\secbase by -1}
+\let\up=\raisesections % original BFox name
+
+% @lowersections: treat @chapter as section, @section as subsection, etc.
+\def\lowersections{\global\advance\secbase by 1}
+\let\down=\lowersections % original BFox name
+
+% Choose a numbered-heading macro
+% #1 is heading level if unmodified by @raisesections or @lowersections
+% #2 is text for heading
+\def\numhead#1#2{\absseclevel=\secbase\advance\absseclevel by #1
+\ifcase\absseclevel
+ \chapterzzz{#2}
+\or
+ \seczzz{#2}
+\or
+ \numberedsubseczzz{#2}
+\or
+ \numberedsubsubseczzz{#2}
+\else
+ \ifnum \absseclevel<0
+ \chapterzzz{#2}
+ \else
+ \numberedsubsubseczzz{#2}
+ \fi
+\fi
+}
+
+% like \numhead, but chooses appendix heading levels
+\def\apphead#1#2{\absseclevel=\secbase\advance\absseclevel by #1
+\ifcase\absseclevel
+ \appendixzzz{#2}
+\or
+ \appendixsectionzzz{#2}
+\or
+ \appendixsubseczzz{#2}
+\or
+ \appendixsubsubseczzz{#2}
+\else
+ \ifnum \absseclevel<0
+ \appendixzzz{#2}
+ \else
+ \appendixsubsubseczzz{#2}
+ \fi
+\fi
+}
+
+% like \numhead, but chooses numberless heading levels
+\def\unnmhead#1#2{\absseclevel=\secbase\advance\absseclevel by #1
+\ifcase\absseclevel
+ \unnumberedzzz{#2}
+\or
+ \unnumberedseczzz{#2}
+\or
+ \unnumberedsubseczzz{#2}
+\or
+ \unnumberedsubsubseczzz{#2}
+\else
+ \ifnum \absseclevel<0
+ \unnumberedzzz{#2}
+ \else
+ \unnumberedsubsubseczzz{#2}
+ \fi
+\fi
+}
+
+% @chapter, @appendix, @unnumbered.
+\def\thischaptername{No Chapter Title}
+\outer\def\chapter{\parsearg\chapteryyy}
+\def\chapteryyy #1{\numhead0{#1}} % normally numhead0 calls chapterzzz
+\def\chapterzzz #1{%
+\secno=0 \subsecno=0 \subsubsecno=0
+\global\advance \chapno by 1 \message{\putwordChapter\space \the\chapno}%
+\chapmacro {#1}{\the\chapno}%
+\gdef\thissection{#1}%
+\gdef\thischaptername{#1}%
+% We don't substitute the actual chapter name into \thischapter
+% because we don't want its macros evaluated now.
+\xdef\thischapter{\putwordChapter{} \the\chapno: \noexpand\thischaptername}%
+\toks0 = {#1}%
+\edef\temp{\noexpand\writetocentry{\realbackslash chapentry{\the\toks0}%
+ {\the\chapno}}}%
+\temp
+\donoderef
+\global\let\section = \numberedsec
+\global\let\subsection = \numberedsubsec
+\global\let\subsubsection = \numberedsubsubsec
+}
+
+\outer\def\appendix{\parsearg\appendixyyy}
+\def\appendixyyy #1{\apphead0{#1}} % normally apphead0 calls appendixzzz
+\def\appendixzzz #1{%
+\secno=0 \subsecno=0 \subsubsecno=0
+\global\advance \appendixno by 1
+\message{\putwordAppendix\space \appendixletter}%
+\chapmacro {#1}{\putwordAppendix{} \appendixletter}%
+\gdef\thissection{#1}%
+\gdef\thischaptername{#1}%
+\xdef\thischapter{\putwordAppendix{} \appendixletter: \noexpand\thischaptername}%
+\toks0 = {#1}%
+\edef\temp{\noexpand\writetocentry{\realbackslash chapentry{\the\toks0}%
+ {\putwordAppendix{} \appendixletter}}}%
+\temp
+\appendixnoderef
+\global\let\section = \appendixsec
+\global\let\subsection = \appendixsubsec
+\global\let\subsubsection = \appendixsubsubsec
+}
+
+% @centerchap is like @unnumbered, but the heading is centered.
+\outer\def\centerchap{\parsearg\centerchapyyy}
+\def\centerchapyyy #1{{\let\unnumbchapmacro=\centerchapmacro \unnumberedyyy{#1}}}
+
+% @top is like @unnumbered.
+\outer\def\top{\parsearg\unnumberedyyy}
+
+\outer\def\unnumbered{\parsearg\unnumberedyyy}
+\def\unnumberedyyy #1{\unnmhead0{#1}} % normally unnmhead0 calls unnumberedzzz
+\def\unnumberedzzz #1{%
+\secno=0 \subsecno=0 \subsubsecno=0
+%
+% This used to be simply \message{#1}, but TeX fully expands the
+% argument to \message. Therefore, if #1 contained @-commands, TeX
+% expanded them. For example, in `@unnumbered The @cite{Book}', TeX
+% expanded @cite (which turns out to cause errors because \cite is meant
+% to be executed, not expanded).
+%
+% Anyway, we don't want the fully-expanded definition of @cite to appear
+% as a result of the \message, we just want `@cite' itself. We use
+% \the<toks register> to achieve this: TeX expands \the<toks> only once,
+% simply yielding the contents of <toks register>. (We also do this for
+% the toc entries.)
+\toks0 = {#1}\message{(\the\toks0)}%
+%
+\unnumbchapmacro {#1}%
+\gdef\thischapter{#1}\gdef\thissection{#1}%
+\toks0 = {#1}%
+\edef\temp{\noexpand\writetocentry{\realbackslash unnumbchapentry{\the\toks0}}}%
+\temp
+\unnumbnoderef
+\global\let\section = \unnumberedsec
+\global\let\subsection = \unnumberedsubsec
+\global\let\subsubsection = \unnumberedsubsubsec
+}
+
+% Sections.
+\outer\def\numberedsec{\parsearg\secyyy}
+\def\secyyy #1{\numhead1{#1}} % normally calls seczzz
+\def\seczzz #1{%
+\subsecno=0 \subsubsecno=0 \global\advance \secno by 1 %
+\gdef\thissection{#1}\secheading {#1}{\the\chapno}{\the\secno}%
+\toks0 = {#1}%
+\edef\temp{\noexpand\writetocentry{\realbackslash secentry{\the\toks0}%
+ {\the\chapno}{\the\secno}}}%
+\temp
+\donoderef
+\nobreak
+}
+
+\outer\def\appendixsection{\parsearg\appendixsecyyy}
+\outer\def\appendixsec{\parsearg\appendixsecyyy}
+\def\appendixsecyyy #1{\apphead1{#1}} % normally calls appendixsectionzzz
+\def\appendixsectionzzz #1{%
+\subsecno=0 \subsubsecno=0 \global\advance \secno by 1 %
+\gdef\thissection{#1}\secheading {#1}{\appendixletter}{\the\secno}%
+\toks0 = {#1}%
+\edef\temp{\noexpand\writetocentry{\realbackslash secentry{\the\toks0}%
+ {\appendixletter}{\the\secno}}}%
+\temp
+\appendixnoderef
+\nobreak
+}
+
+\outer\def\unnumberedsec{\parsearg\unnumberedsecyyy}
+\def\unnumberedsecyyy #1{\unnmhead1{#1}} % normally calls unnumberedseczzz
+\def\unnumberedseczzz #1{%
+\plainsecheading {#1}\gdef\thissection{#1}%
+\toks0 = {#1}%
+\edef\temp{\noexpand\writetocentry{\realbackslash unnumbsecentry{\the\toks0}}}%
+\temp
+\unnumbnoderef
+\nobreak
+}
+
+% Subsections.
+\outer\def\numberedsubsec{\parsearg\numberedsubsecyyy}
+\def\numberedsubsecyyy #1{\numhead2{#1}} % normally calls numberedsubseczzz
+\def\numberedsubseczzz #1{%
+\gdef\thissection{#1}\subsubsecno=0 \global\advance \subsecno by 1 %
+\subsecheading {#1}{\the\chapno}{\the\secno}{\the\subsecno}%
+\toks0 = {#1}%
+\edef\temp{\noexpand\writetocentry{\realbackslash subsecentry{\the\toks0}%
+ {\the\chapno}{\the\secno}{\the\subsecno}}}%
+\temp
+\donoderef
+\nobreak
+}
+
+\outer\def\appendixsubsec{\parsearg\appendixsubsecyyy}
+\def\appendixsubsecyyy #1{\apphead2{#1}} % normally calls appendixsubseczzz
+\def\appendixsubseczzz #1{%
+\gdef\thissection{#1}\subsubsecno=0 \global\advance \subsecno by 1 %
+\subsecheading {#1}{\appendixletter}{\the\secno}{\the\subsecno}%
+\toks0 = {#1}%
+\edef\temp{\noexpand\writetocentry{\realbackslash subsecentry{\the\toks0}%
+ {\appendixletter}{\the\secno}{\the\subsecno}}}%
+\temp
+\appendixnoderef
+\nobreak
+}
+
+\outer\def\unnumberedsubsec{\parsearg\unnumberedsubsecyyy}
+\def\unnumberedsubsecyyy #1{\unnmhead2{#1}} %normally calls unnumberedsubseczzz
+\def\unnumberedsubseczzz #1{%
+\plainsubsecheading {#1}\gdef\thissection{#1}%
+\toks0 = {#1}%
+\edef\temp{\noexpand\writetocentry{\realbackslash unnumbsubsecentry%
+ {\the\toks0}}}%
+\temp
+\unnumbnoderef
+\nobreak
+}
+
+% Subsubsections.
+\outer\def\numberedsubsubsec{\parsearg\numberedsubsubsecyyy}
+\def\numberedsubsubsecyyy #1{\numhead3{#1}} % normally numberedsubsubseczzz
+\def\numberedsubsubseczzz #1{%
+\gdef\thissection{#1}\global\advance \subsubsecno by 1 %
+\subsubsecheading {#1}
+ {\the\chapno}{\the\secno}{\the\subsecno}{\the\subsubsecno}%
+\toks0 = {#1}%
+\edef\temp{\noexpand\writetocentry{\realbackslash subsubsecentry{\the\toks0}%
+ {\the\chapno}{\the\secno}{\the\subsecno}{\the\subsubsecno}}}%
+\temp
+\donoderef
+\nobreak
+}
+
+\outer\def\appendixsubsubsec{\parsearg\appendixsubsubsecyyy}
+\def\appendixsubsubsecyyy #1{\apphead3{#1}} % normally appendixsubsubseczzz
+\def\appendixsubsubseczzz #1{%
+\gdef\thissection{#1}\global\advance \subsubsecno by 1 %
+\subsubsecheading {#1}
+ {\appendixletter}{\the\secno}{\the\subsecno}{\the\subsubsecno}%
+\toks0 = {#1}%
+\edef\temp{\noexpand\writetocentry{\realbackslash subsubsecentry{\the\toks0}%
+ {\appendixletter}{\the\secno}{\the\subsecno}{\the\subsubsecno}}}%
+\temp
+\appendixnoderef
+\nobreak
+}
+
+\outer\def\unnumberedsubsubsec{\parsearg\unnumberedsubsubsecyyy}
+\def\unnumberedsubsubsecyyy #1{\unnmhead3{#1}} %normally unnumberedsubsubseczzz
+\def\unnumberedsubsubseczzz #1{%
+\plainsubsubsecheading {#1}\gdef\thissection{#1}%
+\toks0 = {#1}%
+\edef\temp{\noexpand\writetocentry{\realbackslash unnumbsubsubsecentry%
+ {\the\toks0}}}%
+\temp
+\unnumbnoderef
+\nobreak
+}
+
+% These are variants which are not "outer", so they can appear in @ifinfo.
+% Actually, they should now be obsolete; ordinary section commands should work.
+\def\infotop{\parsearg\unnumberedzzz}
+\def\infounnumbered{\parsearg\unnumberedzzz}
+\def\infounnumberedsec{\parsearg\unnumberedseczzz}
+\def\infounnumberedsubsec{\parsearg\unnumberedsubseczzz}
+\def\infounnumberedsubsubsec{\parsearg\unnumberedsubsubseczzz}
+
+\def\infoappendix{\parsearg\appendixzzz}
+\def\infoappendixsec{\parsearg\appendixseczzz}
+\def\infoappendixsubsec{\parsearg\appendixsubseczzz}
+\def\infoappendixsubsubsec{\parsearg\appendixsubsubseczzz}
+
+\def\infochapter{\parsearg\chapterzzz}
+\def\infosection{\parsearg\sectionzzz}
+\def\infosubsection{\parsearg\subsectionzzz}
+\def\infosubsubsection{\parsearg\subsubsectionzzz}
+
+% These macros control what the section commands do, according
+% to what kind of chapter we are in (ordinary, appendix, or unnumbered).
+% Define them by default for a numbered chapter.
+\global\let\section = \numberedsec
+\global\let\subsection = \numberedsubsec
+\global\let\subsubsection = \numberedsubsubsec
+
+% Define @majorheading, @heading and @subheading
+
+% NOTE on use of \vbox for chapter headings, section headings, and such:
+% 1) We use \vbox rather than the earlier \line to permit
+% overlong headings to fold.
+% 2) \hyphenpenalty is set to 10000 because hyphenation in a
+% heading is obnoxious; this forbids it.
+% 3) Likewise, headings look best if no \parindent is used, and
+% if justification is not attempted. Hence \raggedright.
+
+
+\def\majorheading{\parsearg\majorheadingzzz}
+\def\majorheadingzzz #1{%
+{\advance\chapheadingskip by 10pt \chapbreak }%
+{\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
+ \parindent=0pt\raggedright
+ \rm #1\hfill}}\bigskip \par\penalty 200}
+
+\def\chapheading{\parsearg\chapheadingzzz}
+\def\chapheadingzzz #1{\chapbreak %
+{\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
+ \parindent=0pt\raggedright
+ \rm #1\hfill}}\bigskip \par\penalty 200}
+
+% @heading, @subheading, @subsubheading.
+\def\heading{\parsearg\plainsecheading}
+\def\subheading{\parsearg\plainsubsecheading}
+\def\subsubheading{\parsearg\plainsubsubsecheading}
+
+% These macros generate a chapter, section, etc. heading only
+% (including whitespace, linebreaking, etc. around it),
+% given all the information in convenient, parsed form.
+
+%%% Args are the skip and penalty (usually negative)
+\def\dobreak#1#2{\par\ifdim\lastskip<#1\removelastskip\penalty#2\vskip#1\fi}
+
+\def\setchapterstyle #1 {\csname CHAPF#1\endcsname}
+
+%%% Define plain chapter starts, and page on/off switching for it
+% Parameter controlling skip before chapter headings (if needed)
+
+\newskip\chapheadingskip
+
+\def\chapbreak{\dobreak \chapheadingskip {-4000}}
+\def\chappager{\par\vfill\supereject}
+\def\chapoddpage{\chappager \ifodd\pageno \else \hbox to 0pt{} \chappager\fi}
+
+\def\setchapternewpage #1 {\csname CHAPPAG#1\endcsname}
+
+\def\CHAPPAGoff{%
+\global\let\contentsalignmacro = \chappager
+\global\let\pchapsepmacro=\chapbreak
+\global\let\pagealignmacro=\chappager}
+
+\def\CHAPPAGon{%
+\global\let\contentsalignmacro = \chappager
+\global\let\pchapsepmacro=\chappager
+\global\let\pagealignmacro=\chappager
+\global\def\HEADINGSon{\HEADINGSsingle}}
+
+\def\CHAPPAGodd{
+\global\let\contentsalignmacro = \chapoddpage
+\global\let\pchapsepmacro=\chapoddpage
+\global\let\pagealignmacro=\chapoddpage
+\global\def\HEADINGSon{\HEADINGSdouble}}
+
+\CHAPPAGon
+
+\def\CHAPFplain{
+\global\let\chapmacro=\chfplain
+\global\let\unnumbchapmacro=\unnchfplain
+\global\let\centerchapmacro=\centerchfplain}
+
+% Plain chapter opening.
+% #1 is the text, #2 the chapter number or empty if unnumbered.
+\def\chfplain#1#2{%
+ \pchapsepmacro
+ {%
+ \chapfonts \rm
+ \def\chapnum{#2}%
+ \setbox0 = \hbox{#2\ifx\chapnum\empty\else\enspace\fi}%
+ \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \raggedright
+ \hangindent = \wd0 \centerparametersmaybe
+ \unhbox0 #1\par}%
+ }%
+ \nobreak\bigskip % no page break after a chapter title
+ \nobreak
+}
+
+% Plain opening for unnumbered.
+\def\unnchfplain#1{\chfplain{#1}{}}
+
+% @centerchap -- centered and unnumbered.
+\let\centerparametersmaybe = \relax
+\def\centerchfplain#1{{%
+ \def\centerparametersmaybe{%
+ \advance\rightskip by 3\rightskip
+ \leftskip = \rightskip
+ \parfillskip = 0pt
+ }%
+ \chfplain{#1}{}%
+}}
+
+\CHAPFplain % The default
+
+\def\unnchfopen #1{%
+\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
+ \parindent=0pt\raggedright
+ \rm #1\hfill}}\bigskip \par\nobreak
+}
+
+\def\chfopen #1#2{\chapoddpage {\chapfonts
+\vbox to 3in{\vfil \hbox to\hsize{\hfil #2} \hbox to\hsize{\hfil #1} \vfil}}%
+\par\penalty 5000 %
+}
+
+\def\centerchfopen #1{%
+\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
+ \parindent=0pt
+ \hfill {\rm #1}\hfill}}\bigskip \par\nobreak
+}
+
+\def\CHAPFopen{
+\global\let\chapmacro=\chfopen
+\global\let\unnumbchapmacro=\unnchfopen
+\global\let\centerchapmacro=\centerchfopen}
+
+
+% Section titles.
+\newskip\secheadingskip
+\def\secheadingbreak{\dobreak \secheadingskip {-1000}}
+\def\secheading#1#2#3{\sectionheading{sec}{#2.#3}{#1}}
+\def\plainsecheading#1{\sectionheading{sec}{}{#1}}
+
+% Subsection titles.
+\newskip \subsecheadingskip
+\def\subsecheadingbreak{\dobreak \subsecheadingskip {-500}}
+\def\subsecheading#1#2#3#4{\sectionheading{subsec}{#2.#3.#4}{#1}}
+\def\plainsubsecheading#1{\sectionheading{subsec}{}{#1}}
+
+% Subsubsection titles.
+\let\subsubsecheadingskip = \subsecheadingskip
+\let\subsubsecheadingbreak = \subsecheadingbreak
+\def\subsubsecheading#1#2#3#4#5{\sectionheading{subsubsec}{#2.#3.#4.#5}{#1}}
+\def\plainsubsubsecheading#1{\sectionheading{subsubsec}{}{#1}}
+
+
+% Print any size section title.
+%
+% #1 is the section type (sec/subsec/subsubsec), #2 is the section
+% number (maybe empty), #3 the text.
+\def\sectionheading#1#2#3{%
+ {%
+ \expandafter\advance\csname #1headingskip\endcsname by \parskip
+ \csname #1headingbreak\endcsname
+ }%
+ {%
+ % Switch to the right set of fonts.
+ \csname #1fonts\endcsname \rm
+ %
+ % Only insert the separating space if we have a section number.
+ \def\secnum{#2}%
+ \setbox0 = \hbox{#2\ifx\secnum\empty\else\enspace\fi}%
+ %
+ \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \raggedright
+ \hangindent = \wd0 % zero if no section number
+ \unhbox0 #3}%
+ }%
+ \ifdim\parskip<10pt \nobreak\kern10pt\nobreak\kern-\parskip\fi \nobreak
+}
+
+
+\message{toc,}
+% Table of contents.
+\newwrite\tocfile
+
+% Write an entry to the toc file, opening it if necessary.
+% Called from @chapter, etc. We supply {\folio} at the end of the
+% argument, which will end up as the last argument to the \...entry macro.
+%
+% We open the .toc file here instead of at @setfilename or any other
+% given time so that @contents can be put in the document anywhere.
+%
+\newif\iftocfileopened
+\def\writetocentry#1{%
+ \iftocfileopened\else
+ \immediate\openout\tocfile = \jobname.toc
+ \global\tocfileopenedtrue
+ \fi
+ \iflinks \write\tocfile{#1{\folio}}\fi
+}
+
+\newskip\contentsrightmargin \contentsrightmargin=1in
+\newcount\savepageno
+\newcount\lastnegativepageno \lastnegativepageno = -1
+
+% Finish up the main text and prepare to read what we've written
+% to \tocfile.
+%
+\def\startcontents#1{%
+ % If @setchapternewpage on, and @headings double, the contents should
+ % start on an odd page, unlike chapters. Thus, we maintain
+ % \contentsalignmacro in parallel with \pagealignmacro.
+ % From: Torbjorn Granlund <tege@matematik.su.se>
+ \contentsalignmacro
+ \immediate\closeout\tocfile
+ %
+ % Don't need to put `Contents' or `Short Contents' in the headline.
+ % It is abundantly clear what they are.
+ \unnumbchapmacro{#1}\def\thischapter{}%
+ \savepageno = \pageno
+ \begingroup % Set up to handle contents files properly.
+ \catcode`\\=0 \catcode`\{=1 \catcode`\}=2 \catcode`\@=11
+ % We can't do this, because then an actual ^ in a section
+ % title fails, e.g., @chapter ^ -- exponentiation. --karl, 9jul97.
+ %\catcode`\^=7 % to see ^^e4 as \"a etc. juha@piuha.ydi.vtt.fi
+ \raggedbottom % Worry more about breakpoints than the bottom.
+ \advance\hsize by -\contentsrightmargin % Don't use the full line length.
+ %
+ % Roman numerals for page numbers.
+ \ifnum \pageno>0 \pageno = \lastnegativepageno \fi
+}
+
+
+% Normal (long) toc.
+\def\contents{%
+ \startcontents{\putwordTOC}%
+ \openin 1 \jobname.toc
+ \ifeof 1 \else
+ \closein 1
+ \input \jobname.toc
+ \fi
+ \vfill \eject
+ \contentsalignmacro % in case @setchapternewpage odd is in effect
+ \pdfmakeoutlines
+ \endgroup
+ \lastnegativepageno = \pageno
+ \pageno = \savepageno
+}
+
+% And just the chapters.
+\def\summarycontents{%
+ \startcontents{\putwordShortTOC}%
+ %
+ \let\chapentry = \shortchapentry
+ \let\unnumbchapentry = \shortunnumberedentry
+ % We want a true roman here for the page numbers.
+ \secfonts
+ \let\rm=\shortcontrm \let\bf=\shortcontbf \let\sl=\shortcontsl
+ \rm
+ \hyphenpenalty = 10000
+ \advance\baselineskip by 1pt % Open it up a little.
+ \def\secentry ##1##2##3##4{}
+ \def\unnumbsecentry ##1##2{}
+ \def\subsecentry ##1##2##3##4##5{}
+ \def\unnumbsubsecentry ##1##2{}
+ \def\subsubsecentry ##1##2##3##4##5##6{}
+ \def\unnumbsubsubsecentry ##1##2{}
+ \openin 1 \jobname.toc
+ \ifeof 1 \else
+ \closein 1
+ \input \jobname.toc
+ \fi
+ \vfill \eject
+ \contentsalignmacro % in case @setchapternewpage odd is in effect
+ \endgroup
+ \lastnegativepageno = \pageno
+ \pageno = \savepageno
+}
+\let\shortcontents = \summarycontents
+
+\ifpdf
+ \pdfcatalog{/PageMode /UseOutlines}%
+\fi
+
+% These macros generate individual entries in the table of contents.
+% The first argument is the chapter or section name.
+% The last argument is the page number.
+% The arguments in between are the chapter number, section number, ...
+
+% Chapter-level things, for both the long and short contents.
+\def\chapentry#1#2#3{\dochapentry{#2\labelspace#1}{#3}}
+
+% See comments in \dochapentry re vbox and related settings
+\def\shortchapentry#1#2#3{%
+ \tocentry{\shortchaplabel{#2}\labelspace #1}{\doshortpageno\bgroup#3\egroup}%
+}
+
+% Typeset the label for a chapter or appendix for the short contents.
+% The arg is, e.g. `Appendix A' for an appendix, or `3' for a chapter.
+% We could simplify the code here by writing out an \appendixentry
+% command in the toc file for appendices, instead of using \chapentry
+% for both, but it doesn't seem worth it.
+%
+\newdimen\shortappendixwidth
+%
+\def\shortchaplabel#1{%
+ % Compute width of word "Appendix", may change with language.
+ \setbox0 = \hbox{\shortcontrm \putwordAppendix}%
+ \shortappendixwidth = \wd0
+ %
+ % We typeset #1 in a box of constant width, regardless of the text of
+ % #1, so the chapter titles will come out aligned.
+ \setbox0 = \hbox{#1}%
+ \dimen0 = \ifdim\wd0 > \shortappendixwidth \shortappendixwidth \else 0pt \fi
+ %
+ % This space should be plenty, since a single number is .5em, and the
+ % widest letter (M) is 1em, at least in the Computer Modern fonts.
+ % (This space doesn't include the extra space that gets added after
+ % the label; that gets put in by \shortchapentry above.)
+ \advance\dimen0 by 1.1em
+ \hbox to \dimen0{#1\hfil}%
+}
+
+\def\unnumbchapentry#1#2{\dochapentry{#1}{#2}}
+\def\shortunnumberedentry#1#2{\tocentry{#1}{\doshortpageno\bgroup#2\egroup}}
+
+% Sections.
+\def\secentry#1#2#3#4{\dosecentry{#2.#3\labelspace#1}{#4}}
+\def\unnumbsecentry#1#2{\dosecentry{#1}{#2}}
+
+% Subsections.
+\def\subsecentry#1#2#3#4#5{\dosubsecentry{#2.#3.#4\labelspace#1}{#5}}
+\def\unnumbsubsecentry#1#2{\dosubsecentry{#1}{#2}}
+
+% And subsubsections.
+\def\subsubsecentry#1#2#3#4#5#6{%
+ \dosubsubsecentry{#2.#3.#4.#5\labelspace#1}{#6}}
+\def\unnumbsubsubsecentry#1#2{\dosubsubsecentry{#1}{#2}}
+
+% This parameter controls the indentation of the various levels.
+\newdimen\tocindent \tocindent = 3pc
+
+% Now for the actual typesetting. In all these, #1 is the text and #2 is the
+% page number.
+%
+% If the toc has to be broken over pages, we want it to be at chapters
+% if at all possible; hence the \penalty.
+\def\dochapentry#1#2{%
+ \penalty-300 \vskip1\baselineskip plus.33\baselineskip minus.25\baselineskip
+ \begingroup
+ \chapentryfonts
+ \tocentry{#1}{\dopageno\bgroup#2\egroup}%
+ \endgroup
+ \nobreak\vskip .25\baselineskip plus.1\baselineskip
+}
+
+\def\dosecentry#1#2{\begingroup
+ \secentryfonts \leftskip=\tocindent
+ \tocentry{#1}{\dopageno\bgroup#2\egroup}%
+\endgroup}
+
+\def\dosubsecentry#1#2{\begingroup
+ \subsecentryfonts \leftskip=2\tocindent
+ \tocentry{#1}{\dopageno\bgroup#2\egroup}%
+\endgroup}
+
+\def\dosubsubsecentry#1#2{\begingroup
+ \subsubsecentryfonts \leftskip=3\tocindent
+ \tocentry{#1}{\dopageno\bgroup#2\egroup}%
+\endgroup}
+
+% Final typesetting of a toc entry; we use the same \entry macro as for
+% the index entries, but we want to suppress hyphenation here. (We
+% can't do that in the \entry macro, since index entries might consist
+% of hyphenated-identifiers-that-do-not-fit-on-a-line-and-nothing-else.)
+\def\tocentry#1#2{\begingroup
+ \vskip 0pt plus1pt % allow a little stretch for the sake of nice page breaks
+ % Do not use \turnoffactive in these arguments. Since the toc is
+ % typeset in cmr, so characters such as _ would come out wrong; we
+ % have to do the usual translation tricks.
+ \entry{#1}{#2}%
+\endgroup}
+
+% Space between chapter (or whatever) number and the title.
+\def\labelspace{\hskip1em \relax}
+
+\def\dopageno#1{{\rm #1}}
+\def\doshortpageno#1{{\rm #1}}
+
+\def\chapentryfonts{\secfonts \rm}
+\def\secentryfonts{\textfonts}
+\let\subsecentryfonts = \textfonts
+\let\subsubsecentryfonts = \textfonts
+
+
+\message{environments,}
+% @foo ... @end foo.
+
+% Since these characters are used in examples, it should be an even number of
+% \tt widths. Each \tt character is 1en, so two makes it 1em.
+% Furthermore, these definitions must come after we define our fonts.
+\newbox\dblarrowbox \newbox\longdblarrowbox
+\newbox\pushcharbox \newbox\bullbox
+\newbox\equivbox \newbox\errorbox
+
+%{\tentt
+%\global\setbox\dblarrowbox = \hbox to 1em{\hfil$\Rightarrow$\hfil}
+%\global\setbox\longdblarrowbox = \hbox to 1em{\hfil$\mapsto$\hfil}
+%\global\setbox\pushcharbox = \hbox to 1em{\hfil$\dashv$\hfil}
+%\global\setbox\equivbox = \hbox to 1em{\hfil$\ptexequiv$\hfil}
+% Adapted from the manmac format (p.420 of TeXbook)
+%\global\setbox\bullbox = \hbox to 1em{\kern.15em\vrule height .75ex width .85ex
+% depth .1ex\hfil}
+%}
+
+% @point{}, @result{}, @expansion{}, @print{}, @equiv{}.
+\def\point{$\star$}
+\def\result{\leavevmode\raise.15ex\hbox to 1em{\hfil$\Rightarrow$\hfil}}
+\def\expansion{\leavevmode\raise.1ex\hbox to 1em{\hfil$\mapsto$\hfil}}
+\def\print{\leavevmode\lower.1ex\hbox to 1em{\hfil$\dashv$\hfil}}
+\def\equiv{\leavevmode\lower.1ex\hbox to 1em{\hfil$\ptexequiv$\hfil}}
+
+% Adapted from the TeXbook's \boxit.
+{\tentt \global\dimen0 = 3em}% Width of the box.
+\dimen2 = .55pt % Thickness of rules
+% The text. (`r' is open on the right, `e' somewhat less so on the left.)
+\setbox0 = \hbox{\kern-.75pt \tensf error\kern-1.5pt}
+
+\global\setbox\errorbox=\hbox to \dimen0{\hfil
+ \hsize = \dimen0 \advance\hsize by -5.8pt % Space to left+right.
+ \advance\hsize by -2\dimen2 % Rules.
+ \vbox{
+ \hrule height\dimen2
+ \hbox{\vrule width\dimen2 \kern3pt % Space to left of text.
+ \vtop{\kern2.4pt \box0 \kern2.4pt}% Space above/below.
+ \kern3pt\vrule width\dimen2}% Space to right.
+ \hrule height\dimen2}
+ \hfil}
+
+% The @error{} command.
+\def\error{\leavevmode\lower.7ex\copy\errorbox}
+
+% @tex ... @end tex escapes into raw Tex temporarily.
+% One exception: @ is still an escape character, so that @end tex works.
+% But \@ or @@ will get a plain tex @ character.
+
+\def\tex{\begingroup
+ \catcode `\\=0 \catcode `\{=1 \catcode `\}=2
+ \catcode `\$=3 \catcode `\&=4 \catcode `\#=6
+ \catcode `\^=7 \catcode `\_=8 \catcode `\~=13 \let~=\tie
+ \catcode `\%=14
+ \catcode 43=12 % plus
+ \catcode`\"=12
+ \catcode`\==12
+ \catcode`\|=12
+ \catcode`\<=12
+ \catcode`\>=12
+ \escapechar=`\\
+ %
+ \let\b=\ptexb
+ \let\bullet=\ptexbullet
+ \let\c=\ptexc
+ \let\,=\ptexcomma
+ \let\.=\ptexdot
+ \let\dots=\ptexdots
+ \let\equiv=\ptexequiv
+ \let\!=\ptexexclam
+ \let\i=\ptexi
+ \let\{=\ptexlbrace
+ \let\+=\tabalign
+ \let\}=\ptexrbrace
+ \let\*=\ptexstar
+ \let\t=\ptext
+ %
+ \def\endldots{\mathinner{\ldots\ldots\ldots\ldots}}%
+ \def\enddots{\relax\ifmmode\endldots\else$\mathsurround=0pt \endldots\,$\fi}%
+ \def\@{@}%
+\let\Etex=\endgroup}
+
+% Define @lisp ... @endlisp.
+% @lisp does a \begingroup so it can rebind things,
+% including the definition of @endlisp (which normally is erroneous).
+
+% Amount to narrow the margins by for @lisp.
+\newskip\lispnarrowing \lispnarrowing=0.4in
+
+% This is the definition that ^^M gets inside @lisp, @example, and other
+% such environments. \null is better than a space, since it doesn't
+% have any width.
+\def\lisppar{\null\endgraf}
+
+% Make each space character in the input produce a normal interword
+% space in the output. Don't allow a line break at this space, as this
+% is used only in environments like @example, where each line of input
+% should produce a line of output anyway.
+%
+{\obeyspaces %
+\gdef\sepspaces{\obeyspaces\let =\tie}}
+
+% Define \obeyedspace to be our active space, whatever it is. This is
+% for use in \parsearg.
+{\sepspaces%
+\global\let\obeyedspace= }
+
+% This space is always present above and below environments.
+\newskip\envskipamount \envskipamount = 0pt
+
+% Make spacing and below environment symmetrical. We use \parskip here
+% to help in doing that, since in @example-like environments \parskip
+% is reset to zero; thus the \afterenvbreak inserts no space -- but the
+% start of the next paragraph will insert \parskip
+%
+\def\aboveenvbreak{{\advance\envskipamount by \parskip
+\endgraf \ifdim\lastskip<\envskipamount
+\removelastskip \penalty-50 \vskip\envskipamount \fi}}
+
+\let\afterenvbreak = \aboveenvbreak
+
+% \nonarrowing is a flag. If "set", @lisp etc don't narrow margins.
+\let\nonarrowing=\relax
+
+% @cartouche ... @end cartouche: draw rectangle w/rounded corners around
+% environment contents.
+\font\circle=lcircle10
+\newdimen\circthick
+\newdimen\cartouter\newdimen\cartinner
+\newskip\normbskip\newskip\normpskip\newskip\normlskip
+\circthick=\fontdimen8\circle
+%
+\def\ctl{{\circle\char'013\hskip -6pt}}% 6pt from pl file: 1/2charwidth
+\def\ctr{{\hskip 6pt\circle\char'010}}
+\def\cbl{{\circle\char'012\hskip -6pt}}
+\def\cbr{{\hskip 6pt\circle\char'011}}
+\def\carttop{\hbox to \cartouter{\hskip\lskip
+ \ctl\leaders\hrule height\circthick\hfil\ctr
+ \hskip\rskip}}
+\def\cartbot{\hbox to \cartouter{\hskip\lskip
+ \cbl\leaders\hrule height\circthick\hfil\cbr
+ \hskip\rskip}}
+%
+\newskip\lskip\newskip\rskip
+
+\long\def\cartouche{%
+\begingroup
+ \lskip=\leftskip \rskip=\rightskip
+ \leftskip=0pt\rightskip=0pt %we want these *outside*.
+ \cartinner=\hsize \advance\cartinner by-\lskip
+ \advance\cartinner by-\rskip
+ \cartouter=\hsize
+ \advance\cartouter by 18.4pt % allow for 3pt kerns on either
+% side, and for 6pt waste from
+% each corner char, and rule thickness
+ \normbskip=\baselineskip \normpskip=\parskip \normlskip=\lineskip
+ % Flag to tell @lisp, etc., not to narrow margin.
+ \let\nonarrowing=\comment
+ \vbox\bgroup
+ \baselineskip=0pt\parskip=0pt\lineskip=0pt
+ \carttop
+ \hbox\bgroup
+ \hskip\lskip
+ \vrule\kern3pt
+ \vbox\bgroup
+ \hsize=\cartinner
+ \kern3pt
+ \begingroup
+ \baselineskip=\normbskip
+ \lineskip=\normlskip
+ \parskip=\normpskip
+ \vskip -\parskip
+\def\Ecartouche{%
+ \endgroup
+ \kern3pt
+ \egroup
+ \kern3pt\vrule
+ \hskip\rskip
+ \egroup
+ \cartbot
+ \egroup
+\endgroup
+}}
+
+
+% This macro is called at the beginning of all the @example variants,
+% inside a group.
+\def\nonfillstart{%
+ \aboveenvbreak
+ \inENV % This group ends at the end of the body
+ \hfuzz = 12pt % Don't be fussy
+ \sepspaces % Make spaces be word-separators rather than space tokens.
+ \singlespace
+ \let\par = \lisppar % don't ignore blank lines
+ \obeylines % each line of input is a line of output
+ \parskip = 0pt
+ \parindent = 0pt
+ \emergencystretch = 0pt % don't try to avoid overfull boxes
+ % @cartouche defines \nonarrowing to inhibit narrowing
+ % at next level down.
+ \ifx\nonarrowing\relax
+ \advance \leftskip by \lispnarrowing
+ \exdentamount=\lispnarrowing
+ \let\exdent=\nofillexdent
+ \let\nonarrowing=\relax
+ \fi
+}
+
+% Define the \E... control sequence only if we are inside the particular
+% environment, so the error checking in \end will work.
+%
+% To end an @example-like environment, we first end the paragraph (via
+% \afterenvbreak's vertical glue), and then the group. That way we keep
+% the zero \parskip that the environments set -- \parskip glue will be
+% inserted at the beginning of the next paragraph in the document, after
+% the environment.
+%
+\def\nonfillfinish{\afterenvbreak\endgroup}
+
+% @lisp: indented, narrowed, typewriter font.
+\def\lisp{\begingroup
+ \nonfillstart
+ \let\Elisp = \nonfillfinish
+ \tt
+ \let\kbdfont = \kbdexamplefont % Allow @kbd to do something special.
+ \gobble % eat return
+}
+
+% @example: Same as @lisp.
+\def\example{\begingroup \def\Eexample{\nonfillfinish\endgroup}\lisp}
+
+% @small... is usually equivalent to the non-small (@smallbook
+% redefines). We must call \example (or whatever) last in the
+% definition, since it reads the return following the @example (or
+% whatever) command.
+%
+% This actually allows (for example) @end display inside an
+% @smalldisplay. Too bad, but makeinfo will catch the error anyway.
+%
+\def\smalldisplay{\begingroup\def\Esmalldisplay{\nonfillfinish\endgroup}\display}
+\def\smallexample{\begingroup\def\Esmallexample{\nonfillfinish\endgroup}\lisp}
+\def\smallformat{\begingroup\def\Esmallformat{\nonfillfinish\endgroup}\format}
+\def\smalllisp{\begingroup\def\Esmalllisp{\nonfillfinish\endgroup}\lisp}
+
+% Real @smallexample and @smalllisp (when @smallbook): use smaller fonts.
+% Originally contributed by Pavel@xerox.
+\def\smalllispx{\begingroup
+ \def\Esmalllisp{\nonfillfinish\endgroup}%
+ \def\Esmallexample{\nonfillfinish\endgroup}%
+ \smallfonts
+ \lisp
+}
+
+% @display: same as @lisp except keep current font.
+%
+\def\display{\begingroup
+ \nonfillstart
+ \let\Edisplay = \nonfillfinish
+ \gobble
+}
+
+% @smalldisplay (when @smallbook): @display plus smaller fonts.
+%
+\def\smalldisplayx{\begingroup
+ \def\Esmalldisplay{\nonfillfinish\endgroup}%
+ \smallfonts \rm
+ \display
+}
+
+% @format: same as @display except don't narrow margins.
+%
+\def\format{\begingroup
+ \let\nonarrowing = t
+ \nonfillstart
+ \let\Eformat = \nonfillfinish
+ \gobble
+}
+
+% @smallformat (when @smallbook): @format plus smaller fonts.
+%
+\def\smallformatx{\begingroup
+ \def\Esmallformat{\nonfillfinish\endgroup}%
+ \smallfonts \rm
+ \format
+}
+
+% @flushleft (same as @format).
+%
+\def\flushleft{\begingroup \def\Eflushleft{\nonfillfinish\endgroup}\format}
+
+% @flushright.
+%
+\def\flushright{\begingroup
+ \let\nonarrowing = t
+ \nonfillstart
+ \let\Eflushright = \nonfillfinish
+ \advance\leftskip by 0pt plus 1fill
+ \gobble
+}
+
+% @quotation does normal linebreaking (hence we can't use \nonfillstart)
+% and narrows the margins.
+%
+\def\quotation{%
+ \begingroup\inENV %This group ends at the end of the @quotation body
+ {\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip
+ \singlespace
+ \parindent=0pt
+ % We have retained a nonzero parskip for the environment, since we're
+ % doing normal filling. So to avoid extra space below the environment...
+ \def\Equotation{\parskip = 0pt \nonfillfinish}%
+ %
+ % @cartouche defines \nonarrowing to inhibit narrowing at next level down.
+ \ifx\nonarrowing\relax
+ \advance\leftskip by \lispnarrowing
+ \advance\rightskip by \lispnarrowing
+ \exdentamount = \lispnarrowing
+ \let\nonarrowing = \relax
+ \fi
+}
+
+
+\message{defuns,}
+% @defun etc.
+
+% Allow user to change definition object font (\df) internally
+\def\setdeffont #1 {\csname DEF#1\endcsname}
+
+\newskip\defbodyindent \defbodyindent=.4in
+\newskip\defargsindent \defargsindent=50pt
+\newskip\deftypemargin \deftypemargin=12pt
+\newskip\deflastargmargin \deflastargmargin=18pt
+
+\newcount\parencount
+% define \functionparens, which makes ( and ) and & do special things.
+% \functionparens affects the group it is contained in.
+\def\activeparens{%
+\catcode`\(=\active \catcode`\)=\active \catcode`\&=\active
+\catcode`\[=\active \catcode`\]=\active}
+
+% Make control sequences which act like normal parenthesis chars.
+\let\lparen = ( \let\rparen = )
+
+{\activeparens % Now, smart parens don't turn on until &foo (see \amprm)
+
+% Be sure that we always have a definition for `(', etc. For example,
+% if the fn name has parens in it, \boldbrax will not be in effect yet,
+% so TeX would otherwise complain about undefined control sequence.
+\global\let(=\lparen \global\let)=\rparen
+\global\let[=\lbrack \global\let]=\rbrack
+
+\gdef\functionparens{\boldbrax\let&=\amprm\parencount=0 }
+\gdef\boldbrax{\let(=\opnr\let)=\clnr\let[=\lbrb\let]=\rbrb}
+% This is used to turn on special parens
+% but make & act ordinary (given that it's active).
+\gdef\boldbraxnoamp{\let(=\opnr\let)=\clnr\let[=\lbrb\let]=\rbrb\let&=\ampnr}
+
+% Definitions of (, ) and & used in args for functions.
+% This is the definition of ( outside of all parentheses.
+\gdef\oprm#1 {{\rm\char`\(}#1 \bf \let(=\opnested
+ \global\advance\parencount by 1
+}
+%
+% This is the definition of ( when already inside a level of parens.
+\gdef\opnested{\char`\(\global\advance\parencount by 1 }
+%
+\gdef\clrm{% Print a paren in roman if it is taking us back to depth of 0.
+ % also in that case restore the outer-level definition of (.
+ \ifnum \parencount=1 {\rm \char `\)}\sl \let(=\oprm \else \char `\) \fi
+ \global\advance \parencount by -1 }
+% If we encounter &foo, then turn on ()-hacking afterwards
+\gdef\amprm#1 {{\rm\&#1}\let(=\oprm \let)=\clrm\ }
+%
+\gdef\normalparens{\boldbrax\let&=\ampnr}
+} % End of definition inside \activeparens
+%% These parens (in \boldbrax) actually are a little bolder than the
+%% contained text. This is especially needed for [ and ]
+\def\opnr{{\sf\char`\(}\global\advance\parencount by 1 }
+\def\clnr{{\sf\char`\)}\global\advance\parencount by -1 }
+\let\ampnr = \&
+\def\lbrb{{\bf\char`\[}}
+\def\rbrb{{\bf\char`\]}}
+
+% Active &'s sneak into the index arguments, so make sure it's defined.
+{
+ \catcode`& = 13
+ \global\let& = \ampnr
+}
+
+% First, defname, which formats the header line itself.
+% #1 should be the function name.
+% #2 should be the type of definition, such as "Function".
+
+\def\defname #1#2{%
+% Get the values of \leftskip and \rightskip as they were
+% outside the @def...
+\dimen2=\leftskip
+\advance\dimen2 by -\defbodyindent
+\noindent
+\setbox0=\hbox{\hskip \deflastargmargin{\rm #2}\hskip \deftypemargin}%
+\dimen0=\hsize \advance \dimen0 by -\wd0 % compute size for first line
+\dimen1=\hsize \advance \dimen1 by -\defargsindent %size for continuations
+\parshape 2 0in \dimen0 \defargsindent \dimen1
+% Now output arg 2 ("Function" or some such)
+% ending at \deftypemargin from the right margin,
+% but stuck inside a box of width 0 so it does not interfere with linebreaking
+{% Adjust \hsize to exclude the ambient margins,
+% so that \rightline will obey them.
+\advance \hsize by -\dimen2
+\rlap{\rightline{{\rm #2}\hskip -1.25pc }}}%
+% Make all lines underfull and no complaints:
+\tolerance=10000 \hbadness=10000
+\advance\leftskip by -\defbodyindent
+\exdentamount=\defbodyindent
+{\df #1}\enskip % Generate function name
+}
+
+% Actually process the body of a definition
+% #1 should be the terminating control sequence, such as \Edefun.
+% #2 should be the "another name" control sequence, such as \defunx.
+% #3 should be the control sequence that actually processes the header,
+% such as \defunheader.
+
+\def\defparsebody #1#2#3{\begingroup\inENV% Environment for definitionbody
+\medbreak %
+% Define the end token that this defining construct specifies
+% so that it will exit this group.
+\def#1{\endgraf\endgroup\medbreak}%
+\def#2{\begingroup\obeylines\activeparens\spacesplit#3}%
+\parindent=0in
+\advance\leftskip by \defbodyindent
+\exdentamount=\defbodyindent
+\begingroup %
+\catcode 61=\active % 61 is `='
+\obeylines\activeparens\spacesplit#3}
+
+% #1 is the \E... control sequence to end the definition (which we define).
+% #2 is the \...x control sequence for consecutive fns (which we define).
+% #3 is the control sequence to call to resume processing.
+% #4, delimited by the space, is the class name.
+%
+\def\defmethparsebody#1#2#3#4 {\begingroup\inENV %
+\medbreak %
+% Define the end token that this defining construct specifies
+% so that it will exit this group.
+\def#1{\endgraf\endgroup\medbreak}%
+\def#2##1 {\begingroup\obeylines\activeparens\spacesplit{#3{##1}}}%
+\parindent=0in
+\advance\leftskip by \defbodyindent
+\exdentamount=\defbodyindent
+\begingroup\obeylines\activeparens\spacesplit{#3{#4}}}
+
+% Used for @deftypemethod and @deftypeivar.
+% #1 is the \E... control sequence to end the definition (which we define).
+% #2 is the \...x control sequence for consecutive fns (which we define).
+% #3 is the control sequence to call to resume processing.
+% #4, delimited by a space, is the class name.
+% #5 is the method's return type.
+%
+\def\deftypemethparsebody#1#2#3#4 #5 {\begingroup\inENV
+ \medbreak
+ \def#1{\endgraf\endgroup\medbreak}%
+ \def#2##1 ##2 {\begingroup\obeylines\activeparens\spacesplit{#3{##1}{##2}}}%
+ \parindent=0in
+ \advance\leftskip by \defbodyindent
+ \exdentamount=\defbodyindent
+ \begingroup\obeylines\activeparens\spacesplit{#3{#4}{#5}}}
+
+% Used for @deftypeop. The change from \deftypemethparsebody is an
+% extra argument at the beginning which is the `category', instead of it
+% being the hardwired string `Method' or `Instance Variable'. We have
+% to account for this both in the \...x definition and in parsing the
+% input at hand. Thus also need a control sequence (passed as #5) for
+% the \E... definition to assign the category name to.
+%
+\def\deftypeopparsebody#1#2#3#4#5 #6 {\begingroup\inENV
+ \medbreak
+ \def#1{\endgraf\endgroup\medbreak}%
+ \def#2##1 ##2 ##3 {%
+ \def#4{##1}%
+ \begingroup\obeylines\activeparens\spacesplit{#3{##2}{##3}}}%
+ \parindent=0in
+ \advance\leftskip by \defbodyindent
+ \exdentamount=\defbodyindent
+ \begingroup\obeylines\activeparens\spacesplit{#3{#5}{#6}}}
+
+\def\defopparsebody #1#2#3#4#5 {\begingroup\inENV %
+\medbreak %
+% Define the end token that this defining construct specifies
+% so that it will exit this group.
+\def#1{\endgraf\endgroup\medbreak}%
+\def#2##1 ##2 {\def#4{##1}%
+\begingroup\obeylines\activeparens\spacesplit{#3{##2}}}%
+\parindent=0in
+\advance\leftskip by \defbodyindent
+\exdentamount=\defbodyindent
+\begingroup\obeylines\activeparens\spacesplit{#3{#5}}}
+
+% These parsing functions are similar to the preceding ones
+% except that they do not make parens into active characters.
+% These are used for "variables" since they have no arguments.
+
+\def\defvarparsebody #1#2#3{\begingroup\inENV% Environment for definitionbody
+\medbreak %
+% Define the end token that this defining construct specifies
+% so that it will exit this group.
+\def#1{\endgraf\endgroup\medbreak}%
+\def#2{\begingroup\obeylines\spacesplit#3}%
+\parindent=0in
+\advance\leftskip by \defbodyindent
+\exdentamount=\defbodyindent
+\begingroup %
+\catcode 61=\active %
+\obeylines\spacesplit#3}
+
+% This is used for \def{tp,vr}parsebody. It could probably be used for
+% some of the others, too, with some judicious conditionals.
+%
+\def\parsebodycommon#1#2#3{%
+ \begingroup\inENV %
+ \medbreak %
+ % Define the end token that this defining construct specifies
+ % so that it will exit this group.
+ \def#1{\endgraf\endgroup\medbreak}%
+ \def#2##1 {\begingroup\obeylines\spacesplit{#3{##1}}}%
+ \parindent=0in
+ \advance\leftskip by \defbodyindent
+ \exdentamount=\defbodyindent
+ \begingroup\obeylines
+}
+
+\def\defvrparsebody#1#2#3#4 {%
+ \parsebodycommon{#1}{#2}{#3}%
+ \spacesplit{#3{#4}}%
+}
+
+% This loses on `@deftp {Data Type} {struct termios}' -- it thinks the
+% type is just `struct', because we lose the braces in `{struct
+% termios}' when \spacesplit reads its undelimited argument. Sigh.
+% \let\deftpparsebody=\defvrparsebody
+%
+% So, to get around this, we put \empty in with the type name. That
+% way, TeX won't find exactly `{...}' as an undelimited argument, and
+% won't strip off the braces.
+%
+\def\deftpparsebody #1#2#3#4 {%
+ \parsebodycommon{#1}{#2}{#3}%
+ \spacesplit{\parsetpheaderline{#3{#4}}}\empty
+}
+
+% Fine, but then we have to eventually remove the \empty *and* the
+% braces (if any). That's what this does.
+%
+\def\removeemptybraces\empty#1\relax{#1}
+
+% After \spacesplit has done its work, this is called -- #1 is the final
+% thing to call, #2 the type name (which starts with \empty), and #3
+% (which might be empty) the arguments.
+%
+\def\parsetpheaderline#1#2#3{%
+ #1{\removeemptybraces#2\relax}{#3}%
+}%
+
+\def\defopvarparsebody #1#2#3#4#5 {\begingroup\inENV %
+\medbreak %
+% Define the end token that this defining construct specifies
+% so that it will exit this group.
+\def#1{\endgraf\endgroup\medbreak}%
+\def#2##1 ##2 {\def#4{##1}%
+\begingroup\obeylines\spacesplit{#3{##2}}}%
+\parindent=0in
+\advance\leftskip by \defbodyindent
+\exdentamount=\defbodyindent
+\begingroup\obeylines\spacesplit{#3{#5}}}
+
+% Split up #2 at the first space token.
+% call #1 with two arguments:
+% the first is all of #2 before the space token,
+% the second is all of #2 after that space token.
+% If #2 contains no space token, all of it is passed as the first arg
+% and the second is passed as empty.
+
+{\obeylines
+\gdef\spacesplit#1#2^^M{\endgroup\spacesplitfoo{#1}#2 \relax\spacesplitfoo}%
+\long\gdef\spacesplitfoo#1#2 #3#4\spacesplitfoo{%
+\ifx\relax #3%
+#1{#2}{}\else #1{#2}{#3#4}\fi}}
+
+% So much for the things common to all kinds of definitions.
+
+% Define @defun.
+
+% First, define the processing that is wanted for arguments of \defun
+% Use this to expand the args and terminate the paragraph they make up
+
+\def\defunargs#1{\functionparens \sl
+% Expand, preventing hyphenation at `-' chars.
+% Note that groups don't affect changes in \hyphenchar.
+% Set the font temporarily and use \font in case \setfont made \tensl a macro.
+{\tensl\hyphenchar\font=0}%
+#1%
+{\tensl\hyphenchar\font=45}%
+\ifnum\parencount=0 \else \errmessage{Unbalanced parentheses in @def}\fi%
+\interlinepenalty=10000
+\advance\rightskip by 0pt plus 1fil
+\endgraf\nobreak\vskip -\parskip\nobreak
+}
+
+\def\deftypefunargs #1{%
+% Expand, preventing hyphenation at `-' chars.
+% Note that groups don't affect changes in \hyphenchar.
+% Use \boldbraxnoamp, not \functionparens, so that & is not special.
+\boldbraxnoamp
+\tclose{#1}% avoid \code because of side effects on active chars
+\interlinepenalty=10000
+\advance\rightskip by 0pt plus 1fil
+\endgraf\nobreak\vskip -\parskip\nobreak
+}
+
+% Do complete processing of one @defun or @defunx line already parsed.
+
+% @deffn Command forward-char nchars
+
+\def\deffn{\defmethparsebody\Edeffn\deffnx\deffnheader}
+
+\def\deffnheader #1#2#3{\doind {fn}{\code{#2}}%
+\begingroup\defname {#2}{#1}\defunargs{#3}\endgroup %
+\catcode 61=\other % Turn off change made in \defparsebody
+}
+
+% @defun == @deffn Function
+
+\def\defun{\defparsebody\Edefun\defunx\defunheader}
+
+\def\defunheader #1#2{\doind {fn}{\code{#1}}% Make entry in function index
+\begingroup\defname {#1}{\putwordDeffunc}%
+\defunargs {#2}\endgroup %
+\catcode 61=\other % Turn off change made in \defparsebody
+}
+
+% @deftypefun int foobar (int @var{foo}, float @var{bar})
+
+\def\deftypefun{\defparsebody\Edeftypefun\deftypefunx\deftypefunheader}
+
+% #1 is the data type. #2 is the name and args.
+\def\deftypefunheader #1#2{\deftypefunheaderx{#1}#2 \relax}
+% #1 is the data type, #2 the name, #3 the args.
+\def\deftypefunheaderx #1#2 #3\relax{%
+\doind {fn}{\code{#2}}% Make entry in function index
+\begingroup\defname {\defheaderxcond#1\relax$$$#2}{\putwordDeftypefun}%
+\deftypefunargs {#3}\endgroup %
+\catcode 61=\other % Turn off change made in \defparsebody
+}
+
+% @deftypefn {Library Function} int foobar (int @var{foo}, float @var{bar})
+
+\def\deftypefn{\defmethparsebody\Edeftypefn\deftypefnx\deftypefnheader}
+
+% \defheaderxcond#1\relax$$$
+% puts #1 in @code, followed by a space, but does nothing if #1 is null.
+\def\defheaderxcond#1#2$$${\ifx#1\relax\else\code{#1#2} \fi}
+
+% #1 is the classification. #2 is the data type. #3 is the name and args.
+\def\deftypefnheader #1#2#3{\deftypefnheaderx{#1}{#2}#3 \relax}
+% #1 is the classification, #2 the data type, #3 the name, #4 the args.
+\def\deftypefnheaderx #1#2#3 #4\relax{%
+\doind {fn}{\code{#3}}% Make entry in function index
+\begingroup
+\normalparens % notably, turn off `&' magic, which prevents
+% at least some C++ text from working
+\defname {\defheaderxcond#2\relax$$$#3}{#1}%
+\deftypefunargs {#4}\endgroup %
+\catcode 61=\other % Turn off change made in \defparsebody
+}
+
+% @defmac == @deffn Macro
+
+\def\defmac{\defparsebody\Edefmac\defmacx\defmacheader}
+
+\def\defmacheader #1#2{\doind {fn}{\code{#1}}% Make entry in function index
+\begingroup\defname {#1}{\putwordDefmac}%
+\defunargs {#2}\endgroup %
+\catcode 61=\other % Turn off change made in \defparsebody
+}
+
+% @defspec == @deffn Special Form
+
+\def\defspec{\defparsebody\Edefspec\defspecx\defspecheader}
+
+\def\defspecheader #1#2{\doind {fn}{\code{#1}}% Make entry in function index
+\begingroup\defname {#1}{\putwordDefspec}%
+\defunargs {#2}\endgroup %
+\catcode 61=\other % Turn off change made in \defparsebody
+}
+
+% @defop CATEGORY CLASS OPERATION ARG...
+%
+\def\defop #1 {\def\defoptype{#1}%
+\defopparsebody\Edefop\defopx\defopheader\defoptype}
+%
+\def\defopheader#1#2#3{%
+\dosubind {fn}{\code{#2}}{\putwordon\ #1}% Make entry in function index
+\begingroup\defname {#2}{\defoptype\ \putwordon\ #1}%
+\defunargs {#3}\endgroup %
+}
+
+% @deftypeop CATEGORY CLASS TYPE OPERATION ARG...
+%
+\def\deftypeop #1 {\def\deftypeopcategory{#1}%
+ \deftypeopparsebody\Edeftypeop\deftypeopx\deftypeopheader
+ \deftypeopcategory}
+%
+% #1 is the class name, #2 the data type, #3 the operation name, #4 the args.
+\def\deftypeopheader#1#2#3#4{%
+ \dosubind{fn}{\code{#3}}{\putwordon\ \code{#1}}% entry in function index
+ \begingroup
+ \defname{\defheaderxcond#2\relax$$$#3}
+ {\deftypeopcategory\ \putwordon\ \code{#1}}%
+ \deftypefunargs{#4}%
+ \endgroup
+}
+
+% @deftypemethod CLASS TYPE METHOD ARG...
+%
+\def\deftypemethod{%
+ \deftypemethparsebody\Edeftypemethod\deftypemethodx\deftypemethodheader}
+%
+% #1 is the class name, #2 the data type, #3 the method name, #4 the args.
+\def\deftypemethodheader#1#2#3#4{%
+ \dosubind{fn}{\code{#3}}{\putwordon\ \code{#1}}% entry in function index
+ \begingroup
+ \defname{\defheaderxcond#2\relax$$$#3}{\putwordMethodon\ \code{#1}}%
+ \deftypefunargs{#4}%
+ \endgroup
+}
+
+% @deftypeivar CLASS TYPE VARNAME
+%
+\def\deftypeivar{%
+ \deftypemethparsebody\Edeftypeivar\deftypeivarx\deftypeivarheader}
+%
+% #1 is the class name, #2 the data type, #3 the variable name.
+\def\deftypeivarheader#1#2#3{%
+ \dosubind{vr}{\code{#3}}{\putwordof\ \code{#1}}% entry in variable index
+ \begingroup
+ \defname{#3}{\putwordInstanceVariableof\ \code{#1}}%
+ \defvarargs{#3}%
+ \endgroup
+}
+
+% @defmethod == @defop Method
+%
+\def\defmethod{\defmethparsebody\Edefmethod\defmethodx\defmethodheader}
+%
+% #1 is the class name, #2 the method name, #3 the args.
+\def\defmethodheader#1#2#3{%
+ \dosubind{fn}{\code{#2}}{\putwordon\ \code{#1}}% entry in function index
+ \begingroup
+ \defname{#2}{\putwordMethodon\ \code{#1}}%
+ \defunargs{#3}%
+ \endgroup
+}
+
+% @defcv {Class Option} foo-class foo-flag
+
+\def\defcv #1 {\def\defcvtype{#1}%
+\defopvarparsebody\Edefcv\defcvx\defcvarheader\defcvtype}
+
+\def\defcvarheader #1#2#3{%
+\dosubind {vr}{\code{#2}}{\putwordof\ #1}% Make entry in var index
+\begingroup\defname {#2}{\defcvtype\ \putwordof\ #1}%
+\defvarargs {#3}\endgroup %
+}
+
+% @defivar CLASS VARNAME == @defcv {Instance Variable} CLASS VARNAME
+%
+\def\defivar{\defvrparsebody\Edefivar\defivarx\defivarheader}
+%
+\def\defivarheader#1#2#3{%
+ \dosubind {vr}{\code{#2}}{\putwordof\ #1}% entry in var index
+ \begingroup
+ \defname{#2}{\putwordInstanceVariableof\ #1}%
+ \defvarargs{#3}%
+ \endgroup
+}
+
+% @defvar
+% First, define the processing that is wanted for arguments of @defvar.
+% This is actually simple: just print them in roman.
+% This must expand the args and terminate the paragraph they make up
+\def\defvarargs #1{\normalparens #1%
+\interlinepenalty=10000
+\endgraf\nobreak\vskip -\parskip\nobreak}
+
+% @defvr Counter foo-count
+
+\def\defvr{\defvrparsebody\Edefvr\defvrx\defvrheader}
+
+\def\defvrheader #1#2#3{\doind {vr}{\code{#2}}%
+\begingroup\defname {#2}{#1}\defvarargs{#3}\endgroup}
+
+% @defvar == @defvr Variable
+
+\def\defvar{\defvarparsebody\Edefvar\defvarx\defvarheader}
+
+\def\defvarheader #1#2{\doind {vr}{\code{#1}}% Make entry in var index
+\begingroup\defname {#1}{\putwordDefvar}%
+\defvarargs {#2}\endgroup %
+}
+
+% @defopt == @defvr {User Option}
+
+\def\defopt{\defvarparsebody\Edefopt\defoptx\defoptheader}
+
+\def\defoptheader #1#2{\doind {vr}{\code{#1}}% Make entry in var index
+\begingroup\defname {#1}{\putwordDefopt}%
+\defvarargs {#2}\endgroup %
+}
+
+% @deftypevar int foobar
+
+\def\deftypevar{\defvarparsebody\Edeftypevar\deftypevarx\deftypevarheader}
+
+% #1 is the data type. #2 is the name, perhaps followed by text that
+% is actually part of the data type, which should not be put into the index.
+\def\deftypevarheader #1#2{%
+\dovarind#2 \relax% Make entry in variables index
+\begingroup\defname {\defheaderxcond#1\relax$$$#2}{\putwordDeftypevar}%
+\interlinepenalty=10000
+\endgraf\nobreak\vskip -\parskip\nobreak
+\endgroup}
+\def\dovarind#1 #2\relax{\doind{vr}{\code{#1}}}
+
+% @deftypevr {Global Flag} int enable
+
+\def\deftypevr{\defvrparsebody\Edeftypevr\deftypevrx\deftypevrheader}
+
+\def\deftypevrheader #1#2#3{\dovarind#3 \relax%
+\begingroup\defname {\defheaderxcond#2\relax$$$#3}{#1}
+\interlinepenalty=10000
+\endgraf\nobreak\vskip -\parskip\nobreak
+\endgroup}
+
+% Now define @deftp
+% Args are printed in bold, a slight difference from @defvar.
+
+\def\deftpargs #1{\bf \defvarargs{#1}}
+
+% @deftp Class window height width ...
+
+\def\deftp{\deftpparsebody\Edeftp\deftpx\deftpheader}
+
+\def\deftpheader #1#2#3{\doind {tp}{\code{#2}}%
+\begingroup\defname {#2}{#1}\deftpargs{#3}\endgroup}
+
+% These definitions are used if you use @defunx (etc.)
+% anywhere other than immediately after a @defun or @defunx.
+%
+\def\defcvx#1 {\errmessage{@defcvx in invalid context}}
+\def\deffnx#1 {\errmessage{@deffnx in invalid context}}
+\def\defivarx#1 {\errmessage{@defivarx in invalid context}}
+\def\defmacx#1 {\errmessage{@defmacx in invalid context}}
+\def\defmethodx#1 {\errmessage{@defmethodx in invalid context}}
+\def\defoptx #1 {\errmessage{@defoptx in invalid context}}
+\def\defopx#1 {\errmessage{@defopx in invalid context}}
+\def\defspecx#1 {\errmessage{@defspecx in invalid context}}
+\def\deftpx#1 {\errmessage{@deftpx in invalid context}}
+\def\deftypefnx#1 {\errmessage{@deftypefnx in invalid context}}
+\def\deftypefunx#1 {\errmessage{@deftypefunx in invalid context}}
+\def\deftypeivarx#1 {\errmessage{@deftypeivarx in invalid context}}
+\def\deftypemethodx#1 {\errmessage{@deftypemethodx in invalid context}}
+\def\deftypeopx#1 {\errmessage{@deftypeopx in invalid context}}
+\def\deftypevarx#1 {\errmessage{@deftypevarx in invalid context}}
+\def\deftypevrx#1 {\errmessage{@deftypevrx in invalid context}}
+\def\defunx#1 {\errmessage{@defunx in invalid context}}
+\def\defvarx#1 {\errmessage{@defvarx in invalid context}}
+\def\defvrx#1 {\errmessage{@defvrx in invalid context}}
+
+
+\message{macros,}
+% @macro.
+
+% To do this right we need a feature of e-TeX, \scantokens,
+% which we arrange to emulate with a temporary file in ordinary TeX.
+\ifx\eTeXversion\undefined
+ \newwrite\macscribble
+ \def\scanmacro#1{%
+ \begingroup \newlinechar`\^^M
+ % Undo catcode changes of \startcontents and \doprintindex
+ \catcode`\@=0 \catcode`\\=12 \escapechar=`\@
+ % Append \endinput to make sure that TeX does not see the ending newline.
+ \toks0={#1\endinput}%
+ \immediate\openout\macscribble=\jobname.tmp
+ \immediate\write\macscribble{\the\toks0}%
+ \immediate\closeout\macscribble
+ \let\xeatspaces\eatspaces
+ \input \jobname.tmp
+ \endgroup
+}
+\else
+\def\scanmacro#1{%
+\begingroup \newlinechar`\^^M
+% Undo catcode changes of \startcontents and \doprintindex
+\catcode`\@=0 \catcode`\\=12 \escapechar=`\@
+\let\xeatspaces\eatspaces\scantokens{#1\endinput}\endgroup}
+\fi
+
+\newcount\paramno % Count of parameters
+\newtoks\macname % Macro name
+\newif\ifrecursive % Is it recursive?
+\def\macrolist{} % List of all defined macros in the form
+ % \do\macro1\do\macro2...
+
+% Utility routines.
+% Thisdoes \let #1 = #2, except with \csnames.
+\def\cslet#1#2{%
+\expandafter\expandafter
+\expandafter\let
+\expandafter\expandafter
+\csname#1\endcsname
+\csname#2\endcsname}
+
+% Trim leading and trailing spaces off a string.
+% Concepts from aro-bend problem 15 (see CTAN).
+{\catcode`\@=11
+\gdef\eatspaces #1{\expandafter\trim@\expandafter{#1 }}
+\gdef\trim@ #1{\trim@@ @#1 @ #1 @ @@}
+\gdef\trim@@ #1@ #2@ #3@@{\trim@@@\empty #2 @}
+\def\unbrace#1{#1}
+\unbrace{\gdef\trim@@@ #1 } #2@{#1}
+}
+
+% Trim a single trailing ^^M off a string.
+{\catcode`\^^M=12\catcode`\Q=3%
+\gdef\eatcr #1{\eatcra #1Q^^MQ}%
+\gdef\eatcra#1^^MQ{\eatcrb#1Q}%
+\gdef\eatcrb#1Q#2Q{#1}%
+}
+
+% Macro bodies are absorbed as an argument in a context where
+% all characters are catcode 10, 11 or 12, except \ which is active
+% (as in normal texinfo). It is necessary to change the definition of \.
+
+% It's necessary to have hard CRs when the macro is executed. This is
+% done by making ^^M (\endlinechar) catcode 12 when reading the macro
+% body, and then making it the \newlinechar in \scanmacro.
+
+\def\macrobodyctxt{%
+ \catcode`\~=12
+ \catcode`\^=12
+ \catcode`\_=12
+ \catcode`\|=12
+ \catcode`\<=12
+ \catcode`\>=12
+ \catcode`\+=12
+ \catcode`\{=12
+ \catcode`\}=12
+ \catcode`\@=12
+ \catcode`\^^M=12
+ \usembodybackslash}
+
+\def\macroargctxt{%
+ \catcode`\~=12
+ \catcode`\^=12
+ \catcode`\_=12
+ \catcode`\|=12
+ \catcode`\<=12
+ \catcode`\>=12
+ \catcode`\+=12
+ \catcode`\@=12
+ \catcode`\\=12}
+
+% \mbodybackslash is the definition of \ in @macro bodies.
+% It maps \foo\ => \csname macarg.foo\endcsname => #N
+% where N is the macro parameter number.
+% We define \csname macarg.\endcsname to be \realbackslash, so
+% \\ in macro replacement text gets you a backslash.
+
+{\catcode`@=0 @catcode`@\=@active
+ @gdef@usembodybackslash{@let\=@mbodybackslash}
+ @gdef@mbodybackslash#1\{@csname macarg.#1@endcsname}
+}
+\expandafter\def\csname macarg.\endcsname{\realbackslash}
+
+\def\macro{\recursivefalse\parsearg\macroxxx}
+\def\rmacro{\recursivetrue\parsearg\macroxxx}
+
+\def\macroxxx#1{%
+ \getargs{#1}% now \macname is the macname and \argl the arglist
+ \ifx\argl\empty % no arguments
+ \paramno=0%
+ \else
+ \expandafter\parsemargdef \argl;%
+ \fi
+ \if1\csname ismacro.\the\macname\endcsname
+ \message{Warning: redefining \the\macname}%
+ \else
+ \expandafter\ifx\csname \the\macname\endcsname \relax
+ \else \errmessage{The name \the\macname\space is reserved}\fi
+ \global\cslet{macsave.\the\macname}{\the\macname}%
+ \global\expandafter\let\csname ismacro.\the\macname\endcsname=1%
+ % Add the macroname to \macrolist
+ \toks0 = \expandafter{\macrolist\do}%
+ \xdef\macrolist{\the\toks0
+ \expandafter\noexpand\csname\the\macname\endcsname}%
+ \fi
+ \begingroup \macrobodyctxt
+ \ifrecursive \expandafter\parsermacbody
+ \else \expandafter\parsemacbody
+ \fi}
+
+\def\unmacro{\parsearg\unmacroxxx}
+\def\unmacroxxx#1{%
+ \if1\csname ismacro.#1\endcsname
+ \global\cslet{#1}{macsave.#1}%
+ \global\expandafter\let \csname ismacro.#1\endcsname=0%
+ % Remove the macro name from \macrolist
+ \begingroup
+ \edef\tempa{\expandafter\noexpand\csname#1\endcsname}%
+ \def\do##1{%
+ \def\tempb{##1}%
+ \ifx\tempa\tempb
+ % remove this
+ \else
+ \toks0 = \expandafter{\newmacrolist\do}%
+ \edef\newmacrolist{\the\toks0\expandafter\noexpand\tempa}%
+ \fi}%
+ \def\newmacrolist{}%
+ % Execute macro list to define \newmacrolist
+ \macrolist
+ \global\let\macrolist\newmacrolist
+ \endgroup
+ \else
+ \errmessage{Macro #1 not defined}%
+ \fi
+}
+
+% This makes use of the obscure feature that if the last token of a
+% <parameter list> is #, then the preceding argument is delimited by
+% an opening brace, and that opening brace is not consumed.
+\def\getargs#1{\getargsxxx#1{}}
+\def\getargsxxx#1#{\getmacname #1 \relax\getmacargs}
+\def\getmacname #1 #2\relax{\macname={#1}}
+\def\getmacargs#1{\def\argl{#1}}
+
+% Parse the optional {params} list. Set up \paramno and \paramlist
+% so \defmacro knows what to do. Define \macarg.blah for each blah
+% in the params list, to be ##N where N is the position in that list.
+% That gets used by \mbodybackslash (above).
+
+% We need to get `macro parameter char #' into several definitions.
+% The technique used is stolen from LaTeX: let \hash be something
+% unexpandable, insert that wherever you need a #, and then redefine
+% it to # just before using the token list produced.
+%
+% The same technique is used to protect \eatspaces till just before
+% the macro is used.
+
+\def\parsemargdef#1;{\paramno=0\def\paramlist{}%
+ \let\hash\relax\let\xeatspaces\relax\parsemargdefxxx#1,;,}
+\def\parsemargdefxxx#1,{%
+ \if#1;\let\next=\relax
+ \else \let\next=\parsemargdefxxx
+ \advance\paramno by 1%
+ \expandafter\edef\csname macarg.\eatspaces{#1}\endcsname
+ {\xeatspaces{\hash\the\paramno}}%
+ \edef\paramlist{\paramlist\hash\the\paramno,}%
+ \fi\next}
+
+% These two commands read recursive and nonrecursive macro bodies.
+% (They're different since rec and nonrec macros end differently.)
+
+\long\def\parsemacbody#1@end macro%
+{\xdef\temp{\eatcr{#1}}\endgroup\defmacro}%
+\long\def\parsermacbody#1@end rmacro%
+{\xdef\temp{\eatcr{#1}}\endgroup\defmacro}%
+
+% This defines the macro itself. There are six cases: recursive and
+% nonrecursive macros of zero, one, and many arguments.
+% Much magic with \expandafter here.
+% \xdef is used so that macro definitions will survive the file
+% they're defined in; @include reads the file inside a group.
+\def\defmacro{%
+ \let\hash=##% convert placeholders to macro parameter chars
+ \ifrecursive
+ \ifcase\paramno
+ % 0
+ \expandafter\xdef\csname\the\macname\endcsname{%
+ \noexpand\scanmacro{\temp}}%
+ \or % 1
+ \expandafter\xdef\csname\the\macname\endcsname{%
+ \bgroup\noexpand\macroargctxt
+ \noexpand\braceorline
+ \expandafter\noexpand\csname\the\macname xxx\endcsname}%
+ \expandafter\xdef\csname\the\macname xxx\endcsname##1{%
+ \egroup\noexpand\scanmacro{\temp}}%
+ \else % many
+ \expandafter\xdef\csname\the\macname\endcsname{%
+ \bgroup\noexpand\macroargctxt
+ \noexpand\csname\the\macname xx\endcsname}%
+ \expandafter\xdef\csname\the\macname xx\endcsname##1{%
+ \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}%
+ \expandafter\expandafter
+ \expandafter\xdef
+ \expandafter\expandafter
+ \csname\the\macname xxx\endcsname
+ \paramlist{\egroup\noexpand\scanmacro{\temp}}%
+ \fi
+ \else
+ \ifcase\paramno
+ % 0
+ \expandafter\xdef\csname\the\macname\endcsname{%
+ \noexpand\norecurse{\the\macname}%
+ \noexpand\scanmacro{\temp}\egroup}%
+ \or % 1
+ \expandafter\xdef\csname\the\macname\endcsname{%
+ \bgroup\noexpand\macroargctxt
+ \noexpand\braceorline
+ \expandafter\noexpand\csname\the\macname xxx\endcsname}%
+ \expandafter\xdef\csname\the\macname xxx\endcsname##1{%
+ \egroup
+ \noexpand\norecurse{\the\macname}%
+ \noexpand\scanmacro{\temp}\egroup}%
+ \else % many
+ \expandafter\xdef\csname\the\macname\endcsname{%
+ \bgroup\noexpand\macroargctxt
+ \expandafter\noexpand\csname\the\macname xx\endcsname}%
+ \expandafter\xdef\csname\the\macname xx\endcsname##1{%
+ \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}%
+ \expandafter\expandafter
+ \expandafter\xdef
+ \expandafter\expandafter
+ \csname\the\macname xxx\endcsname
+ \paramlist{%
+ \egroup
+ \noexpand\norecurse{\the\macname}%
+ \noexpand\scanmacro{\temp}\egroup}%
+ \fi
+ \fi}
+
+\def\norecurse#1{\bgroup\cslet{#1}{macsave.#1}}
+
+% \braceorline decides whether the next nonwhitespace character is a
+% {. If so it reads up to the closing }, if not, it reads the whole
+% line. Whatever was read is then fed to the next control sequence
+% as an argument (by \parsebrace or \parsearg)
+\def\braceorline#1{\let\next=#1\futurelet\nchar\braceorlinexxx}
+\def\braceorlinexxx{%
+ \ifx\nchar\bgroup\else
+ \expandafter\parsearg
+ \fi \next}
+
+% We mant to disable all macros during \shipout so that they are not
+% expanded by \write.
+\def\turnoffmacros{\begingroup \def\do##1{\let\noexpand##1=\relax}%
+ \edef\next{\macrolist}\expandafter\endgroup\next}
+
+
+% @alias.
+% We need some trickery to remove the optional spaces around the equal
+% sign. Just make them active and then expand them all to nothing.
+\def\alias{\begingroup\obeyspaces\parsearg\aliasxxx}
+\def\aliasxxx #1{\aliasyyy#1\relax}
+\def\aliasyyy #1=#2\relax{\ignoreactivespaces
+\edef\next{\global\let\expandafter\noexpand\csname#1\endcsname=%
+ \expandafter\noexpand\csname#2\endcsname}%
+\expandafter\endgroup\next}
+
+
+\message{cross references,}
+% @xref etc.
+
+\newwrite\auxfile
+
+\newif\ifhavexrefs % True if xref values are known.
+\newif\ifwarnedxrefs % True if we warned once that they aren't known.
+
+% @inforef is relatively simple.
+\def\inforef #1{\inforefzzz #1,,,,**}
+\def\inforefzzz #1,#2,#3,#4**{\putwordSee{} \putwordInfo{} \putwordfile{} \file{\ignorespaces #3{}},
+ node \samp{\ignorespaces#1{}}}
+
+% @node's job is to define \lastnode.
+\def\node{\ENVcheck\parsearg\nodezzz}
+\def\nodezzz#1{\nodexxx [#1,]}
+\def\nodexxx[#1,#2]{\gdef\lastnode{#1}}
+\let\nwnode=\node
+\let\lastnode=\relax
+
+% The sectioning commands (@chapter, etc.) call these.
+\def\donoderef{%
+ \ifx\lastnode\relax\else
+ \expandafter\expandafter\expandafter\setref{\lastnode}%
+ {Ysectionnumberandtype}%
+ \global\let\lastnode=\relax
+ \fi
+}
+\def\unnumbnoderef{%
+ \ifx\lastnode\relax\else
+ \expandafter\expandafter\expandafter\setref{\lastnode}{Ynothing}%
+ \global\let\lastnode=\relax
+ \fi
+}
+\def\appendixnoderef{%
+ \ifx\lastnode\relax\else
+ \expandafter\expandafter\expandafter\setref{\lastnode}%
+ {Yappendixletterandtype}%
+ \global\let\lastnode=\relax
+ \fi
+}
+
+
+% @anchor{NAME} -- define xref target at arbitrary point.
+%
+\newcount\savesfregister
+\gdef\savesf{\relax \ifhmode \savesfregister=\spacefactor \fi}
+\gdef\restoresf{\relax \ifhmode \spacefactor=\savesfregister \fi}
+\gdef\anchor#1{\savesf \setref{#1}{Ynothing}\restoresf \ignorespaces}
+
+% \setref{NAME}{SNT} defines a cross-reference point NAME, namely
+% NAME-title, NAME-pg, and NAME-SNT. Called from \foonoderef. We have
+% to set \indexdummies so commands such as @code in a section title
+% aren't expanded. It would be nicer not to expand the titles in the
+% first place, but there's so many layers that that is hard to do.
+%
+\def\setref#1#2{{%
+ \indexdummies
+ \pdfmkdest{#1}%
+ \dosetq{#1-title}{Ytitle}%
+ \dosetq{#1-pg}{Ypagenumber}%
+ \dosetq{#1-snt}{#2}%
+}}
+
+% @xref, @pxref, and @ref generate cross-references. For \xrefX, #1 is
+% the node name, #2 the name of the Info cross-reference, #3 the printed
+% node name, #4 the name of the Info file, #5 the name of the printed
+% manual. All but the node name can be omitted.
+%
+\def\pxref#1{\putwordsee{} \xrefX[#1,,,,,,,]}
+\def\xref#1{\putwordSee{} \xrefX[#1,,,,,,,]}
+\def\ref#1{\xrefX[#1,,,,,,,]}
+\def\xrefX[#1,#2,#3,#4,#5,#6]{\begingroup
+ \unsepspaces
+ \def\printedmanual{\ignorespaces #5}%
+ \def\printednodename{\ignorespaces #3}%
+ \setbox1=\hbox{\printedmanual}%
+ \setbox0=\hbox{\printednodename}%
+ \ifdim \wd0 = 0pt
+ % No printed node name was explicitly given.
+ \expandafter\ifx\csname SETxref-automatic-section-title\endcsname\relax
+ % Use the node name inside the square brackets.
+ \def\printednodename{\ignorespaces #1}%
+ \else
+ % Use the actual chapter/section title appear inside
+ % the square brackets. Use the real section title if we have it.
+ \ifdim \wd1 > 0pt
+ % It is in another manual, so we don't have it.
+ \def\printednodename{\ignorespaces #1}%
+ \else
+ \ifhavexrefs
+ % We know the real title if we have the xref values.
+ \def\printednodename{\refx{#1-title}{}}%
+ \else
+ % Otherwise just copy the Info node name.
+ \def\printednodename{\ignorespaces #1}%
+ \fi%
+ \fi
+ \fi
+ \fi
+ %
+ % If we use \unhbox0 and \unhbox1 to print the node names, TeX does not
+ % insert empty discretionaries after hyphens, which means that it will
+ % not find a line break at a hyphen in a node names. Since some manuals
+ % are best written with fairly long node names, containing hyphens, this
+ % is a loss. Therefore, we give the text of the node name again, so it
+ % is as if TeX is seeing it for the first time.
+ \ifpdf
+ \leavevmode
+ \getfilename{#4}%
+ \ifnum\filenamelength>0
+ \startlink attr{/Border [0 0 0]}%
+ goto file{\the\filename.pdf} name{#1@}%
+ \else
+ \startlink attr{/Border [0 0 0]}%
+ goto name{#1@}%
+ \fi
+ \linkcolor
+ \fi
+ %
+ \ifdim \wd1 > 0pt
+ \putwordsection{} ``\printednodename'' \putwordin{} \cite{\printedmanual}%
+ \else
+ % _ (for example) has to be the character _ for the purposes of the
+ % control sequence corresponding to the node, but it has to expand
+ % into the usual \leavevmode...\vrule stuff for purposes of
+ % printing. So we \turnoffactive for the \refx-snt, back on for the
+ % printing, back off for the \refx-pg.
+ {\normalturnoffactive
+ % Only output a following space if the -snt ref is nonempty; for
+ % @unnumbered and @anchor, it won't be.
+ \setbox2 = \hbox{\ignorespaces \refx{#1-snt}{}}%
+ \ifdim \wd2 > 0pt \refx{#1-snt}\space\fi
+ }%
+ % [mynode],
+ [\printednodename],\space
+ % page 3
+ \turnoffactive \putwordpage\tie\refx{#1-pg}{}%
+ \fi
+ \endlink
+\endgroup}
+
+% \dosetq is the interface for calls from other macros
+
+% Use \normalturnoffactive so that punctuation chars such as underscore
+% and backslash work in node names. (\turnoffactive doesn't do \.)
+\def\dosetq#1#2{%
+ {\let\folio=0%
+ \normalturnoffactive
+ \edef\next{\write\auxfile{\internalsetq{#1}{#2}}}%
+ \iflinks
+ \next
+ \fi
+ }%
+}
+
+% \internalsetq {foo}{page} expands into
+% CHARACTERS 'xrdef {foo}{...expansion of \Ypage...}
+% When the aux file is read, ' is the escape character
+
+\def\internalsetq #1#2{'xrdef {#1}{\csname #2\endcsname}}
+
+% Things to be expanded by \internalsetq
+
+\def\Ypagenumber{\folio}
+
+\def\Ytitle{\thissection}
+
+\def\Ynothing{}
+
+\def\Ysectionnumberandtype{%
+\ifnum\secno=0 \putwordChapter\xreftie\the\chapno %
+\else \ifnum \subsecno=0 \putwordSection\xreftie\the\chapno.\the\secno %
+\else \ifnum \subsubsecno=0 %
+\putwordSection\xreftie\the\chapno.\the\secno.\the\subsecno %
+\else %
+\putwordSection\xreftie\the\chapno.\the\secno.\the\subsecno.\the\subsubsecno %
+\fi \fi \fi }
+
+\def\Yappendixletterandtype{%
+\ifnum\secno=0 \putwordAppendix\xreftie'char\the\appendixno{}%
+\else \ifnum \subsecno=0 \putwordSection\xreftie'char\the\appendixno.\the\secno %
+\else \ifnum \subsubsecno=0 %
+\putwordSection\xreftie'char\the\appendixno.\the\secno.\the\subsecno %
+\else %
+\putwordSection\xreftie'char\the\appendixno.\the\secno.\the\subsecno.\the\subsubsecno %
+\fi \fi \fi }
+
+\gdef\xreftie{'tie}
+
+% Use TeX 3.0's \inputlineno to get the line number, for better error
+% messages, but if we're using an old version of TeX, don't do anything.
+%
+\ifx\inputlineno\thisisundefined
+ \let\linenumber = \empty % Non-3.0.
+\else
+ \def\linenumber{\the\inputlineno:\space}
+\fi
+
+% Define \refx{NAME}{SUFFIX} to reference a cross-reference string named NAME.
+% If its value is nonempty, SUFFIX is output afterward.
+
+\def\refx#1#2{%
+ \expandafter\ifx\csname X#1\endcsname\relax
+ % If not defined, say something at least.
+ \angleleft un\-de\-fined\angleright
+ \iflinks
+ \ifhavexrefs
+ \message{\linenumber Undefined cross reference `#1'.}%
+ \else
+ \ifwarnedxrefs\else
+ \global\warnedxrefstrue
+ \message{Cross reference values unknown; you must run TeX again.}%
+ \fi
+ \fi
+ \fi
+ \else
+ % It's defined, so just use it.
+ \csname X#1\endcsname
+ \fi
+ #2% Output the suffix in any case.
+}
+
+% This is the macro invoked by entries in the aux file.
+%
+\def\xrdef#1{\begingroup
+ % Reenable \ as an escape while reading the second argument.
+ \catcode`\\ = 0
+ \afterassignment\endgroup
+ \expandafter\gdef\csname X#1\endcsname
+}
+
+% Read the last existing aux file, if any. No error if none exists.
+\def\readauxfile{\begingroup
+ \catcode`\^^@=\other
+ \catcode`\^^A=\other
+ \catcode`\^^B=\other
+ \catcode`\^^C=\other
+ \catcode`\^^D=\other
+ \catcode`\^^E=\other
+ \catcode`\^^F=\other
+ \catcode`\^^G=\other
+ \catcode`\^^H=\other
+ \catcode`\^^K=\other
+ \catcode`\^^L=\other
+ \catcode`\^^N=\other
+ \catcode`\^^P=\other
+ \catcode`\^^Q=\other
+ \catcode`\^^R=\other
+ \catcode`\^^S=\other
+ \catcode`\^^T=\other
+ \catcode`\^^U=\other
+ \catcode`\^^V=\other
+ \catcode`\^^W=\other
+ \catcode`\^^X=\other
+ \catcode`\^^Z=\other
+ \catcode`\^^[=\other
+ \catcode`\^^\=\other
+ \catcode`\^^]=\other
+ \catcode`\^^^=\other
+ \catcode`\^^_=\other
+ \catcode`\@=\other
+ \catcode`\^=\other
+ % It was suggested to define this as 7, which would allow ^^e4 etc.
+ % in xref tags, i.e., node names. But since ^^e4 notation isn't
+ % supported in the main text, it doesn't seem desirable. Furthermore,
+ % that is not enough: for node names that actually contain a ^
+ % character, we would end up writing a line like this: 'xrdef {'hat
+ % b-title}{'hat b} and \xrdef does a \csname...\endcsname on the first
+ % argument, and \hat is not an expandable control sequence. It could
+ % all be worked out, but why? Either we support ^^ or we don't.
+ %
+ % The other change necessary for this was to define \auxhat:
+ % \def\auxhat{\def^{'hat }}% extra space so ok if followed by letter
+ % and then to call \auxhat in \setq.
+ %
+ \catcode`\~=\other
+ \catcode`\[=\other
+ \catcode`\]=\other
+ \catcode`\"=\other
+ \catcode`\_=\other
+ \catcode`\|=\other
+ \catcode`\<=\other
+ \catcode`\>=\other
+ \catcode`\$=\other
+ \catcode`\#=\other
+ \catcode`\&=\other
+ \catcode`+=\other % avoid \+ for paranoia even though we've turned it off
+ % Make the characters 128-255 be printing characters
+ {%
+ \count 1=128
+ \def\loop{%
+ \catcode\count 1=\other
+ \advance\count 1 by 1
+ \ifnum \count 1<256 \loop \fi
+ }%
+ }%
+ % The aux file uses ' as the escape (for now).
+ % Turn off \ as an escape so we do not lose on
+ % entries which were dumped with control sequences in their names.
+ % For example, 'xrdef {$\leq $-fun}{page ...} made by @defun ^^
+ % Reference to such entries still does not work the way one would wish,
+ % but at least they do not bomb out when the aux file is read in.
+ \catcode`\{=1
+ \catcode`\}=2
+ \catcode`\%=\other
+ \catcode`\'=0
+ \catcode`\\=\other
+ %
+ \openin 1 \jobname.aux
+ \ifeof 1 \else
+ \closein 1
+ \input \jobname.aux
+ \global\havexrefstrue
+ \global\warnedobstrue
+ \fi
+ % Open the new aux file. TeX will close it automatically at exit.
+ \openout\auxfile=\jobname.aux
+\endgroup}
+
+
+% Footnotes.
+
+\newcount \footnoteno
+
+% The trailing space in the following definition for supereject is
+% vital for proper filling; pages come out unaligned when you do a
+% pagealignmacro call if that space before the closing brace is
+% removed. (Generally, numeric constants should always be followed by a
+% space to prevent strange expansion errors.)
+\def\supereject{\par\penalty -20000\footnoteno =0 }
+
+% @footnotestyle is meaningful for info output only.
+\let\footnotestyle=\comment
+
+\let\ptexfootnote=\footnote
+
+{\catcode `\@=11
+%
+% Auto-number footnotes. Otherwise like plain.
+\gdef\footnote{%
+ \global\advance\footnoteno by \@ne
+ \edef\thisfootno{$^{\the\footnoteno}$}%
+ %
+ % In case the footnote comes at the end of a sentence, preserve the
+ % extra spacing after we do the footnote number.
+ \let\@sf\empty
+ \ifhmode\edef\@sf{\spacefactor\the\spacefactor}\/\fi
+ %
+ % Remove inadvertent blank space before typesetting the footnote number.
+ \unskip
+ \thisfootno\@sf
+ \footnotezzz
+}%
+
+% Don't bother with the trickery in plain.tex to not require the
+% footnote text as a parameter. Our footnotes don't need to be so general.
+%
+% Oh yes, they do; otherwise, @ifset and anything else that uses
+% \parseargline fail inside footnotes because the tokens are fixed when
+% the footnote is read. --karl, 16nov96.
+%
+\long\gdef\footnotezzz{\insert\footins\bgroup
+ % We want to typeset this text as a normal paragraph, even if the
+ % footnote reference occurs in (for example) a display environment.
+ % So reset some parameters.
+ \interlinepenalty\interfootnotelinepenalty
+ \splittopskip\ht\strutbox % top baseline for broken footnotes
+ \splitmaxdepth\dp\strutbox
+ \floatingpenalty\@MM
+ \leftskip\z@skip
+ \rightskip\z@skip
+ \spaceskip\z@skip
+ \xspaceskip\z@skip
+ \parindent\defaultparindent
+ %
+ \smallfonts \rm
+ %
+ % Hang the footnote text off the number.
+ \hang
+ \textindent{\thisfootno}%
+ %
+ % Don't crash into the line above the footnote text. Since this
+ % expands into a box, it must come within the paragraph, lest it
+ % provide a place where TeX can split the footnote.
+ \footstrut
+ \futurelet\next\fo@t
+}
+\def\fo@t{\ifcat\bgroup\noexpand\next \let\next\f@@t
+ \else\let\next\f@t\fi \next}
+\def\f@@t{\bgroup\aftergroup\@foot\let\next}
+\def\f@t#1{#1\@foot}
+\def\@foot{\strut\par\egroup}
+
+}%end \catcode `\@=11
+
+% Set the baselineskip to #1, and the lineskip and strut size
+% correspondingly. There is no deep meaning behind these magic numbers
+% used as factors; they just match (closely enough) what Knuth defined.
+%
+\def\lineskipfactor{.08333}
+\def\strutheightpercent{.70833}
+\def\strutdepthpercent {.29167}
+%
+\def\setleading#1{%
+ \normalbaselineskip = #1\relax
+ \normallineskip = \lineskipfactor\normalbaselineskip
+ \normalbaselines
+ \setbox\strutbox =\hbox{%
+ \vrule width0pt height\strutheightpercent\baselineskip
+ depth \strutdepthpercent \baselineskip
+ }%
+}
+
+% @| inserts a changebar to the left of the current line. It should
+% surround any changed text. This approach does *not* work if the
+% change spans more than two lines of output. To handle that, we would
+% have adopt a much more difficult approach (putting marks into the main
+% vertical list for the beginning and end of each change).
+%
+\def\|{%
+ % \vadjust can only be used in horizontal mode.
+ \leavevmode
+ %
+ % Append this vertical mode material after the current line in the output.
+ \vadjust{%
+ % We want to insert a rule with the height and depth of the current
+ % leading; that is exactly what \strutbox is supposed to record.
+ \vskip-\baselineskip
+ %
+ % \vadjust-items are inserted at the left edge of the type. So
+ % the \llap here moves out into the left-hand margin.
+ \llap{%
+ %
+ % For a thicker or thinner bar, change the `1pt'.
+ \vrule height\baselineskip width1pt
+ %
+ % This is the space between the bar and the text.
+ \hskip 12pt
+ }%
+ }%
+}
+
+% For a final copy, take out the rectangles
+% that mark overfull boxes (in case you have decided
+% that the text looks ok even though it passes the margin).
+%
+\def\finalout{\overfullrule=0pt}
+
+% @image. We use the macros from epsf.tex to support this.
+% If epsf.tex is not installed and @image is used, we complain.
+%
+% Check for and read epsf.tex up front. If we read it only at @image
+% time, we might be inside a group, and then its definitions would get
+% undone and the next image would fail.
+\openin 1 = epsf.tex
+\ifeof 1 \else
+ \closein 1
+ % Do not bother showing banner with post-v2.7 epsf.tex (available in
+ % doc/epsf.tex until it shows up on ctan).
+ \def\epsfannounce{\toks0 = }%
+ \input epsf.tex
+\fi
+%
+% We will only complain once about lack of epsf.tex.
+\newif\ifwarnednoepsf
+\newhelp\noepsfhelp{epsf.tex must be installed for images to
+ work. It is also included in the Texinfo distribution, or you can get
+ it from ftp://tug.org/tex/epsf.tex.}
+%
+\def\image#1{%
+ \ifx\epsfbox\undefined
+ \ifwarnednoepsf \else
+ \errhelp = \noepsfhelp
+ \errmessage{epsf.tex not found, images will be ignored}%
+ \global\warnednoepsftrue
+ \fi
+ \else
+ \imagexxx #1,,,\finish
+ \fi
+}
+%
+% Arguments to @image:
+% #1 is (mandatory) image filename; we tack on .eps extension.
+% #2 is (optional) width, #3 is (optional) height.
+% #4 is just the usual extra ignored arg for parsing this stuff.
+\def\imagexxx#1,#2,#3,#4\finish{%
+ \ifpdf
+ \centerline{\dopdfimage{#1}{#2}{#3}}%
+ \else
+ % \epsfbox itself resets \epsf?size at each figure.
+ \setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \epsfxsize=#2\relax \fi
+ \setbox0 = \hbox{\ignorespaces #3}\ifdim\wd0 > 0pt \epsfysize=#3\relax \fi
+ \begingroup
+ \catcode`\^^M = 5 % in case we're inside an example
+ % If the image is by itself, center it.
+ \ifvmode
+ \nobreak\bigskip
+ % Usually we'll have text after the image which will insert
+ % \parskip glue, so insert it here too to equalize the space
+ % above and below.
+ \nobreak\vskip\parskip
+ \nobreak
+ \centerline{\epsfbox{#1.eps}}%
+ \bigbreak
+ \else
+ % In the middle of a paragraph, no extra space.
+ \epsfbox{#1.eps}%
+ \fi
+ \endgroup
+ \fi
+}
+
+
+\message{localization,}
+% and i18n.
+
+% @documentlanguage is usually given very early, just after
+% @setfilename. If done too late, it may not override everything
+% properly. Single argument is the language abbreviation.
+% It would be nice if we could set up a hyphenation file here.
+%
+\def\documentlanguage{\parsearg\dodocumentlanguage}
+\def\dodocumentlanguage#1{%
+ \tex % read txi-??.tex file in plain TeX.
+ % Read the file if it exists.
+ \openin 1 txi-#1.tex
+ \ifeof1
+ \errhelp = \nolanghelp
+ \errmessage{Cannot read language file txi-#1.tex}%
+ \let\temp = \relax
+ \else
+ \def\temp{\input txi-#1.tex }%
+ \fi
+ \temp
+ \endgroup
+}
+\newhelp\nolanghelp{The given language definition file cannot be found or
+is empty. Maybe you need to install it? In the current directory
+should work if nowhere else does.}
+
+
+% @documentencoding should change something in TeX eventually, most
+% likely, but for now just recognize it.
+\let\documentencoding = \comment
+
+
+% Page size parameters.
+%
+\newdimen\defaultparindent \defaultparindent = 15pt
+
+\chapheadingskip = 15pt plus 4pt minus 2pt
+\secheadingskip = 12pt plus 3pt minus 2pt
+\subsecheadingskip = 9pt plus 2pt minus 2pt
+
+% Prevent underfull vbox error messages.
+\vbadness = 10000
+
+% Don't be so finicky about underfull hboxes, either.
+\hbadness = 2000
+
+% Following George Bush, just get rid of widows and orphans.
+\widowpenalty=10000
+\clubpenalty=10000
+
+% Use TeX 3.0's \emergencystretch to help line breaking, but if we're
+% using an old version of TeX, don't do anything. We want the amount of
+% stretch added to depend on the line length, hence the dependence on
+% \hsize. We call this whenever the paper size is set.
+%
+\def\setemergencystretch{%
+ \ifx\emergencystretch\thisisundefined
+ % Allow us to assign to \emergencystretch anyway.
+ \def\emergencystretch{\dimen0}%
+ \else
+ \emergencystretch = .15\hsize
+ \fi
+}
+
+% Parameters in order: 1) textheight; 2) textwidth; 3) voffset;
+% 4) hoffset; 5) binding offset; 6) topskip. Then whoever calls us can
+% set \parskip and call \setleading for \baselineskip.
+%
+\def\internalpagesizes#1#2#3#4#5#6{%
+ \voffset = #3\relax
+ \topskip = #6\relax
+ \splittopskip = \topskip
+ %
+ \vsize = #1\relax
+ \advance\vsize by \topskip
+ \outervsize = \vsize
+ \advance\outervsize by 2\topandbottommargin
+ \pageheight = \vsize
+ %
+ \hsize = #2\relax
+ \outerhsize = \hsize
+ \advance\outerhsize by 0.5in
+ \pagewidth = \hsize
+ %
+ \normaloffset = #4\relax
+ \bindingoffset = #5\relax
+ %
+ \parindent = \defaultparindent
+ \setemergencystretch
+}
+
+% @letterpaper (the default).
+\def\letterpaper{{\globaldefs = 1
+ \parskip = 3pt plus 2pt minus 1pt
+ \setleading{13.2pt}%
+ %
+ % If page is nothing but text, make it come out even.
+ \internalpagesizes{46\baselineskip}{6in}{\voffset}{.25in}{\bindingoffset}{36pt}%
+}}
+
+% Use @smallbook to reset parameters for 7x9.5 (or so) format.
+\def\smallbook{{\globaldefs = 1
+ \parskip = 2pt plus 1pt
+ \setleading{12pt}%
+ %
+ \internalpagesizes{7.5in}{5.in}{\voffset}{.25in}{\bindingoffset}{16pt}%
+ %
+ \lispnarrowing = 0.3in
+ \tolerance = 700
+ \hfuzz = 1pt
+ \contentsrightmargin = 0pt
+ \deftypemargin = 0pt
+ \defbodyindent = .5cm
+ %
+ \let\smalldisplay = \smalldisplayx
+ \let\smallexample = \smalllispx
+ \let\smallformat = \smallformatx
+ \let\smalllisp = \smalllispx
+}}
+
+% Use @afourpaper to print on European A4 paper.
+\def\afourpaper{{\globaldefs = 1
+ \setleading{12pt}%
+ \parskip = 3pt plus 2pt minus 1pt
+ %
+ \internalpagesizes{53\baselineskip}{160mm}{\voffset}{4mm}{\bindingoffset}{44pt}%
+ %
+ \tolerance = 700
+ \hfuzz = 1pt
+}}
+
+% A specific text layout, 24x15cm overall, intended for A4 paper. Top margin
+% 29mm, hence bottom margin 28mm, nominal side margin 3cm.
+\def\afourlatex{{\globaldefs = 1
+ \setleading{13.6pt}%
+ %
+ \afourpaper
+ \internalpagesizes{237mm}{150mm}{3.6mm}{3.6mm}{3mm}{7mm}%
+ %
+ \globaldefs = 0
+}}
+
+% Use @afourwide to print on European A4 paper in wide format.
+\def\afourwide{%
+ \afourpaper
+ \internalpagesizes{9.5in}{6.5in}{\hoffset}{\normaloffset}{\bindingoffset}{7mm}%
+ %
+ \globaldefs = 0
+}
+
+% @pagesizes TEXTHEIGHT[,TEXTWIDTH]
+% Perhaps we should allow setting the margins, \topskip, \parskip,
+% and/or leading, also. Or perhaps we should compute them somehow.
+%
+\def\pagesizes{\parsearg\pagesizesxxx}
+\def\pagesizesxxx#1{\pagesizesyyy #1,,\finish}
+\def\pagesizesyyy#1,#2,#3\finish{{%
+ \setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \hsize=#2\relax \fi
+ \globaldefs = 1
+ %
+ \parskip = 3pt plus 2pt minus 1pt
+ \setleading{13.2pt}%
+ %
+ \internalpagesizes{#1}{\hsize}{\voffset}{\normaloffset}{\bindingoffset}{44pt}%
+}}
+
+% Set default to letter.
+%
+\letterpaper
+
+
+\message{and turning on texinfo input format.}
+
+% Define macros to output various characters with catcode for normal text.
+\catcode`\"=\other
+\catcode`\~=\other
+\catcode`\^=\other
+\catcode`\_=\other
+\catcode`\|=\other
+\catcode`\<=\other
+\catcode`\>=\other
+\catcode`\+=\other
+\catcode`\$=\other
+\def\normaldoublequote{"}
+\def\normaltilde{~}
+\def\normalcaret{^}
+\def\normalunderscore{_}
+\def\normalverticalbar{|}
+\def\normalless{<}
+\def\normalgreater{>}
+\def\normalplus{+}
+\def\normaldollar{$}
+
+% This macro is used to make a character print one way in ttfont
+% where it can probably just be output, and another way in other fonts,
+% where something hairier probably needs to be done.
+%
+% #1 is what to print if we are indeed using \tt; #2 is what to print
+% otherwise. Since all the Computer Modern typewriter fonts have zero
+% interword stretch (and shrink), and it is reasonable to expect all
+% typewriter fonts to have this, we can check that font parameter.
+%
+\def\ifusingtt#1#2{\ifdim \fontdimen3\font=0pt #1\else #2\fi}
+
+% Same as above, but check for italic font. Actually this also catches
+% non-italic slanted fonts since it is impossible to distinguish them from
+% italic fonts. But since this is only used by $ and it uses \sl anyway
+% this is not a problem.
+\def\ifusingit#1#2{\ifdim \fontdimen1\font>0pt #1\else #2\fi}
+
+% Turn off all special characters except @
+% (and those which the user can use as if they were ordinary).
+% Most of these we simply print from the \tt font, but for some, we can
+% use math or other variants that look better in normal text.
+
+\catcode`\"=\active
+\def\activedoublequote{{\tt\char34}}
+\let"=\activedoublequote
+\catcode`\~=\active
+\def~{{\tt\char126}}
+\chardef\hat=`\^
+\catcode`\^=\active
+\def^{{\tt \hat}}
+
+\catcode`\_=\active
+\def_{\ifusingtt\normalunderscore\_}
+% Subroutine for the previous macro.
+\def\_{\leavevmode \kern.06em \vbox{\hrule width.3em height.1ex}}
+
+\catcode`\|=\active
+\def|{{\tt\char124}}
+\chardef \less=`\<
+\catcode`\<=\active
+\def<{{\tt \less}}
+\chardef \gtr=`\>
+\catcode`\>=\active
+\def>{{\tt \gtr}}
+\catcode`\+=\active
+\def+{{\tt \char 43}}
+\catcode`\$=\active
+\def${\ifusingit{{\sl\$}}\normaldollar}
+%\catcode 27=\active
+%\def^^[{$\diamondsuit$}
+
+% Set up an active definition for =, but don't enable it most of the time.
+{\catcode`\==\active
+\global\def={{\tt \char 61}}}
+
+\catcode`+=\active
+\catcode`\_=\active
+
+% If a .fmt file is being used, characters that might appear in a file
+% name cannot be active until we have parsed the command line.
+% So turn them off again, and have \everyjob (or @setfilename) turn them on.
+% \otherifyactive is called near the end of this file.
+\def\otherifyactive{\catcode`+=\other \catcode`\_=\other}
+
+\catcode`\@=0
+
+% \rawbackslashxx output one backslash character in current font
+\global\chardef\rawbackslashxx=`\\
+%{\catcode`\\=\other
+%@gdef@rawbackslashxx{\}}
+
+% \rawbackslash redefines \ as input to do \rawbackslashxx.
+{\catcode`\\=\active
+@gdef@rawbackslash{@let\=@rawbackslashxx }}
+
+% \normalbackslash outputs one backslash in fixed width font.
+\def\normalbackslash{{\tt\rawbackslashxx}}
+
+% \catcode 17=0 % Define control-q
+\catcode`\\=\active
+
+% Used sometimes to turn off (effectively) the active characters
+% even after parsing them.
+@def@turnoffactive{@let"=@normaldoublequote
+@let\=@realbackslash
+@let~=@normaltilde
+@let^=@normalcaret
+@let_=@normalunderscore
+@let|=@normalverticalbar
+@let<=@normalless
+@let>=@normalgreater
+@let+=@normalplus
+@let$=@normaldollar}
+
+@def@normalturnoffactive{@let"=@normaldoublequote
+@let\=@normalbackslash
+@let~=@normaltilde
+@let^=@normalcaret
+@let_=@normalunderscore
+@let|=@normalverticalbar
+@let<=@normalless
+@let>=@normalgreater
+@let+=@normalplus
+@let$=@normaldollar}
+
+% Make _ and + \other characters, temporarily.
+% This is canceled by @fixbackslash.
+@otherifyactive
+
+% If a .fmt file is being used, we don't want the `\input texinfo' to show up.
+% That is what \eatinput is for; after that, the `\' should revert to printing
+% a backslash.
+%
+@gdef@eatinput input texinfo{@fixbackslash}
+@global@let\ = @eatinput
+
+% On the other hand, perhaps the file did not have a `\input texinfo'. Then
+% the first `\{ in the file would cause an error. This macro tries to fix
+% that, assuming it is called before the first `\' could plausibly occur.
+% Also back turn on active characters that might appear in the input
+% file name, in case not using a pre-dumped format.
+%
+@gdef@fixbackslash{%
+ @ifx\@eatinput @let\ = @normalbackslash @fi
+ @catcode`+=@active
+ @catcode`@_=@active
+}
+
+% Say @foo, not \foo, in error messages.
+@escapechar = `@@
+
+% These look ok in all fonts, so just make them not special.
+@catcode`@& = @other
+@catcode`@# = @other
+@catcode`@% = @other
+
+@c Set initial fonts.
+@textfonts
+@rm
+
+
+@c Local variables:
+@c eval: (add-hook 'write-file-hooks 'time-stamp)
+@c page-delimiter: "^\\\\message"
+@c time-stamp-start: "def\\\\texinfoversion{"
+@c time-stamp-format: "%:y-%02m-%02d.%02H"
+@c time-stamp-end: "}"
+@c End:
diff --git a/freebsdtvision/doc/tvision.info b/freebsdtvision/doc/tvision.info
new file mode 100644
index 0000000..7858574
--- /dev/null
+++ b/freebsdtvision/doc/tvision.info
@@ -0,0 +1,679 @@
+This is tvision.info, produced by makeinfo version 4.2 from
+tvision.texi.
+
+ Copyright (C) 1997-2001 Sergio Sigala <sergio@sigala.it>.
+
+INFO-DIR-SECTION Programming tools
+START-INFO-DIR-ENTRY
+* TVision: (tvision). The TVision library: installation handbook
+END-INFO-DIR-ENTRY
+
+
+File: tvision.info, Node: Top, Next: Overview, Prev: (dir), Up: (dir)
+
+ This document covers the installation and operation of TVision under
+the FreeBSD and Linux operating systems.
+
+* Menu:
+
+* Overview:: An overview of the TVision package.
+* Reporting Bugs:: Submitting effective bug reports.
+* File Structure:: Notes on the file hierarchy.
+* Copyright:: This copyright license says how you can copy and
+ use TVision.
+
+* Portability issues:: The portability of the package.
+* Keyboard:: The keyboard handling.
+* Screen:: The screen handling.
+* Mouse:: The mouse handling.
+* Environment Variables:: The user modifiable environment variables.
+
+* Compiling TVision:: How to compile the library.
+* Resources:: A list of useful sites.
+
+* Credits:: Contributors and useful links.
+* Author address:: To send him a nice postcard.
+
+
+File: tvision.info, Node: Overview, Next: Reporting Bugs, Prev: Top, Up: Top
+
+Overview
+********
+
+ Turbo Vision (or TV, for short) is a library that provides an
+application framework. With TV you can write a beautiful
+object-oriented character-mode user interface in a short time.
+
+ TV is available in C++ and Pascal and is a product of Borland
+International. It was developed to run on MS-DOS systems, but today it
+is available for many other platforms (ported by independent
+programmers).
+
+ This port is based on the Borland 2.0 version with fixes. Original
+Turbo Vision 2.0 sources should be available at:
+
+ <ftp://ftp.borland.com/pub/borlandcpp/devsupport/archive/turbovision>
+
+ <ftp://ftp.inprise.com/pub/borlandcpp/devsupport/archive/turbovision>
+
+ See the *Note Credits:: section for a list of other useful sites.
+
+
+File: tvision.info, Node: Reporting Bugs, Next: File Structure, Prev: Overview, Up: Top
+
+Reporting Bugs
+**************
+
+ We welcome bug reports or suggestions for the TVision system, both
+programs and documentations. Please email them to <sergio@sigala.it>.
+You can download the latest version of TVision from
+<http://www.sigala.it/sergio/tvision>.
+
+ For bug reports, please include enough information for the
+maintainers to reproduce the problem. Generally speaking, that means:
+
+ * the version number of TVision and the program(s) involved;
+
+ * hardware, operating system, and compiler versions;
+
+ * any unusual options you gave to `configure';
+
+ * the list of actions and/or the contents of any input files
+ necessary to reproduce the bug;
+
+ * a description of the problem and samples of any erroneous output;
+
+ * anything else that you think would be helpful.
+
+ When in doubt whether something is needed or not, include it. It's
+better to include too much than to leave out something important.
+
+ Patches are most welcome; if possible, please make them with
+`diff -ru' (see *Note Overview: (diff)Top, for details).
+
+ When sending email, please do not encode or split the messages in
+any way if possible; it's much easier to deal with one plain text
+message, however large, than many small ones.
+
+
+File: tvision.info, Node: File Structure, Next: Copyright, Prev: Reporting Bugs, Up: Top
+
+File Structure
+**************
+
+ A few notes on the file hierarchy used in this package.
+
+ * Directory `doc' and its subdirectories contain all the
+ documentation of the library, along with this manual.
+
+ - `html/index.html' is the main page of the documentation. From
+ there you can reach both the "installation handbook" and the
+ "class hierarchy documentation". Starting explorations from
+ this page is highly recommended, since this file will always
+ stay there in all future versions of the library. Anyway,
+ you can alternatively open the various files individually,
+ following the instructions given below.
+
+ - `tvision.info' is the Texinfo version of this manual,
+ hereinafter called "installation handbook". It contains
+ information regarding installation, keyboard handling, screen
+ manipulation, environment variables and mouse support. You
+ should take a look at it before using the library. Just type
+ `info -f tvision.info' to proceed. The Texinfo format allows
+ searching for topics, commands and functions from the many
+ indices.
+
+ `tvision.info' was automatically extracted from
+ `tvision.texi' with the program `makeinfo'. The command
+ `texi2dvi tvision.texi' will output `tvision.dvi', which can
+ then be processed with `dvips' and optionally `gs'
+ (Ghostscript) to produce a nicely formatted printed manual.
+ See *Note Overview: (Texinfo)Top, and *Note Getting Started:
+ (info)Top, for more about the Texinfo documentation system.
+
+ - `html/tvision.html' is the html version of these installation
+ notes, automatically produced by applying the `texi2html'
+ utility to file `tvision.texi'. Since it is built
+ automatically the output may appear ugly, so don't blame me.
+
+ - Files `html/hierarchy.html', `html/classes.html',
+ `html/annotated.html', `html/files.html',
+ `html/functions.html' and `html/globals.html' are the main
+ pages of the "class hierarchy documentation". These
+ information describe each class, its methods and data members
+ with some degree of detail.
+
+ To produce this documentation, I annotated each class
+ directly in the header file (.h) where it appears. Then I ran
+ `doxygen', a powerful documentation extractor available from
+ <http://www.doxygen.org/index.html> or from
+ <http://www.stack.nl/~dimitri/doxygen/download.html>. It
+ automatically fetches these information and generates a nice
+ html manual.
+
+ * Directory `lib' contains all the sources of the library, both
+ header (.h) and program (.cc) files. Object files (.lo, .o) and
+ the generated library files (libtvision.a, libtvision.la) are also
+ placed here, after a successful compilation.
+
+ Before compiling the library, a trick in `Makefile.am' creates a
+ symbolic link named `tvision' to this same directory. This
+ recursive link allows the smooth compilation of the various source
+ files, because all of them try to include `tvision/tv.h'.
+
+ `tv.h' is the only header every application needs to include. It
+ automatically includes the required TVision header files by
+ looking at the various `Uses_XXXX' macros. If one macro is
+ defined the relevant header is included.
+
+ * Directory `demo' presents a complete application made with this
+ library, named `demo'. It shows how to use predefined views, how
+ to subclass them to create custom views, how to handle the various
+ events and how to deal with the online help system. It also gives
+ some advises on how to store and recover views to and from streams.
+
+ * Directory `tutorial' contains a lot of simple examples. Read file
+ `README' in that directory to know exactly what each program does.
+ File `basicMakefile' is a simple makefile template you can easily
+ modify to build your own programs.
+
+ * Finally, directory `tvhc' includes the help compiler, the default
+ program used to translate a source help file in the binary form
+ TVision internally uses. Some documentation for it is given there
+ in file `README'.
+
+
+File: tvision.info, Node: Copyright, Next: Portability issues, Prev: File Structure, Up: Top
+
+Copyright
+*********
+
+ All changes copyright (c) 1997-2001 Sergio Sigala, Brescia, Italy.
+ All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above
+ copyright notice, this list of conditions and the following
+ disclaimer in the documentation and/or other materials
+ provided with the distribution.
+
+ THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR
+ IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+ DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ Warning: this BSD-style copyright is applicable only to the
+modifications brought by Sergio Sigala to the original code. Borland
+has released the code to the public, but still owns the original
+copyright (see file `lib/tv.h' for instance).
+
+ Other contributors have their respective copyright.
+
+
+File: tvision.info, Node: Portability issues, Next: Keyboard, Prev: Copyright, Up: Top
+
+Portability issues
+******************
+
+ The TV library was originally written to run on 80x86 processor.
+These processors are little-endian and the original library assumes
+this as a premise. In fact, some code may not run properly on
+big-endian machines. This means it requires a big effort to make the
+library fully portable across all Unix machines.
+
+ I made various changes in the code to make it run correctly under
+big-endian machines. I tested it with a PowerPC running Linux and it
+works fine (maybe some other minor changes are required).
+
+ Another problem is the massive usage of the PC-specific character
+set. This usually gives a nice look when the applications run in the
+system console, but can show very annoying characters when they run in
+a remote terminal or under a X shell.
+
+
+File: tvision.info, Node: Keyboard, Next: Screen, Prev: Portability issues, Up: Top
+
+Keyboard
+********
+
+ The ncurses library is systematically used in TVision to perform
+keyboard input, and usually to do video output also. These routines
+give the user a terminal-independent method for getting input
+characters and to update character screens with reasonable
+optimization. The name `ncurses' stands for `new curses' and is the
+approved replacement for the 4.4BSD classic `curses' library, which has
+been discontinued.
+
+ More specifically, the ncurses package supports:
+
+ * output to windows and reading terminal input;
+
+ * control over terminals and their input and output capabilities;
+
+ * some color manipulation;
+
+ * terminfo capabilities;
+
+ * access to low-level terminal-manipulation routines.
+
+ In addition to drawing characters on the screen, video attributes
+and colors may be supported, causing the characters to show up in such
+modes as underlined, in reverse video, or in color on terminals that
+support such display enhancements. Line drawing characters may be
+specified to be output. On input, ncurses is also able to translate
+arrow and function keys that transmit escape sequences into single
+value integers. Type `man ncurses' for more.
+
+ Under Linux a special output mechanism called VCS, which gives
+direct access to the console screen memory, may be used. This is
+noticeably faster than the standard ncurses output. See *Note Screen::
+for details.
+
+Key combinations
+================
+
+ Two notes, whose applicability is strictly dependent on the
+operating system you are using:
+
+ * Under FreeBSD <ALT> combinations aren't currently supported. You
+ can emulate them with <ESC> sequences. To perform an <ALT>
+ emulation you should press <ESC> followed by the required letter
+ key within some tenth of second. The default time interval is 0.4
+ seconds, see file `system.cc' for further details on how to change
+ it.
+
+ For example, to generate the `Alt-X' combination press `ESC X'. To
+ generate <ESC> alone press it once and wait 0.4 seconds or press
+ it twice. If the second key is pressed outside the time interval,
+ the entire sequence is treated like two ordinary key presses are.
+
+ Support for <CTRL> and <SHIFT> key combinations is also missing.
+
+ * Under Linux <ALT> combinations are usable only when you run
+ applications from the system console. In this mode the library
+ can easily detect the state of <ALT>, <CTRL> and <SHIFT> keys by
+ using a Linux-specific system call (`TIOCLINUX', see `sys/kd.h' for
+ more), so strange combinations like `kbCtrlLeft' are always
+ possible. In other environments (namely remote terminals and X
+ shells) these sequences can't be detected, so you need to compose
+ the same sequences seen above for FreeBSD.
+
+
+File: tvision.info, Node: Screen, Next: Mouse, Prev: Keyboard, Up: Top
+
+Screen
+******
+
+ A few, useful notes about screen handling.
+
+The importance of SIGWINCH
+==========================
+
+ The `SIGWINCH' signal is always hooked, so we can resize the screen
+at runtime and the application will adapt itself. Obviously, this
+capability is especially useful in X shells.
+
+Two drawbacks of ncurses
+========================
+
+ Like mentioned previously, the ncurses library is usually used to
+perform video output. This should work well under any operating
+system, in any kind of terminal (system console, dumb terminal or X
+shell). But there are at least two problems with this otherwise
+perfectly portable solution:
+
+ 1. This mechanism can't output all the 256 characters the 8 bit
+ encoding would permit, including those nice semi-graphical signs
+ usually used in text-mode applications on PCs. Since TVision uses
+ them all (to draw frames, window icons and various other views),
+ your application may appear graphically poor.
+
+ 2. This mechanism is slow. On the system console it's slower on
+ Linux than FreeBSD, because of the advanced system FreeBSD uses to
+ update the screen memory. Equally slow on the other kinds of
+ terminal. This limit appears noticeably on 486 and low-end
+ Pentiums.
+
+ There is no way to speedup this process without doing some low-level,
+operating-system-specific trickery, necessarily non portable across the
+various operating systems.
+
+The Linux way: virtual console mode versus remote mode
+======================================================
+
+ Linux has a special output mechanism called VCS (or VCSA), which
+gives direct access to the screen memory. VCS stands for "virtual
+console system".
+
+ This mechanism is a lot faster than the standard ncurses output;
+we'll call it "virtual console mode". For clearness, we'll refer to
+the conventional, ncurses-based output approach, as "remote mode". Not
+surprising, this facility is capable of displaying all of the 256
+characters with all colors the graphic adapter allows, so it fixes the
+first problem too.
+
+ The Linux kernel provides a handful of special devices which refer
+to the memories of the various virtual consoles; they are described
+below:
+
+ * `/dev/vcs0' is a character device with major number 7 and minor
+ number 0, usually of mode 0644 and owner root.tty. It refers to
+ the memory of the currently displayed virtual console terminal.
+
+ * `/dev/vcs[1-63]' are character devices for virtual console
+ terminals, they have major number 7 and minor number 1 to 63,
+ usually mode 0644 and owner root.tty.
+
+ * `/dev/vcsa[0-63]' are the same as above, but including attributes,
+ and prefixed with four bytes giving the screen dimensions and
+ cursor position: lines, columns, x and y.
+
+ These devices replace the screendump ioctls of `console(4)', so the
+system administrator can control access using file system permissions.
+Your application may require root privileges, in order to gain access
+to these devices. Type `man vcs' for more.
+
+ If not already present, the devices for the first eight virtual
+consoles may be created by:
+
+ for x in 0 1 2 3 4 5 6 7 8; do
+ mknod -m 644 /dev/vcs$x c 7 $x;
+ mknod -m 644 /dev/vcsa$x c 7 $[$x+128];
+ done
+ chown root:tty /dev/vcs*
+
+ Alternatively, you may try the following script, taken from the
+Midnight Commander, which builds all the 64 devices:
+
+ #!/bin/sh
+ #
+ # Script by Jakub Jelinek
+ #
+ if test -e /dev/vcs0
+ then
+ exit
+ fi
+
+ I=0
+ while [ $I -lt 64 ]
+ do
+ mknod /dev/vcs$I c 7 $I
+ chmod 622 /dev/vcs$I
+ chown root.tty /dev/vcs$I
+ mknod /dev/vcsa$I c 7 `expr $I + 128`
+ chmod 622 /dev/vcsa$I
+ chown root.tty /dev/vcsa$I
+ I=`expr $I + 1`
+ done
+
+Conclusions on Linux
+====================
+
+ Under Linux every program can run in two ways:
+
+ * "Virtual console mode" is the fastest output method and should be
+ automatically selected when you start your application from the
+ system console and it has the required write privileges. Its
+ output goes directly to the display via one of the various
+ `/dev/vcsa*' devices.
+
+ * "Remote mode" is used when you run the application from a remote
+ terminal, under telnet, in a X shell or in the system console but
+ it has not write privileges to the `/dev/vcsa*' devices. Its
+ output goes to the display via standard out, so it's very slow
+ compared to the former.
+
+ In any case, colors are used if the terminal supports them.
+Otherwise, a monochrome palette with bold and inverse attributes is
+used to mark the text.
+
+Two notes on FreeBSD
+====================
+
+ * FreeBSD lacks a mechanism like VCS. But it does not really need
+ it, because his conventional ncurses output is moderately fast
+ thanks to the peculiar screen updating technique it uses.
+
+ * The last screen line is not used because otherwise the display will
+ scroll up (it's an example of the "last character syndrome", which
+ sometimes affects computer programs).
+
+
+File: tvision.info, Node: Mouse, Next: Environment Variables, Prev: Screen, Up: Top
+
+Mouse
+*****
+
+ The mouse handling varies a lot, depending on the operating system
+you are using. If you need to change some timing see the `system.cc'
+file.
+
+Mouse support under FreeBSD
+===========================
+
+ The library requires the `moused' daemon to be loaded. See the
+moused man page (by typing `man moused') for more details. For
+example, if you have a Microsoft compatible mouse connected to COM1,
+you should issue this command:
+
+ moused -p /dev/cuaa0 -t microsoft
+
+ By using the `TVOPT' environment variable, you can modify the shape
+of the cursor. Setting it to `noarrow' disables the arrow pointer; the
+block pointer will instead be used. See the *Note Environment
+Variables:: section for more.
+
+Mouse support under Linux
+=========================
+
+ The library requires `Gpm'. The Gpm package is a mouse server for
+the Linux console. It is meant to provide cooked mouse events to
+text-only applications, such as editors and simple menu-based programs.
+I tested TVision with Gpm version 1.18.1.
+
+
+File: tvision.info, Node: Environment Variables, Next: Compiling TVision, Prev: Mouse, Up: Top
+
+Environment Variables
+*********************
+
+ By setting the two environment variables `TVLOG' and `TVOPT', you
+can modify the way TVision applications act on your system.
+
+TVLOG
+=====
+
+ With `TVLOG' you can force TVision to write a log file. For
+example, the following line will produce a log file named `mylog' when
+the application is executed:
+
+ TVLOG=mylog
+
+ The log file creation can be suppressed by assigning an empty string
+to this variable.
+
+TVOPT
+=====
+
+ You can modify some of the behavior of the library by defining the
+other environment variable `TVOPT'. This variable is a set of strings
+separated by one or more space characters. Valid strings are:
+
+`cyrillic'
+ enables cyrillic character set mapping (for Linux and VCS only).
+ See *Note Screen:: for more about VCS.
+
+`latin'
+ enables latin character set mapping (for Linux and VCS only). See
+ *Note Screen:: for more about VCS.
+
+ Note: this option and the one above are useful only when the VCS
+ is enabled; in any other mode the application should automatically
+ select the correct mapping, thanks to the translation kindly done
+ by ncurses and the operating system.
+
+`noarrow'
+ disables the arrow pointer (FreeBSD only); the block pointer will
+ instead be used. See *Note Mouse:: for more about mouse handling.
+
+`nogpm'
+ disables support for the Gpm mouse driver (Linux only); the
+ application will run without mouse. See *Note Mouse:: for more
+ about mouse handling.
+
+`novcs'
+ inhibits the use of VCS to do video output (Linux only); the
+ application will always use remote mode. See *Note Screen:: for
+ more about VCS.
+
+Examples for the Bourne shell
+=============================
+
+ export TVOPT=nogpm ==> does not use Gpm
+ export TVOPT="nogpm novcs" ==> disables both Gpm and VCS
+ export TVOPT= ==> cleans the environment variable
+
+Examples for the C shell
+========================
+
+ setenv TVOPT nogpm ==> does not use Gpm
+ setenv TVOPT "nogpm novcs" ==> disables both Gpm and VCS
+ unsetenv TVOPT ==> cleans the environment variable
+
+
+File: tvision.info, Node: Compiling TVision, Next: Resources, Prev: Environment Variables, Up: Top
+
+Compiling TVision
+*****************
+
+ This section gives you some information for installing TVision. For
+further details please read the `INSTALL' file that can be found in the
+root directory of the source package.
+
+ * Type `./configure' to automatically detect the system features.
+
+ * Type `make' in the main directory to compile all the sources. This
+ creates both the static and dynamic libraries. Libraries are
+ placed in directory `lib' with source files. The `demo' example
+ and the tutorials are statically linked against the TVision
+ library.
+
+ * Type `make install' to install the library in `/usr/local/include'
+ and `/usr/local/lib'. The default prefix directory is thus
+ `/usr/local' and it's automatically selected by `configure' if you
+ missed to specify a custom prefix directory with the option
+ `--prefix=PATH'.
+
+ * Type `make uninstall' to remove the library.
+
+ Note: this command and the previous (`make install') both need root
+ privileges and should possibly be followed by `ldconfig' to update
+ the linker cache.
+
+ * Type `make clean' in the main directory to remove objects, backup
+ files and executables in the main directory and in all the
+ subdirectories.
+
+ * Type `make dist' to build the distribution package.
+
+Quick start
+===========
+
+ To start, just say `./configure && make' to your shell. Binaries
+are not released with the package because it's safer for you to compile
+the package by yourself.
+
+
+File: tvision.info, Node: Resources, Next: Credits, Prev: Compiling TVision, Up: Top
+
+Resources
+*********
+
+ Please connect to <http://www.sigala.it/sergio/tvision> for fresh
+resources. It is the official TVision site, from which you can download
+the latest version of the package; there is a number of example
+programs too.
+
+
+File: tvision.info, Node: Credits, Next: Author address, Prev: Resources, Up: Top
+
+Credits
+*******
+
+ The following are most of the contributors, listed in chronologic
+order. Sorry if I missed somebody (please contact me in case I did,
+<sergio@sigala.it>).
+
+ * Vasily Egoshin <wasa@nica.marstu.mari.su>
+
+ * Rainer Keuchel <r_keuchel@smaug.netwave.de>
+
+ * Martynas Kunigelis <algikun@santaka.sc-uni.ktu.lt>
+
+ * Bonni Mierzejewska <u6ed4@wvnvm.wvnet.edu>
+
+ * Ruslan V. Brushkoff <ruslan@Baby.TM.Odessa.UA>
+
+ * Dmitrij Korovkin <tkf@glasnet.ru>
+
+ * Sergey Clushin <serg@lamport.ru> <Clushin@deol.ru>
+
+ * Harald Hoyer <HarryH@Royal.Net>
+
+ * John Polstra <jdp@polstra.com>
+
+ * Pedro F. Giffuni <giffunip@asme.org>
+
+ * Vitaly Fedrushkov <willy@snowyowl.csu.ac.ru>
+
+ * Piotr Klaban <makler@man.torun.pl>
+
+ * Artur Harasimiuk <maniak@qna.softomat.com.pl>
+
+ * Thorsten Dittmar <dittmar@Mathematik.Uni-Marburg.de>
+
+ * Javor Dimitrov <logix@dobrich-sat.net>
+
+
+File: tvision.info, Node: Author address, Prev: Credits, Up: Top
+
+Author's address
+****************
+
+Sergio Sigala <sergio@sigala.it>
+Viale De Gasperi, 8
+25041 Boario Terme (BS)
+Italy
+
+
+
+Tag Table:
+Node: Top292
+Node: Overview1272
+Node: Reporting Bugs2114
+Node: File Structure3449
+Node: Copyright7879
+Node: Portability issues9708
+Node: Keyboard10607
+Node: Screen13487
+Node: Mouse18734
+Node: Environment Variables19855
+Node: Compiling TVision22110
+Node: Resources23720
+Node: Credits24053
+Node: Author address25039
+
+End Tag Table
diff --git a/freebsdtvision/doc/tvision.texi b/freebsdtvision/doc/tvision.texi
new file mode 100644
index 0000000..4199d5d
--- /dev/null
+++ b/freebsdtvision/doc/tvision.texi
@@ -0,0 +1,653 @@
+\input texinfo @c -*-texinfo-*-
+@c %**start of header
+@setfilename tvision.info
+@settitle TVision library installation handbook
+@setchapternewpage odd
+@c %**end of header
+
+@ifinfo
+Copyright @copyright{} 1997-2001 Sergio Sigala <sergio@@sigala.it>.
+@end ifinfo
+
+@c If "finalout" is commented out, the printed output will show
+@c black boxes that mark lines that are too long. Thus, it is
+@c unwise to comment it out when running a master in case there are
+@c overfulls which are deemed okay.
+
+@iftex
+@c @finalout
+@end iftex
+
+@titlepage
+@sp 10
+@center @titlefont{Installation handbook for the TVision library}
+@subtitle TVision 0.8 (UNIX port of Borland's Turbo Vision 2.0)
+@author Sergio Sigala
+
+@page
+@vskip 0pt plus 1filll
+Copyright @copyright{} 1997-2001 Sergio Sigala <sergio@@sigala.it>.
+@end titlepage
+
+@c ---------------------------------------------------------------------------
+@dircategory Programming tools
+@direntry
+* TVision: (tvision). The TVision library: installation handbook
+@end direntry
+
+@c ---------------------------------------------------------------------------
+@node Top, Overview, (dir), (dir)
+@c node-name, next, previous, up
+
+This document covers the installation and operation of TVision under the
+FreeBSD and Linux operating systems.
+
+@menu
+* Overview:: An overview of the TVision package.
+* Reporting Bugs:: Submitting effective bug reports.
+* File Structure:: Notes on the file hierarchy.
+* Copyright:: This copyright license says how you can copy and
+ use TVision.
+
+* Portability issues:: The portability of the package.
+* Keyboard:: The keyboard handling.
+* Screen:: The screen handling.
+* Mouse:: The mouse handling.
+* Environment Variables:: The user modifiable environment variables.
+
+* Compiling TVision:: How to compile the library.
+* Resources:: A list of useful sites.
+
+* Credits:: Contributors and useful links.
+* Author address:: To send him a nice postcard.
+@end menu
+
+@c ---------------------------------------------------------------------------
+@node Overview, Reporting Bugs, Top, Top
+@c node-name, next, previous, up
+
+@chapter Overview
+Turbo Vision (or TV, for short) is a library that provides an application
+framework. With TV you can write a beautiful object-oriented character-mode
+user interface in a short time.
+
+TV is available in C++ and Pascal and is a product of Borland International.
+It was developed to run on MS-DOS systems, but today it is available for many
+other platforms (ported by independent programmers).
+
+This port is based on the Borland 2.0 version with fixes. Original Turbo
+Vision 2.0 sources should be available at:
+
+@url{ftp://ftp.borland.com/pub/borlandcpp/devsupport/archive/turbovision}
+
+@url{ftp://ftp.inprise.com/pub/borlandcpp/devsupport/archive/turbovision}
+
+See the @ref{Credits} section for a list of other useful sites.
+
+@c ---------------------------------------------------------------------------
+@node Reporting Bugs, File Structure, Overview, Top
+@c node-name, next, previous, up
+
+@chapter Reporting Bugs
+We welcome bug reports or suggestions for the TVision system, both programs
+and documentations. Please email them to @email{sergio@@sigala.it}. You can
+download the latest version of TVision from
+@url{http://www.sigala.it/sergio/tvision}.
+
+For bug reports, please include enough information for the maintainers to
+reproduce the problem. Generally speaking, that means:
+
+@itemize @bullet
+@item the version number of TVision and the program(s) involved;
+
+@item hardware, operating system, and compiler versions;
+
+@item any unusual options you gave to @file{configure};
+
+@item the list of actions and/or the contents of any input files necessary to
+reproduce the bug;
+
+@item a description of the problem and samples of any erroneous output;
+
+@item anything else that you think would be helpful.
+@end itemize
+
+When in doubt whether something is needed or not, include it. It's better to
+include too much than to leave out something important.
+
+Patches are most welcome; if possible, please make them with
+@w{@samp{diff -ru}} (see @xref{Top, , Overview, diff, The diff program}, for
+details).
+
+When sending email, please do not encode or split the messages in any way if
+possible; it's much easier to deal with one plain text message, however large,
+than many small ones.
+
+@c ---------------------------------------------------------------------------
+@node File Structure, Copyright, Reporting Bugs, Top
+@c node-name, next, previous, up
+
+@chapter File Structure
+A few notes on the file hierarchy used in this package.
+
+@itemize @bullet
+@item Directory @file{doc} and its subdirectories contain all the
+documentation of the library, along with this manual.
+
+@itemize @minus
+@item @file{html/index.html} is the main page of the documentation. From there
+you can reach both the @dfn{installation handbook} and the @dfn{class hierarchy
+documentation}. Starting explorations from this page is highly recommended,
+since this file will always stay there in all future versions of the library.
+Anyway, you can alternatively open the various files individually, following
+the instructions given below.
+
+@item @file{tvision.info} is the Texinfo version of this manual, hereinafter
+called @dfn{installation handbook}. It contains information regarding
+installation, keyboard handling, screen manipulation, environment variables
+and mouse support. You should take a look at it before using the library. Just
+type @w{@samp{info -f tvision.info}} to proceed.
+The Texinfo format allows searching for topics, commands and functions from
+the many indices.
+
+@file{tvision.info} was automatically extracted from @file{tvision.texi} with
+the program @samp{makeinfo}.
+The command @w{@samp{texi2dvi tvision.texi}} will output @file{tvision.dvi},
+which can then be processed with @samp{dvips} and optionally @samp{gs}
+(Ghostscript) to produce a nicely formatted printed manual. See
+@ref{Top, , Overview, Texinfo, The Texinfo format}, and
+@xref{Top, , Getting Started, info, The info program}, for more about the
+Texinfo documentation system.
+
+@item @file{html/tvision.html} is the html version of these installation
+notes, automatically produced by applying the @samp{texi2html} utility to
+file @file{tvision.texi}. Since it is built automatically the output may
+appear ugly, so don't blame me.
+
+@item Files @file{html/hierarchy.html}, @file{html/classes.html},
+@file{html/annotated.html}, @file{html/files.html}, @file{html/functions.html}
+and @file{html/globals.html} are the main pages of the @dfn{class hierarchy
+documentation}. These information describe each class, its methods and data
+members with some degree of detail.
+
+To produce this documentation, I annotated each class directly in the header
+file (.h) where it appears. Then I ran @samp{doxygen}, a powerful
+documentation extractor available from
+@url{http://www.doxygen.org/index.html} or from
+@url{http://www.stack.nl/~dimitri/doxygen/download.html}. It automatically
+fetches these information and generates a nice html manual.
+@end itemize
+
+@item Directory @file{lib} contains all the sources of the library, both header
+(.h) and program (.cc) files. Object files (.lo, .o) and the generated
+library files (libtvision.a, libtvision.la) are also placed here, after a
+successful compilation.
+
+Before compiling the library, a trick in @file{Makefile.am} creates a symbolic
+link named @file{tvision} to this same directory. This recursive link allows
+the smooth compilation of the various source files, because all of them try to
+include @file{tvision/tv.h}.
+
+@file{tv.h} is the only header every application needs to include. It
+automatically includes the required TVision header files by looking at the
+various @samp{Uses_XXXX} macros. If one macro is defined the relevant header
+is included.
+
+@item Directory @file{demo} presents a complete application made with this
+library, named @samp{demo}. It shows how to use predefined views, how to
+subclass them to create custom views, how to handle the various events and how
+to deal with the online help system. It also gives some advises on how to
+store and recover views to and from streams.
+
+@item Directory @file{tutorial} contains a lot of simple examples. Read file
+@file{README} in that directory to know exactly what each program does.
+File @file{basicMakefile} is a simple makefile template you can easily modify
+to build your own programs.
+
+@item Finally, directory @file{tvhc} includes the help compiler, the default
+program used to translate a source help file in the binary form TVision
+internally uses. Some documentation for it is given there in file
+@file{README}.
+@end itemize
+
+@c ---------------------------------------------------------------------------
+@node Copyright, Portability issues, File Structure, Top
+@c node-name, next, previous, up
+
+@chapter Copyright
+@quotation
+All changes copyright (c) 1997-2001 Sergio Sigala, Brescia, Italy.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+@enumerate
+@item Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+@item Redistributions in binary form must reproduce the above copyright
+notice, this list of conditions and the following disclaimer in the
+documentation and/or other materials provided with the distribution.
+@end enumerate
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+@end quotation
+
+Warning: this BSD-style copyright is applicable only to the modifications
+brought by Sergio Sigala to the original code. Borland has released the code
+to the public, but still owns the original copyright (see file @file{lib/tv.h}
+for instance).
+
+Other contributors have their respective copyright.
+
+@c ---------------------------------------------------------------------------
+@node Portability issues, Keyboard, Copyright, Top
+@c node-name, next, previous, up
+
+@chapter Portability issues
+The TV library was originally written to run on 80x86 processor. These
+processors are little-endian and the original library assumes this as a
+premise. In fact, some code may not run properly on big-endian machines.
+This means it requires a big effort to make the library fully portable across
+all Unix machines.
+
+I made various changes in the code to make it run correctly under big-endian
+machines. I tested it with a PowerPC running Linux and it works fine (maybe
+some other minor changes are required).
+
+Another problem is the massive usage of the PC-specific character set. This
+usually gives a nice look when the applications run in the system console, but
+can show very annoying characters when they run in a remote terminal or under
+a X shell.
+
+@c ---------------------------------------------------------------------------
+@node Keyboard, Screen, Portability issues, Top
+@c node-name, next, previous, up
+
+@chapter Keyboard
+The ncurses library is systematically used in TVision to perform keyboard
+input, and usually to do video output also. These routines give the user a
+terminal-independent method for getting input characters and to update
+character screens with reasonable optimization. The name @samp{ncurses}
+stands for `new curses' and is the approved replacement for the 4.4BSD classic
+@samp{curses} library, which has been discontinued.
+
+More specifically, the ncurses package supports:
+
+@itemize @bullet
+@item output to windows and reading terminal input;
+@item control over terminals and their input and output capabilities;
+@item some color manipulation;
+@item terminfo capabilities;
+@item access to low-level terminal-manipulation routines.
+@end itemize
+
+In addition to drawing characters on the screen, video attributes and colors
+may be supported, causing the characters to show up in such modes as
+underlined, in reverse video, or in color on terminals that support such
+display enhancements. Line drawing characters may be specified to be output.
+On input, ncurses is also able to translate arrow and function keys that
+transmit escape sequences into single value integers. Type
+@w{@samp{man ncurses}} for more.
+
+Under Linux a special output mechanism called VCS, which gives direct access
+to the console screen memory, may be used. This is noticeably faster than the
+standard ncurses output. See @ref{Screen} for details.
+
+@heading Key combinations
+Two notes, whose applicability is strictly dependent on the operating system
+you are using:
+
+@itemize @bullet
+@item Under FreeBSD @key{ALT} combinations aren't currently supported. You can
+emulate them with @key{ESC} sequences. To perform an @key{ALT} emulation you
+should press @key{ESC} followed by the required letter key within some tenth of
+second. The default time interval is 0.4 seconds, see file @file{system.cc}
+for further details on how to change it.
+
+For example, to generate the @kbd{Alt-X} combination press @kbd{ESC X}. To
+generate @key{ESC} alone press it once and wait 0.4 seconds or press it twice.
+If the second key is pressed outside the time interval, the entire sequence is
+treated like two ordinary key presses are.
+
+Support for @key{CTRL} and @key{SHIFT} key combinations is also missing.
+
+@item Under Linux @key{ALT} combinations are usable only when you run
+applications from the system console. In this mode the library can easily
+detect the state of @key{ALT}, @key{CTRL} and @key{SHIFT} keys by using a
+Linux-specific system call (@samp{TIOCLINUX}, see @file{sys/kd.h} for
+more), so strange combinations like @samp{kbCtrlLeft} are always possible.
+In other environments (namely remote terminals and X shells) these sequences
+can't be detected, so you need to compose the same sequences seen above for
+FreeBSD.
+@end itemize
+
+@c ---------------------------------------------------------------------------
+@node Screen, Mouse, Keyboard, Top
+@c node-name, next, previous, up
+
+@chapter Screen
+A few, useful notes about screen handling.
+
+@heading The importance of SIGWINCH
+The @samp{SIGWINCH} signal is always hooked, so we can resize the screen at
+runtime and the application will adapt itself. Obviously, this capability is
+especially useful in X shells.
+
+@heading Two drawbacks of ncurses
+Like mentioned previously, the ncurses library is usually used to perform
+video output. This should work well under any operating system, in any kind of
+terminal (system console, dumb terminal or X shell). But there are at least
+two problems with this otherwise perfectly portable solution:
+
+@enumerate
+@item This mechanism can't output all the 256 characters the 8 bit encoding
+would permit, including those nice semi-graphical signs usually used in
+text-mode applications on PCs. Since TVision uses them all (to draw frames,
+window icons and various other views), your application may appear
+graphically poor.
+
+@item This mechanism is slow. On the system console it's slower on Linux than
+FreeBSD, because of the advanced system FreeBSD uses to update the screen
+memory. Equally slow on the other kinds of terminal. This limit appears
+noticeably on 486 and low-end Pentiums.
+@end enumerate
+
+There is no way to speedup this process without doing some low-level,
+operating-system-specific trickery, necessarily non portable across the
+various operating systems.
+
+@heading The Linux way: virtual console mode versus remote mode
+Linux has a special output mechanism called VCS (or VCSA), which gives direct
+access to the screen memory. VCS stands for @dfn{virtual console system}.
+
+This mechanism is a lot faster than the standard ncurses output; we'll call it
+@dfn{virtual console mode}. For clearness, we'll refer to the conventional,
+ncurses-based output approach, as @dfn{remote mode}. Not surprising, this
+facility is capable of displaying all of the 256 characters with all colors
+the graphic adapter allows, so it fixes the first problem too.
+
+The Linux kernel provides a handful of special devices which refer to the
+memories of the various virtual consoles; they are described below:
+
+@itemize @bullet
+@item @file{/dev/vcs0} is a character device with major number 7 and minor
+number 0, usually of mode 0644 and owner root.tty. It refers to the memory of
+the currently displayed virtual console terminal.
+
+@item @file{/dev/vcs[1-63]} are character devices for virtual console
+terminals, they have major number 7 and minor number 1 to 63, usually mode
+0644 and owner root.tty.
+
+@item @file{/dev/vcsa[0-63]} are the same as above, but including attributes,
+and prefixed with four bytes giving the screen dimensions and cursor position:
+lines, columns, x and y.
+@end itemize
+
+These devices replace the screendump ioctls of @samp{console(4)}, so the
+system administrator can control access using file system permissions. Your
+application may require root privileges, in order to gain access to these
+devices. Type @w{@samp{man vcs}} for more.
+
+If not already present, the devices for the first eight virtual consoles may
+be created by:
+
+@example
+for x in 0 1 2 3 4 5 6 7 8; do
+ mknod -m 644 /dev/vcs$x c 7 $x;
+ mknod -m 644 /dev/vcsa$x c 7 $[$x+128];
+done
+chown root:tty /dev/vcs*
+@end example
+
+Alternatively, you may try the following script, taken from the @w{Midnight
+Commander}, which builds all the 64 devices:
+
+@example
+#!/bin/sh
+#
+# Script by Jakub Jelinek
+#
+if test -e /dev/vcs0
+then
+ exit
+fi
+
+I=0
+while [ $I -lt 64 ]
+do
+ mknod /dev/vcs$I c 7 $I
+ chmod 622 /dev/vcs$I
+ chown root.tty /dev/vcs$I
+ mknod /dev/vcsa$I c 7 `expr $I + 128`
+ chmod 622 /dev/vcsa$I
+ chown root.tty /dev/vcsa$I
+ I=`expr $I + 1`
+done
+@end example
+
+@heading Conclusions on Linux
+Under Linux every program can run in two ways:
+
+@itemize @bullet
+@item @dfn{Virtual console mode} is the fastest output method and should be
+automatically selected when you start your application from the system
+console and it has the required write privileges. Its output goes directly to
+the display via one of the various @file{/dev/vcsa*} devices.
+
+@item @dfn{Remote mode} is used when you run the application from a remote
+terminal, under telnet, in a X shell or in the system console but it has not
+write privileges to the @file{/dev/vcsa*} devices. Its output goes to the
+display via standard out, so it's very slow compared to the former.
+@end itemize
+
+In any case, colors are used if the terminal supports them. Otherwise, a
+monochrome palette with bold and inverse attributes is used to mark the text.
+
+@heading Two notes on FreeBSD
+@itemize @bullet
+@item FreeBSD lacks a mechanism like VCS. But it does not really need it,
+because his conventional ncurses output is moderately fast thanks to the
+peculiar screen updating technique it uses.
+
+@item The last screen line is not used because otherwise the display will
+scroll up (it's an example of the @dfn{last character syndrome}, which
+sometimes affects computer programs).
+@end itemize
+
+@c ---------------------------------------------------------------------------
+@node Mouse, Environment Variables, Screen, Top
+@c node-name, next, previous, up
+
+@chapter Mouse
+The mouse handling varies a lot, depending on the operating system you are
+using. If you need to change some timing see the @file{system.cc} file.
+
+@heading Mouse support under FreeBSD
+The library requires the @samp{moused} daemon to be loaded. See the moused
+man page (by typing @w{@samp{man moused}}) for more details. For example, if
+you have a Microsoft compatible mouse connected to COM1, you should issue this
+command:
+
+@example
+moused -p /dev/cuaa0 -t microsoft
+@end example
+
+By using the @samp{TVOPT} environment variable, you can modify the shape of
+the cursor. Setting it to @samp{noarrow} disables the arrow pointer; the
+block pointer will instead be used. See the @ref{Environment Variables}
+section for more.
+
+@heading Mouse support under Linux
+The library requires @samp{Gpm}. The Gpm package is a mouse server for the
+Linux console. It is meant to provide cooked mouse events to text-only
+applications, such as editors and simple menu-based programs. I tested
+TVision with Gpm version 1.18.1.
+
+@c ---------------------------------------------------------------------------
+@node Environment Variables, Compiling TVision, Mouse, Top
+@c node-name, next, previous, up
+
+@chapter Environment Variables
+By setting the two environment variables @samp{TVLOG} and @samp{TVOPT}, you
+can modify the way TVision applications act on your system.
+
+@heading TVLOG
+With @samp{TVLOG} you can force TVision to write a log file. For example, the
+following line will produce a log file named @samp{mylog} when the application
+is executed:
+
+@example
+TVLOG=mylog
+@end example
+
+The log file creation can be suppressed by assigning an empty string to this
+variable.
+
+@heading TVOPT
+You can modify some of the behavior of the library by defining the other
+environment variable @samp{TVOPT}. This variable is a set of strings
+separated by one or more space characters. Valid strings are:
+
+@table @samp
+@item cyrillic
+enables cyrillic character set mapping (for Linux and VCS only). See
+@ref{Screen} for more about VCS.
+
+@item latin
+enables latin character set mapping (for Linux and VCS only). See
+@ref{Screen} for more about VCS.
+
+Note: this option and the one above are useful only when the VCS is enabled;
+in any other mode the application should automatically select the correct
+mapping, thanks to the translation kindly done by ncurses and the operating
+system.
+
+@item noarrow
+disables the arrow pointer (FreeBSD only); the block pointer will instead be
+used. See @ref{Mouse} for more about mouse handling.
+
+@item nogpm
+disables support for the Gpm mouse driver (Linux only); the application
+will run without mouse. See @ref{Mouse} for more about mouse handling.
+
+@item novcs
+inhibits the use of VCS to do video output (Linux only); the application will
+always use remote mode. See @ref{Screen} for more about VCS.
+@end table
+
+@heading Examples for the Bourne shell
+@example
+export TVOPT=nogpm @expansion{} does not use Gpm
+export TVOPT="nogpm novcs" @expansion{} disables both Gpm and VCS
+export TVOPT= @expansion{} cleans the environment variable
+@end example
+
+@heading Examples for the C shell
+@example
+setenv TVOPT nogpm @expansion{} does not use Gpm
+setenv TVOPT "nogpm novcs" @expansion{} disables both Gpm and VCS
+unsetenv TVOPT @expansion{} cleans the environment variable
+@end example
+
+@c ---------------------------------------------------------------------------
+@node Compiling TVision, Resources, Environment Variables, Top
+@c node-name, next, previous, up
+
+@chapter Compiling TVision
+This section gives you some information for installing TVision. For further
+details please read the @file{INSTALL} file that can be found in the root
+directory of the source package.
+
+@itemize @bullet
+@item Type @samp{./configure} to automatically detect the system features.
+
+@item Type @samp{make} in the main directory to compile all the sources. This
+creates both the static and dynamic libraries. Libraries are placed in
+directory @samp{lib} with source files. The @samp{demo} example and the
+tutorials are statically linked against the TVision library.
+
+@item Type @w{@samp{make install}} to install the library in
+@file{/usr/local/include} and @file{/usr/local/lib}. The default prefix
+directory is thus @samp{/usr/local} and it's automatically selected by
+@samp{configure} if you missed to specify a custom prefix directory with
+the option @w{@samp{--prefix=PATH}}.
+
+@item Type @w{@samp{make uninstall}} to remove the library.
+
+Note: this command and the previous (@w{@samp{make install}}) both need root
+privileges and should possibly be followed by @samp{ldconfig} to update the
+linker cache.
+
+@item Type @w{@samp{make clean}} in the main directory to remove objects,
+backup files and executables in the main directory and in all the
+subdirectories.
+
+@item Type @w{@samp{make dist}} to build the distribution package.
+@end itemize
+
+@heading Quick start
+To start, just say @samp{./configure && make} to your shell. Binaries are not
+released with the package because it's safer for you to compile the package by
+yourself.
+
+@c ---------------------------------------------------------------------------
+@node Resources, Credits, Compiling TVision, Top
+@c node-name, next, previous, up
+
+@chapter Resources
+Please connect to @url{http://www.sigala.it/sergio/tvision} for fresh
+resources. It is the official TVision site, from which you can download the
+latest version of the package; there is a number of example programs too.
+
+@c ---------------------------------------------------------------------------
+@node Credits, Author address, Resources, Top
+@c node-name, next, previous, up
+
+@chapter Credits
+The following are most of the contributors, listed in chronologic order.
+Sorry if I missed somebody (please contact me in case I did,
+@email{sergio@@sigala.it}).
+
+@itemize @bullet
+@item Vasily Egoshin @email{wasa@@nica.marstu.mari.su}
+@item Rainer Keuchel @email{r_keuchel@@smaug.netwave.de}
+@item Martynas Kunigelis @email{algikun@@santaka.sc-uni.ktu.lt}
+@item Bonni Mierzejewska @email{u6ed4@@wvnvm.wvnet.edu}
+@item Ruslan V. Brushkoff @email{ruslan@@Baby.TM.Odessa.UA}
+@item Dmitrij Korovkin @email{tkf@@glasnet.ru}
+@item Sergey Clushin @email{serg@@lamport.ru} @email{Clushin@@deol.ru}
+@item Harald Hoyer @email{HarryH@@Royal.Net}
+@item John Polstra @email{jdp@@polstra.com}
+@item Pedro F. Giffuni @email{giffunip@@asme.org}
+@item Vitaly Fedrushkov @email{willy@@snowyowl.csu.ac.ru}
+@item Piotr Klaban @email{makler@@man.torun.pl}
+@item Artur Harasimiuk @email{maniak@@qna.softomat.com.pl}
+@item Thorsten Dittmar @email{dittmar@@Mathematik.Uni-Marburg.de}
+@item Javor Dimitrov @email{logix@@dobrich-sat.net}
+@end itemize
+
+@c ---------------------------------------------------------------------------
+@node Author address, , Credits, Top
+@c node-name, next, previous, up
+
+@chapter Author's address
+@flushleft
+Sergio Sigala @email{sergio@@sigala.it}
+Viale De Gasperi, 8
+25041 Boario Terme (BS)
+Italy
+@end flushleft
+
+@c ---------------------------------------------------------------------------
+@bye
diff --git a/freebsdtvision/lib/Makefile.am b/freebsdtvision/lib/Makefile.am
new file mode 100644
index 0000000..b2ecf0a
--- /dev/null
+++ b/freebsdtvision/lib/Makefile.am
@@ -0,0 +1,43 @@
+AUTOMAKE_OPTIONS = foreign
+
+pkginclude_HEADERS = \
+app.h colorsel.h dialogs.h drawbuf.h editors.h \
+help.h helpbase.h menus.h msgbox.h objects.h outline.h resource.h \
+stddlg.h system.h textview.h tkeys.h tobjstrm.h ttypes.h tv.h \
+tvconfig.h tvobjs.h util.h validate.h views.h myendian.h
+
+lib_LIBRARIES = libtvision.a
+lib_LTLIBRARIES = libtvision.la
+libtvision_la_LDFLAGS = -version-info 0:7:0
+
+libtvision_a_SOURCES = TApplication.cc TBackground.cc TButton.cc \
+TChDirDialog.cc TCheckBoxes.cc \
+TCluster.cc TCollection.cc TCommandSet.cc TDeskTop.cc TDialog.cc \
+TDirCollection.cc TDirListBox.cc TEditWindow.cc TEditor.cc \
+TFileCollection.cc TFileDialog.cc TFileEditor.cc TFileList.cc TFrame.cc \
+TGroup.cc THistory.cc THistoryViewer.cc THistoryWindow.cc TIndicator.cc \
+TInputLine.cc TLabel.cc TListBox.cc TListViewer.cc TMemo.cc TMenuBar.cc \
+TMenuBox.cc TMenuPopup.cc TMenuView.cc TMultiCheckBoxes.cc TObject.cc \
+TOutline.cc TParamText.cc TPoint.cc TProgram.cc TRadioButtons.cc \
+TResourceCollection.cc TResourceFile.cc TScrollBar.cc TScroller.cc \
+TSortedCollection.cc TStaticText.cc TStatusLine.cc TStrListMaker.cc \
+TStringCollection.cc TValidator.cc TView.cc TWindow.cc allnames.cc asm.cc \
+colorsel.cc drivers.cc editstat.cc help.cc helpbase.cc histlist.cc menu.cc \
+misc.cc msgbox.cc palette.cc sall.cc stddlg.cc system.cc textview.cc \
+tobjstrm.cc tvtext.cc
+
+libtvision_la_SOURCES = TApplication.cc TBackground.cc TButton.cc \
+TChDirDialog.cc TCheckBoxes.cc \
+TCluster.cc TCollection.cc TCommandSet.cc TDeskTop.cc TDialog.cc \
+TDirCollection.cc TDirListBox.cc TEditWindow.cc TEditor.cc \
+TFileCollection.cc TFileDialog.cc TFileEditor.cc TFileList.cc TFrame.cc \
+TGroup.cc THistory.cc THistoryViewer.cc THistoryWindow.cc TIndicator.cc \
+TInputLine.cc TLabel.cc TListBox.cc TListViewer.cc TMemo.cc TMenuBar.cc \
+TMenuBox.cc TMenuPopup.cc TMenuView.cc TMultiCheckBoxes.cc TObject.cc \
+TOutline.cc TParamText.cc TPoint.cc TProgram.cc TRadioButtons.cc \
+TResourceCollection.cc TResourceFile.cc TScrollBar.cc TScroller.cc \
+TSortedCollection.cc TStaticText.cc TStatusLine.cc TStrListMaker.cc \
+TStringCollection.cc TValidator.cc TView.cc TWindow.cc allnames.cc asm.cc \
+colorsel.cc drivers.cc editstat.cc help.cc helpbase.cc histlist.cc menu.cc \
+misc.cc msgbox.cc palette.cc sall.cc stddlg.cc system.cc textview.cc \
+tobjstrm.cc tvtext.cc
diff --git a/freebsdtvision/lib/Makefile.in b/freebsdtvision/lib/Makefile.in
new file mode 100644
index 0000000..cfc2032
--- /dev/null
+++ b/freebsdtvision/lib/Makefile.in
@@ -0,0 +1,810 @@
+# Makefile.in generated by automake 1.7.3 from Makefile.am.
+# @configure_input@
+
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+# Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ..
+
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_triplet = @host@
+ACLOCAL = @ACLOCAL@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+AUTOMAKE_OPTIONS = foreign
+
+pkginclude_HEADERS = \
+app.h colorsel.h dialogs.h drawbuf.h editors.h \
+help.h helpbase.h menus.h msgbox.h objects.h outline.h resource.h \
+stddlg.h system.h textview.h tkeys.h tobjstrm.h ttypes.h tv.h \
+tvconfig.h tvobjs.h util.h validate.h views.h myendian.h
+
+
+lib_LIBRARIES = libtvision.a
+lib_LTLIBRARIES = libtvision.la
+libtvision_la_LDFLAGS = -version-info 0:7:0
+
+libtvision_a_SOURCES = TApplication.cc TBackground.cc TButton.cc \
+TChDirDialog.cc TCheckBoxes.cc \
+TCluster.cc TCollection.cc TCommandSet.cc TDeskTop.cc TDialog.cc \
+TDirCollection.cc TDirListBox.cc TEditWindow.cc TEditor.cc \
+TFileCollection.cc TFileDialog.cc TFileEditor.cc TFileList.cc TFrame.cc \
+TGroup.cc THistory.cc THistoryViewer.cc THistoryWindow.cc TIndicator.cc \
+TInputLine.cc TLabel.cc TListBox.cc TListViewer.cc TMemo.cc TMenuBar.cc \
+TMenuBox.cc TMenuPopup.cc TMenuView.cc TMultiCheckBoxes.cc TObject.cc \
+TOutline.cc TParamText.cc TPoint.cc TProgram.cc TRadioButtons.cc \
+TResourceCollection.cc TResourceFile.cc TScrollBar.cc TScroller.cc \
+TSortedCollection.cc TStaticText.cc TStatusLine.cc TStrListMaker.cc \
+TStringCollection.cc TValidator.cc TView.cc TWindow.cc allnames.cc asm.cc \
+colorsel.cc drivers.cc editstat.cc help.cc helpbase.cc histlist.cc menu.cc \
+misc.cc msgbox.cc palette.cc sall.cc stddlg.cc system.cc textview.cc \
+tobjstrm.cc tvtext.cc
+
+
+libtvision_la_SOURCES = TApplication.cc TBackground.cc TButton.cc \
+TChDirDialog.cc TCheckBoxes.cc \
+TCluster.cc TCollection.cc TCommandSet.cc TDeskTop.cc TDialog.cc \
+TDirCollection.cc TDirListBox.cc TEditWindow.cc TEditor.cc \
+TFileCollection.cc TFileDialog.cc TFileEditor.cc TFileList.cc TFrame.cc \
+TGroup.cc THistory.cc THistoryViewer.cc THistoryWindow.cc TIndicator.cc \
+TInputLine.cc TLabel.cc TListBox.cc TListViewer.cc TMemo.cc TMenuBar.cc \
+TMenuBox.cc TMenuPopup.cc TMenuView.cc TMultiCheckBoxes.cc TObject.cc \
+TOutline.cc TParamText.cc TPoint.cc TProgram.cc TRadioButtons.cc \
+TResourceCollection.cc TResourceFile.cc TScrollBar.cc TScroller.cc \
+TSortedCollection.cc TStaticText.cc TStatusLine.cc TStrListMaker.cc \
+TStringCollection.cc TValidator.cc TView.cc TWindow.cc allnames.cc asm.cc \
+colorsel.cc drivers.cc editstat.cc help.cc helpbase.cc histlist.cc menu.cc \
+misc.cc msgbox.cc palette.cc sall.cc stddlg.cc system.cc textview.cc \
+tobjstrm.cc tvtext.cc
+
+subdir = lib
+mkinstalldirs = $(SHELL) $(top_srcdir)/util/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(lib_LIBRARIES)
+
+libtvision_a_AR = $(AR) cru
+libtvision_a_LIBADD =
+am_libtvision_a_OBJECTS = TApplication.$(OBJEXT) TBackground.$(OBJEXT) \
+ TButton.$(OBJEXT) TChDirDialog.$(OBJEXT) TCheckBoxes.$(OBJEXT) \
+ TCluster.$(OBJEXT) TCollection.$(OBJEXT) TCommandSet.$(OBJEXT) \
+ TDeskTop.$(OBJEXT) TDialog.$(OBJEXT) TDirCollection.$(OBJEXT) \
+ TDirListBox.$(OBJEXT) TEditWindow.$(OBJEXT) TEditor.$(OBJEXT) \
+ TFileCollection.$(OBJEXT) TFileDialog.$(OBJEXT) \
+ TFileEditor.$(OBJEXT) TFileList.$(OBJEXT) TFrame.$(OBJEXT) \
+ TGroup.$(OBJEXT) THistory.$(OBJEXT) THistoryViewer.$(OBJEXT) \
+ THistoryWindow.$(OBJEXT) TIndicator.$(OBJEXT) \
+ TInputLine.$(OBJEXT) TLabel.$(OBJEXT) TListBox.$(OBJEXT) \
+ TListViewer.$(OBJEXT) TMemo.$(OBJEXT) TMenuBar.$(OBJEXT) \
+ TMenuBox.$(OBJEXT) TMenuPopup.$(OBJEXT) TMenuView.$(OBJEXT) \
+ TMultiCheckBoxes.$(OBJEXT) TObject.$(OBJEXT) TOutline.$(OBJEXT) \
+ TParamText.$(OBJEXT) TPoint.$(OBJEXT) TProgram.$(OBJEXT) \
+ TRadioButtons.$(OBJEXT) TResourceCollection.$(OBJEXT) \
+ TResourceFile.$(OBJEXT) TScrollBar.$(OBJEXT) \
+ TScroller.$(OBJEXT) TSortedCollection.$(OBJEXT) \
+ TStaticText.$(OBJEXT) TStatusLine.$(OBJEXT) \
+ TStrListMaker.$(OBJEXT) TStringCollection.$(OBJEXT) \
+ TValidator.$(OBJEXT) TView.$(OBJEXT) TWindow.$(OBJEXT) \
+ allnames.$(OBJEXT) asm.$(OBJEXT) colorsel.$(OBJEXT) \
+ drivers.$(OBJEXT) editstat.$(OBJEXT) help.$(OBJEXT) \
+ helpbase.$(OBJEXT) histlist.$(OBJEXT) menu.$(OBJEXT) \
+ misc.$(OBJEXT) msgbox.$(OBJEXT) palette.$(OBJEXT) \
+ sall.$(OBJEXT) stddlg.$(OBJEXT) system.$(OBJEXT) \
+ textview.$(OBJEXT) tobjstrm.$(OBJEXT) tvtext.$(OBJEXT)
+libtvision_a_OBJECTS = $(am_libtvision_a_OBJECTS)
+LTLIBRARIES = $(lib_LTLIBRARIES)
+
+libtvision_la_LIBADD =
+am_libtvision_la_OBJECTS = TApplication.lo TBackground.lo TButton.lo \
+ TChDirDialog.lo TCheckBoxes.lo TCluster.lo TCollection.lo \
+ TCommandSet.lo TDeskTop.lo TDialog.lo TDirCollection.lo \
+ TDirListBox.lo TEditWindow.lo TEditor.lo TFileCollection.lo \
+ TFileDialog.lo TFileEditor.lo TFileList.lo TFrame.lo TGroup.lo \
+ THistory.lo THistoryViewer.lo THistoryWindow.lo TIndicator.lo \
+ TInputLine.lo TLabel.lo TListBox.lo TListViewer.lo TMemo.lo \
+ TMenuBar.lo TMenuBox.lo TMenuPopup.lo TMenuView.lo \
+ TMultiCheckBoxes.lo TObject.lo TOutline.lo TParamText.lo \
+ TPoint.lo TProgram.lo TRadioButtons.lo TResourceCollection.lo \
+ TResourceFile.lo TScrollBar.lo TScroller.lo \
+ TSortedCollection.lo TStaticText.lo TStatusLine.lo \
+ TStrListMaker.lo TStringCollection.lo TValidator.lo TView.lo \
+ TWindow.lo allnames.lo asm.lo colorsel.lo drivers.lo \
+ editstat.lo help.lo helpbase.lo histlist.lo menu.lo misc.lo \
+ msgbox.lo palette.lo sall.lo stddlg.lo system.lo textview.lo \
+ tobjstrm.lo tvtext.lo
+libtvision_la_OBJECTS = $(am_libtvision_la_OBJECTS)
+
+DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/util/depcomp
+am__depfiles_maybe = depfiles
+@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/TApplication.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/TApplication.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/TBackground.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/TBackground.Po ./$(DEPDIR)/TButton.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/TButton.Po ./$(DEPDIR)/TChDirDialog.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/TChDirDialog.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/TCheckBoxes.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/TCheckBoxes.Po ./$(DEPDIR)/TCluster.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/TCluster.Po ./$(DEPDIR)/TCollection.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/TCollection.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/TCommandSet.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/TCommandSet.Po ./$(DEPDIR)/TDeskTop.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/TDeskTop.Po ./$(DEPDIR)/TDialog.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/TDialog.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/TDirCollection.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/TDirCollection.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/TDirListBox.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/TDirListBox.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/TEditWindow.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/TEditWindow.Po ./$(DEPDIR)/TEditor.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/TEditor.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/TFileCollection.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/TFileCollection.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/TFileDialog.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/TFileDialog.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/TFileEditor.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/TFileEditor.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/TFileList.Plo ./$(DEPDIR)/TFileList.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/TFrame.Plo ./$(DEPDIR)/TFrame.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/TGroup.Plo ./$(DEPDIR)/TGroup.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/THistory.Plo ./$(DEPDIR)/THistory.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/THistoryViewer.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/THistoryViewer.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/THistoryWindow.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/THistoryWindow.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/TIndicator.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/TIndicator.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/TInputLine.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/TInputLine.Po ./$(DEPDIR)/TLabel.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/TLabel.Po ./$(DEPDIR)/TListBox.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/TListBox.Po ./$(DEPDIR)/TListViewer.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/TListViewer.Po ./$(DEPDIR)/TMemo.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/TMemo.Po ./$(DEPDIR)/TMenuBar.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/TMenuBar.Po ./$(DEPDIR)/TMenuBox.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/TMenuBox.Po ./$(DEPDIR)/TMenuPopup.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/TMenuPopup.Po ./$(DEPDIR)/TMenuView.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/TMenuView.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/TMultiCheckBoxes.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/TMultiCheckBoxes.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/TObject.Plo ./$(DEPDIR)/TObject.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/TOutline.Plo ./$(DEPDIR)/TOutline.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/TParamText.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/TParamText.Po ./$(DEPDIR)/TPoint.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/TPoint.Po ./$(DEPDIR)/TProgram.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/TProgram.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/TRadioButtons.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/TRadioButtons.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/TResourceCollection.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/TResourceCollection.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/TResourceFile.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/TResourceFile.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/TScrollBar.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/TScrollBar.Po ./$(DEPDIR)/TScroller.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/TScroller.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/TSortedCollection.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/TSortedCollection.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/TStaticText.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/TStaticText.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/TStatusLine.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/TStatusLine.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/TStrListMaker.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/TStrListMaker.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/TStringCollection.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/TStringCollection.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/TValidator.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/TValidator.Po ./$(DEPDIR)/TView.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/TView.Po ./$(DEPDIR)/TWindow.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/TWindow.Po ./$(DEPDIR)/allnames.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/allnames.Po ./$(DEPDIR)/asm.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/asm.Po ./$(DEPDIR)/colorsel.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/colorsel.Po ./$(DEPDIR)/drivers.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/drivers.Po ./$(DEPDIR)/editstat.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/editstat.Po ./$(DEPDIR)/help.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/help.Po ./$(DEPDIR)/helpbase.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/helpbase.Po ./$(DEPDIR)/histlist.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/histlist.Po ./$(DEPDIR)/menu.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/menu.Po ./$(DEPDIR)/misc.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/misc.Po ./$(DEPDIR)/msgbox.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/msgbox.Po ./$(DEPDIR)/palette.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/palette.Po ./$(DEPDIR)/sall.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/sall.Po ./$(DEPDIR)/stddlg.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/stddlg.Po ./$(DEPDIR)/system.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/system.Po ./$(DEPDIR)/textview.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/textview.Po ./$(DEPDIR)/tobjstrm.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/tobjstrm.Po ./$(DEPDIR)/tvtext.Plo \
+@AMDEP_TRUE@ ./$(DEPDIR)/tvtext.Po
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+DIST_SOURCES = $(libtvision_a_SOURCES) $(libtvision_la_SOURCES)
+HEADERS = $(pkginclude_HEADERS)
+
+DIST_COMMON = $(pkginclude_HEADERS) Makefile.am Makefile.in
+SOURCES = $(libtvision_a_SOURCES) $(libtvision_la_SOURCES)
+
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cc .lo .o .obj
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign lib/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+
+AR = ar
+libLIBRARIES_INSTALL = $(INSTALL_DATA)
+install-libLIBRARIES: $(lib_LIBRARIES)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(libdir)
+ @list='$(lib_LIBRARIES)'; for p in $$list; do \
+ if test -f $$p; then \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " $(libLIBRARIES_INSTALL) $$p $(DESTDIR)$(libdir)/$$f"; \
+ $(libLIBRARIES_INSTALL) $$p $(DESTDIR)$(libdir)/$$f; \
+ else :; fi; \
+ done
+ @$(POST_INSTALL)
+ @list='$(lib_LIBRARIES)'; for p in $$list; do \
+ if test -f $$p; then \
+ p="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " $(RANLIB) $(DESTDIR)$(libdir)/$$p"; \
+ $(RANLIB) $(DESTDIR)$(libdir)/$$p; \
+ else :; fi; \
+ done
+
+uninstall-libLIBRARIES:
+ @$(NORMAL_UNINSTALL)
+ @list='$(lib_LIBRARIES)'; for p in $$list; do \
+ p="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " rm -f $(DESTDIR)$(libdir)/$$p"; \
+ rm -f $(DESTDIR)$(libdir)/$$p; \
+ done
+
+clean-libLIBRARIES:
+ -test -z "$(lib_LIBRARIES)" || rm -f $(lib_LIBRARIES)
+libtvision.a: $(libtvision_a_OBJECTS) $(libtvision_a_DEPENDENCIES)
+ -rm -f libtvision.a
+ $(libtvision_a_AR) libtvision.a $(libtvision_a_OBJECTS) $(libtvision_a_LIBADD)
+ $(RANLIB) libtvision.a
+libLTLIBRARIES_INSTALL = $(INSTALL)
+install-libLTLIBRARIES: $(lib_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(libdir)
+ @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+ if test -f $$p; then \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) $$p $(DESTDIR)$(libdir)/$$f"; \
+ $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) $$p $(DESTDIR)$(libdir)/$$f; \
+ else :; fi; \
+ done
+
+uninstall-libLTLIBRARIES:
+ @$(NORMAL_UNINSTALL)
+ @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+ p="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$$p"; \
+ $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$$p; \
+ done
+
+clean-libLTLIBRARIES:
+ -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
+ @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+ test "$$dir" = "$$p" && dir=.; \
+ echo "rm -f \"$${dir}/so_locations\""; \
+ rm -f "$${dir}/so_locations"; \
+ done
+libtvision.la: $(libtvision_la_OBJECTS) $(libtvision_la_DEPENDENCIES)
+ $(CXXLINK) -rpath $(libdir) $(libtvision_la_LDFLAGS) $(libtvision_la_OBJECTS) $(libtvision_la_LIBADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT) core *.core
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TApplication.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TApplication.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TBackground.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TBackground.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TButton.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TButton.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TChDirDialog.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TChDirDialog.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TCheckBoxes.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TCheckBoxes.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TCluster.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TCluster.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TCollection.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TCollection.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TCommandSet.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TCommandSet.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TDeskTop.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TDeskTop.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TDialog.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TDialog.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TDirCollection.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TDirCollection.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TDirListBox.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TDirListBox.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TEditWindow.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TEditWindow.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TEditor.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TEditor.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TFileCollection.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TFileCollection.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TFileDialog.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TFileDialog.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TFileEditor.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TFileEditor.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TFileList.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TFileList.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TFrame.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TFrame.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TGroup.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TGroup.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/THistory.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/THistory.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/THistoryViewer.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/THistoryViewer.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/THistoryWindow.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/THistoryWindow.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TIndicator.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TIndicator.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TInputLine.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TInputLine.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TLabel.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TLabel.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TListBox.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TListBox.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TListViewer.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TListViewer.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TMemo.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TMemo.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TMenuBar.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TMenuBar.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TMenuBox.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TMenuBox.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TMenuPopup.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TMenuPopup.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TMenuView.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TMenuView.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TMultiCheckBoxes.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TMultiCheckBoxes.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TObject.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TObject.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TOutline.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TOutline.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TParamText.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TParamText.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TPoint.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TPoint.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TProgram.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TProgram.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TRadioButtons.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TRadioButtons.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TResourceCollection.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TResourceCollection.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TResourceFile.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TResourceFile.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TScrollBar.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TScrollBar.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TScroller.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TScroller.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TSortedCollection.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TSortedCollection.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TStaticText.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TStaticText.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TStatusLine.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TStatusLine.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TStrListMaker.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TStrListMaker.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TStringCollection.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TStringCollection.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TValidator.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TValidator.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TView.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TView.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TWindow.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TWindow.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/allnames.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/allnames.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asm.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asm.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/colorsel.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/colorsel.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/drivers.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/drivers.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/editstat.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/editstat.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/help.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/help.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/helpbase.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/helpbase.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/histlist.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/histlist.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/menu.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/menu.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/misc.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/misc.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msgbox.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msgbox.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/palette.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/palette.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sall.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sall.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stddlg.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stddlg.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/system.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/system.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/textview.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/textview.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tobjstrm.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tobjstrm.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tvtext.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tvtext.Po@am__quote@
+
+distclean-depend:
+ -rm -rf ./$(DEPDIR)
+
+.cc.o:
+@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
+@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
+@am__fastdepCXX_TRUE@ then mv "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
+@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
+@am__fastdepCXX_TRUE@ fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
+
+.cc.obj:
+@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
+@am__fastdepCXX_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \
+@am__fastdepCXX_TRUE@ then mv "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
+@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
+@am__fastdepCXX_TRUE@ fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`
+
+.cc.lo:
+@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
+@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
+@am__fastdepCXX_TRUE@ then mv "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \
+@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
+@am__fastdepCXX_TRUE@ fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+distclean-libtool:
+ -rm -f libtool
+uninstall-info-am:
+pkgincludeHEADERS_INSTALL = $(INSTALL_HEADER)
+install-pkgincludeHEADERS: $(pkginclude_HEADERS)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(pkgincludedir)
+ @list='$(pkginclude_HEADERS)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " $(pkgincludeHEADERS_INSTALL) $$d$$p $(DESTDIR)$(pkgincludedir)/$$f"; \
+ $(pkgincludeHEADERS_INSTALL) $$d$$p $(DESTDIR)$(pkgincludedir)/$$f; \
+ done
+
+uninstall-pkgincludeHEADERS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(pkginclude_HEADERS)'; for p in $$list; do \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " rm -f $(DESTDIR)$(pkgincludedir)/$$f"; \
+ rm -f $(DESTDIR)$(pkgincludedir)/$$f; \
+ done
+
+ETAGS = etags
+ETAGSFLAGS =
+
+CTAGS = ctags
+CTAGSFLAGS =
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ mkid -fID $$unique
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$tags$$unique" \
+ || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique
+
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+
+top_distdir = ..
+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkinstalldirs) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) $(HEADERS)
+
+installdirs:
+ $(mkinstalldirs) $(DESTDIR)$(libdir) $(DESTDIR)$(libdir) $(DESTDIR)$(pkgincludedir)
+
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libLIBRARIES clean-libLTLIBRARIES \
+ clean-libtool mostlyclean-am
+
+distclean: distclean-am
+
+distclean-am: clean-am distclean-compile distclean-depend \
+ distclean-generic distclean-libtool distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-pkgincludeHEADERS
+
+install-exec-am: install-libLIBRARIES install-libLTLIBRARIES
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am uninstall-libLIBRARIES \
+ uninstall-libLTLIBRARIES uninstall-pkgincludeHEADERS
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libLIBRARIES clean-libLTLIBRARIES clean-libtool ctags \
+ distclean distclean-compile distclean-depend distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am info \
+ info-am install install-am install-data install-data-am \
+ install-exec install-exec-am install-info install-info-am \
+ install-libLIBRARIES install-libLTLIBRARIES install-man \
+ install-pkgincludeHEADERS install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags uninstall uninstall-am uninstall-info-am \
+ uninstall-libLIBRARIES uninstall-libLTLIBRARIES \
+ uninstall-pkgincludeHEADERS
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/freebsdtvision/lib/TApplication.cc b/freebsdtvision/lib/TApplication.cc
new file mode 100644
index 0000000..92e94f7
--- /dev/null
+++ b/freebsdtvision/lib/TApplication.cc
@@ -0,0 +1,48 @@
+/*
+ * TApplication.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#define Uses_TEventQueue
+#define Uses_TScreen
+#define Uses_TObject
+#define Uses_TMouse
+#define Uses_TApplication
+#include <tvision/tv.h>
+
+void initHistory();
+void doneHistory();
+
+TApplication::TApplication() :
+ TProgInit( &TApplication::initStatusLine,
+ &TApplication::initMenuBar,
+ &TApplication::initDeskTop
+ )
+{
+ initHistory();
+}
+
+TApplication::~TApplication()
+{
+ doneHistory();
+}
+
+void TApplication::suspend()
+{
+ /* SS: changed */
+
+ TScreen::suspend();
+}
+
+void TApplication::resume()
+{
+ /* SS: changed */
+
+ TScreen::resume();
+}
diff --git a/freebsdtvision/lib/TBackground.cc b/freebsdtvision/lib/TBackground.cc
new file mode 100644
index 0000000..4677624
--- /dev/null
+++ b/freebsdtvision/lib/TBackground.cc
@@ -0,0 +1,65 @@
+/*
+ * TBackground.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#define Uses_TBackground
+#define Uses_TDrawBuffer
+#define Uses_opstream
+#define Uses_ipstream
+#include <tvision/tv.h>
+
+#define cpBackground "\x01" // background palette
+
+TBackground::TBackground( const TRect& bounds, char aPattern ) :
+ TView(bounds),
+ pattern( aPattern )
+{
+ growMode = gfGrowHiX | gfGrowHiY;
+}
+
+void TBackground::draw()
+{
+ TDrawBuffer b;
+
+ b.moveChar( 0, pattern, getColor(0x01), size.x );
+ writeLine( 0, 0, size.x, size.y, b );
+}
+
+TPalette& TBackground::getPalette() const
+{
+ static TPalette palette( cpBackground, sizeof( cpBackground )-1 );
+ return palette;
+}
+
+#if !defined(NO_STREAMABLE)
+
+TBackground::TBackground( StreamableInit ) : TView( streamableInit )
+{
+}
+
+void TBackground::write( opstream& os )
+{
+ TView::write( os );
+ os << pattern;
+}
+
+void *TBackground::read( ipstream& is )
+{
+ TView::read( is );
+ is >> pattern;
+ return this;
+}
+
+TStreamable *TBackground::build()
+{
+ return new TBackground( streamableInit );
+}
+
+#endif
diff --git a/freebsdtvision/lib/TButton.cc b/freebsdtvision/lib/TButton.cc
new file mode 100644
index 0000000..3a827c0
--- /dev/null
+++ b/freebsdtvision/lib/TButton.cc
@@ -0,0 +1,323 @@
+/*
+ * TButton.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#define Uses_TButton
+#define Uses_TDrawBuffer
+#define Uses_TEvent
+#define Uses_TRect
+#define Uses_TGroup
+#define Uses_opstream
+#define Uses_ipstream
+#include <tvision/tv.h>
+
+#include <ctype.h>
+#include <string.h>
+
+const
+
+ int cmGrabDefault = 61,
+ cmReleaseDefault = 62;
+
+#define cpButton "\x0A\x0B\x0C\x0D\x0E\x0E\x0E\x0F"
+
+TButton::TButton( const TRect& bounds,
+ const char *aTitle,
+ ushort aCommand,
+ ushort aFlags) :
+ TView( bounds ),
+ title( newStr( aTitle ) ),
+ command( aCommand ),
+ flags( aFlags ),
+ amDefault( Boolean( (aFlags & bfDefault) != 0 ) )
+{
+ options |= ofSelectable | ofFirstClick | ofPreProcess | ofPostProcess;
+ eventMask |= evBroadcast;
+ if( !commandEnabled(aCommand) )
+ state |= sfDisabled;
+}
+
+TButton::~TButton()
+{
+ delete (char *)title;
+}
+
+void TButton::draw()
+{
+ drawState(False);
+}
+
+void TButton::drawTitle( TDrawBuffer &b,
+ int s,
+ int i,
+ ushort cButton,
+ Boolean down
+ )
+{
+ int l, scOff;
+ if( (flags & bfLeftJust) != 0 )
+ l = 1;
+ else
+ {
+ l = (s - cstrlen(title) - 1)/2;
+ if( l < 1 )
+ l = 1;
+ }
+ b.moveCStr( i+l, title, cButton );
+
+ if( showMarkers == True && !down )
+ {
+ if( (state & sfSelected) != 0 )
+ scOff = 0;
+ else if( amDefault )
+ scOff = 2;
+ else
+ scOff = 4;
+ b.putChar( 0, specialChars[scOff] );
+ b.putChar( s, specialChars[scOff+1] );
+ }
+}
+
+void TButton::drawState(Boolean down)
+{
+ ushort cButton, cShadow;
+ char ch = ' ';
+ int i;
+ TDrawBuffer b;
+
+ if( (state & sfDisabled) != 0 )
+ cButton = getColor(0x0404);
+ else
+ {
+ cButton = getColor(0x0501);
+ if( (state & sfActive) != 0 )
+ if( (state & sfSelected) != 0 )
+ cButton = getColor(0x0703);
+ else if( amDefault )
+ cButton = getColor(0x0602);
+ }
+ cShadow = getColor(8);
+ int s = size.x-1;
+ int T = size.y / 2 - 1;
+
+ for( int y = 0; y <= size.y-2; y++ )
+ {
+ b.moveChar( 0, ' ', cButton, size.x );
+ b.putAttribute( 0, cShadow );
+ if( down )
+ {
+ b.putAttribute( 1, cShadow );
+ ch = ' ';
+ i = 2;
+ }
+ else
+ {
+ b.putAttribute( s, cShadow );
+ if( showMarkers == True )
+ ch = ' ';
+ else
+ {
+ if( y == 0 )
+ b.putChar( s, shadows[0] );
+ else
+ b.putChar( s, shadows[1] );
+ ch = shadows[2];
+ }
+ i = 1;
+ }
+
+ if( y == T && title != 0 )
+ drawTitle( b, s, i, cButton, down );
+
+ if( showMarkers && !down )
+ {
+ b.putChar( 1, markers[0] );
+ b.putChar( s-1, markers[1] );
+ }
+ writeLine( 0, y, size.x, 1, b );
+ }
+ b.moveChar( 0, ' ', cShadow, 2 );
+ b.moveChar( 2, ch, cShadow, s-1 );
+ writeLine( 0, size.y-1, size.x, 1, b );
+}
+
+TPalette& TButton::getPalette() const
+{
+ static TPalette palette( cpButton, sizeof( cpButton )-1 );
+ return palette;
+}
+
+void TButton::handleEvent( TEvent& event )
+{
+ TPoint mouse;
+ TRect clickRect;
+
+ clickRect = getExtent();
+ clickRect.a.x++;
+ clickRect.b.x--;
+ clickRect.b.y--;
+
+ if( event.what == evMouseDown )
+ {
+ mouse = makeLocal( event.mouse.where );
+ if( !clickRect.contains(mouse) )
+ clearEvent( event );
+ }
+ if (flags & bfGrabFocus)
+ TView::handleEvent(event);
+
+ char c = hotKey( title );
+ switch( event.what )
+ {
+ case evMouseDown:
+ if ((state & sfDisabled) == 0)
+ {
+ clickRect.b.x++;
+ Boolean down = False;
+ do {
+ mouse = makeLocal( event.mouse.where );
+ if( down != clickRect.contains( mouse ) )
+ {
+ down = Boolean( !down );
+ drawState( down );
+ }
+ } while( mouseEvent( event, evMouseMove ) );
+ if( down )
+ {
+ press();
+ drawState( False );
+ }
+ }
+ clearEvent( event );
+ break;
+
+ case evKeyDown:
+ if( event.keyDown.keyCode == getAltCode(c) ||
+ ( owner->phase == phPostProcess &&
+ c != 0 &&
+ toupper(event.keyDown.charScan.charCode) == c
+ ) ||
+ ( (state & sfFocused) != 0 &&
+ event.keyDown.charScan.charCode == ' '
+ )
+ )
+ {
+ press();
+ clearEvent( event );
+ }
+ break;
+
+ case evBroadcast:
+ switch( event.message.command )
+ {
+ case cmDefault:
+ if( amDefault && !(state & sfDisabled) )
+ {
+ press();
+ clearEvent(event);
+ }
+ break;
+
+ case cmGrabDefault:
+ case cmReleaseDefault:
+ if( (flags & bfDefault) != 0 )
+ {
+ amDefault = Boolean(event.message.command == cmReleaseDefault);
+ drawView();
+ }
+ break;
+
+ case cmCommandSetChanged:
+ setState(sfDisabled,Boolean(!commandEnabled(command)));
+ drawView();
+ break;
+ }
+ break;
+ }
+}
+
+void TButton::makeDefault( Boolean enable )
+{
+ if( (flags & bfDefault) == 0 )
+ {
+ message( owner,
+ evBroadcast,
+ (enable == True) ? cmGrabDefault : cmReleaseDefault,
+ this
+ );
+ amDefault = enable;
+ drawView();
+ }
+}
+
+void TButton::setState( ushort aState, Boolean enable )
+{
+ TView::setState(aState, enable);
+ if( aState & (sfSelected | sfActive) )
+#ifndef __UNPATCHED
+ {
+ if(!enable)
+ { // BUG FIX - EFW - Thu 10/19/95
+ state &= ~sfFocused;
+ makeDefault(False);
+ }
+ drawView();
+ }
+#else
+ drawView();
+#endif
+ if( (aState & sfFocused) != 0 )
+ makeDefault( enable );
+}
+
+void TButton::press()
+{
+ message( owner, evBroadcast, cmRecordHistory, 0 );
+ if( (flags & bfBroadcast) != 0 )
+ message( owner, evBroadcast, command, this );
+ else
+ {
+ TEvent e;
+ e.what = evCommand;
+ e.message.command = command;
+ e.message.infoPtr = this;
+ putEvent( e );
+ }
+}
+
+#if !defined(NO_STREAMABLE)
+
+void TButton::write( opstream& os )
+{
+ TView::write( os );
+ os.writeString( title );
+ os << command << flags << (int)amDefault;
+}
+
+void *TButton::read( ipstream& is )
+{
+ TView::read( is );
+ title = is.readString();
+ int temp;
+ is >> command >> flags >> temp;
+ amDefault = Boolean(temp);
+ if( TButton::commandEnabled( command ) )
+ state &= ~sfDisabled;
+ else
+ state |= sfDisabled;
+ return this;
+}
+
+TStreamable *TButton::build()
+{
+ return new TButton( streamableInit );
+}
+
+#endif
diff --git a/freebsdtvision/lib/TChDirDialog.cc b/freebsdtvision/lib/TChDirDialog.cc
new file mode 100644
index 0000000..0ea3609
--- /dev/null
+++ b/freebsdtvision/lib/TChDirDialog.cc
@@ -0,0 +1,220 @@
+/*
+ * TChDirDialog.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#define Uses_MsgBox
+#define Uses_TChDirDialog
+#define Uses_TRect
+#define Uses_TInputLine
+#define Uses_TLabel
+#define Uses_THistory
+#define Uses_TScrollBar
+#define Uses_TDirListBox
+#define Uses_TButton
+#define Uses_TEvent
+#define Uses_TDirEntry
+#define Uses_TDirCollection
+#define Uses_TChDirDialog
+#define Uses_opstream
+#define Uses_ipstream
+#include <tvision/tv.h>
+
+#include <ctype.h>
+#include <limits.h>
+#include <string.h>
+#include <unistd.h>
+
+TChDirDialog::TChDirDialog( ushort opts, ushort histId ) :
+ TDialog( TRect( 16, 2, 64, 20 ), changeDirTitle ),
+ TWindowInit( &TChDirDialog::initFrame )
+{
+ options |= ofCentered;
+
+ dirInput = new TInputLine( TRect( 3, 3, 30, 4 ), 68 );
+ insert( dirInput );
+ insert( new TLabel( TRect( 2, 2, 17, 3 ), dirNameText, dirInput ));
+ insert( new THistory( TRect( 30, 3, 33, 4 ), dirInput, histId ) );
+
+ TScrollBar *sb = new TScrollBar( TRect( 32, 6, 33, 16 ) );
+ insert( sb );
+ dirList = new TDirListBox( TRect( 3, 6, 32, 16 ), sb );
+ insert( dirList );
+ insert( new TLabel( TRect( 2, 5, 17, 6 ), dirTreeText, dirList ) );
+
+ okButton = new TButton( TRect( 35, 6, 45, 8 ), okText, cmOK, bfDefault );
+ insert( okButton );
+ chDirButton = new TButton( TRect( 35, 9, 45, 11 ), chdirText, cmChangeDir, bfNormal );
+ insert( chDirButton );
+ insert( new TButton( TRect( 35, 12, 45, 14 ), revertText, cmRevert, bfNormal ) );
+ if( (opts & cdHelpButton) != 0 )
+ insert( new TButton( TRect( 35, 15, 45, 17 ), helpText, cmHelp, bfNormal ) );
+ if( (opts & cdNoLoadDir) == 0 )
+ setUpDialog();
+ selectNext( False );
+}
+
+ushort TChDirDialog::dataSize()
+{
+ return 0;
+}
+
+void TChDirDialog::shutDown()
+{
+ dirList = 0;
+ dirInput = 0;
+ okButton = 0;
+ chDirButton = 0;
+ TDialog::shutDown();
+}
+
+void TChDirDialog::getData( void * )
+{
+}
+
+void TChDirDialog::handleEvent( TEvent& event )
+{
+ TDialog::handleEvent( event );
+ switch( event.what )
+ {
+ case evCommand:
+ {
+ char curDir[PATH_MAX];
+ switch( event.message.command )
+ {
+ case cmRevert:
+ getCurDir( curDir );
+ break;
+ case cmChangeDir:
+ {
+ TDirEntry *p = dirList->list()->at( dirList->focused );
+ strcpy( curDir, p->dir() );
+ /* SS: changed */
+ if( curDir[strlen(curDir)-1] != '/' )
+ strcat( curDir, "/" );
+ break;
+ }
+#ifndef __UNPATCHED
+ //!! Handle directory selection.
+ case cmDirSelection:
+ chDirButton->makeDefault( Boolean( int(
+ event.message.infoPtr ) ) );
+ return; // NOTE: THIS IS RETURN NOT BREAK!!
+#endif
+ default:
+ return;
+ }
+ dirList->newDirectory( curDir );
+ int len = strlen( curDir );
+ /* SS: changed */
+ if( len > 0 && curDir[len-1] == '/' )
+ curDir[len-1] = EOS;
+ strcpy( dirInput->data, curDir );
+ dirInput->drawView();
+ dirList->select();
+ clearEvent( event );
+ }
+ default:
+ break;
+ }
+}
+
+void TChDirDialog::setData( void * )
+{
+}
+
+void TChDirDialog::setUpDialog()
+{
+ if( dirList != 0 )
+ {
+ char curDir[PATH_MAX];
+ getCurDir( curDir );
+ dirList->newDirectory( curDir );
+ if( dirInput != 0 )
+ {
+ int len = strlen( curDir );
+ /* SS: changed */
+ if( len > 0 && curDir[len-1] == '/' )
+ curDir[len-1] = EOS;
+ strcpy( dirInput->data, curDir );
+ dirInput->drawView();
+ }
+ }
+}
+
+static int changeDir( const char *path )
+{
+ /* SS: changed */
+ return chdir( path );
+}
+
+Boolean TChDirDialog::valid( ushort command )
+{
+ if( command != cmOK )
+ return True;
+
+ char path[PATH_MAX];
+ strcpy( path, dirInput->data );
+
+#ifndef __UNPATCHED
+ // BUG FIX - EFW - Tue 05/16/95
+ // Ignore "Drives" line if switching drives.
+ if(!strcmp(path, drivesText))
+ path[0] = EOS;
+
+ // If it was "Drives" or the input line was blank, issue a
+ // cmChangeDir event to select the current drive/directory.
+ if(!path[0])
+ {
+ TEvent event;
+ event.what = evCommand;
+ event.message.command = cmChangeDir;
+ putEvent(event);
+ return False;
+ }
+
+ // Otherwise, expand and check the path.
+#endif
+ fexpand( path );
+
+ int len = strlen( path );
+ /* SS: changed */
+ if( len > 0 && path[len-1] == '/' )
+ path[len-1] = EOS;
+
+ if( changeDir( path ) != 0 )
+ {
+ messageBox( invalidText, mfError | mfOKButton );
+ return False;
+ }
+ return True;
+}
+
+#if !defined(NO_STREAMABLE)
+
+void TChDirDialog::write( opstream& os )
+{
+ TDialog::write( os );
+ os << dirList << dirInput << okButton << chDirButton;
+}
+
+void *TChDirDialog::read( ipstream& is )
+{
+ TDialog::read( is );
+ is >> dirList >> dirInput >> okButton >> chDirButton;
+ setUpDialog();
+ return this;
+}
+
+TStreamable *TChDirDialog::build()
+{
+ return new TChDirDialog( streamableInit );
+}
+
+#endif
diff --git a/freebsdtvision/lib/TCheckBoxes.cc b/freebsdtvision/lib/TCheckBoxes.cc
new file mode 100644
index 0000000..64c972d
--- /dev/null
+++ b/freebsdtvision/lib/TCheckBoxes.cc
@@ -0,0 +1,42 @@
+/*
+ * TCheckBoxes.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#define Uses_TCheckBoxes
+#include <tvision/tv.h>
+
+void TCheckBoxes::draw()
+{
+ drawMultiBox( button, " X" );
+}
+
+Boolean TCheckBoxes::mark(int item)
+{
+ return Boolean( (value & (1 << item)) != 0 );
+}
+
+void TCheckBoxes::press(int item)
+{
+ value = value^(1 << item);
+}
+
+#if !defined(NO_STREAMABLE)
+
+TStreamable *TCheckBoxes::build()
+{
+ return new TCheckBoxes( streamableInit );
+}
+
+TCheckBoxes::TCheckBoxes( StreamableInit ) : TCluster( streamableInit )
+{
+}
+
+
+#endif
diff --git a/freebsdtvision/lib/TCluster.cc b/freebsdtvision/lib/TCluster.cc
new file mode 100644
index 0000000..0255f21
--- /dev/null
+++ b/freebsdtvision/lib/TCluster.cc
@@ -0,0 +1,466 @@
+/*
+ * TCluster.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#define Uses_TKeys
+#define Uses_TCluster
+#define Uses_TDrawBuffer
+#define Uses_TEvent
+#define Uses_TPoint
+#define Uses_TSItem
+#define Uses_TStringCollection
+#define Uses_TGroup
+#define Uses_opstream
+#define Uses_ipstream
+#include <tvision/tv.h>
+
+#include <ctype.h>
+#include <string.h>
+
+#ifndef __UNPATCHED
+#define cpCluster "\x10\x11\x12\x12\x1f"
+#else
+#define cpCluster "\x10\x11\x12\x12\1f"
+#endif
+
+TCluster::TCluster( const TRect& bounds, TSItem *aStrings ) :
+ TView(bounds),
+ value( 0 ),
+ sel( 0 )
+{
+ options |= ofSelectable | ofFirstClick | ofPreProcess | ofPostProcess;
+ short i = 0;
+ TSItem *p;
+ for( p = aStrings; p != 0; p = p->next )
+ i++;
+
+ strings = new TStringCollection( i, 0 );
+
+ while( aStrings != 0 )
+ {
+ p = aStrings;
+ strings->atInsert( strings->getCount(), newStr(aStrings->value) );
+ aStrings = aStrings->next;
+ delete p;
+ }
+
+ setCursor( 2, 0 );
+ showCursor();
+ enableMask = 0xFFFFFFFFL;
+}
+
+TCluster::~TCluster()
+{
+ destroy( (TCollection *)strings );
+}
+
+ushort TCluster::dataSize()
+{
+ // value is now a long, but for compatibility with earlier TV,
+ // return size of short; TMultiCheckBoxes returns sizeof(long).
+
+ return sizeof(short);
+}
+
+void TCluster::drawBox( const char *icon, char marker)
+{
+ char s[3];
+ s[0]=' '; s[1]=marker; s[2]=0;
+ drawMultiBox(icon, s);
+}
+
+void TCluster::drawMultiBox( const char *icon, const char* marker)
+{
+ TDrawBuffer b;
+ ushort color;
+ int i, j, cur;
+
+ ushort cNorm = getColor( 0x0301 );
+ ushort cSel = getColor( 0x0402 );
+ ushort cDis = getColor( 0x0505 );
+ for( i = 0; i <= size.y; i++ )
+ {
+ b.moveChar(0, ' ',(uchar)cNorm, size.x);
+ for( j = 0; j <= (strings->getCount()-1)/size.y + 1; j++ )
+ {
+ cur = j * size.y + i;
+ if( cur < strings->getCount() )
+ {
+ int col = column( cur );
+
+ if ( ((col+strlen((const char*)strings->at(cur))+5) <
+ (sizeof(b)/sizeof(ushort))) && (col < size.x))
+ {
+ if(!buttonState( cur ))
+ color = cDis;
+ else if( (cur == sel) && (state & sfSelected) != 0 )
+ color = cSel;
+ else
+ color = cNorm;
+ b.moveChar( col, ' ', color, size.x - col );
+ b.moveCStr( col, icon, color );
+
+ b.putChar(col+2, marker[multiMark(cur)]);
+ b.moveCStr( col+5, (char *)(strings->at(cur)), color );
+ if(showMarkers && ((state & sfSelected) != 0) && cur==sel)
+ {
+ b.putChar( col, specialChars[0] );
+ b.putChar( column(cur+size.y)-1, specialChars[1] );
+ }
+
+ }
+ }
+ }
+ writeBuf( 0, i, size.x, 1, b );
+ }
+ setCursor( column(sel)+2, row(sel) );
+}
+
+void TCluster::getData(void * rec)
+{
+ *(ushort*)rec = value;
+ drawView();
+}
+
+ushort TCluster::getHelpCtx()
+{
+ if( helpCtx == hcNoContext )
+ return hcNoContext;
+ else
+ return helpCtx + sel;
+}
+
+TPalette& TCluster::getPalette() const
+{
+ static TPalette palette( cpCluster, sizeof( cpCluster )-1 );
+ return palette;
+}
+
+void TCluster::moveSel(int i, int s)
+{
+ if (i <= strings->getCount())
+ {
+ sel = s;
+ movedTo(sel);
+ drawView();
+ }
+}
+
+void TCluster::handleEvent( TEvent& event )
+{
+ TView::handleEvent(event);
+ if (!(options & ofSelectable))
+ return;
+ if( event.what == evMouseDown )
+ {
+ TPoint mouse = makeLocal( event.mouse.where );
+ int i = findSel(mouse);
+ if( (i != -1) && buttonState(i))
+ sel = i;
+ drawView();
+ do {
+ mouse = makeLocal( event.mouse.where );
+ if( (findSel(mouse) == sel ) && buttonState(sel))
+ showCursor();
+ else
+ hideCursor();
+ } while( mouseEvent(event,evMouseMove) );
+ showCursor();
+ mouse = makeLocal( event.mouse.where );
+ if( findSel(mouse) == sel )
+ {
+ press(sel);
+ drawView();
+ }
+ clearEvent(event);
+ }
+ else if( event.what == evKeyDown )
+ {
+ int s = sel;
+ switch (ctrlToArrow(event.keyDown.keyCode))
+ {
+ case kbUp:
+ if( (state & sfFocused) != 0 )
+ {
+ int i = 0;
+ do {
+ i++; s--;
+ if (s < 0)
+ s = strings->getCount()-1;
+ } while (!(buttonState(s) || (i > strings->getCount())));
+ moveSel(i, s);
+ clearEvent(event);
+ }
+ break;
+
+ case kbDown:
+ if( (state & sfFocused) != 0 )
+ {
+ int i = 0;
+ do {
+ i++; s++;
+ if (s >= strings->getCount())
+ s = 0;
+ } while (!(buttonState(s) || (i > strings->getCount())));
+ moveSel(i, s);
+ clearEvent(event);
+ }
+ break;
+ case kbRight:
+ if( (state & sfFocused) != 0 )
+ {
+ int i = 0;
+ do {
+ i++; s += size.y;
+#ifndef __UNPATCHED
+ if (s >= strings->getCount() ) // BUG FIX - EFW - 10/25/94
+ {
+ s = (s + 1) % size.y;
+ if( s >= strings->getCount() )
+ s = 0;
+ }
+#else
+ if (s >= strings->getCount() )
+ s = 0;
+#endif
+ } while (!(buttonState(s) || (i > strings->getCount())));
+#ifndef __UNPATCHED
+ moveSel(i, s); // BUG FIX - EFW - 10/25/94
+#endif
+ clearEvent(event);
+ }
+ break;
+ case kbLeft:
+ if( (state & sfFocused) != 0 )
+ {
+ int i = 0;
+ do {
+ i++;
+ if ( s > 0 )
+ {
+ s -= size.y;
+ if ( s < 0 )
+ {
+ s=((strings->getCount()+size.y-1)/
+ size.y)*size.y + s - 1;
+ if( s >= strings->getCount() )
+ s = strings->getCount()-1;
+ }
+ }
+ else
+ s = strings->getCount()-1;
+
+ } while (!(buttonState(s) || (i > strings->getCount())));
+
+ clearEvent(event);
+ }
+ break;
+ default:
+ for( int i = 0; i < strings->getCount(); i++ )
+ {
+ char c = hotKey( (char *)(strings->at(i)) );
+ if( getAltCode(c) == event.keyDown.keyCode ||
+ ( ( owner->phase == phPostProcess ||
+ (state & sfFocused) != 0
+ ) &&
+ c != 0 &&
+ toupper(event.keyDown.charScan.charCode) == c
+ )
+ )
+ {
+ if (buttonState(i))
+ {
+ if ( focus())
+ {
+ sel = i;
+ movedTo(sel);
+ press(sel);
+ drawView();
+ }
+ clearEvent(event);
+ }
+ return;
+ }
+ }
+ if( event.keyDown.charScan.charCode == ' ' &&
+ (state & sfFocused) != 0
+ )
+ {
+ press(sel);
+ drawView();
+ clearEvent(event);
+ }
+ }
+ }
+}
+
+
+void TCluster::setButtonState(unsigned long aMask, Boolean enable)
+{
+ if (!enable)
+ enableMask &= ~aMask;
+ else
+ enableMask |= aMask;
+
+ int n = strings->getCount();
+ if ( n < 32 )
+ {
+ unsigned long testMask = (1 << n) - 1;
+ if ((enableMask & testMask) != 0)
+ options |= ofSelectable;
+ else
+ options &= ~ofSelectable;
+ }
+}
+
+
+void TCluster::setData(void * rec)
+{
+ value = *(ushort *)rec;
+ drawView();
+}
+
+void TCluster::setState( ushort aState, Boolean enable )
+{
+ TView::setState( aState, enable );
+ if( aState == sfSelected )
+#ifndef __UNPATCHED
+ {
+ int i = 0, s = sel - 1;
+ do {
+ i++;
+ s++;
+ if(s >= strings->getCount())
+ s = 0;
+ } while( !(buttonState(s) || i > strings->getCount()) );
+
+ moveSel(i, s);
+ }
+#endif
+ drawView();
+}
+
+Boolean TCluster::mark( int )
+{
+ return False;
+}
+
+uchar TCluster::multiMark( int item )
+{
+ return (uchar)(mark(item)==True);
+}
+
+void TCluster::movedTo( int )
+{
+}
+
+void TCluster::press( int )
+{
+}
+
+int TCluster::column( int item )
+{
+ if( item < size.y )
+ return 0;
+ else
+ {
+ int width = 0;
+ int col = -6;
+ int l = 0;
+ for( int i = 0; i <= item; i++ )
+ {
+ if( i % size.y == 0 )
+ {
+ col += width + 6;
+ width = 0;
+ }
+
+ if( i < strings->getCount() )
+ l = cstrlen( (char *)(strings->at(i)) );
+ if( l > width )
+ width = l;
+ }
+ return col;
+ }
+}
+
+int TCluster::findSel( TPoint p )
+{
+ TRect r = getExtent();
+ if( !r.contains(p) )
+ return -1;
+ else
+ {
+ int i = 0;
+ while( p.x >= column( i + size.y ) )
+ i += size.y;
+ int s = i + p.y;
+ if( s >= strings->getCount() )
+ return -1;
+ else
+ return s;
+ }
+}
+
+int TCluster::row( int item )
+{
+ return item % size.y;
+}
+
+Boolean TCluster::buttonState(int item)
+{
+ if (item < 32)
+ {
+ unsigned long mask = 1;
+
+ while (item--)
+ mask <<= 1;
+
+ if (enableMask & mask)
+ return True;
+ else
+ return False;
+ }
+ else
+ return False;
+}
+
+
+#if !defined(NO_STREAMABLE)
+
+
+void TCluster::write( opstream& os )
+{
+ TView::write( os );
+ os << value << sel << enableMask << strings;
+}
+
+void *TCluster::read( ipstream& is )
+{
+ TView::read( is );
+ is >> value >> sel >> enableMask >> strings;
+
+ setCursor( 2, 0 );
+ showCursor();
+ setButtonState(0,True);
+ return this;
+}
+
+TStreamable *TCluster::build()
+{
+ return new TCluster( streamableInit );
+}
+
+TCluster::TCluster( StreamableInit ) : TView( streamableInit )
+{
+}
+
+
+#endif
diff --git a/freebsdtvision/lib/TCollection.cc b/freebsdtvision/lib/TCollection.cc
new file mode 100644
index 0000000..133121f
--- /dev/null
+++ b/freebsdtvision/lib/TCollection.cc
@@ -0,0 +1,233 @@
+/*
+ * TCollection.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#define Uses_TNSCollection
+#define Uses_opstream
+#define Uses_ipstream
+#define Uses_TCollection
+#include <tvision/tv.h>
+
+#include <stdlib.h>
+#include <string.h>
+
+TNSCollection::TNSCollection( ccIndex aLimit, ccIndex aDelta ) :
+ items( 0 ),
+ count( 0 ),
+ limit( 0 ),
+ delta( aDelta ),
+ shouldDelete( True )
+{
+ setLimit( aLimit );
+}
+
+TNSCollection::TNSCollection() :
+ items( 0 ),
+ count( 0 ),
+ limit( 0 ),
+ delta( 0 ),
+ shouldDelete( True )
+{
+}
+
+TNSCollection::~TNSCollection()
+{
+ delete items;
+}
+
+void TNSCollection::shutDown()
+{
+ if( shouldDelete )
+ freeAll();
+ else
+ removeAll();
+ setLimit(0);
+ TObject::shutDown();
+}
+
+void *TNSCollection::at( ccIndex index )
+{
+ if( index < 0 || index >= count )
+ error(1,0);
+ return items[index];
+}
+
+void TNSCollection::atRemove( ccIndex index )
+{
+ if( index < 0 || index >= count )
+ error(1,0);
+
+ count--;
+ memmove( &items[index], &items[index+1], (count-index)*sizeof(void *) );
+}
+
+void TNSCollection::atFree( ccIndex index )
+{
+ void *item = at( index );
+ atRemove( index );
+ freeItem( item );
+}
+
+void TNSCollection::atInsert(ccIndex index, void *item)
+{
+ if( index < 0 )
+ error(1,0);
+ if( count == limit )
+ setLimit(count + delta);
+
+ memmove( &items[index+1], &items[index], (count-index)*sizeof(void *) );
+ count++;
+
+ items[index] = item;
+}
+
+void TNSCollection::atPut( ccIndex index, void *item )
+{
+ if( index >= count )
+ error(1,0);
+
+ items[index] = item;
+}
+
+void TNSCollection::remove( void *item )
+{
+ atRemove( indexOf(item) );
+}
+
+void TNSCollection::removeAll()
+{
+ count = 0;
+}
+
+void TNSCollection::error( ccIndex code, ccIndex )
+{
+ exit(212 - code);
+}
+
+void *TNSCollection::firstThat( ccTestFunc Test, void *arg )
+{
+ for( ccIndex i = 0; i < count; i++ )
+ {
+ if( Test( items[i], arg ) == True )
+ return items[i];
+ }
+ return 0;
+}
+
+void *TNSCollection::lastThat( ccTestFunc Test, void *arg )
+{
+ for( ccIndex i = count; i > 0; i-- )
+ {
+ if( Test( items[i-1], arg ) == True )
+ return items[i-1];
+ }
+ return 0;
+}
+
+void TNSCollection::forEach( ccAppFunc action, void *arg )
+{
+ for( ccIndex i = 0; i < count; i++ )
+ action( items[i], arg );
+}
+
+void TNSCollection::free( void *item )
+{
+ remove( item );
+ freeItem( item );
+}
+
+void TNSCollection::freeAll()
+{
+ for( ccIndex i = 0; i < count; i++ )
+ freeItem( at(i) );
+ count = 0;
+}
+
+void TNSCollection::freeItem( void *item )
+{
+ delete item;
+}
+
+ccIndex TNSCollection::indexOf(void *item)
+{
+ for( ccIndex i = 0; i < count; i++ )
+ if( item == items[i] )
+ return i;
+
+ error(1,0);
+ return (ccIndex)0;
+}
+
+ccIndex TNSCollection::insert( void *item )
+{
+ ccIndex loc = count;
+ atInsert( count, item );
+ return loc;
+}
+
+void TNSCollection::pack()
+{
+ void **curDst = items;
+ void **curSrc = items;
+ void **last = items + count;
+ while( curSrc < last )
+ {
+ if( *curSrc != 0 )
+ *curDst++ = *curSrc;
+// *curSrc++; /* XXX */
+ curSrc++; /* XXX */
+ }
+}
+
+void TNSCollection::setLimit(ccIndex aLimit)
+{
+ if( aLimit < count )
+ aLimit = count;
+ if( aLimit > maxCollectionSize)
+ aLimit = maxCollectionSize;
+ if( aLimit != limit )
+ {
+ void **aItems;
+ if (aLimit == 0 )
+ aItems = 0;
+ else
+ {
+ aItems = new void *[aLimit];
+ if( count != 0 && aItems != 0 && items != 0 )
+ memcpy( aItems, items, count*sizeof(void *) );
+ }
+ delete items;
+ items = aItems;
+ limit = aLimit;
+ }
+}
+
+
+void TCollection::write( opstream& os )
+{
+ os << count << limit << delta;
+ for( ccIndex idx = 0; idx < count; idx++ )
+ writeItem( items[idx], os );
+}
+
+void *TCollection::read( ipstream& is )
+{
+ int savedLimit;
+ is >> count >> savedLimit >> delta;
+ setLimit(savedLimit);
+ for( ccIndex idx = 0; idx < count; idx++ )
+ items[idx] = readItem( is );
+ return this;
+}
+
+
+TCollection::TCollection( StreamableInit )
+{
+}
diff --git a/freebsdtvision/lib/TCommandSet.cc b/freebsdtvision/lib/TCommandSet.cc
new file mode 100644
index 0000000..facc73a
--- /dev/null
+++ b/freebsdtvision/lib/TCommandSet.cc
@@ -0,0 +1,108 @@
+/*
+ * TCommandSet.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#define Uses_TCommandSet
+#include <tvision/tv.h>
+
+int TCommandSet::masks[8] =
+{
+ 0x0001,
+ 0x0002,
+ 0x0004,
+ 0x0008,
+ 0x0010,
+ 0x0020,
+ 0x0040,
+ 0x0080
+};
+
+TCommandSet::TCommandSet()
+{
+ for( int i = 0; i < 32; i++ )
+ cmds[i] = 0;
+}
+
+TCommandSet::TCommandSet( const TCommandSet& tc )
+{
+ for( int i = 0; i < 32; i++ )
+ cmds[i] = tc.cmds[i];
+}
+
+Boolean TCommandSet::has( int cmd )
+{
+ return Boolean( (cmds[ loc( cmd ) ] & mask( cmd )) != 0 );
+}
+
+void TCommandSet::disableCmd( int cmd )
+{
+ cmds[ loc( cmd ) ] &= ~mask( cmd );
+}
+
+void TCommandSet::enableCmd( const TCommandSet& tc )
+{
+ for( int i = 0; i < 32; i++ )
+ cmds[i] |= tc.cmds[i];
+}
+
+void TCommandSet::disableCmd( const TCommandSet& tc )
+{
+ for( int i = 0; i < 32; i++ )
+ cmds[i] &= ~(tc.cmds[i]);
+}
+
+void TCommandSet::enableCmd( int cmd )
+{
+ cmds[ loc( cmd ) ] |= mask( cmd );
+}
+
+TCommandSet& TCommandSet::operator &= ( const TCommandSet& tc )
+{
+ for( int i = 0; i < 32; i++ )
+ cmds[i] &= tc.cmds[i];
+ return *this;
+}
+
+TCommandSet& TCommandSet::operator |= ( const TCommandSet& tc )
+{
+ for( int i = 0; i < 32; i++ )
+ cmds[i] |= tc.cmds[i];
+ return *this;
+}
+
+TCommandSet operator & ( const TCommandSet& tc1, const TCommandSet& tc2 )
+{
+ TCommandSet temp( tc1 );
+ temp &= tc2;
+ return temp;
+}
+
+TCommandSet operator | ( const TCommandSet& tc1, const TCommandSet& tc2 )
+{
+ TCommandSet temp( tc1 );
+ temp |= tc2;
+ return temp;
+}
+
+Boolean TCommandSet::isEmpty()
+{
+ for( int i = 0; i < 32; i++ )
+ if( cmds[i] != 0 )
+ return False;
+ return True;
+}
+
+int operator == ( const TCommandSet& tc1, const TCommandSet& tc2 )
+{
+ for( int i = 0; i < 32; i++ )
+ if( tc1.cmds[i] != tc2.cmds[i] )
+ return 0;
+ return 1;
+}
diff --git a/freebsdtvision/lib/TDeskTop.cc b/freebsdtvision/lib/TDeskTop.cc
new file mode 100644
index 0000000..ebb0cfe
--- /dev/null
+++ b/freebsdtvision/lib/TDeskTop.cc
@@ -0,0 +1,258 @@
+/*
+ * TDeskTop.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#define Uses_TDeskTop
+#define Uses_TRect
+#define Uses_TPoint
+#define Uses_TEvent
+#define Uses_TBackground
+#define Uses_opstream
+#define Uses_ipstream
+#include <tvision/tv.h>
+
+#include <stdlib.h>
+
+TDeskInit::TDeskInit( TBackground *(*cBackground)( TRect ) ) :
+ createBackground( cBackground )
+{
+}
+
+TDeskTop::TDeskTop( const TRect& bounds ) :
+ TGroup(bounds),
+ TDeskInit( &TDeskTop::initBackground )
+{
+ growMode = gfGrowHiX | gfGrowHiY;
+ tileColumnsFirst = False;
+
+ if( createBackground != 0 && (background = createBackground( getExtent() )) != 0 )
+ insert( background );
+}
+
+void TDeskTop::shutDown()
+{
+ background = 0;
+ TGroup::shutDown();
+}
+
+inline Boolean Tileable( TView *p )
+{
+ return Boolean( (p->options & ofTileable) != 0 && (p->state & sfVisible) != 0 );
+}
+
+static short cascadeNum;
+static TView *lastView;
+
+void doCount( TView* p, void * )
+{
+ if( Tileable( p ) )
+ {
+ cascadeNum++;
+ lastView = p;
+ }
+}
+
+void doCascade( TView* p, void *r )
+{
+ if( Tileable( p ) && cascadeNum >= 0 )
+ {
+ TRect NR = *(TRect *)r;
+ NR.a.x += cascadeNum;
+ NR.a.y += cascadeNum;
+ p->locate( NR );
+ cascadeNum--;
+ }
+}
+
+void TDeskTop::cascade( const TRect &r )
+{
+ TPoint min, max;
+ cascadeNum = 0;
+ forEach( doCount, 0 );
+ if( cascadeNum > 0 )
+ {
+ lastView->sizeLimits( min, max );
+ if( (min.x > r.b.x - r.a.x - cascadeNum) ||
+ (min.y > r.b.y - r.a.y - cascadeNum) )
+ tileError();
+ else
+ {
+ cascadeNum--;
+ lock();
+ forEach( doCascade, (void *)&r );
+ unlock();
+ }
+ }
+}
+
+void TDeskTop::handleEvent(TEvent& event)
+{
+ TGroup::handleEvent( event );
+ if( event.what == evCommand )
+ {
+ switch( event.message.command )
+ {
+ case cmNext:
+#ifndef __UNPATCHED
+ if(valid(cmReleasedFocus)) // <-- Check valid.
+ selectNext( False );
+#else
+ selectNext( False );
+#endif
+ break;
+ case cmPrev:
+#ifndef __UNPATCHED
+ if(valid(cmReleasedFocus)) // <-- Check valid.
+ current->putInFrontOf( background );
+#else
+ current->putInFrontOf( background );
+#endif
+ break;
+ default:
+ return;
+ }
+ clearEvent( event );
+ }
+}
+
+TBackground *TDeskTop::initBackground( TRect r )
+{
+ return new TBackground( r, defaultBkgrnd );
+}
+
+short iSqr( short i )
+{
+ short res1 = 2;
+ short res2 = i/res1;
+ while( abs( (int)(res1 - res2) ) > 1 )
+ {
+ res1 = (res1 + res2)/2;
+ res2 = i/res1;
+ }
+ return res1 < res2 ? res1 : res2;
+}
+
+void mostEqualDivisors(short n, short& x, short& y, Boolean favorY)
+{
+ short i;
+
+ i = iSqr( n );
+ if( n % i != 0 )
+ if( n % (i+1) == 0 )
+ i++;
+ if( i < (n/i) )
+ i = n/i;
+
+ if (favorY)
+ {
+ x = n/i;
+ y = i;
+ }
+ else
+ {
+ y = n/i;
+ x = i;
+ }
+}
+
+static short numCols, numRows, numTileable, leftOver, tileNum;
+
+void doCountTileable( TView* p, void * )
+{
+ if( Tileable( p ) )
+ numTileable++;
+}
+
+int dividerLoc( int lo, int hi, int num, int pos)
+{
+ return int(long(hi-lo)*pos/long(num)+lo);
+}
+
+TRect calcTileRect( short pos, const TRect &r )
+{
+ short x, y;
+ TRect nRect;
+
+ short d = (numCols - leftOver) * numRows;
+ if( pos < d )
+ {
+ x = pos / numRows;
+ y = pos % numRows;
+ }
+ else
+ {
+ x = (pos-d)/(numRows+1) + (numCols-leftOver);
+ y = (pos-d)%(numRows+1);
+ }
+ nRect.a.x = dividerLoc( r.a.x, r.b.x, numCols, x );
+ nRect.b.x = dividerLoc( r.a.x, r.b.x, numCols, x+1 );
+ if( pos >= d )
+ {
+ nRect.a.y = dividerLoc(r.a.y, r.b.y, numRows+1, y);
+ nRect.b.y = dividerLoc(r.a.y, r.b.y, numRows+1, y+1);
+ }
+ else
+ {
+ nRect.a.y = dividerLoc(r.a.y, r.b.y, numRows, y);
+ nRect.b.y = dividerLoc(r.a.y, r.b.y, numRows, y+1);
+ }
+ return nRect;
+}
+
+void doTile( TView* p, void *lR )
+{
+ if( Tileable( p ) )
+ {
+ TRect r = calcTileRect( tileNum, *(const TRect *)lR );
+ p->locate(r);
+ tileNum--;
+ }
+}
+
+void TDeskTop::tile( const TRect& r )
+{
+ numTileable = 0;
+ forEach( doCountTileable, 0 );
+ if( numTileable > 0 )
+ {
+ mostEqualDivisors( numTileable, numCols, numRows, Boolean( !tileColumnsFirst ));
+ if( ( (r.b.x - r.a.x)/numCols == 0 ) ||
+ ( (r.b.y - r.a.y)/numRows == 0) )
+ tileError();
+ else
+ {
+ leftOver = numTileable % numCols;
+ tileNum = numTileable - 1;
+ lock();
+ forEach( doTile, (void *)&r );
+ unlock();
+ }
+ }
+}
+
+void TDeskTop::tileError()
+{
+}
+
+#if !defined(NO_STREAMABLE)
+
+TStreamable *TDeskTop::build()
+{
+ return new TDeskTop( streamableInit );
+}
+
+TDeskTop::TDeskTop( StreamableInit ) :
+ TGroup( streamableInit ),
+ TDeskInit( 0 /*streamableInit*/ )
+{
+ tileColumnsFirst = False;
+}
+
+#endif
diff --git a/freebsdtvision/lib/TDialog.cc b/freebsdtvision/lib/TDialog.cc
new file mode 100644
index 0000000..079ce76
--- /dev/null
+++ b/freebsdtvision/lib/TDialog.cc
@@ -0,0 +1,113 @@
+/*
+ * TDialog.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#define Uses_TKeys
+#define Uses_TDialog
+#define Uses_TEvent
+#include <tvision/tv.h>
+
+// TMultiCheckboxes flags
+// hibyte = number of bits
+// lobyte = bit mask
+
+
+TDialog::TDialog( const TRect& bounds, const char *aTitle ) :
+ TWindow( bounds, aTitle, wnNoNumber ),
+ TWindowInit( &TDialog::initFrame )
+{
+ growMode = 0;
+ flags = wfMove | wfClose;
+ palette = dpGrayDialog;
+}
+
+TPalette& TDialog::getPalette() const
+{
+ static TPalette paletteGray( cpGrayDialog, sizeof( cpGrayDialog )-1 );
+ static TPalette paletteBlue( cpBlueDialog, sizeof( cpBlueDialog )-1 );
+ static TPalette paletteCyan( cpCyanDialog, sizeof( cpCyanDialog )-1 );
+
+ switch (palette)
+ {
+ case dpGrayDialog:
+ return paletteGray;
+ case dpBlueDialog:
+ return paletteBlue;
+ case dpCyanDialog:
+ return paletteCyan;
+ }
+ return paletteGray;
+}
+
+void TDialog::handleEvent(TEvent& event)
+{
+ TWindow::handleEvent(event);
+ switch (event.what)
+ {
+ case evKeyDown:
+ switch (event.keyDown.keyCode)
+ {
+ case kbEsc:
+ event.what = evCommand;
+ event.message.command = cmCancel;
+ event.message.infoPtr = 0;
+ putEvent(event);
+ clearEvent(event);
+ break;
+ case kbEnter:
+ event.what = evBroadcast;
+ event.message.command = cmDefault;
+ event.message.infoPtr = 0;
+ putEvent(event);
+ clearEvent(event);
+ break;
+ }
+ break;
+
+ case evCommand:
+ switch( event.message.command )
+ {
+ case cmOK:
+ case cmCancel:
+ case cmYes:
+ case cmNo:
+ if( (state & sfModal) != 0 )
+ {
+ endModal(event.message.command);
+ clearEvent(event);
+ }
+ break;
+ }
+ break;
+ }
+}
+
+Boolean TDialog::valid( ushort command )
+{
+ if( command == cmCancel )
+ return True;
+ else
+ return TGroup::valid( command );
+}
+
+#if !defined(NO_STREAMABLE)
+
+TStreamable *TDialog::build()
+{
+ return new TDialog( streamableInit );
+}
+
+TDialog::TDialog( StreamableInit ) :
+ TWindow( streamableInit ),
+ TWindowInit( 0 )
+{
+}
+
+#endif
diff --git a/freebsdtvision/lib/TDirCollection.cc b/freebsdtvision/lib/TDirCollection.cc
new file mode 100644
index 0000000..9ff8d84
--- /dev/null
+++ b/freebsdtvision/lib/TDirCollection.cc
@@ -0,0 +1,104 @@
+/*
+ * TDirCollection.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#define Uses_TDirCollection
+#define Uses_TDirEntry
+#define Uses_opstream
+#define Uses_ipstream
+#include <tvision/tv.h>
+
+#include <stdio.h>
+#include <string.h>
+#include <sys/stat.h>
+#include <unistd.h>
+
+Boolean isDir( const char *str )
+{
+ /* SS: all changed */
+ struct stat s;
+
+ if (stat(str, &s) == 0 && S_ISDIR(s.st_mode)) return True;
+ return False;
+}
+
+Boolean pathValid( const char *path )
+{
+ /* SS: all changed */
+ char dir[PATH_MAX];
+ char name[PATH_MAX];
+
+ expandPath(path, dir, name);
+ if (strcmp(dir, "/") == 0) strcat(dir, ".");
+ else strcat(dir, "/.");
+ return isDir(dir);
+}
+
+Boolean validFileName( const char *fileName )
+{
+ /* SS: all changed */
+ FILE *f;
+
+ /*
+ * Patch from: Vasily Egoshin <wasa@nica.marstu.mari.su>
+ * Date: Thu, 9 Jan 1997 16:36:10 +0300 (MSK)
+ */
+ if ((f = fopen(fileName, "r")) != NULL)
+ {
+ /* the file exists and is readable ===> file name ok */
+
+ fclose(f);
+ return True;
+ }
+ if ((f = fopen(fileName, "w")) != NULL)
+ {
+ /* file don't exists but it is writable ===> file name ok */
+
+ fclose(f);
+ remove(fileName);
+ return True;
+ }
+ return False; /* illegal file name */
+}
+
+void getCurDir( char *dir )
+{
+ /* SS: all changed */
+ getcwd(dir, PATH_MAX);
+ if (strcmp(dir, "/") != 0) strcat(dir, "/");
+}
+
+Boolean isWild( const char *f )
+{
+ return Boolean( strpbrk( f, "?*" ) != 0 );
+}
+
+
+TStreamable *TDirCollection::build()
+{
+ return new TDirCollection( streamableInit );
+}
+
+void TDirCollection::writeItem( void *obj, opstream& os )
+{
+ TDirEntry *item = (TDirEntry *)obj;
+ os.writeString( item->text() );
+ os.writeString( item->dir() );
+}
+
+void *TDirCollection::readItem( ipstream& is )
+{
+ char *txt = is.readString();
+ char *dir = is.readString();
+ TDirEntry *entry = new TDirEntry( txt, dir );
+ delete txt;
+ delete dir;
+ return entry;
+}
diff --git a/freebsdtvision/lib/TDirListBox.cc b/freebsdtvision/lib/TDirListBox.cc
new file mode 100644
index 0000000..f183d3c
--- /dev/null
+++ b/freebsdtvision/lib/TDirListBox.cc
@@ -0,0 +1,197 @@
+/*
+ * TDirListBox.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#define Uses_TDirListBox
+#define Uses_TEvent
+#define Uses_TDirCollection
+#define Uses_TChDirDialog
+#define Uses_TDirEntry
+#define Uses_TButton
+#include <tvision/tv.h>
+
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <dirent.h>
+#include <stdio.h>
+#include <string.h>
+
+TDirListBox::TDirListBox( const TRect& bounds, TScrollBar *aScrollBar ) :
+ TListBox( bounds, 1, aScrollBar ),
+ cur( 0 )
+{
+ *dir = EOS;
+}
+
+TDirListBox::~TDirListBox()
+{
+ if ( list() )
+ destroy( list() );
+}
+
+void TDirListBox::getText( char *text, short item, short maxChars )
+{
+ strncpy( text, list()->at(item)->text(), maxChars );
+ text[maxChars] = '\0';
+}
+
+void TDirListBox::selectItem( short item )
+{
+ message( owner, evCommand, cmChangeDir, list()->at(item) );
+}
+
+/*
+void TDirListBox::handleEvent( TEvent& event )
+{
+ if( event.what == evMouseDown && (event.mouse.eventFlags & meDoubleClick) )
+ {
+ event.what = evCommand;
+ event.message.command = cmChangeDir;
+ putEvent( event );
+ clearEvent( event );
+ }
+ else
+ TListBox::handleEvent( event );
+}
+*/
+
+Boolean TDirListBox::isSelected( short item )
+{
+ return Boolean( item == cur );
+}
+
+void TDirListBox::showDrives( TDirCollection* )
+{
+ /* SS: do nothing */
+}
+
+void TDirListBox::showDirs( TDirCollection *dirs )
+{
+ /* SS: changed */
+
+ char buf[PATH_MAX * 2];
+ char *curDir = dir;
+ char *end;
+ char *name = buf + sizeof(buf) / 2;
+ const int indentSize = 2;
+ int indent = 0, len;
+
+ /* extract directories from path string */
+
+ memset(buf, ' ', sizeof(buf));
+ strcpy(name, pathDir);
+ len = strlen(pathDir);
+ while((end = strchr(curDir, '/' )) != NULL)
+ {
+ /* special case: root directory */
+
+ if (end == dir) dirs->insert(new TDirEntry("/", ""));
+ else
+ {
+ memcpy(name + len, curDir, end - curDir);
+ name[len + end - curDir] = EOS;
+ *end = EOS;
+ dirs->insert(new TDirEntry(name - indent, dir));
+ *end = '/';
+ indent += indentSize;
+ }
+ curDir = end + 1;
+ }
+ cur = dirs->getCount() - 1;
+
+ /* read subdirectories in the current directory */
+
+ Boolean isFirst = True;
+ DIR *dp;
+ char path[PATH_MAX];
+ dirent *de;
+ struct stat s;
+
+ sprintf(path, "%s.", dir);
+ if ((dp = opendir(path)) != NULL)
+ {
+ while ((de = readdir(dp)) != NULL)
+ {
+ /* we don't want these directories */
+
+ if (strcmp(de->d_name, ".") == 0 ||
+ strcmp(de->d_name, "..") == 0) continue;
+
+ /* is it a directory ? */
+
+ sprintf(path, "%s%s", dir, de->d_name);
+ if (stat(path, &s) == 0 && S_ISDIR(s.st_mode))
+ {
+ if (isFirst)
+ {
+ isFirst = False;
+ strcpy(name, firstDir);
+ len = strlen(firstDir);
+ }
+ else
+ {
+ strcpy(name, middleDir);
+ len = strlen(middleDir);
+ }
+ strcpy(name + len, de->d_name);
+ dirs->insert(new TDirEntry(name - indent,
+ path));
+ }
+ }
+ closedir(dp);
+ }
+
+ /* old code */
+
+ char *p = dirs->at(dirs->getCount()-1)->text();
+ char *i = strchr( p, graphics[0] );
+ if( i == 0 )
+ {
+ i = strchr( p, graphics[1] );
+ if( i != 0 )
+ *i = graphics[0];
+ }
+ else
+ {
+ *(i+1) = graphics[2];
+ *(i+2) = graphics[2];
+ }
+}
+
+void TDirListBox::newDirectory( const char *str )
+{
+ /* SS: changed */
+
+ strcpy( dir, str );
+ TDirCollection *dirs = new TDirCollection( 5, 5 );
+ showDirs( dirs );
+ newList( dirs );
+ focusItem( cur );
+}
+
+void TDirListBox::setState( ushort nState, Boolean enable )
+{
+ TListBox::setState( nState, enable );
+ if( (nState & sfFocused) != 0 )
+#ifndef __UNPATCHED
+ message(owner, evCommand, cmDirSelection, (void *)enable); //!!
+#else
+ ((TChDirDialog *)owner)->chDirButton->makeDefault( enable );
+#endif
+}
+
+#if !defined(NO_STREAMABLE)
+
+TStreamable *TDirListBox::build()
+{
+ return new TDirListBox( streamableInit );
+}
+
+#endif
diff --git a/freebsdtvision/lib/TEditWindow.cc b/freebsdtvision/lib/TEditWindow.cc
new file mode 100644
index 0000000..83bd5f4
--- /dev/null
+++ b/freebsdtvision/lib/TEditWindow.cc
@@ -0,0 +1,120 @@
+/*
+ * TEditWindow.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#define Uses_TFrame
+#define Uses_TWindow
+#define Uses_TRect
+#define Uses_TIndicator
+#define Uses_TEditor
+#define Uses_TMemo
+#define Uses_TFileEditor
+#define Uses_TEditWindow
+#define Uses_TEvent
+#define Uses_TScrollBar
+#define Uses_opstream
+#define Uses_ipstream
+#include <tvision/tv.h>
+
+const TPoint minEditWinSize = {24, 6};
+
+TEditWindow::TEditWindow( const TRect& bounds,
+ const char *fileName,
+ int aNumber
+ ) :
+ TWindow( bounds, 0, aNumber ),
+ TWindowInit( &TEditWindow::initFrame )
+{
+ options |= ofTileable;
+
+ TScrollBar *hScrollBar =
+ new TScrollBar( TRect( 18, size.y - 1, size.x - 2, size.y ) );
+ hScrollBar->hide();
+ insert(hScrollBar);
+
+ TScrollBar *vScrollBar =
+ new TScrollBar( TRect( size.x - 1, 1, size.x, size.y - 1 ) );
+ vScrollBar->hide();
+ insert(vScrollBar);
+
+ TIndicator *indicator =
+ new TIndicator( TRect( 2, size.y - 1, 16, size.y ) );
+ indicator->hide();
+ insert(indicator);
+
+
+ TRect r( getExtent() );
+ r.grow(-1, -1);
+ editor = new TFileEditor( r, hScrollBar, vScrollBar, indicator, fileName );
+ insert(editor);
+}
+
+void TEditWindow::close()
+{
+ if( editor->isClipboard() == True )
+ hide();
+ else
+ TWindow::close();
+}
+
+const char *TEditWindow::getTitle( short )
+{
+ if( editor->isClipboard() == True )
+ return clipboardTitle;
+ else if( *(editor->fileName) == EOS )
+ return untitled;
+ else
+ return editor->fileName;
+}
+
+void TEditWindow::handleEvent( TEvent& event )
+{
+ TWindow::handleEvent(event);
+ if( event.what == evBroadcast && event.message.command == cmUpdateTitle )
+ {
+ if( frame != 0 )
+ frame->drawView();
+ clearEvent(event);
+ }
+}
+
+void TEditWindow::sizeLimits( TPoint& min, TPoint& max )
+{
+ TWindow::sizeLimits(min, max);
+ min = minEditWinSize;
+}
+
+#if !defined(NO_STREAMABLE)
+
+void TEditWindow::write( opstream& os )
+{
+ TWindow::write( os );
+ os << editor;
+}
+
+void *TEditWindow::read( ipstream& is )
+{
+ TWindow::read( is );
+ is >> editor;
+ return this;
+}
+
+TStreamable *TEditWindow::build()
+{
+ return new TEditWindow( streamableInit );
+}
+
+TEditWindow::TEditWindow( StreamableInit ) :
+ TWindow( streamableInit ),
+ TWindowInit( 0 /*streamableInit*/ )
+{
+}
+
+#endif
diff --git a/freebsdtvision/lib/TEditor.cc b/freebsdtvision/lib/TEditor.cc
new file mode 100644
index 0000000..7644fcc
--- /dev/null
+++ b/freebsdtvision/lib/TEditor.cc
@@ -0,0 +1,1144 @@
+/*
+ * TEditor.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified again by Dmitrij Korovkin <tkf@glasnet.ru>
+ */
+
+#define Uses_TKeys
+#define Uses_TEditor
+#define Uses_TIndicator
+#define Uses_TEvent
+#define Uses_TScrollBar
+#define Uses_TFindDialogRec
+#define Uses_TReplaceDialogRec
+#define Uses_opstream
+#define Uses_ipstream
+#include <tvision/tv.h>
+
+#include <ctype.h>
+#include <string.h>
+
+/*
+ * SS: declarations fixed. See `asm.cc'.
+ */
+int countLines( void *buf, size_t count );
+size_t scan( const void *block, size_t size, const char *str );
+size_t iScan( const void *block, size_t size, const char *str );
+
+inline int isWordChar( int ch )
+{
+#ifndef __UNPATCHED
+ return isalnum((uchar)ch) || ch == '_';
+// ^^^^^- correction for extended ASCII.
+#else
+ return isalnum(ch) || ch == '_';
+#endif
+}
+
+const ushort firstKeys[] =
+{
+ 37,
+ kbCtrlA, cmWordLeft,
+ kbCtrlC, cmPageDown,
+ kbCtrlD, cmCharRight,
+ kbCtrlE, cmLineUp,
+ kbCtrlF, cmWordRight,
+ kbCtrlG, cmDelChar,
+ kbCtrlH, cmBackSpace,
+ kbCtrlK, 0xFF02,
+ kbCtrlL, cmSearchAgain,
+ kbCtrlM, cmNewLine,
+ kbCtrlO, cmIndentMode,
+ kbCtrlQ, 0xFF01,
+ kbCtrlR, cmPageUp,
+ kbCtrlS, cmCharLeft,
+ kbCtrlT, cmDelWord,
+ kbCtrlU, cmUndo,
+ kbCtrlV, cmInsMode,
+ kbCtrlX, cmLineDown,
+ kbCtrlY, cmDelLine,
+ kbLeft, cmCharLeft,
+ kbRight, cmCharRight,
+ kbCtrlLeft, cmWordLeft,
+ kbCtrlRight, cmWordRight,
+ kbHome, cmLineStart,
+ kbEnd, cmLineEnd,
+ kbUp, cmLineUp,
+ kbDown, cmLineDown,
+ kbPgUp, cmPageUp,
+ kbPgDn, cmPageDown,
+ kbCtrlPgUp, cmTextStart,
+ kbCtrlPgDn, cmTextEnd,
+ kbIns, cmInsMode,
+ kbDel, cmDelChar,
+ kbShiftIns, cmPaste,
+ kbShiftDel, cmCut,
+ kbCtrlIns, cmCopy,
+ kbCtrlDel, cmClear
+};
+
+const ushort quickKeys[] =
+{ 8,
+ 'A', cmReplace,
+ 'C', cmTextEnd,
+ 'D', cmLineEnd,
+ 'F', cmFind,
+ 'H', cmDelStart,
+ 'R', cmTextStart,
+ 'S', cmLineStart,
+ 'Y', cmDelEnd
+};
+
+const ushort blockKeys[] =
+{ 5,
+ 'B', cmStartSelect,
+ 'C', cmPaste,
+ 'H', cmHideSelect,
+ 'K', cmCopy,
+ 'Y', cmCut
+};
+
+const ushort *keyMap[] = { firstKeys, quickKeys, blockKeys };
+
+ushort defEditorDialog( int, ... );
+
+ushort scanKeyMap( const void *keyMap, ushort keyCode )
+{
+ register ushort *kM = (ushort *)keyMap;
+ uchar codeLow = keyCode & 0xff;
+ uchar codeHi = keyCode >> 8;
+
+ int n;
+
+ for (n = *kM++; n--; kM++)
+ {
+ uchar mapLow = *kM & 0xff;
+ uchar mapHi = *kM >> 8;
+ kM++;
+ ushort command = *kM;
+
+ if ((mapLow == codeLow) && ((mapHi == 0) || (mapHi == codeHi)))
+ return command;
+ };
+ return 0;
+}
+
+#define cpEditor "\x06\x07"
+
+TEditor::TEditor( const TRect& bounds,
+ TScrollBar *aHScrollBar,
+ TScrollBar *aVScrollBar,
+ TIndicator *aIndicator,
+ uint aBufSize ) :
+ TView( bounds ),
+ hScrollBar( aHScrollBar ),
+ vScrollBar( aVScrollBar ),
+ indicator( aIndicator ),
+ bufSize( aBufSize ),
+ canUndo( True ),
+ selecting( False ),
+ overwrite( False ),
+ autoIndent( False ) ,
+ lockCount( 0 ),
+ keyState( 0 )
+{
+ growMode = gfGrowHiX | gfGrowHiY;
+ options |= ofSelectable;
+ eventMask = evMouseDown | evKeyDown | evCommand | evBroadcast;
+ showCursor();
+ initBuffer();
+ if( buffer != 0 )
+ isValid = True;
+ else
+ {
+ editorDialog( edOutOfMemory );
+ bufSize = 0;
+ isValid = False;
+ }
+ setBufLen(0);
+}
+
+TEditor::~TEditor()
+{
+}
+
+void TEditor::shutDown()
+{
+ doneBuffer();
+ TView::shutDown();
+}
+
+void TEditor::changeBounds( const TRect& bounds )
+{
+ setBounds(bounds);
+ delta.x = max(0, min(delta.x, limit.x - size.x));
+ delta.y = max(0, min(delta.y, limit.y - size.y));
+ update(ufView);
+}
+
+uint TEditor::charPos( uint p, uint target )
+{
+ uint pos = 0;
+ while( p < target )
+ {
+ if( bufChar(p) == '\x9' )
+ pos |= 7;
+ pos++;
+ p++;
+ }
+ return pos;
+}
+
+uint TEditor::charPtr( uint p, uint target )
+{
+ uint pos = 0;
+ /* SS: changed */
+ while( (pos < target) && (p < bufLen) && (bufChar(p) != '\n') )
+ {
+ if( bufChar(p) == '\x09' )
+ pos |= 7;
+ pos++;
+ p++;
+ }
+ if( pos > target )
+ p--;
+ return p;
+}
+
+Boolean TEditor::clipCopy()
+{
+ Boolean res = False;
+ if( (clipboard != 0) && (clipboard != this) )
+ {
+ res = clipboard->insertFrom(this);
+ selecting = False;
+ update(ufUpdate);
+ }
+ return res;
+}
+
+void TEditor::clipCut()
+{
+ if( clipCopy() == True )
+ deleteSelect();
+}
+
+void TEditor::clipPaste()
+{
+ if( (clipboard != 0) && (clipboard != this) )
+ insertFrom(clipboard);
+}
+
+void TEditor::convertEvent( TEvent& event )
+{
+ if( event.what == evKeyDown )
+ {
+ if( (event.keyDown.controlKeyState & kbShift) != 0 &&
+ event.keyDown.charScan.scanCode >= 0x47 &&
+ event.keyDown.charScan.scanCode <= 0x51
+ )
+ event.keyDown.charScan.charCode = 0;
+
+ ushort key = event.keyDown.keyCode;
+ if( keyState != 0 )
+ {
+ if( (key & 0xFF) >= 0x01 && (key & 0xFF) <= 0x1A )
+ key += 0x40;
+ if( (key & 0xFF) >= 0x61 && (key & 0xFF) <= 0x7A )
+ key -= 0x20;
+ }
+ key = scanKeyMap(keyMap[keyState], key);
+ keyState = 0;
+ if( key != 0 )
+ if( (key & 0xFF00) == 0xFF00 )
+ {
+ keyState = (key & 0xFF);
+ clearEvent(event);
+ }
+ else
+ {
+ event.what = evCommand;
+ event.message.command = key;
+ }
+ }
+}
+
+Boolean TEditor::cursorVisible()
+{
+ return Boolean((curPos.y >= delta.y) && (curPos.y < delta.y + size.y));
+}
+
+void TEditor::deleteRange( uint startPtr,
+ uint endPtr,
+ Boolean delSelect
+ )
+{
+ if( hasSelection() == True && delSelect == True )
+ deleteSelect();
+ else
+ {
+ setSelect(curPtr, endPtr, True);
+ deleteSelect();
+ setSelect(startPtr, curPtr, False);
+ deleteSelect();
+ }
+}
+
+void TEditor::deleteSelect()
+{
+ insertText( 0, 0, False );
+}
+
+void TEditor::doneBuffer()
+{
+ delete buffer;
+}
+
+void TEditor::doSearchReplace()
+{
+ int i;
+ do {
+ i = cmCancel;
+ if( search(findStr, editorFlags) == False )
+ {
+ if( (editorFlags & (efReplaceAll | efDoReplace)) !=
+ (efReplaceAll | efDoReplace) )
+ editorDialog( edSearchFailed );
+ }
+ else
+ if( (editorFlags & efDoReplace) != 0 )
+ {
+ i = cmYes;
+ if( (editorFlags & efPromptOnReplace) != 0 )
+ {
+ TPoint c = makeGlobal( cursor );
+ i = editorDialog( edReplacePrompt, &c );
+ }
+ if( i == cmYes )
+ {
+ lock();
+ insertText( replaceStr, strlen(replaceStr), False);
+ trackCursor(False);
+ unlock();
+ }
+ }
+ } while( i != cmCancel && (editorFlags & efReplaceAll) != 0 );
+}
+
+void TEditor::doUpdate()
+{
+ if( updateFlags != 0 )
+ {
+ setCursor(curPos.x - delta.x, curPos.y - delta.y);
+ if( (updateFlags & ufView) != 0 )
+ drawView();
+ else
+ if( (updateFlags & ufLine) != 0 )
+ drawLines( curPos.y-delta.y, 1, lineStart(curPtr) );
+ if( hScrollBar != 0 )
+ hScrollBar->setParams(delta.x, 0, limit.x - size.x, size.x / 2, 1);
+ if( vScrollBar != 0 )
+ vScrollBar->setParams(delta.y, 0, limit.y - size.y, size.y - 1, 1);
+ if( indicator != 0 )
+ indicator->setValue(curPos, modified);
+ if( (state & sfActive) != 0 )
+ updateCommands();
+ updateFlags = 0;
+ }
+}
+
+void TEditor::draw()
+{
+ if( drawLine != delta.y )
+ {
+ drawPtr = lineMove( drawPtr, delta.y - drawLine );
+ drawLine = delta.y;
+ }
+ drawLines( 0, size.y, drawPtr );
+}
+
+/*Added again as a such a plug for backward compatibility with an old
+application*/
+#ifdef __RUSSIAN_LETTERS
+static unsigned KoiTable[128] =
+{
+ 192, 193, 194, 195, 196, 197, 198, 199, /* 0x80 - 0x87 */
+ 200, 201, 202, 203, 204, 205 ,206, 207, /* 0x88 - 0x8f */
+ 208, 209, 210, 211, 212, 213, 214, 215, /* 0x90 - 0x97 */
+ 216, 217, 218, 219, 220, 221, 222, 223, /* 0x98 - 0x9f */
+ 240, 241, 242, 243, 244, 245, 246, 247, /* 0xa0 - 0xa7 */
+ 248, 249, 250, 251, 252, 253, 254, 255, /* 0xa8 - 0xaf */
+ 176, 177, 178, 179, 180, 181, 182, 183, /* 0xb0 - 0xb7 */
+ 184, 185, 186, 187, 188, 189, 190, 191, /* 0xb8 - 0xbf */
+ 238, 160, 161, 230, 164, 165, 228, 163, /* 0xc0 - 0xc7 */
+ 229, 168, 169, 170, 171, 172, 173, 174, /* 0xc8 - 0xcf */
+ 175, 239, 224, 225, 226, 227, 166, 162, /* 0xd0 - 0xd7 */
+ 236, 235, 167, 232, 237, 233, 231, 234, /* 0xd8 - 0xdf */
+ 158, 128, 129, 150, 132, 133, 148, 131, /* 0xe0 - 0xe7 */
+ 149, 136, 137, 138, 139, 140, 141, 142, /* 0xe8 - 0xef */
+ 143, 159, 144, 145, 146, 147, 134, 130, /* 0xf0 - 0xf7 */
+ 156, 155, 135, 152, 157, 153, 151, 154 /* 0xf8 - 0xff */
+};
+#endif
+
+void TEditor::drawLines( int y, uint count, uint linePtr )
+{
+ ushort color = getColor(0x0201);
+ while( count-- > 0 )
+ {
+ ushort b[maxLineLength * 4];
+ formatLine( b, linePtr, delta.x+size.x, color );
+
+/*Added again as a such a plug for backward compatibility with an old
+application*/
+#ifdef __RUSSIAN_LETTERS
+ ushort *p = &b[delta.x];
+ for (int i = delta.x; i < size.x; i++, p++ )
+ {
+ int code = *p & 0xff; /* character is in the low byte */
+
+ if (code > 0x7f) *p = (*p & 0xff00) | KoiTable[code - 0x80];
+ }
+#endif
+ writeBuf(0, y, size.x, 1, &b[delta.x]);
+ linePtr = nextLine(linePtr);
+ y++;
+ }
+}
+
+void TEditor::find()
+{
+ TFindDialogRec findRec( findStr, editorFlags );
+ if( editorDialog( edFind, &findRec ) != cmCancel )
+ {
+ strcpy( findStr, findRec.find );
+ editorFlags = findRec.options & ~efDoReplace;
+ doSearchReplace();
+ }
+}
+
+uint TEditor::getMousePtr( TPoint m )
+{
+ TPoint mouse = makeLocal( m );
+ mouse.x = max(0, min(mouse.x, size.x - 1));
+ mouse.y = max(0, min(mouse.y, size.y - 1));
+ return charPtr(lineMove(drawPtr, mouse.y + delta.y - drawLine),
+ mouse.x + delta.x);
+}
+
+TPalette& TEditor::getPalette() const
+{
+ static TPalette palette( cpEditor, sizeof( cpEditor )-1 );
+ return palette;
+}
+
+void TEditor::checkScrollBar( const TEvent& event,
+ TScrollBar *p,
+ int& d
+ )
+{
+ if( (event.message.infoPtr == p) && (p->value != d) )
+ {
+ d = p->value;
+ update( ufView );
+ }
+}
+
+void TEditor::handleEvent( TEvent& event )
+{
+ TView::handleEvent( event );
+
+ Boolean centerCursor = Boolean(!cursorVisible());
+ uchar selectMode = 0;
+
+ if( selecting == True ||
+ (event.what & evMouse && (event.mouse.controlKeyState & kbShift) != 0) ||
+ (event.what & evKeyboard && (event.keyDown.controlKeyState & kbShift ) != 0)
+ )
+ selectMode = smExtend;
+
+ convertEvent( event );
+
+ switch( event.what )
+ {
+
+ case evMouseDown:
+ if( event.mouse.eventFlags & meDoubleClick )
+ selectMode |= smDouble;
+
+ do {
+ lock();
+ if( event.what == evMouseAuto )
+ {
+ TPoint mouse = makeLocal( event.mouse.where );
+ TPoint d = delta;
+ if( mouse.x < 0 )
+ d.x--;
+ if( mouse.x >= size.x )
+ d.x++;
+ if( mouse.y < 0 )
+ d.y--;
+ if( mouse.y >= size.y )
+ d.y++;
+ scrollTo(d.x, d.y);
+ }
+ setCurPtr(getMousePtr(event.mouse.where), selectMode);
+ selectMode |= smExtend;
+ unlock();
+ } while( mouseEvent(event, evMouseMove + evMouseAuto) );
+ break;
+
+ case evKeyDown:
+ if( event.keyDown.charScan.charCode == 9 ||
+ ( event.keyDown.charScan.charCode >= 32 && event.keyDown.charScan.charCode < 255 ) )
+ {
+ lock();
+ if( overwrite == True && hasSelection() == False )
+ if( curPtr != lineEnd(curPtr) )
+ selEnd = nextChar(curPtr);
+ insertText( &event.keyDown.charScan.charCode, 1, False);
+ trackCursor(centerCursor);
+ unlock();
+ }
+ else
+ return;
+ break;
+
+ case evCommand:
+ switch( event.message.command )
+ {
+ case cmFind:
+ find();
+ break;
+ case cmReplace:
+ replace();
+ break;
+ case cmSearchAgain:
+ doSearchReplace();
+ break;
+ default:
+ lock();
+ switch( event.message.command )
+ {
+ case cmCut:
+ clipCut();
+ break;
+ case cmCopy:
+ clipCopy();
+ break;
+ case cmPaste:
+ clipPaste();
+ break;
+ case cmUndo:
+ undo();
+ break;
+ case cmClear:
+ deleteSelect();
+ break;
+ case cmCharLeft:
+ setCurPtr(prevChar(curPtr), selectMode);
+ break;
+ case cmCharRight:
+ setCurPtr(nextChar(curPtr), selectMode);
+ break;
+ case cmWordLeft:
+ setCurPtr(prevWord(curPtr), selectMode);
+ break;
+ case cmWordRight:
+ setCurPtr(nextWord(curPtr), selectMode);
+ break;
+ case cmLineStart:
+ setCurPtr(lineStart(curPtr), selectMode);
+ break;
+ case cmLineEnd:
+ setCurPtr(lineEnd(curPtr), selectMode);
+ break;
+ case cmLineUp:
+ setCurPtr(lineMove(curPtr, -1), selectMode);
+ break;
+ case cmLineDown:
+ setCurPtr(lineMove(curPtr, 1), selectMode);
+ break;
+ case cmPageUp:
+ setCurPtr(lineMove(curPtr, -(size.y-1)), selectMode);
+ break;
+ case cmPageDown:
+ setCurPtr(lineMove(curPtr, size.y-1), selectMode);
+ break;
+ case cmTextStart:
+ setCurPtr(0, selectMode);
+ break;
+ case cmTextEnd:
+ setCurPtr(bufLen, selectMode);
+ break;
+ case cmNewLine:
+ newLine();
+ break;
+ case cmBackSpace:
+ deleteRange(prevChar(curPtr), curPtr, True);
+ break;
+ case cmDelChar:
+ deleteRange(curPtr, nextChar(curPtr), True);
+ break;
+ case cmDelWord:
+ deleteRange(curPtr, nextWord(curPtr), False);
+ break;
+ case cmDelStart:
+ deleteRange(lineStart(curPtr), curPtr, False);
+ break;
+ case cmDelEnd:
+ deleteRange(curPtr, lineEnd(curPtr), False);
+ break;
+ case cmDelLine:
+ deleteRange(lineStart(curPtr), nextLine(curPtr), False);
+ break;
+ case cmInsMode:
+ toggleInsMode();
+ break;
+ case cmStartSelect:
+ startSelect();
+ break;
+ case cmHideSelect:
+ hideSelect();
+ break;
+ case cmIndentMode:
+ autoIndent = Boolean(!autoIndent);
+ break;
+ default:
+ unlock();
+ return;
+ }
+ trackCursor(centerCursor);
+ unlock();
+ break;
+ }
+#ifndef __UNPATCHED
+ break;
+#endif
+ case evBroadcast:
+ switch( event.message.command )
+ {
+ case cmScrollBarChanged:
+ if ((event.message.infoPtr == hScrollBar) ||
+ (event.message.infoPtr == vScrollBar))
+ {
+ checkScrollBar( event, hScrollBar, delta.x );
+ checkScrollBar( event, vScrollBar, delta.y );
+ }
+ else
+ return;
+ break;
+ default:
+ return;
+ }
+ }
+ clearEvent(event);
+}
+
+Boolean TEditor::hasSelection()
+{
+ return Boolean(selStart != selEnd);
+}
+
+void TEditor::hideSelect()
+{
+ selecting = False;
+ setSelect(curPtr, curPtr, False);
+}
+
+void TEditor::initBuffer()
+{
+ buffer = new char[bufSize];
+}
+
+Boolean TEditor::insertBuffer( char *p,
+ uint offset,
+ uint length,
+ Boolean allowUndo,
+ Boolean selectText
+ )
+{
+ selecting = False;
+ uint selLen = selEnd - selStart;
+ if( selLen == 0 && length == 0 )
+ return True;
+
+ uint delLen = 0;
+ if( allowUndo == True )
+ if( curPtr == selStart )
+ delLen = selLen;
+ else
+ if( selLen > insCount )
+ delLen = selLen - insCount;
+
+ uint newSize = uint(bufLen + delCount - selLen + delLen) + length;
+
+ if( newSize > bufLen + delCount && setBufSize(newSize) == False )
+ {
+ editorDialog( edOutOfMemory );
+ selEnd = selStart;
+ return False;
+ }
+
+ uint selLines = countLines( &buffer[bufPtr(selStart)], selLen );
+ if( curPtr == selEnd )
+ {
+ if( allowUndo == True )
+ {
+ if( delLen > 0 )
+ memmove(
+ &buffer[curPtr + gapLen - delCount - delLen],
+ &buffer[selStart],
+ delLen
+ );
+ insCount -= selLen - delLen;
+ }
+ curPtr = selStart;
+ curPos.y -= selLines;
+ }
+ if( delta.y > curPos.y )
+ {
+ delta.y -= selLines;
+ if( delta.y < curPos.y )
+ delta.y = curPos.y;
+ }
+
+ if( length > 0 )
+ memmove(
+ &buffer[curPtr],
+ &p[offset],
+ length
+ );
+
+ uint lines = countLines( &buffer[curPtr], length );
+ curPtr += length;
+ curPos.y += lines;
+ drawLine = curPos.y;
+ drawPtr = lineStart(curPtr);
+ curPos.x = charPos(drawPtr, curPtr);
+ if( selectText == False )
+ selStart = curPtr;
+ selEnd = curPtr;
+ bufLen += length - selLen;
+ gapLen -= length - selLen;
+ if( allowUndo == True )
+ {
+ delCount += delLen;
+ insCount += length;
+ }
+ limit.y += lines - selLines;
+ delta.y = max(0, min(delta.y, limit.y - size.y));
+ if( isClipboard() == False )
+ modified = True;
+ setBufSize(bufLen + delCount);
+ if( selLines == 0 && lines == 0 )
+ update(ufLine);
+ else
+ update(ufView);
+ return True;
+}
+
+Boolean TEditor::insertFrom( TEditor *editor )
+{
+ uint pt = editor->bufPtr(editor->selStart);
+ return insertBuffer( editor->buffer,
+ pt,
+ editor->selEnd - editor->selStart,
+ canUndo,
+ isClipboard()
+ );
+}
+
+Boolean TEditor::insertText( const void *text, uint length,
+ Boolean selectText )
+{
+ return insertBuffer( (char *)text, 0, length, canUndo, selectText);
+}
+
+Boolean TEditor::isClipboard()
+{
+ return Boolean(clipboard == this);
+}
+
+uint TEditor::lineMove( uint p, int count )
+{
+ uint i = p;
+ p = lineStart(p);
+ uint pos = charPos(p, i);
+ while( count != 0 )
+ {
+ i = p;
+ if( count < 0 )
+ {
+ p = prevLine(p);
+ count++;
+ }
+ else
+ {
+ p = nextLine(p);
+ count--;
+ }
+ }
+ if( p != i )
+ p = charPtr(p, pos);
+ return p;
+}
+
+void TEditor::lock()
+{
+ lockCount++;
+}
+
+void TEditor::newLine()
+{
+ /* SS: changed */
+ const char nl[] = "\n";
+ uint p = lineStart(curPtr);
+ uint i = p;
+ while( i < curPtr &&
+ ( (buffer[i] == ' ') || (buffer[i] == '\x9'))
+ )
+ i++;
+ insertText(nl, 1, False);
+ if( autoIndent == True )
+ insertText( &buffer[p], i - p, False);
+}
+
+uint TEditor::nextLine( uint p )
+{
+ return nextChar(lineEnd(p));
+}
+
+uint TEditor::nextWord( uint p )
+{
+ while( p < bufLen && isWordChar(bufChar(p)) != 0 )
+ p = nextChar(p);
+ while( p < bufLen && isWordChar(bufChar(p)) == 0 )
+ p = nextChar(p);
+ return p;
+}
+
+uint TEditor::prevLine( uint p )
+{
+ return lineStart(prevChar(p));
+}
+
+uint TEditor::prevWord( uint p )
+{
+ while( p > 0 && isWordChar(bufChar(prevChar(p))) == 0 )
+ p = prevChar(p);
+ while( p > 0 && isWordChar(bufChar(prevChar(p))) != 0 )
+ p = prevChar(p);
+ return p;
+}
+
+void TEditor::replace()
+{
+ TReplaceDialogRec replaceRec( findStr, replaceStr, editorFlags );
+ if( editorDialog( edReplace, &replaceRec ) != cmCancel )
+ {
+ strcpy( findStr, replaceRec.find );
+ strcpy( replaceStr, replaceRec.replace );
+ editorFlags = replaceRec.options | efDoReplace;
+ doSearchReplace();
+ }
+
+}
+
+void TEditor::scrollTo( int x, int y )
+{
+ x = max(0, min(x, limit.x - size.x));
+ y = max(0, min(y, limit.y - size.y));
+ if( x != delta.x || y != delta.y )
+ {
+ delta.x = x;
+ delta.y = y;
+ update(ufView);
+ }
+}
+
+Boolean TEditor::search( const char *findStr, ushort opts )
+{
+ ulong pos = curPtr;
+ ulong i;
+ do {
+ if( (opts & efCaseSensitive) != 0 )
+ i = scan( &buffer[bufPtr(pos)], bufLen - pos, findStr);
+ else
+ i = iScan( &buffer[bufPtr(pos)], bufLen - pos, findStr);
+
+ if( i != sfSearchFailed )
+ {
+ i += pos;
+ if( (opts & efWholeWordsOnly) == 0 ||
+ !(
+ ( i != 0 && isWordChar(bufChar(i - 1)) != 0 ) ||
+ ( i + strlen(findStr) != bufLen &&
+ isWordChar(bufChar(i + strlen(findStr)))
+ )
+ ))
+ {
+ lock();
+ setSelect(i, i + strlen(findStr), False);
+ trackCursor(Boolean(!cursorVisible()));
+ unlock();
+ return True;
+ }
+ else
+ pos = i + 1;
+ }
+ } while( i != sfSearchFailed );
+ return False;
+}
+
+void TEditor::setBufLen( uint length )
+{
+ bufLen = length;
+ gapLen = bufSize - length;
+ selStart = 0;
+ selEnd = 0;
+ curPtr = 0;
+ delta.x = 0;
+ delta.y = 0;
+ curPos = delta;
+ limit.x = maxLineLength;
+ limit.y = countLines( &buffer[gapLen], bufLen ) + 1;
+ drawLine = 0;
+ drawPtr = 0;
+ delCount = 0;
+ insCount = 0;
+ modified = False;
+ update(ufView);
+}
+
+Boolean TEditor::setBufSize( uint newSize )
+{
+ return Boolean(newSize <= bufSize);
+}
+
+void TEditor::setCmdState( ushort command, Boolean enable )
+{
+ TCommandSet s;
+ s += command;
+ if( enable == True && (state & sfActive) != 0 )
+ enableCommands(s);
+ else
+ disableCommands(s);
+}
+
+void TEditor::setCurPtr( uint p, uchar selectMode )
+{
+ uint anchor;
+ if( (selectMode & smExtend) == 0 )
+ anchor = p;
+ else if( curPtr == selStart )
+ anchor = selEnd;
+ else
+ anchor = selStart;
+
+ if( p < anchor )
+ {
+ if( (selectMode & smDouble) != 0 )
+ {
+ p = prevLine(nextLine(p));
+ anchor = nextLine(prevLine(anchor));
+ }
+ setSelect(p, anchor, True);
+ }
+ else
+ {
+ if( (selectMode & smDouble) != 0 )
+ {
+ p = nextLine(p);
+ anchor = prevLine(nextLine(anchor));
+ }
+ setSelect(anchor, p, False);
+ }
+}
+
+void TEditor::setSelect( uint newStart, uint newEnd, Boolean curStart )
+{
+ uint p;
+ if( curStart != 0 )
+ p = newStart;
+ else
+ p = newEnd;
+
+ uchar flags = ufUpdate;
+
+ if( newStart != selStart || newEnd != selEnd )
+ if( newStart != newEnd || selStart != selEnd )
+ flags = ufView;
+
+ if( p != curPtr )
+ {
+ if( p > curPtr )
+ {
+ uint l = p - curPtr;
+ memmove( &buffer[curPtr], &buffer[curPtr + gapLen], l);
+ curPos.y += countLines(&buffer[curPtr], l);
+ curPtr = p;
+ }
+ else
+ {
+ uint l = curPtr - p;
+ curPtr = p;
+ curPos.y -= countLines(&buffer[curPtr], l);
+ memmove( &buffer[curPtr + gapLen], &buffer[curPtr], l);
+ }
+ drawLine = curPos.y;
+ drawPtr = lineStart(p);
+ curPos.x = charPos(drawPtr, p);
+ delCount = 0;
+ insCount = 0;
+ setBufSize(bufLen);
+ }
+ selStart = newStart;
+ selEnd = newEnd;
+ update(flags);
+}
+
+void TEditor::setState( ushort aState, Boolean enable )
+{
+ TView::setState(aState, enable);
+ switch( aState )
+ {
+ case sfActive:
+ if( hScrollBar != 0 )
+ hScrollBar->setState(sfVisible, enable);
+ if( vScrollBar != 0 )
+ vScrollBar->setState(sfVisible, enable);
+ if( indicator != 0 )
+ indicator->setState(sfVisible, enable);
+ updateCommands();
+ break;
+
+ case sfExposed:
+ if( enable == True )
+ unlock();
+ }
+}
+
+void TEditor::startSelect()
+{
+ hideSelect();
+ selecting = True;
+}
+
+void TEditor::toggleInsMode()
+{
+ overwrite = Boolean(!overwrite);
+ setState(sfCursorIns, Boolean(!getState(sfCursorIns)));
+}
+
+void TEditor::trackCursor( Boolean center )
+{
+ if( center == True )
+ scrollTo( curPos.x - size.x + 1, curPos.y - size.y / 2);
+ else
+ scrollTo( max(curPos.x - size.x + 1, min(delta.x, curPos.x)),
+ max(curPos.y - size.y + 1, min(delta.y, curPos.y)));
+}
+
+void TEditor::undo()
+{
+ if( delCount != 0 || insCount != 0 )
+ {
+ selStart = curPtr - insCount;
+ selEnd = curPtr;
+ ushort length = delCount;
+ delCount = 0;
+ insCount = 0;
+ insertBuffer(buffer, curPtr + gapLen - length, length, False, True);
+ }
+}
+
+void TEditor::unlock()
+{
+ if( lockCount > 0 )
+ {
+ lockCount--;
+ if( lockCount == 0 )
+ doUpdate();
+ }
+}
+
+void TEditor::update( uchar aFlags )
+{
+ updateFlags |= aFlags;
+ if( lockCount == 0 )
+ doUpdate();
+}
+
+void TEditor::updateCommands()
+{
+ setCmdState( cmUndo, Boolean( delCount != 0 || insCount != 0 ) );
+ if( isClipboard() == False )
+ {
+ setCmdState(cmCut, hasSelection());
+ setCmdState(cmCopy, hasSelection());
+ setCmdState(cmPaste,
+ Boolean(clipboard != 0 && (clipboard->hasSelection())) );
+ }
+ setCmdState(cmClear, hasSelection());
+ setCmdState(cmFind, True);
+ setCmdState(cmReplace, True);
+ setCmdState(cmSearchAgain, True);
+}
+
+Boolean TEditor::valid( ushort )
+{
+ return isValid;
+}
+
+#if !defined(NO_STREAMABLE)
+
+void TEditor::write( opstream& os )
+{
+ TView::write( os );
+ os << hScrollBar << vScrollBar << indicator
+ << bufSize << (int)canUndo;
+}
+
+void *TEditor::read( ipstream& is )
+{
+ TView::read( is );
+ int temp;
+ is >> hScrollBar >> vScrollBar >> indicator
+ >> bufSize >> temp;
+ canUndo = Boolean(temp);
+ selecting = False;
+ overwrite = False;
+ autoIndent = False;
+ lockCount = 0;
+ keyState = 0;
+ initBuffer();
+ if( buffer != 0 )
+ isValid = True;
+ else
+ {
+ TEditor::editorDialog( edOutOfMemory, 0 );
+ bufSize = 0;
+ }
+ lockCount = 0;
+ lock();
+ setBufLen( 0 );
+ return this;
+}
+
+TStreamable *TEditor::build()
+{
+ return new TEditor( streamableInit );
+}
+
+TEditor::TEditor( StreamableInit ) : TView( streamableInit )
+{
+}
+
+#endif
diff --git a/freebsdtvision/lib/TFileCollection.cc b/freebsdtvision/lib/TFileCollection.cc
new file mode 100644
index 0000000..804d898
--- /dev/null
+++ b/freebsdtvision/lib/TFileCollection.cc
@@ -0,0 +1,65 @@
+/*
+ * TFileCollection.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#define Uses_TFileCollection
+#define Uses_TSearchRec
+#include <tvision/tv.h>
+
+#include <string.h>
+
+inline const char *getName( void *k )
+{
+ return ((TSearchRec *)k)->name;
+}
+
+inline int attr( void *k )
+{
+ return ((TSearchRec *)k)->attr;
+}
+
+int TFileCollection::compare(void *key1, void *key2)
+{
+ if( strcmp( getName( key1 ), getName( key2 ) ) == 0 )
+ return 0;
+
+ if( strcmp( getName( key1 ), ".." ) == 0 )
+ return 1;
+ if( strcmp( getName( key2 ), ".." ) == 0 )
+ return -1;
+
+ if( (attr( key1 ) & FA_DIREC) != 0 && (attr( key2 ) & FA_DIREC) == 0 )
+ return 1;
+ if( (attr( key2 ) & FA_DIREC) != 0 && (attr( key1 ) & FA_DIREC) == 0 )
+ return -1;
+
+ return strcmp( getName( key1 ), getName( key2 ) );
+}
+
+
+TStreamable *TFileCollection::build()
+{
+ return new TFileCollection( streamableInit );
+}
+
+void TFileCollection::writeItem( void *obj, opstream& os )
+{
+ TSearchRec *item = (TSearchRec *)obj;
+ os << item->attr << item->time << item->size;
+ os.writeString( item->name );
+}
+
+void *TFileCollection::readItem( ipstream& is )
+{
+ TSearchRec *item = new TSearchRec;
+ is >> item->attr >> item->time >> item->size;
+ is.readString( item->name, sizeof(item->name) );
+ return item;
+}
diff --git a/freebsdtvision/lib/TFileDialog.cc b/freebsdtvision/lib/TFileDialog.cc
new file mode 100644
index 0000000..d6b4022
--- /dev/null
+++ b/freebsdtvision/lib/TFileDialog.cc
@@ -0,0 +1,335 @@
+/*
+ * TFileDialog.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#define Uses_TFileDialog
+#define Uses_MsgBox
+#define Uses_TRect
+#define Uses_TFileInputLine
+#define Uses_TButton
+#define Uses_TLabel
+#define Uses_TFileList
+#define Uses_THistory
+#define Uses_TScrollBar
+#define Uses_TEvent
+#define Uses_TFileInfoPane
+#define Uses_opstream
+#define Uses_ipstream
+#include <tvision/tv.h>
+
+#include <ctype.h>
+#include <errno.h>
+#include <stdio.h>
+#include <string.h>
+
+// File dialog flags
+const
+ int ffOpen = 0x0001,
+ ffSaveAs = 0x0002;
+
+const
+ int cmOpenDialogOpen = 100,
+ cmOpenDialogReplace = 101;
+
+TFileDialog::TFileDialog( const char *aWildCard,
+ const char *aTitle,
+ const char *inputName,
+ ushort aOptions,
+ uchar histId
+ ) :
+ TDialog( TRect( 15, 1, 64, 20 ), aTitle ),
+ TWindowInit( &TFileDialog::initFrame ),
+ directory( newStr("") )
+{
+ options |= ofCentered;
+ strcpy( wildCard, aWildCard );
+
+ fileName = new TFileInputLine( TRect( 3, 3, 31, 4 ), 79 );
+ strcpy( fileName->data, wildCard );
+ insert( fileName );
+
+ insert( new TLabel( TRect( 2, 2, 3+cstrlen(inputName), 3 ),
+ inputName,
+ fileName
+ ) );
+ insert( new THistory( TRect( 31, 3, 34, 4 ), fileName, histId ) );
+ TScrollBar *sb = new TScrollBar( TRect( 3, 14, 34, 15 ) );
+ insert( sb );
+ insert( fileList = new TFileList( TRect( 3, 6, 34, 14 ), sb ) );
+ insert( new TLabel( TRect( 2, 5, 8, 6 ), filesText, fileList ) );
+
+ ushort opt = bfDefault;
+ TRect r( 35, 3, 46, 5 );
+
+ if( (aOptions & fdOpenButton) != 0 )
+ {
+ insert( new TButton( r, openText, cmFileOpen, opt ) );
+ opt = bfNormal;
+ r.a.y += 3;
+ r.b.y += 3;
+ }
+
+ if( (aOptions & fdOKButton) != 0 )
+ {
+ insert( new TButton( r, okText, cmFileOpen, opt ) );
+ opt = bfNormal;
+ r.a.y += 3;
+ r.b.y += 3;
+ }
+
+ if( (aOptions & fdReplaceButton) != 0 )
+ {
+ insert( new TButton( r, replaceText, cmFileReplace, opt ) );
+ opt = bfNormal;
+ r.a.y += 3;
+ r.b.y += 3;
+ }
+
+ if( (aOptions & fdClearButton) != 0 )
+ {
+ insert( new TButton( r, clearText, cmFileClear, opt ) );
+#ifndef __UNPATCHED
+ // opt = bfNormal;
+#else
+ opt = bfNormal;
+#endif
+ r.a.y += 3;
+ r.b.y += 3;
+ }
+
+ insert( new TButton( r, cancelText, cmCancel, bfNormal ) );
+ r.a.y += 3;
+ r.b.y += 3;
+
+ if( (aOptions & fdHelpButton) != 0 )
+ {
+ insert( new TButton( r, helpText, cmHelp, bfNormal ) );
+#ifndef __UNPATCHED
+ // opt = bfNormal;
+#else
+ opt = bfNormal;
+#endif
+ r.a.y += 3;
+ r.b.y += 3;
+ }
+
+ insert( new TFileInfoPane( TRect( 1, 16, 48, 18 ) ) );
+
+ selectNext( False );
+ if( (aOptions & fdNoLoadDir) == 0 )
+ readDirectory();
+}
+
+TFileDialog::~TFileDialog()
+{
+ delete (char *)directory;
+}
+
+void TFileDialog::shutDown()
+{
+ fileName = 0;
+ fileList = 0;
+ TDialog::shutDown();
+}
+
+static Boolean relativePath( const char *path )
+{
+ /* SS: changed */
+
+ if (path[0] == '/') return False;
+ else return True;
+}
+
+/* Function defined but not used
+static void noWildChars( char *dest, const char *src )
+{
+ while( *src != EOS )
+ {
+ if( *src != '?' && *src != '*' )
+ *dest++ = *src;
+ src++;
+ }
+ *dest = EOS;
+}
+*/
+
+/* 'src' is cast to unsigned char * so that isspace sign extends it
+ correctly. */
+static void trim( char *dest, const char *src )
+{
+ while( *src != EOS && isspace( * (const unsigned char *) src ) )
+ src++;
+ while( *src != EOS && !isspace( * (const unsigned char *) src ) )
+ *dest++ = *src++;
+ *dest = EOS;
+}
+
+void TFileDialog::getFileName( char *s )
+{
+ /* SS: changed */
+
+ char buf[PATH_MAX];
+
+ trim( buf, fileName->data );
+ if( relativePath( buf ) == True )
+ {
+ strcpy( buf, directory );
+ trim( buf + strlen(buf), fileName->data );
+ }
+ fexpand( buf );
+ strcpy( s, buf );
+}
+
+void TFileDialog::handleEvent(TEvent& event)
+{
+ TDialog::handleEvent(event);
+ if( event.what == evCommand )
+ {
+ switch( event.message.command )
+ {
+ case cmFileOpen:
+ case cmFileReplace:
+ case cmFileClear:
+ endModal(event.message.command);
+ clearEvent(event);
+ break;
+ default:
+ break;
+ }
+ }
+ else if( event.what == evBroadcast && event.message.command == cmFileDoubleClicked )
+ {
+ event.what = evCommand;
+ event.message.command = cmOK;
+ putEvent( event );
+ clearEvent( event );
+ }
+}
+
+void TFileDialog::readDirectory()
+{
+ char curDir[PATH_MAX];
+ getCurDir( curDir );
+ if( directory )
+ delete (char *)directory;
+ directory = newStr( curDir );
+ fileList->readDirectory( wildCard );
+}
+
+void TFileDialog::setData( void *rec )
+{
+ TDialog::setData( rec );
+ if( *(char *)rec != EOS && isWild( (char *)rec ) )
+ {
+ valid( cmFileInit );
+ fileName->select();
+ }
+}
+
+void TFileDialog::getData( void *rec )
+{
+ getFileName( (char *)rec );
+}
+
+Boolean TFileDialog::checkDirectory( const char *str )
+{
+ if( pathValid( str ) )
+ return True;
+ else
+ {
+ messageBox( invalidDriveText, mfError | mfOKButton );
+ fileName->select();
+ return False;
+ }
+}
+
+Boolean TFileDialog::valid(ushort command)
+{
+ /* SS: changed */
+
+ char fName[PATH_MAX];
+ char name[PATH_MAX];
+
+ if( command == 0 )
+ return True;
+
+ if( TDialog::valid( command ) )
+ {
+ if( command != cmCancel && command != cmFileClear )
+ {
+ getFileName( fName );
+
+ if( isWild( fName ) )
+ {
+ /* SS: changed */
+
+ char path[PATH_MAX];
+ expandPath(fName, path, name);
+ if( checkDirectory( path ) )
+ {
+ delete (char *)directory;
+ directory = newStr( path );
+ strcpy( wildCard, name );
+ if( command != cmFileInit )
+ fileList->select();
+ fileList->readDirectory( directory, wildCard );
+ }
+ }
+ else if( isDir( fName ) )
+ {
+ if( checkDirectory( fName ) )
+ {
+ delete (char *)directory;
+ strcat( fName, "/" );
+ directory = newStr( fName );
+ if( command != cmFileInit )
+ fileList->select();
+ fileList->readDirectory( directory, wildCard );
+ }
+ }
+ else if( validFileName( fName ) )
+ return True;
+ else
+ {
+ messageBox( invalidFileText, mfError | mfOKButton );
+ return False;
+ }
+ }
+ else
+ return True;
+ }
+ return False;
+}
+
+#if !defined(NO_STREAMABLE)
+
+void TFileDialog::write( opstream& os )
+{
+ TDialog::write( os );
+ os.writeString( wildCard );
+ os << fileName << fileList;
+}
+
+void *TFileDialog::read( ipstream& is )
+{
+ TDialog::read( is );
+ is.readString( wildCard, sizeof(wildCard) );
+ is >> fileName >> fileList;
+ readDirectory();
+ return this;
+}
+
+TStreamable *TFileDialog::build()
+{
+ return new TFileDialog( streamableInit );
+}
+
+
+#endif
diff --git a/freebsdtvision/lib/TFileEditor.cc b/freebsdtvision/lib/TFileEditor.cc
new file mode 100644
index 0000000..da2a93d
--- /dev/null
+++ b/freebsdtvision/lib/TFileEditor.cc
@@ -0,0 +1,303 @@
+/*
+ * TFileEditor.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
+ */
+
+#define Uses_TProgram
+#define Uses_TGroup
+#define Uses_TEditor
+#define Uses_TFileEditor
+#define Uses_TEvent
+#define Uses_opstream
+#define Uses_ipstream
+#include <tvision/tv.h>
+
+#include <fstream>
+
+#include <limits.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+using std::ifstream;
+using std::ios;
+using std::ofstream;
+using std::streampos;
+
+inline ushort min( ushort u1, ushort u2 )
+{
+ return u1 < u2 ? u1 : u2;
+}
+
+inline uint min( uint u1, uint u2 )
+{
+ return u1 < u2 ? u1 : u2;
+}
+
+TFileEditor::TFileEditor( const TRect& bounds,
+ TScrollBar *aHScrollBar,
+ TScrollBar *aVScrollBar,
+ TIndicator *aIndicator,
+ const char *aFileName
+ ) :
+ TEditor( bounds, aHScrollBar, aVScrollBar, aIndicator, 0 )
+{
+ if( aFileName == 0 )
+ fileName[0] = EOS;
+ else
+ {
+ strcpy( fileName, aFileName );
+ fexpand( fileName );
+ if( isValid )
+ isValid = loadFile();
+ }
+}
+
+void TFileEditor::doneBuffer()
+{
+ delete buffer;
+}
+
+void TFileEditor::handleEvent( TEvent& event )
+{
+ TEditor::handleEvent(event);
+ switch( event.what )
+ {
+ case evCommand:
+ switch( event.message.command )
+ {
+ case cmSave:
+ save();
+ break;
+ case cmSaveAs:
+ saveAs();
+ break;
+ default:
+ return;
+ }
+ break;
+ default:
+ return;
+ }
+ clearEvent(event);
+}
+
+void TFileEditor::initBuffer()
+{
+ buffer = new char[bufSize];
+}
+
+Boolean TFileEditor::loadFile()
+{
+ ifstream f( fileName, ios::in | ios::binary );
+ if( !f )
+ {
+ setBufLen( 0 );
+ return True;
+ }
+ else
+ {
+ streampos fSize = filelength(f);
+ if( setBufSize(fSize) == False )
+ {
+ editorDialog( edOutOfMemory );
+ return False;
+ }
+ f.read( &buffer[bufSize - fSize], fSize );
+ if( !f )
+ {
+ editorDialog( edReadError, fileName );
+ return False;
+ }
+ else
+ {
+ setBufLen(fSize);
+ return True;
+ }
+ }
+}
+
+Boolean TFileEditor::save()
+{
+ if( *fileName == EOS )
+ return saveAs();
+ else
+ return saveFile();
+}
+
+Boolean TFileEditor::saveAs()
+{
+ Boolean res = False;
+ if( editorDialog( edSaveAs, fileName ) != cmCancel )
+ {
+ fexpand( fileName );
+ message( owner, evBroadcast, cmUpdateTitle, 0 );
+ res = saveFile();
+ if( isClipboard() == True )
+ *fileName = EOS;
+ }
+ return res;
+}
+
+static void writeBlock( ofstream& f, char *buf, uint len )
+{
+ while( len > 0 )
+ {
+ int l = len < INT_MAX ? len : INT_MAX;
+ f.write( buf, l );
+ buf += l;
+ len -= l;
+ }
+}
+
+Boolean TFileEditor::saveFile()
+{
+ if( (editorFlags & efBackupFiles) != 0 )
+ {
+ /* SS: little change */
+
+ char backupName[PATH_MAX];
+ sprintf(backupName, "%s%s", fileName, backupExt);
+ rename( fileName, backupName );
+ }
+
+ ofstream f( fileName, ios::out | ios::binary );
+
+ if( !f )
+ {
+ editorDialog( edCreateError, fileName );
+ return False;
+ }
+ else
+ {
+ writeBlock( f, buffer, curPtr );
+ writeBlock( f, buffer+curPtr+gapLen, bufLen-curPtr );
+
+ if( !f )
+ {
+ editorDialog( edWriteError, fileName );
+ return False;
+ }
+ else
+ {
+ modified = False;
+ update(ufUpdate);
+ }
+ }
+ return True;
+}
+
+Boolean TFileEditor::setBufSize( uint newSize )
+{
+ if( newSize == 0)
+ newSize = 0x1000;
+ else
+ newSize = (newSize + 0x0FFF) & 0xFFFFF000;
+ if( newSize != bufSize )
+ {
+ char *temp = buffer;
+ /* Bypass safety pool to allocate buffer, but check for possible
+ NULL return value. */
+ if( (buffer = (char *) malloc( newSize )) == 0 )
+ {
+ delete temp;
+ return False;
+ }
+ ulong n = bufLen - curPtr + delCount;
+ memcpy( buffer, temp, min( newSize, bufSize ) );
+ memmove( &buffer[newSize - n], &temp[bufSize - n], n );
+ delete temp;
+ bufSize = newSize;
+ gapLen = bufSize - bufLen;
+ }
+ return True;
+}
+
+void TFileEditor::shutDown()
+{
+ setCmdState(cmSave, False);
+ setCmdState(cmSaveAs, False);
+ TEditor::shutDown();
+}
+
+void TFileEditor::updateCommands()
+{
+ TEditor::updateCommands();
+ setCmdState(cmSave, True);
+ setCmdState(cmSaveAs, True);
+}
+
+Boolean TFileEditor::valid( ushort command )
+{
+ if( command == cmValid )
+ return isValid;
+ else
+ {
+ if( modified == True )
+ {
+ int d;
+ if( *fileName == EOS )
+ d = edSaveUntitled;
+ else
+ d = edSaveModify;
+
+ switch( editorDialog( d, fileName ) )
+ {
+ case cmYes:
+ return save();
+ case cmNo:
+ modified = False;
+ return True;
+ case cmCancel:
+ return False;
+ }
+ }
+ }
+ return True;
+}
+
+#if !defined(NO_STREAMABLE)
+
+void TFileEditor::write( opstream& os )
+{
+ TEditor::write( os );
+ os.writeString( fileName );
+ os << selStart << selEnd << curPtr;
+}
+
+void *TFileEditor::read( ipstream& is )
+{
+ TEditor::read( is );
+ bufSize = 0;
+ is.readString( fileName, sizeof( fileName ) );
+ if( isValid )
+ {
+ isValid = loadFile();
+ ulong sStart, sEnd, curs;
+ is >> sStart >> sEnd >> curs;
+ if( isValid && sEnd <= bufLen )
+ {
+ setSelect( sStart, sEnd, Boolean(curs == sStart) );
+ trackCursor( True );
+ }
+ }
+ return this;
+}
+
+TStreamable *TFileEditor::build()
+{
+ return new TFileEditor( streamableInit );
+}
+
+TFileEditor::TFileEditor( StreamableInit ) : TEditor( streamableInit )
+{
+}
+
+#endif
diff --git a/freebsdtvision/lib/TFileList.cc b/freebsdtvision/lib/TFileList.cc
new file mode 100644
index 0000000..42b7659
--- /dev/null
+++ b/freebsdtvision/lib/TFileList.cc
@@ -0,0 +1,246 @@
+/*
+ * TFileList.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#define Uses_MsgBox
+#define Uses_TFileList
+#define Uses_TRect
+#define Uses_TSearchRec
+#define Uses_TEvent
+#define Uses_TGroup
+#define Uses_TKeys
+#include <tvision/tv.h>
+
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <assert.h>
+#include <ctype.h>
+#include <dirent.h>
+#include <errno.h>
+#include <glob.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <string.h>
+#include <time.h>
+
+void fexpand( char * );
+
+TFileList::TFileList( const TRect& bounds,
+ TScrollBar *aScrollBar) :
+ TSortedListBox( bounds, 2, aScrollBar )
+{
+}
+
+TFileList::~TFileList()
+{
+ if ( list() )
+ destroy ( list() );
+}
+
+void TFileList::focusItem( short item )
+{
+ TSortedListBox::focusItem( item );
+ message( owner, evBroadcast, cmFileFocused, list()->at(item) );
+}
+
+void TFileList::selectItem( short item )
+{
+ message( owner, evBroadcast, cmFileDoubleClicked, list()->at(item) );
+}
+
+void TFileList::getData( void * )
+{
+}
+
+void TFileList::setData( void * )
+{
+}
+
+ushort TFileList::dataSize()
+{
+ return 0;
+}
+
+void* TFileList::getKey( const char *s )
+{
+static TSearchRec sR;
+
+ if( (shiftState & kbShift) != 0 || *s == '.' )
+ sR.attr = FA_DIREC;
+ else
+ sR.attr = 0;
+ strcpy( sR.name, s );
+
+ /* SS: changed */
+
+ for (char *p = sR.name; *p != '\0'; p++) *p = toupper(*p);
+ return &sR;
+}
+
+void TFileList::getText( char *dest, short item, short maxChars )
+{
+ TSearchRec *f = (TSearchRec *)(list()->at(item));
+
+ strncpy( dest, f->name, maxChars );
+ dest[maxChars] = '\0';
+ if( f->attr & FA_DIREC )
+ strcat( dest, "/" );
+}
+
+
+void TFileList::readDirectory( const char *dir, const char *wildCard )
+{
+ char path[PATH_MAX];
+ strcpy( path, dir );
+ strcat( path, wildCard );
+ readDirectory( path );
+}
+
+struct DirSearchRec : public TSearchRec
+{
+ /* SS: changed */
+
+ void readFf_blk(char *filename, struct stat &s)
+ {
+ attr = FA_ARCH;
+ if (S_ISDIR(s.st_mode)) attr |= FA_DIREC;
+ strcpy(name, filename);
+ size = s.st_size;
+
+ ftime t;
+ struct tm *broken = localtime(&s.st_mtime);
+ t.ft_tsec = broken->tm_sec / 2;
+ t.ft_min = broken->tm_min;
+ t.ft_hour = broken->tm_hour;
+ t.ft_day = broken->tm_mday;
+
+ /*
+ * Month value should begin at 1.
+ * Date: Thu, 23 Jan 1997 11:34:50 +0100 (MET)
+ */
+ t.ft_month = broken->tm_mon + 1;
+ t.ft_year = broken->tm_year - 80;
+ time = *(long *) &t;
+ }
+};
+
+void TFileList::readDirectory( const char *aWildCard )
+{
+ /* SS: changed */
+
+ DIR *dp;
+ DirSearchRec *p = NULL;
+ char dir[PATH_MAX];
+ char file[PATH_MAX];
+ char path[PATH_MAX];
+ char *np;
+ dirent *de;
+ glob_t gl;
+ struct stat s;
+
+ strcpy( path, aWildCard );
+ if (!isWild(path)) strcat(path, "*");
+ fexpand( path );
+ expandPath(path, dir, file);
+ TFileCollection *fileList = new TFileCollection( 5, 5 );
+
+ /* find all filenames that match our wildcards */
+
+ /*
+ * The use of 'glob' function was proposed by:
+ * Rainer Keuchel <r_keuchel@smaug.netwave.de>
+ * Date: 18 Jan 1997 22:52:12 +0000
+ */
+#ifdef GLOB_PERIOD
+ if (glob(path, GLOB_PERIOD, NULL, &gl) == 0)
+#else
+ if (glob(path, 0, NULL, &gl) == 0)
+#endif
+ for (int i = 0; i < gl.gl_pathc; i++)
+ {
+ /* is this a regular file ? */
+
+ if (stat(gl.gl_pathv[i], &s) == 0 && S_ISREG(s.st_mode))
+ {
+ if ((p = new DirSearchRec) == NULL) break;
+
+ /* strip directory part */
+
+ if ((np = strrchr(gl.gl_pathv[i], '/')) != NULL) np++;
+ else np = gl.gl_pathv[i];
+ p->readFf_blk(np, s);
+ fileList->insert( p );
+ }
+ }
+ globfree(&gl);
+
+ /* now read all directory names */
+
+ sprintf(path, "%s.", dir);
+ if ((dp = opendir(path)) != NULL)
+ {
+ while ((de = readdir(dp)) != NULL)
+ {
+ /* we don't want these directories */
+
+ if (strcmp(de->d_name, ".") == 0 ||
+ strcmp(de->d_name, "..") == 0) continue;
+
+ /* is it a directory ? */
+
+ sprintf(path, "%s%s", dir, de->d_name);
+ if (stat(path, &s) == 0 && S_ISDIR(s.st_mode))
+ {
+ if ((p = new DirSearchRec) == NULL) break;
+ p->readFf_blk(de->d_name, s);
+ fileList->insert( p );
+ }
+ }
+ closedir(dp);
+ }
+
+ if( strlen( dir ) > 1 )
+ {
+ p = new DirSearchRec;
+ if( p != 0 )
+ {
+ sprintf(path, "%s..", dir);
+ if (stat(path, &s) == 0) p->readFf_blk("..", s);
+ else
+ {
+ strcpy( p->name, ".." );
+ p->size = 0;
+ p->time = 0x210000uL;
+ p->attr = FA_DIREC;
+ }
+ fileList->insert( p );
+ }
+ }
+
+ if( p == 0 )
+ messageBox( tooManyFiles, mfOKButton | mfWarning );
+ newList(fileList);
+ if( list()->getCount() > 0 )
+ message( owner, evBroadcast, cmFileFocused, list()->at(0) );
+ else
+ {
+ static DirSearchRec noFile;
+ message( owner, evBroadcast, cmFileFocused, &noFile );
+ }
+}
+
+#if !defined(NO_STREAMABLE)
+
+TStreamable *TFileList::build()
+{
+ return new TFileList( streamableInit );
+}
+
+#endif
diff --git a/freebsdtvision/lib/TFrame.cc b/freebsdtvision/lib/TFrame.cc
new file mode 100644
index 0000000..18dde0c
--- /dev/null
+++ b/freebsdtvision/lib/TFrame.cc
@@ -0,0 +1,205 @@
+/*
+ * TFrame.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#define Uses_TFrame
+#define Uses_TDrawBuffer
+#define Uses_TWindow
+#define Uses_TRect
+#define Uses_TPoint
+#define Uses_TEvent
+#include <tvision/tv.h>
+
+#include <string.h>
+
+#define cpFrame "\x01\x01\x02\x02\x03"
+
+TFrame::TFrame( const TRect& bounds ) : TView( bounds )
+{
+ growMode = gfGrowHiX + gfGrowHiY;
+ eventMask |= evBroadcast | evMouseUp;
+}
+
+void TFrame::draw()
+{
+ ushort cFrame, cTitle;
+ short f, i, l, width;
+ TDrawBuffer b;
+
+ if( (state & sfDragging) != 0 )
+ {
+ cFrame = 0x0505;
+ cTitle = 0x0005;
+ f = 0;
+ }
+ else if( (state & sfActive) == 0 )
+ {
+ cFrame = 0x0101;
+ cTitle = 0x0002;
+ f = 0;
+ }
+ else
+ {
+ cFrame = 0x0503;
+ cTitle = 0x0004;
+ f = 9;
+ }
+
+ cFrame = getColor(cFrame);
+ cTitle = getColor(cTitle);
+
+ width = size.x;
+ l = width - 10;
+
+ if( ( ((TWindow *)owner)->flags & (wfClose | wfZoom) ) != 0 )
+ l -= 6;
+ frameLine( b, 0, f, uchar(cFrame) );
+ if( ((TWindow *)owner)->number != wnNoNumber &&
+ ((TWindow *)owner)->number < 10
+ )
+ {
+ l -= 4;
+ if( ( ((TWindow *)owner)->flags & wfZoom ) != 0 )
+ i = 7;
+ else
+ i = 3;
+ b.putChar( width-i, ((TWindow *)owner)->number + '0' );
+ }
+
+ if( owner != 0 )
+ {
+ const char *title = ((TWindow *)owner)->getTitle(l);
+ if( title != 0 )
+ {
+ l = min( cstrlen(title), width - 10 );
+ l = max( l, 0 );
+ i = (width - l) >> 1;
+ b.putChar( i-1, ' ' );
+ b.moveBuf( i, title, cTitle, l );
+ b.putChar( i+l, ' ' );
+ }
+ }
+
+ if( (state & sfActive) != 0 )
+ {
+ if( ( ((TWindow *)owner)->flags & wfClose ) != 0 )
+ b.moveCStr( 2, closeIcon, cFrame );
+ if( ( ((TWindow *)owner)->flags & wfZoom ) != 0 )
+ {
+ TPoint minSize, maxSize;
+ owner->sizeLimits( minSize, maxSize );
+ if( owner->size == maxSize )
+ b.moveCStr( width-5, unZoomIcon, cFrame );
+ else
+ b.moveCStr( width-5, zoomIcon, cFrame );
+ }
+ }
+
+ writeLine( 0, 0, size.x, 1, b );
+ for( i = 1; i <= size.y - 2; i++ )
+ {
+ frameLine( b, i, f + 3, cFrame );
+ writeLine( 0, i, size.x, 1, b );
+ }
+ frameLine( b, size.y - 1, f + 6, cFrame );
+ if( (state & sfActive) != 0 )
+ if( ( ((TWindow *)owner)->flags & wfGrow ) != 0 )
+ b.moveCStr( width-2, dragIcon, cFrame );
+ writeLine( 0, size.y - 1, size.x, 1, b );
+}
+
+TPalette& TFrame::getPalette() const
+{
+ static TPalette palette( cpFrame, sizeof( cpFrame )-1 );
+ return palette;
+}
+
+void TFrame::dragWindow( TEvent& event, uchar mode )
+{
+ TRect limits;
+ TPoint min, max;
+
+ limits = owner->owner->getExtent();
+ owner->sizeLimits( min, max );
+ owner->dragView( event, owner->dragMode | mode, limits, min, max );
+ clearEvent( event );
+}
+
+void TFrame::handleEvent( TEvent& event )
+{
+ TView::handleEvent(event);
+ if( event.what == evMouseDown )
+ {
+ TPoint mouse = makeLocal( event.mouse.where );
+ if( mouse.y == 0 )
+ {
+ if( (((TWindow *)owner)->flags & wfClose ) != 0 &&
+ (state & sfActive) &&
+ mouse.x >= 2 &&
+ mouse.x <= 4
+ )
+ {
+ while(mouseEvent( event, evMouse ))
+ ;
+ mouse = makeLocal( event.mouse.where );
+ if( mouse.y == 0 && mouse.x >= 2 && mouse.x <= 4 )
+ {
+ event.what = evCommand;
+ event.message.command = cmClose;
+ event.message.infoPtr = owner;
+ putEvent( event );
+ clearEvent( event );
+ }
+ }
+ else
+ if( (((TWindow *)owner)->flags & wfZoom) != 0 &&
+ (state & sfActive) &&
+ ((mouse.x >= size.x - 5 && mouse.x <= size.x - 3) ||
+ (event.mouse.eventFlags & meDoubleClick)
+ )
+ )
+ {
+ event.what = evCommand;
+ event.message.command = cmZoom;
+ event.message.infoPtr = owner;
+ putEvent( event );
+ clearEvent( event );
+ }
+ else
+ if( ( ((TWindow *)owner)->flags & wfMove ) != 0 )
+ dragWindow( event, dmDragMove );
+ }
+ else
+ if( (mouse.x >= size.x - 2 && mouse.y >= size.y - 1 ) &&
+ (state & sfActive))
+ if( ( ((TWindow *)owner)->flags & wfGrow ) != 0 )
+ dragWindow( event, dmDragGrow );
+ }
+}
+
+void TFrame::setState( ushort aState, Boolean enable )
+{
+ TView::setState( aState, enable );
+ if( (aState & (sfActive | sfDragging)) != 0 )
+ drawView();
+}
+
+#if !defined(NO_STREAMABLE)
+
+TStreamable *TFrame::build()
+{
+ return new TFrame( streamableInit );
+}
+
+TFrame::TFrame( StreamableInit ) : TView( streamableInit )
+{
+}
+
+#endif
diff --git a/freebsdtvision/lib/TGroup.cc b/freebsdtvision/lib/TGroup.cc
new file mode 100644
index 0000000..8731ca0
--- /dev/null
+++ b/freebsdtvision/lib/TGroup.cc
@@ -0,0 +1,1137 @@
+/*
+ * TGroup.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#define Uses_TScreen
+#define Uses_TGroup
+#define Uses_TView
+#define Uses_TRect
+#define Uses_TEvent
+#define Uses_opstream
+#define Uses_ipstream
+#include <tvision/tv.h>
+
+TView *TheTopView = NULL;
+TGroup *ownerGroup = NULL;
+
+/**
+ * Calls @ref TView::TView(bounds), sets @ref ofSelectable and
+ * @ref ofBuffered in @ref options and sets @ref eventMask to 0xFFFF. The
+ * members @ref last, @ref current, @ref buffer are set to NULL.
+ * The @ref lockFlag and @ref endState are all set to zero.
+ */
+TGroup::TGroup(const TRect& bounds)
+ : TView(bounds),
+ current(NULL),
+ last(NULL),
+ phase(phFocused),
+ buffer(NULL),
+ lockFlag(0),
+ endState(0)
+{
+ options |= ofSelectable | ofBuffered;
+ clip = getExtent();
+ eventMask = 0xFFFF;
+}
+
+/**
+ * Hides the group using @ref hide(), then disposes of each subview in
+ * the group using delete. Finally, the buffer is freed (if one).
+ */
+TGroup::~TGroup()
+{
+}
+
+/**
+ * Used internally by @ref TObject::destroy() to ensure correct
+ * destruction of derived and related objects.
+ *
+ * shutDown() is overridden in many classes to ensure the proper setting
+ * of related data members when destroy is called.
+ */
+void
+TGroup::shutDown()
+{
+ TView *p = last;
+ if (p != NULL) {
+ do {
+ p->hide();
+ p = p->prev();
+ } while (p != last);
+
+ do {
+ TView *T = p->prev();
+ destroy(p);
+ p = T;
+ } while (last != NULL);
+ }
+ freeBuffer();
+ current = 0;
+ TView::shutDown();
+}
+
+/**
+ * Undocumented.
+ */
+static void
+doCalcChange(TView *p, void *d)
+{
+ TRect r;
+ ((TGroup *) p)->calcBounds(r, *(TPoint *) d);
+ ((TGroup *) p)->changeBounds(r);
+}
+
+static void
+doAwaken(TView* v, void *)
+{
+ v->awaken();
+}
+
+/**
+ * Calls the @ref TView::awaken() methods of each of the group's subviews
+ * in Z-order.
+ */
+void
+TGroup::awaken()
+{
+ forEach(doAwaken, 0);
+}
+
+/**
+ * Overrides @ref TView::changeBounds(). Changes the group's bounds to
+ * `bounds' and then calls @ref calcBounds() followed by
+ * @ref TView::changeBounds() for each subview in the group.
+ */
+void
+TGroup::changeBounds(const TRect& bounds)
+{
+ TPoint d;
+
+ d.x = (bounds.b.x - bounds.a.x) - size.x;
+ d.y = (bounds.b.y - bounds.a.y) - size.y;
+ if (d.x == 0 && d.y == 0) {
+ setBounds(bounds);
+ drawView();
+ } else {
+ freeBuffer();
+ setBounds(bounds);
+ clip = getExtent();
+ getBuffer();
+ lock();
+ forEach(doCalcChange, &d);
+ unlock();
+ }
+}
+
+void
+addSubviewDataSize(TView *p, void *T)
+{
+ *((ushort *) T) += ((TGroup *) p)->dataSize();
+}
+
+/**
+ * Overrides @ref TView::dataSize(). Returns total size of group by
+ * calling and accumulating dataSize() for each subview.
+ * @see TGroup::getData
+ * @see TGroup::setData
+ */
+ushort
+TGroup::dataSize()
+{
+ ushort T = 0;
+ forEach(addSubviewDataSize, &T);
+ return T;
+}
+
+/**
+ * Removes the subview `p' from the group and redraws the other subviews
+ * as required. p's owner and next members are set to 0.
+ */
+void
+TGroup::remove(TView *p)
+{
+ if (p) {
+ ushort saveState = p->state;
+ p->hide();
+ removeView(p);
+ p->owner = NULL;
+ p->next = NULL;
+ if ((saveState & sfVisible) != 0)
+ p->show();
+ }
+}
+
+/**
+ * Overrides @ref TView::draw(). If a cache buffer exists (see
+ * @ref TGroup::buffer data member), then the buffer is written to the
+ * screen using @ref TView::writeBuf().
+ *
+ * Otherwise, each subview is told to draw itself using a call to
+ * @ref TGroup::redraw().
+ */
+void
+TGroup::draw()
+{
+ if (buffer == 0) {
+ getBuffer();
+ if (buffer != 0) {
+ lockFlag++;
+ redraw();
+ lockFlag--;
+ }
+ }
+ if (buffer != 0)
+ writeBuf(0, 0, size.x, size.y, buffer);
+ else {
+ clip = getClipRect();
+ redraw();
+ clip = getExtent();
+ }
+}
+
+/**
+ * Calls @ref TView::drawView() for each subview starting at `p', until
+ * the subview `bottom' is reached.
+ */
+void
+TGroup::drawSubViews(TView *p, TView *bottom)
+{
+ while (p != bottom) {
+ p->drawView();
+ p = p->nextView();
+ }
+}
+
+/**
+ * If this group is the current modal view, endModal() terminates its
+ * modal state.
+ *
+ * Parameter `command' is passed to @ref TGroup::execView() (which made
+ * this view modal in the first place), which returns `command' as its
+ * result. If this group is not the current modal view, it calls
+ * @ref TView::endModal().
+ */
+void
+TGroup::endModal(ushort command)
+{
+ if ((state & sfModal) != 0)
+ endState = command;
+ else
+ TView::endModal(command);
+}
+
+/**
+ * Is called whenever the modal @ref TGroup::execute() event-handling loop
+ * encounters an event that cannot be handled.
+ *
+ * The default action is: if the group's @ref owner is nonzero,
+ * eventError() calls its owner's eventError(). Normally this chains back
+ * to @ref TApplication's eventError(). You can override eventError() to
+ * trigger appropriate action.
+ * @see TProgram::eventError
+ */
+void
+TGroup::eventError(TEvent& event)
+{
+ if (owner != 0)
+ owner->eventError(event);
+}
+
+/**
+ * Overrides @ref TView::execute(). execute() is a group's main event
+ * loop: it repeatedly gets events using @ref getEvent() and handles
+ * them using @ref handleEvent().
+ *
+ * The event loop is terminated by the group or some subview through a
+ * call to @ref endModal(). Before returning, however, execute() calls
+ * @ref valid() to verify that the modal state can indeed be terminated.
+ */
+ushort
+TGroup::execute()
+{
+ do {
+ endState = 0;
+ do {
+ TEvent e;
+ getEvent(e);
+ handleEvent(e);
+ if (e.what != evNothing)
+ eventError(e);
+ } while (endState == 0);
+ } while (!valid(endState));
+ return endState;
+}
+
+/**
+ * execView() is the "modal" counterpart of the "modeless" @ref insert()
+ * and @ref remove() member functions.
+ *
+ * Unlike @ref insert(), after inserting a view into the group, execView()
+ * waits for the view to execute, then removes the view, and finally
+ * returns the result of the execution.
+ *
+ * execView() is used in a number of places throughout TVision, most
+ * notably to implement @ref TProgram::run() and to execute modal dialog
+ * boxes.
+ *
+ * execView() saves the current context (the selected view, the modal
+ * view, and the command set), makes `p' modal by calling
+ * p->setState(sfModal, True), inserts `p' into the group (if it isn't
+ * already inserted), and calls p->execute().
+ * @see TView::execute
+ * @see TView::setState
+ *
+ * When p->execute() returns, the group is restored to its previous state,
+ * and the result of p->execute() is returned as the result of the
+ * execView() call.
+ *
+ * If `p' is 0 upon a call to execView(), a value of cmCancel is returned.
+ */
+ushort
+TGroup::execView(TView *p)
+{
+ if (p == NULL)
+ return cmCancel;
+
+ ushort saveOptions = p->options;
+ TGroup *saveOwner = p->owner;
+ TView *saveTopView = TheTopView;
+ TView *saveCurrent = current;
+ TCommandSet saveCommands;
+ getCommands(saveCommands);
+ TheTopView = p;
+ p->options = p->options & ~ofSelectable;
+ p->setState(sfModal, True);
+ setCurrent(p, enterSelect);
+ if (saveOwner == 0)
+ insert(p);
+ ushort retval = p->execute();
+ if (saveOwner == 0)
+ remove(p);
+ setCurrent(saveCurrent, leaveSelect);
+ p->setState(sfModal, False);
+ p->options = saveOptions;
+ TheTopView = saveTopView;
+ setCommands(saveCommands);
+ return retval;
+}
+
+/**
+ * Returns a pointer to the first subview (the one closest to the top in
+ * Z-order), or 0 if the group has no subviews.
+ */
+TView *
+TGroup::first()
+{
+ if (last == NULL)
+ return NULL;
+ else
+ return last->next;
+}
+
+/**
+ * Undocumented.
+ */
+TView *
+TGroup::findNext(Boolean forwards)
+{
+ TView *result = NULL;
+
+ if (current) {
+ TView *p = current;
+ do {
+ if (forwards)
+ p = p->next;
+ else
+ p = p->prev();
+
+ } while (!((((p->state & (sfVisible | sfDisabled)) == sfVisible) && (p->options & ofSelectable)) || (p == current)));
+
+ if (p != current)
+ result = p;
+ }
+ return result;
+}
+
+/**
+ * Undocumented.
+ */
+Boolean
+TGroup::focusNext(Boolean forwards)
+{
+ TView *p = findNext(forwards);
+
+ return (p == NULL) ? True : p->focus();
+}
+
+/**
+ * Returns a pointer to the first subview that matches its state with
+ * `aState' and its options with `aOptions'.
+ */
+TView *
+TGroup::firstMatch(ushort aState, ushort aOptions)
+{
+ if (last == 0)
+ return 0;
+
+ TView *temp = last;
+ while (1) {
+ if (((temp->state & aState) == aState) &&
+ ((temp->options & aOptions) == aOptions))
+ return temp;
+
+ temp = temp->next;
+ if (temp == last)
+ return 0;
+ }
+}
+
+/**
+ * Frees the group's draw buffer (if one exists) by calling delete buffer
+ * and setting @ref buffer to 0.
+ */
+void
+TGroup::freeBuffer()
+{
+ if ((options & ofBuffered) != 0 && buffer != 0) {
+ delete buffer;
+ buffer = 0;
+ }
+}
+
+/**
+ * If the group is @ref sfExposed and @ref ofBuffered, a draw buffer is
+ * created. The buffer size will be (size.x * size.y) and the
+ * @ref buffer data member is set to point at the new buffer.
+ * @see TView::options
+ * @see TView::state
+ */
+void
+TGroup::getBuffer()
+{
+ if ((state & sfExposed) != 0)
+ if ((options & ofBuffered) != 0 && (buffer == 0))
+ buffer = new ushort[size.x * size.y];
+}
+
+/**
+ * Overrides @ref TView::getData(). Calls getData() for each subview in
+ * reverse order, incrementing the location given by `rec' by the
+ * dataSize() of each subview.
+ * @see TGroup::dataSize
+ * @see TGroup::setData
+ */
+void
+TGroup::getData(void *rec)
+{
+ ushort i = 0;
+ if (last != 0) {
+ TView *v = last;
+ do {
+ v->getData(((char *)rec) + i);
+ i += v->dataSize();
+ v = v->prev();
+ } while (v != last);
+ }
+}
+
+struct handleStruct {
+ TEvent &event;
+ TGroup &grp;
+
+ handleStruct(TEvent &e, TGroup &g)
+ : event(e), grp(g)
+ {
+ }
+};
+
+static void
+doHandleEvent(TView *p, void *s)
+{
+ handleStruct *ptr = (handleStruct *) s;
+
+ if (p == NULL ||
+ ((p->state & sfDisabled) != 0 &&
+ (ptr->event.what & (positionalEvents | focusedEvents)) != 0))
+ return;
+
+ switch (ptr->grp.phase) {
+ case TView::phPreProcess:
+ if ((p->options & ofPreProcess) == 0)
+ return;
+ break;
+ case TView::phPostProcess:
+ if ((p->options & ofPostProcess) == 0)
+ return;
+ break;
+ default:
+ break;
+ }
+ if ((ptr->event.what & p->eventMask) != 0)
+ p->handleEvent(ptr->event);
+}
+
+static Boolean
+hasMouse(TView *p, void *s)
+{
+ return p->containsMouse(*(TEvent *) s);
+}
+
+/**
+ * Overrides @ref TView::handleEvent(). A group basically handles events by
+ * passing them to the handleEvent() member functions of one or more of
+ * its subviews. The actual routing, however, depends on the event class.
+ *
+ * For focused events (by default, @ref evKeyDown and @ref evCommand),
+ * event handling is done in three phases (see @ref phase for more):
+ *
+ * -# The group's phase member is set to phPreProcess and the event
+ * is passed to the handleEvent() of all subviews that have the
+ * @ref ofPreProcess flag set in @ref options.
+ * -# Phase is set to phFocused and the event is passed to the
+ * handleEvent() of the currently selected view.
+ * -# Phase is set to phPostProcess and the event is passed to the
+ * handleEvent() of all subviews that have the @ref ofPostProcess flag
+ * set in @ref options.
+ *
+ * For positional events (by default, @ref evMouse), the event is passed
+ * to the handleEvent() of the first subview whose bounding rectangle
+ * contains the point given by `event.where'.
+ *
+ * For broadcast events (events that aren't focused or positional), the
+ * event is passed to the handleEvent() of each subview in the group in
+ * Z-order.
+ *
+ * If a subview's @ref eventMask member masks out an event class,
+ * TGroup::handleEvent() will never send events of that class to the
+ * subview. For example, the @ref TView::eventMask disables
+ * @ref evMouseUp, @ref evMouseMove, and @ref evMouseAuto, so
+ * TGroup::handleEvent() will never send such events to a standard TView.
+ */
+void
+TGroup::handleEvent(TEvent& event)
+{
+ TView::handleEvent(event);
+
+ handleStruct hs(event, *this);
+
+ if ((event.what & focusedEvents) != 0) {
+ phase = phPreProcess;
+ forEach(doHandleEvent, &hs);
+
+ phase = phFocused;
+ doHandleEvent(current, &hs);
+
+ phase = phPostProcess;
+ forEach(doHandleEvent, &hs);
+ } else {
+ phase = phFocused;
+ if ((event.what & positionalEvents) != 0) {
+#ifndef __UNPATCHED
+ // get pointer to topmost view holding mouse
+ TView *p = firstThat(hasMouse, &event);
+ if (p) {
+ // we have a view; send event to it
+ doHandleEvent(p, &hs);
+ } else if (event.what == evMouseDown) {
+ TScreen::makeBeep();
+ }
+#else
+ doHandleEvent(firstThat(hasMouse, &event), &hs);
+#endif
+ } else {
+ forEach(doHandleEvent, &hs);
+ }
+ }
+}
+
+/**
+ * Inserts the view given by `p' in the group's subview list. The new
+ * subview is placed on top of all other subviews. If the subview has the
+ * @ref ofCenterX and/or @ref ofCenterY flags set, it is centered
+ * accordingly in the group.
+ * @see TView::options
+ *
+ * If the view has the @ref sfVisible flag set, it will be shown in the
+ * group. Otherwise it remains invisible until specifically shown. If the
+ * view has the @ref ofSelectable flag set, it becomes the currently
+ * selected subview.
+ * @see TView::state
+ */
+void
+TGroup::insert(TView* p)
+{
+ insertBefore(p, first());
+}
+
+/**
+ * Inserts the view given by `p' in front of the view given by `Target'.
+ * If `Target' is 0, the view is placed behind all other subviews in the
+ * group.
+ */
+void
+TGroup::insertBefore(TView *p, TView *Target)
+{
+ if (p == NULL) {
+ return; /* can't insert nothing */
+ }
+ if (p->owner != NULL) {
+ return; /* TView object is already in a group */
+ }
+
+ if ((Target != NULL) && (Target->owner != this)) {
+ return; /* Target should be contained in this object */
+ }
+
+ if ((p->options & ofCenterX) != 0)
+ p->origin.x = (size.x - p->size.x) / 2;
+ if ((p->options & ofCenterY) != 0)
+ p->origin.y = (size.y - p->size.y) / 2;
+
+ ushort saveState = p->state;
+ p->hide();
+ insertView(p, Target);
+ if ((saveState & sfVisible) != 0)
+ p->show();
+ if ((saveState & sfActive) != 0)
+ p->setState(sfActive, True);
+}
+
+/**
+ * Insert the TView object 'p' into this group. All the views
+ * contained in the group are linked into a circular queue.
+ *
+ * @param p Object to insert.
+ * @param Target Object to insert infront of.
+ */
+void
+TGroup::insertView(TView *p, TView *Target)
+{
+ p->owner = this;
+ if (Target == NULL) {
+ if (last == NULL) {
+ p->next = p;
+ last = p;
+ } else {
+ p->next = last->next;
+ last->next = p;
+ last = p;
+ }
+ } else {
+ Target = Target->prev();
+ p->next = Target->next;
+ Target->next = p;
+ }
+}
+
+/**
+ * Locks the group, delaying any screen writes by subviews until the group
+ * is unlocked.
+ *
+ * lock() has no effect unless the group has a cache buffer (see
+ * @ref ofBuffered flag and @ref buffer data member). lock() works by
+ * incrementing the data member @ref lockFlag. This semaphore is likewise
+ * decremented by @ref unlock().
+ * @see TView::options
+ *
+ * When a call to unlock() decrements the count to zero, the entire group
+ * is written to the screen using the image constructed in the cache
+ * buffer.
+ *
+ * By "sandwiching" draw-intensive operations between calls to lock() and
+ * @ref unlock(), unpleasant "screen flicker" can be reduced, if not
+ * eliminated. lock() and @ref unlock() calls must be balanced;
+ * otherwise, a group may end up in a permanently locked state, causing
+ * it to not redraw itself properly when so requested.
+ */
+void
+TGroup::lock()
+{
+ if (buffer != 0 || lockFlag != 0)
+ lockFlag++;
+}
+
+/**
+ * Redraws the group's subviews in Z-order. TGroup::redraw() differs from
+ * @ref TGroup::draw() in that redraw() will never draw from the cache
+ * buffer.
+ */
+void
+TGroup::redraw()
+{
+ drawSubViews(first(), 0);
+}
+
+/**
+ * Selects (makes current) the first subview in the chain that is
+ * @ref sfVisible and @ref ofSelectable. resetCurrent() works by calling
+ * setCurrent(firstMatch(sfVisible, ofSelectable), normalSelect).
+ * @see TGroup::firstMatch
+ * @see TGroup::setCurrent
+ * @see TView::options
+ * @see TView::state
+ *
+ * The following enum type is useful for select mode arguments:
+ *
+ * <pre>
+ * enum selectMode { normalSelect, enterSelect, leaveSelect };
+ * </pre>
+ */
+void
+TGroup::resetCurrent()
+{
+ setCurrent(firstMatch(sfVisible, ofSelectable), normalSelect);
+}
+
+/**
+ * Undocumented.
+ */
+void
+TGroup::resetCursor()
+{
+ if (current != 0)
+ current->resetCursor();
+}
+
+/**
+ * If `forwards' is True, selectNext() selects (makes current) the next
+ * selectable subview (one with its ofSelectable bit set) in the group's
+ * Z-order.
+ * If `forwards' is False, the member function selects the previous
+ * selectable subview.
+ */
+void
+TGroup::selectNext(Boolean forwards)
+{
+ if (current != 0) {
+ TView *p = findNext(forwards);
+ if (p)
+ p->select();
+ }
+}
+
+/**
+ * Undocumented.
+ */
+void
+TGroup::selectView(TView *p, Boolean enable)
+{
+ if (p != NULL)
+ p->setState(sfSelected, enable);
+}
+
+/**
+ * Undocumented.
+ */
+void
+TGroup::focusView(TView* p, Boolean enable)
+{
+ if ((state & sfFocused) != 0 && p != NULL)
+ p->setState(sfFocused, enable);
+}
+
+/**
+ * Parameter `selectMode' is an enumeration defined in TGroup as follows:
+ *
+ * <pre>
+ * enum selectMode {normalSelect, enterSelect, leaveSelect};
+ * </pre>
+ *
+ * If `p' is the current subview, setCurrent() does nothing. Otherwise,
+ * `p' is made current (that is, selected) by a call to @ref setState().
+ * @see resetCurrent
+ */
+void
+TGroup::setCurrent(TView *p, selectMode mode)
+{
+ if (current != p) {
+ lock();
+ focusView(current, False);
+ if (mode != enterSelect)
+ if (current != 0)
+ current->setState(sfSelected, False);
+ if (mode != leaveSelect)
+ if (p != NULL)
+ p->setState(sfSelected, True);
+ if ((state & sfFocused) != 0 && p != NULL)
+ p->setState(sfFocused, True);
+ current = p;
+ unlock();
+ }
+}
+
+/**
+ * Overrides @ref TView::setData(). Calls setData() for each subview in
+ * reverse Z-order, incrementing the location given by `rec' by the
+ * dataSize() of each subview.
+ * @see TGroup::dataSize
+ * @see TGroup::getData
+ */
+void
+TGroup::setData(void *rec)
+{
+ ushort i = 0;
+ if (last != 0) {
+ TView *v = last;
+ do {
+ v->setData((char *)rec + i);
+ i += v->dataSize();
+ v = v->prev();
+ } while (v != last);
+ }
+}
+
+static void
+doExpose(TView *p, void *enable)
+{
+ if ((p->state & sfVisible) != 0)
+ p->setState(sfExposed, *(Boolean *) enable);
+}
+
+struct setBlock {
+ ushort st;
+ Boolean en;
+};
+
+static void
+doSetState(TView *p, void *b)
+{
+ p->setState(((setBlock *) b)->st, ((setBlock *) b)->en);
+}
+
+/**
+ * Overrides @ref TView::setState(). First calls the inherited
+ * TView::setState(), then updates the subviews as follows (see
+ * @ref state for more):
+ *
+ * -# If `aState' is @ref sfActive or @ref sfDragging, then each subview's
+ * setState() is called to update the subview correspondingly.
+ * -# If `aState' is @ref sfFocused, then the currently selected subview is
+ * called to focus itself correspondingly.
+ * -# If `aState' is @ref sfExposed, @ref TGroup::doExpose() is called for
+ * each subview. Finally, if `enable' is False, @ref freeBuffer() is
+ * called.
+ */
+void
+TGroup::setState(ushort aState, Boolean enable)
+{
+ setBlock sb;
+ sb.st = aState;
+ sb.en = enable;
+
+ TView::setState(aState, enable);
+
+ if ((aState & (sfActive | sfDragging)) != 0) {
+ lock();
+ forEach(doSetState, &sb);
+ unlock();
+ }
+ if ((aState & sfFocused) != 0) {
+ if (current != 0)
+ current->setState(sfFocused, enable);
+ }
+ if ((aState & sfExposed) != 0) {
+ forEach(doExpose, &enable);
+ if (enable == False)
+ freeBuffer();
+ }
+}
+
+/**
+ * Unlocks the group by decrementing @ref lockFlag. If @ref lockFlag
+ * becomes zero, then the entire group is written to the screen using the
+ * image constructed in the cache @ref buffer.
+ * @see TGroup::lock
+ */
+void
+TGroup::unlock()
+{
+ if (lockFlag != 0 && --lockFlag == 0)
+ drawView();
+}
+
+Boolean
+isInvalid(TView *p, void *command)
+{
+ return Boolean(!p->valid(*(ushort *) command));
+}
+
+/**
+ * Overrides @ref TView::valid(). Returns True if all the subview's
+ * valid() calls return True. TGroup::valid() is used at the end of the
+ * event-handling loop in @ref execute() to confirm that termination is
+ * allowed.
+ *
+ * A modal state cannot terminate until all valid() calls return True. A
+ * subview can return False if it wants to retain control.
+ */
+Boolean
+TGroup::valid(ushort command)
+{
+ if (command == cmReleasedFocus) {
+ if (current && (current->options & ofValidate))
+ return current->valid(command);
+ else
+ return True;
+ }
+ return Boolean(firstThat(isInvalid, &command) == 0);
+}
+
+/**
+ * Returns the help context of the current focused view by calling the
+ * selected subviews' @ref TView::getHelpCtx() member function.
+ *
+ * If no help context is specified by any subview, getHelpCtx() returns
+ * the value of its own @ref helpCtx member, by calling
+ * TView::getHelpCtx().
+ */
+ushort
+TGroup::getHelpCtx()
+{
+ ushort h = hcNoContext;
+ if (current != 0)
+ h = current->getHelpCtx();
+ if (h == hcNoContext)
+ h = TView::getHelpCtx();
+ return h;
+}
+
+/**
+ * Removes the subview `p' from this group. Used internally by
+ * @ref remove().
+ */
+void
+TGroup::removeView(TView *p)
+{
+ if (last == NULL) {
+ return; /* nothing to remove */
+ }
+
+ TView *cur = last;
+ while (true) {
+ if (p == cur->next) {
+ cur->next = p->next;
+ if (p == last) {
+ if (p == cur->next) {
+ last = NULL;
+ } else {
+ last = cur;
+ }
+ break;
+ }
+ }
+ if (cur->next == last)
+ break;
+ cur = cur->next;
+ }
+}
+
+/**
+ * Returns a pointer to the subview at `index' position in Z-order.
+ */
+TView *
+TGroup::at(short index)
+{
+ TView *temp = last;
+ while (index-- > 0)
+ temp = temp->next;
+ return temp;
+}
+
+/**
+ * firstThat() applies a user-supplied @ref Boolean function `func',
+ * along with an argument list given by `args' (possibly empty), to each
+ * subview in the group (in Z-order) until `func' returns True.
+ *
+ * The returned result is the subview pointer for which `func' returns
+ * True, or 0 if `func' returns False for all items.
+ *
+ * The first pointer argument of `func' scans the subview. The second
+ * argument of `func' is set from the `args' pointer of firstThat(), as
+ * shown in the following implementation:
+ *
+ * <pre>
+ * TView *TGroup::firstThat(Boolean (*func)(TView *, void *), void *args)
+ * {
+ * TView *temp = last;
+ *
+ * if (temp == 0) return 0;
+ * do {
+ * temp = temp->next;
+ * if (func(temp, args) == True)
+ * return temp;
+ * } while (temp != last);
+ * return 0;
+ * }
+ * </pre>
+ */
+TView *
+TGroup::firstThat(Boolean (*func)(TView *, void *), void *args)
+{
+ TView *temp = last;
+ if (temp == 0)
+ return 0;
+
+ do {
+ temp = temp->next;
+ if (func(temp, args) == True)
+ return temp;
+ } while (temp != last);
+ return 0;
+}
+
+/**
+ * forEach() applies an action, given by the function `func', to each
+ * subview in the group in Z-order. The `args' argument lets you pass
+ * arbitrary arguments to the action function:
+ *
+ * <pre>
+ * void TGroup::forEach(void (*func)(TView*, void *), void *args)
+ * {
+ * TView *term = last;
+ * TView *temp = last;
+ *
+ * if (temp == 0) return;
+ *
+ * TView *next = temp->next;
+ * do {
+ * temp = next;
+ * next = temp->next;
+ * func(temp, args);
+ * } while (temp != term);
+ * }
+ * </pre>
+ */
+void
+TGroup::forEach(void (*func)(TView*, void *), void *args)
+{
+ TView *term = last;
+ TView *temp = last;
+ if (temp == 0)
+ return;
+
+ TView *next = temp->next;
+ do {
+ temp = next;
+ next = temp->next;
+ func(temp, args);
+ } while (temp != term);
+
+}
+
+/**
+ * Returns the Z-order position (index) of the subview `p'.
+ */
+short
+TGroup::indexOf(TView *p)
+{
+ if (last == 0)
+ return 0;
+
+ short index = 0;
+ TView *temp = last;
+ do {
+ index++;
+ temp = temp->next;
+ } while (temp != p && temp != last);
+ if (temp != p)
+ return 0;
+ else
+ return index;
+}
+
+#if !defined(NO_STREAMABLE)
+
+static void doPut(TView *p, void *osp)
+{
+ *(opstream *)osp << p;
+}
+
+/**
+ * Writes to the output stream `os'.
+ */
+void
+TGroup::write(opstream &os)
+{
+ TView::write(os);
+
+ TGroup *ownerSave = owner;
+ owner = this;
+ int count = indexOf(last);
+ os << count;
+
+ forEach(doPut, &os);
+
+ ushort index;
+ if (current == 0)
+ index = 0;
+ else
+ index = indexOf(current);
+ os << index;
+ owner = ownerSave;
+}
+
+/**
+ * Reads from the input stream `is'.
+ */
+void *
+TGroup::read(ipstream &is)
+{
+ ushort index;
+
+ TView::read(is);
+ clip = getExtent();
+ TGroup *ownerSave = owner;
+ owner = this;
+ last = 0;
+ phase = TView::phFocused;
+ current = 0;
+ buffer = 0;
+ lockFlag = 0;
+ endState = 0;
+
+ int count;
+ is >> count;
+ TView *tv;
+ for (int i = 0; i < count; i++) {
+ is >> tv;
+ if (tv != 0)
+ insertView(tv, 0);
+ }
+ owner = ownerSave;
+ TView *current;
+ is >> index;
+ current = at(index);
+ setCurrent(current, TView::normalSelect);
+ if (ownerGroup == NULL)
+ awaken();
+ return this;
+}
+
+/**
+ * Called to create an object in certain stream-reading situations.
+ */
+TStreamable *
+TGroup::build()
+{
+ return new TGroup(streamableInit);
+}
+
+/**
+ * Each streamable class needs a "builder" to allocate the correct memory
+ * for its objects together with the initialized virtual table pointers.
+ * This is achieved by calling this constructor with an argument of type
+ * @ref StreamableInit.
+ */
+TGroup::TGroup(StreamableInit) : TView(streamableInit)
+{
+}
+
+#endif
diff --git a/freebsdtvision/lib/THistory.cc b/freebsdtvision/lib/THistory.cc
new file mode 100644
index 0000000..9bc2811
--- /dev/null
+++ b/freebsdtvision/lib/THistory.cc
@@ -0,0 +1,150 @@
+/*
+ * THistory.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#define Uses_THistory
+#define Uses_TKeys
+#define Uses_TRect
+#define Uses_TEvent
+#define Uses_TInputLine
+#define Uses_THistoryWindow
+#define Uses_opstream
+#define Uses_ipstream
+#include <tvision/tv.h>
+
+#include <ctype.h>
+#include <string.h>
+
+#define cpHistory "\x16\x17"
+
+THistory::THistory( const TRect& bounds,
+ TInputLine *aLink,
+ ushort aHistoryId) :
+ TView(bounds),
+ link( aLink ),
+ historyId( aHistoryId )
+{
+ options |= ofPostProcess;
+ eventMask |= evBroadcast;
+}
+
+void THistory::shutDown()
+{
+ link = 0;
+ TView::shutDown();
+}
+
+void THistory::draw()
+{
+ TDrawBuffer b;
+
+ b.moveCStr( 0, icon, getColor(0x0102) );
+ writeLine( 0, 0, size.x, size.y, b );
+}
+
+TPalette& THistory::getPalette() const
+{
+ static TPalette palette( cpHistory, sizeof( cpHistory )-1 );
+ return palette;
+}
+
+void THistory::handleEvent( TEvent& event )
+{
+ THistoryWindow *historyWindow;
+ TRect r, p;
+ ushort c;
+
+ TView::handleEvent( event );
+ if( event.what == evMouseDown ||
+ ( event.what == evKeyDown &&
+ ctrlToArrow( event.keyDown.keyCode ) == kbDown &&
+ (link->state & sfFocused) != 0
+ )
+ )
+ {
+ if (!link->focus())
+ {
+ clearEvent(event);
+ return;
+ }
+ recordHistory(link->data);
+ r = link->getBounds();
+ r.a.x--;
+ r.b.x++;
+ r.b.y += 7;
+ r.a.y--;
+ p = owner->getExtent();
+ r.intersect( p );
+ r.b.y--;
+ historyWindow = initHistoryWindow( r );
+ if( historyWindow != 0 )
+ {
+ c = owner->execView( historyWindow );
+ if( c == cmOK )
+ {
+ char rslt[256];
+ historyWindow->getSelection( rslt );
+ strncpy( link->data, rslt, link->maxLen );
+#ifndef __UNPATCHED
+ link->data[ link->maxLen ] = EOS; // <<---- BUG FIX
+#endif
+ link->selectAll( True );
+ link->drawView();
+ }
+ destroy( historyWindow );
+ }
+ clearEvent( event );
+ }
+ else
+ if( event.what == evBroadcast )
+ if( (event.message.command == cmReleasedFocus &&
+ event.message.infoPtr == link) ||
+ event.message.command == cmRecordHistory
+ )
+ recordHistory(link->data );
+}
+
+THistoryWindow *THistory::initHistoryWindow( const TRect& bounds )
+{
+ THistoryWindow *p = new THistoryWindow( bounds, historyId );
+ p->helpCtx = link->helpCtx;
+ return p;
+}
+
+void THistory::recordHistory(const char* s)
+{
+ historyAdd(historyId, s);
+}
+
+#if !defined(NO_STREAMABLE)
+
+void THistory::write( opstream& os )
+{
+ TView::write( os );
+ os << link << historyId;
+}
+
+void *THistory::read( ipstream& is )
+{
+ TView::read( is );
+ is >> link >> historyId;
+ return this;
+}
+
+TStreamable *THistory::build()
+{
+ return new THistory( streamableInit );
+}
+
+THistory::THistory( StreamableInit ) : TView( streamableInit )
+{
+}
+
+#endif
diff --git a/freebsdtvision/lib/THistoryViewer.cc b/freebsdtvision/lib/THistoryViewer.cc
new file mode 100644
index 0000000..d5eb975
--- /dev/null
+++ b/freebsdtvision/lib/THistoryViewer.cc
@@ -0,0 +1,85 @@
+/*
+ * THistoryViewer.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#define Uses_TKeys
+#define Uses_THistoryViewer
+#define Uses_TScrollBar
+#define Uses_TEvent
+#include <tvision/tv.h>
+
+#include <ctype.h>
+#include <string.h>
+
+#define cpHistoryViewer "\x06\x06\x07\x06\x06"
+
+THistoryViewer::THistoryViewer( const TRect& bounds,
+ TScrollBar *aHScrollBar,
+ TScrollBar *aVScrollBar,
+ ushort aHistoryId) :
+ TListViewer(bounds, 1, aHScrollBar, aVScrollBar),
+ historyId( aHistoryId )
+{
+ setRange( historyCount( aHistoryId ) );
+ if( range > 1 )
+ focusItem( 1 );
+ hScrollBar->setRange( 0, historyWidth() - size.x + 3 );
+}
+
+TPalette& THistoryViewer::getPalette() const
+{
+ static TPalette palette( cpHistoryViewer, sizeof( cpHistoryViewer )-1 );
+ return palette;
+}
+
+void THistoryViewer::getText( char *dest, short item, short maxChars )
+{
+ const char *str = historyStr( historyId, item );
+ if( str != 0 )
+ {
+ strncpy( dest, str, maxChars );
+ dest[maxChars] = '\0';
+ }
+ else
+ *dest = EOS;
+}
+
+void THistoryViewer::handleEvent( TEvent& event )
+{
+ if( (event.what == evMouseDown && (event.mouse.eventFlags & meDoubleClick) ) ||
+ (event.what == evKeyDown && event.keyDown.keyCode == kbEnter)
+ )
+ {
+ endModal( cmOK );
+ clearEvent( event );
+ }
+ else
+ if( (event.what == evKeyDown && event.keyDown.keyCode == kbEsc) ||
+ (event.what == evCommand && event.message.command == cmCancel)
+ )
+ {
+ endModal( cmCancel );
+ clearEvent( event );
+ }
+ else
+ TListViewer::handleEvent( event );
+}
+
+int THistoryViewer::historyWidth()
+{
+ int width = 0;
+ int count = historyCount( historyId );
+ for( int i = 0; i < count; i++ )
+ {
+ int T = strlen( historyStr( historyId, i ) );
+ width = max( width, T );
+ }
+ return width;
+}
diff --git a/freebsdtvision/lib/THistoryWindow.cc b/freebsdtvision/lib/THistoryWindow.cc
new file mode 100644
index 0000000..e1da1df
--- /dev/null
+++ b/freebsdtvision/lib/THistoryWindow.cc
@@ -0,0 +1,53 @@
+/*
+ * THistoryWindow.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#define Uses_THistoryWindow
+#define Uses_THistoryViewer
+#include <tvision/tv.h>
+
+THistInit::THistInit( TListViewer *(*cListViewer)( TRect, TWindow *, ushort ) ) :
+ createListViewer( cListViewer )
+{
+}
+
+#define cpHistoryWindow "\x13\x13\x15\x18\x17\x13\x14"
+
+THistoryWindow::THistoryWindow( const TRect& bounds,
+ ushort historyId ) :
+ THistInit( &THistoryWindow::initViewer ),
+ TWindow( bounds, 0, wnNoNumber),
+ TWindowInit( &THistoryWindow::initFrame )
+{
+ flags = wfClose;
+ if( createListViewer != 0 &&
+ (viewer = createListViewer( getExtent(), this, historyId )) != 0 )
+ insert( viewer );
+}
+
+TPalette& THistoryWindow::getPalette() const
+{
+ static TPalette palette( cpHistoryWindow, sizeof( cpHistoryWindow )-1 );
+ return palette;
+}
+
+void THistoryWindow::getSelection( char *dest )
+{
+ viewer->getText( dest, viewer->focused, 255 );
+}
+
+TListViewer *THistoryWindow::initViewer( TRect r, TWindow * win, ushort historyId )
+{
+ r.grow( -1, -1 );
+ return new THistoryViewer( r,
+ win->standardScrollBar( sbHorizontal | sbHandleKeyboard ),
+ win->standardScrollBar( sbVertical | sbHandleKeyboard ),
+ historyId);
+}
diff --git a/freebsdtvision/lib/TIndicator.cc b/freebsdtvision/lib/TIndicator.cc
new file mode 100644
index 0000000..415e095
--- /dev/null
+++ b/freebsdtvision/lib/TIndicator.cc
@@ -0,0 +1,102 @@
+/*
+ * TIndicator.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
+ */
+
+#define Uses_TIndicator
+#define Uses_TDrawBuffer
+#define Uses_TEvent
+#define Uses_TView
+#define Uses_opstream
+#define Uses_ipstream
+#include <tvision/tv.h>
+
+#include <string.h>
+
+#include <sstream>
+#include <string>
+
+using std::ends;
+using std::ostringstream;
+using std::string;
+
+#define cpIndicator "\x02\x03"
+
+TIndicator::TIndicator( const TRect& bounds ) :
+ TView( bounds )
+{
+ growMode = gfGrowLoY | gfGrowHiY;
+}
+
+void TIndicator::draw()
+{
+ uchar color, frame;
+ TDrawBuffer b;
+
+ if( (state & sfDragging) == 0 )
+ {
+ color = getColor(1);
+ frame = dragFrame;
+ }
+ else
+ {
+ color = getColor(2);
+ frame = normalFrame;
+ }
+
+ b.moveChar( 0, frame, color, size.x );
+ if( modified )
+ b.putChar( 0, 15 );
+
+ string s;
+ ostringstream os(s);
+ os << ' ' << (location.y+1) << ':' << (location.x+1) << ' ' << ends;
+
+ b.moveCStr(8 - int(strchr(s.c_str(), ':') - s.c_str()),
+ s.c_str(),
+ color);
+ writeBuf(0, 0, size.x, 1, b);
+}
+
+TPalette& TIndicator::getPalette() const
+{
+ static TPalette palette( cpIndicator, sizeof( cpIndicator )-1 );
+ return palette;
+}
+
+void TIndicator::setState( ushort aState, Boolean enable )
+{
+ TView::setState(aState, enable);
+ if( aState == sfDragging )
+ drawView();
+}
+
+void TIndicator::setValue( const TPoint& aLocation, Boolean aModified )
+{
+ if( (location != aLocation) || (modified != aModified) )
+ {
+ location = aLocation;
+ modified = aModified;
+ drawView();
+ }
+}
+
+#if !defined(NO_STREAMABLE)
+
+TStreamable *TIndicator::build()
+{
+ return new TIndicator( streamableInit );
+}
+
+TIndicator::TIndicator( StreamableInit ) : TView( streamableInit )
+{
+}
+
+#endif
diff --git a/freebsdtvision/lib/TInputLine.cc b/freebsdtvision/lib/TInputLine.cc
new file mode 100644
index 0000000..9b64449
--- /dev/null
+++ b/freebsdtvision/lib/TInputLine.cc
@@ -0,0 +1,517 @@
+/*
+ * TInputLine.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#define Uses_TGroup
+#define Uses_TKeys
+#define Uses_TInputLine
+#define Uses_TDrawBuffer
+#define Uses_TEvent
+#define Uses_TValidator
+#define Uses_opstream
+#define Uses_ipstream
+#include <tvision/tv.h>
+
+#include <ctype.h>
+#include <string.h>
+
+const int CONTROL_Y = 25;
+
+char hotKey( const char *s )
+{
+ char *p;
+
+ if( (p = strchr( (char *) s, '~' )) != 0 )
+ return toupper(p[1]);
+ else
+ return 0;
+}
+
+#define cpInputLine "\x13\x13\x14\x15"
+
+TInputLine::TInputLine( const TRect& bounds, int aMaxLen, TValidator *aValid ) :
+ TView(bounds),
+ data( new char[aMaxLen] ),
+ maxLen( aMaxLen-1 ),
+ curPos( 0 ),
+ firstPos( 0 ),
+ selStart( 0 ),
+ selEnd( 0 ),
+ validator( aValid ),
+ anchor( -1 ),
+#ifndef __UNPATCHED
+ oldAnchor( -1 ),
+#endif
+ oldData( new char[aMaxLen] )
+{
+ state |= sfCursorVis;
+ options |= ofSelectable | ofFirstClick;
+ *data = EOS;
+}
+
+TInputLine::~TInputLine()
+{
+ delete data;
+ delete oldData;
+ destroy(validator);
+}
+
+Boolean TInputLine::canScroll( int delta )
+{
+ if( delta < 0 )
+ return Boolean( firstPos > 0 );
+ else
+ if( delta > 0 )
+ return Boolean( (int)strlen(data) - firstPos + 2 > size.x );
+ else
+ return False;
+}
+
+ushort TInputLine::dataSize()
+{
+ ushort dSize = 0;
+
+ if (validator)
+ dSize = validator->transfer(data, NULL, vtDataSize);
+ if (dSize == 0)
+ dSize = maxLen + 1;
+ return dSize;
+}
+
+void TInputLine::draw()
+{
+ int l, r;
+ TDrawBuffer b;
+
+ uchar color = (state & sfFocused) ? getColor( 2 ) : getColor( 1 );
+
+ b.moveChar( 0, ' ', color, size.x );
+ char buf[256];
+ strncpy( buf, data+firstPos, size.x - 2 );
+ buf[size.x - 2 ] = EOS;
+ b.moveStr( 1, buf, color );
+
+ if( canScroll(1) )
+ b.moveChar( size.x-1, rightArrow, getColor(4), 1 );
+ if( (state & sfSelected) != 0 )
+ {
+ if( canScroll(-1) )
+ b.moveChar( 0, leftArrow, getColor(4), 1 );
+ l = selStart - firstPos;
+ r = selEnd - firstPos;
+ l = max( 0, l );
+ r = min( size.x - 2, r );
+ if (l < r)
+ b.moveChar( l+1, 0, getColor(3), r - l );
+ }
+ writeLine( 0, 0, size.x, size.y, b );
+ setCursor( curPos-firstPos+1, 0);
+}
+
+void TInputLine::getData( void *rec )
+{
+ if ((validator == 0) || (validator->transfer(data, rec, vtGetData) == 0))
+ memcpy( rec, data, dataSize() );
+}
+
+TPalette& TInputLine::getPalette() const
+{
+ static TPalette palette( cpInputLine, sizeof( cpInputLine )-1 );
+ return palette;
+}
+
+int TInputLine::mouseDelta( TEvent& event )
+{
+ TPoint mouse = makeLocal( event.mouse.where );
+
+ if( mouse.x <= 0 )
+ return -1;
+ else
+ if( mouse.x >= size.x - 1 )
+ return 1;
+ else
+ return 0;
+}
+
+int TInputLine::mousePos( TEvent& event )
+{
+ TPoint mouse = makeLocal( event.mouse.where );
+ mouse.x = max( mouse.x, 1 );
+ int pos = mouse.x + firstPos - 1;
+ pos = max( pos, 0 );
+ pos = min( pos, strlen(data) );
+ return pos;
+}
+
+void TInputLine::deleteSelect()
+{
+ if( selStart < selEnd )
+ {
+ strcpy( data+selStart, data+selEnd );
+ curPos = selStart;
+ }
+}
+
+void TInputLine::adjustSelectBlock()
+{
+#ifndef __UNPATCHED
+ if(anchor < 0)
+ selEnd = selStart = 0;
+ else
+#endif
+ if (curPos < anchor)
+ {
+ selStart = curPos;
+ selEnd = anchor;
+ }
+ else
+ {
+ selStart = anchor;
+ selEnd = curPos;
+ }
+}
+
+void TInputLine::saveState()
+{
+ if (validator)
+ {
+ strcpy(oldData,data);
+ oldCurPos = curPos;
+ oldFirstPos = firstPos;
+ oldSelStart = selStart;
+ oldSelEnd = selEnd;
+#ifndef __UNPATCHED
+ oldAnchor = anchor;
+#endif
+ }
+}
+
+void TInputLine::restoreState()
+{
+ if (validator)
+ {
+ strcpy(data, oldData);
+ curPos = oldCurPos;
+ firstPos = oldFirstPos;
+ selStart = oldSelStart;
+ selEnd = oldSelEnd;
+#ifndef __UNPATCHED
+ anchor = oldAnchor;
+#endif
+ }
+}
+
+Boolean TInputLine::checkValid(Boolean noAutoFill)
+{
+ int oldLen;
+ char *newData;
+
+ if (validator)
+ {
+ oldLen = strlen(data);
+ newData = new char[256];
+ strcpy(newData, data);
+ if (!validator->isValidInput(newData, noAutoFill))
+ {
+ restoreState();
+ delete newData;
+ return False;
+ }
+ else
+ {
+ if ((int)strlen(newData) > maxLen)
+ newData[maxLen] = 0;
+ strcpy(data,newData);
+ if ((curPos >= oldLen) && ((int)strlen(data) > oldLen))
+ curPos = strlen(data);
+ delete newData;
+ return True;
+ }
+ }
+ else
+ return True;
+}
+
+
+void TInputLine::handleEvent( TEvent& event )
+{
+#ifndef __UNPATCHED
+ // Boolean extendBlock;
+#else
+ Boolean extendBlock;
+#endif
+ /* Home, Left Arrow, Right Arrow, End, Ctrl-Left Arrow, Ctrl-Right Arrow */
+ static char padKeys[] = {0x47,0x4b,0x4d,0x4f,0x73,0x74, 0};
+ TView::handleEvent(event);
+
+ int delta, i;
+ if( (state & sfSelected) != 0 )
+ switch( event.what )
+ {
+ case evMouseDown:
+ if( canScroll(delta = mouseDelta(event)) )
+ do {
+ if( canScroll(delta) )
+ {
+ firstPos += delta;
+ drawView();
+ }
+ } while( mouseEvent( event, evMouseAuto ) );
+ else if (event.mouse.eventFlags & meDoubleClick)
+ selectAll(True);
+ else
+ {
+ anchor = mousePos(event);
+ do {
+ if( event.what == evMouseAuto)
+ {
+ delta = mouseDelta(event);
+ if (canScroll(delta))
+ firstPos += delta;
+ }
+ curPos = mousePos(event);
+ adjustSelectBlock();
+ drawView();
+ }
+ while (mouseEvent(event,evMouseMove | evMouseAuto));
+ }
+ clearEvent(event);
+ break;
+ case evKeyDown:
+ saveState();
+
+ /* SS: save the value so it can be used by other objects */
+
+ int oldKeyCode = event.keyDown.keyCode;
+ event.keyDown.keyCode = ctrlToArrow(event.keyDown.keyCode);
+
+ /* SS: scanCode must be non zero */
+
+ if (event.keyDown.charScan.scanCode != 0 &&
+ strchr(padKeys, event.keyDown.charScan.scanCode ) &&
+ (event.keyDown.controlKeyState & kbShift) != 0
+ )
+ {
+ event.keyDown.charScan.charCode = 0;
+#ifndef __UNPATCHED
+ if(anchor < 0)
+ anchor = curPos;
+ }
+ else
+ anchor = -1;
+#else
+ if (curPos == selEnd)
+ anchor = selStart;
+ else
+ anchor = selEnd;
+ extendBlock = True;
+ }
+ else
+ extendBlock = False;
+#endif
+ switch( event.keyDown.keyCode )
+ {
+ case kbLeft:
+ if( curPos > 0 )
+ curPos--;
+ break;
+ case kbRight:
+ if( curPos < (int)strlen(data) )
+ curPos++;
+ break;
+ case kbHome:
+ curPos = 0;
+ break;
+ case kbEnd:
+ curPos = strlen(data);
+ break;
+ case kbBack:
+ if( curPos > 0 )
+ {
+ strcpy( data+curPos-1, data+curPos );
+ curPos--;
+ if( firstPos > 0 )
+ firstPos--;
+ checkValid(True);
+ }
+ break;
+ case kbDel:
+ if( selStart == selEnd )
+ if( curPos < (int)strlen(data) )
+ {
+ selStart = curPos;
+ selEnd = curPos + 1;
+ }
+ deleteSelect();
+ checkValid(True);
+ break;
+ case kbIns:
+ setState(sfCursorIns, Boolean(!(state & sfCursorIns)));
+ break;
+ default:
+ if( event.keyDown.charScan.charCode >= ' ' )
+ {
+ deleteSelect();
+ if( (state & sfCursorIns) != 0 )
+ /* The following must be a signed comparison! */
+ if( curPos < (int) strlen(data) )
+ strcpy( data + curPos, data + curPos + 1 );
+
+ if( checkValid(True) )
+ {
+ if( (int)strlen(data) < maxLen )
+ {
+ if( firstPos > curPos )
+ firstPos = curPos;
+ memmove( data+curPos+1, data+curPos, strlen(data+curPos)+1 );
+ data[curPos++] = event.keyDown.charScan.charCode;
+ }
+ checkValid(False);
+ }
+ }
+ else if( event.keyDown.charScan.charCode == CONTROL_Y)
+ {
+ *data = EOS;
+ curPos = 0;
+ }
+ else
+ {
+ /* SS: restore the old value before exit */
+
+ event.keyDown.keyCode = oldKeyCode;
+ return;
+ }
+ }
+#ifndef __UNPATCHED
+ adjustSelectBlock();
+#else
+ if (extendBlock)
+ adjustSelectBlock();
+ else
+ {
+ selStart = 0;
+ selEnd = 0;
+ }
+#endif
+ if( firstPos > curPos )
+ firstPos = curPos;
+ i = curPos - size.x + 2;
+ if( firstPos < i )
+ firstPos = i;
+ drawView();
+ clearEvent( event );
+ break;
+ }
+}
+
+void TInputLine::selectAll( Boolean enable )
+{
+ selStart = 0;
+ if( enable )
+ curPos = selEnd = strlen(data);
+ else
+ curPos = selEnd = 0;
+ firstPos = max( 0, curPos-size.x+2 );
+#ifndef __UNPATCHED
+ anchor = 0; //<----- This sets anchor to avoid deselect
+ drawView(); // on initial selection
+#else
+ drawView();
+#endif
+}
+
+void TInputLine::setData( void *rec )
+{
+ if ((validator == 0) || (validator->transfer(data,rec,vtSetData)==0))
+ {
+ memcpy( data, rec, dataSize()-1 );
+ data[dataSize()-1] = EOS;
+ }
+ selectAll( True );
+}
+
+void TInputLine::setState( ushort aState, Boolean enable )
+{
+ TView::setState( aState, enable );
+ if( aState == sfSelected ||
+ ( aState == sfActive && (state & sfSelected) != 0 )
+ )
+ selectAll( enable );
+}
+
+void TInputLine::setValidator( TValidator* aValid )
+{
+ if (validator!=0)
+ destroy(validator);
+
+ validator = aValid;
+}
+
+#if !defined(NO_STREAMABLE)
+
+void TInputLine::write( opstream& os )
+{
+ TView::write( os );
+ os << maxLen << curPos << firstPos
+ << selStart << selEnd;
+ os.writeString( data);
+ os << validator;
+}
+
+void *TInputLine::read( ipstream& is )
+{
+ TView::read( is );
+ is >> maxLen >> curPos >> firstPos
+ >> selStart >> selEnd;
+ data = new char[maxLen + 1];
+ oldData = new char[maxLen + 1];
+ is.readString(data, maxLen+1);
+ state |= sfCursorVis;
+// is >> validator; /* XXX */
+ is >> (void*&) validator; /* XXX */
+#ifndef __UNPATCHED
+ // options |= ofSelectable | ofFirstClick;
+#else
+ options |= ofSelectable | ofFirstClick;
+#endif
+ return this;
+}
+
+TStreamable *TInputLine::build()
+{
+ return new TInputLine( streamableInit );
+}
+
+TInputLine::TInputLine( StreamableInit ) : TView( streamableInit )
+{
+}
+
+#endif
+
+Boolean TInputLine::valid(ushort cmd)
+{
+ if (validator)
+ {
+ if (cmd == cmValid)
+ return Boolean(validator->status == vsOk);
+ else if (cmd != cmCancel)
+ if (!validator->validate(data))
+ {
+#ifndef __UNPATCHED
+ // owner->current = 0;
+#else
+ owner->current = 0;
+#endif
+ select();
+ return False;
+ }
+ }
+ return True;
+}
diff --git a/freebsdtvision/lib/TLabel.cc b/freebsdtvision/lib/TLabel.cc
new file mode 100644
index 0000000..958e698
--- /dev/null
+++ b/freebsdtvision/lib/TLabel.cc
@@ -0,0 +1,195 @@
+/*
+ * TLabel.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#define Uses_TLabel
+#define Uses_TEvent
+#define Uses_TDrawBuffer
+#define Uses_TGroup
+#define Uses_TView
+#define Uses_opstream
+#define Uses_ipstream
+#include <tvision/tv.h>
+
+#include <ctype.h>
+
+#define cpLabel "\x07\x08\x09\x09"
+
+/**
+ * Constructor.
+ *
+ * Creates a TLabel object of the given size and text by calling
+ * TStaticText::TStaticText(bounds, aText), then setting the @ref link
+ * data member to `aLink' for the associated control (pass `aLink' 0 if
+ * no control is needed).
+ * @see TStaticText::TStaticText
+ *
+ * @param bounds The bounding rectangle of the view
+ * @param aText The caption to show.
+ *
+ * @see text
+ *
+ * The @ref options data member is set to @ref ofPreProcess and
+ * @ref ofPostProcess. The @ref eventMask is set to @ref evBroadcast.
+ * `aText' can designate a hot key letter for the label by surrounding
+ * the letter with tildes, like "~F~ile".
+ */
+TLabel::TLabel(const TRect &bounds, const std::string &aText, TView* aLink)
+ : TStaticText(bounds, aText),
+ link(aLink),
+ light(False)
+{
+ options |= ofPreProcess | ofPostProcess;
+ eventMask |= evBroadcast;
+}
+
+/**
+ * Releases TLabel resources.
+ *
+ * Used internally by @ref TObject::destroy() to ensure correct
+ * destruction of derived and related objects. shutDown() is overridden
+ * in many classes to ensure the proper setting of related data members
+ * when @ref destroy() is called.
+ *
+ * This method releases all the resources allocated by the TLabel. It sets
+ * pointer @ref link to 0 and then calls @ref TStaticText::shutDown().
+ * Since @ref TStaticText::shutDown() is not implemented,
+ * @ref TView::shutDown() will be called instead.
+ */
+void
+TLabel::shutDown()
+{
+ link = NULL;
+ TStaticText::shutDown();
+}
+
+/**
+ * Draws the label with the appropriate colors from the default palette.
+ */
+void
+TLabel::draw()
+{
+ ushort color;
+ TDrawBuffer b;
+ uchar scOff;
+
+ if (light) {
+ color = getColor(0x0402);
+ scOff = 0;
+ } else {
+ color = getColor(0x0301);
+ scOff = 4;
+ }
+
+ b.moveChar(0, ' ', color, size.x);
+ if (text.empty() == false)
+ b.moveCStr(1, text.c_str(), color);
+ if (showMarkers)
+ b.putChar(0, specialChars[scOff]);
+ writeLine(0, 0, size.x, 1, b);
+}
+
+/**
+ * Returns a reference to the label palette.
+ */
+TPalette &
+TLabel::getPalette() const
+{
+ static TPalette palette(cpLabel, sizeof(cpLabel)-1);
+ return palette;
+}
+
+void
+TLabel::focusLink(TEvent& event)
+{
+ if (link && (link->options & ofSelectable))
+ link->focus();
+ clearEvent(event);
+}
+
+/**
+ * Handles TLabel events.
+ *
+ * Handles all events by calling @ref TView::handleEvent(). If an
+ * @ref evMouseDown or hot key event is received, the appropriate linked
+ * control (if any) is selected with link->select().
+ * @see select
+ *
+ * handleEvent() also handles cmReceivedFocus and cmReleasedFocus
+ * broadcast events from the linked control in order to adjust the
+ * value of the @ref light data member and redraw the label as necessary.
+ */
+void
+TLabel::handleEvent(TEvent &event)
+{
+ TStaticText::handleEvent(event);
+
+ if (event.what == evMouseDown) {
+ focusLink(event);
+ } else if (event.what == evKeyDown) {
+ char c = hotKey(text.c_str());
+ if (getAltCode(c) == event.keyDown.keyCode || (c != 0 && owner->phase == TGroup::phPostProcess && toupper(event.keyDown.charScan.charCode) == c)) {
+ focusLink(event);
+ }
+ } else if (event.what == evBroadcast && link && (event.message.command == cmReceivedFocus || event.message.command == cmReleasedFocus)) {
+ light = Boolean((link->state & sfFocused) != 0);
+ drawView();
+ }
+}
+
+#if !defined(NO_STREAMABLE)
+
+/**
+ * Used to store the view in a stream.
+ * Writes to the output stream `os'.
+ */
+void
+TLabel::write(opstream &os)
+{
+ TStaticText::write(os);
+ os << link;
+}
+
+/**
+ * Used to recover the view from a stream.
+ * Reads from the input stream `is'.
+ */
+void *
+TLabel::read(ipstream &is)
+{
+ TStaticText::read(is);
+ is >> link;
+ light = False;
+ return this;
+}
+
+/**
+ * Creates a new TLabel.
+ *
+ * Called to create an object in certain stream-reading situations.
+ */
+TStreamable *
+TLabel::build()
+{
+ return new TLabel(streamableInit);
+}
+
+/**
+ * Each streamable class needs a "builder" to allocate the correct memory
+ * for its objects together with the initialized virtual table pointers.
+ * This is achieved by calling this constructor with an argument of type
+ * @ref StreamableInit.
+ */
+TLabel::TLabel(StreamableInit)
+ : TStaticText(streamableInit)
+{
+}
+
+#endif
diff --git a/freebsdtvision/lib/TListBox.cc b/freebsdtvision/lib/TListBox.cc
new file mode 100644
index 0000000..dbaf7b8
--- /dev/null
+++ b/freebsdtvision/lib/TListBox.cc
@@ -0,0 +1,102 @@
+/*
+ * TListBox.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#define Uses_TListBox
+#define Uses_TEvent
+#define Uses_TCollection
+#define Uses_opstream
+#define Uses_ipstream
+#include <tvision/tv.h>
+
+#include <string.h>
+
+TListBox::TListBox( const TRect& bounds,
+ ushort aNumCols,
+ TScrollBar *aScrollBar ) :
+ TListViewer(bounds, aNumCols, 0, aScrollBar),
+ items( 0 )
+{
+ setRange(0);
+}
+
+TListBox::~TListBox()
+{
+}
+
+ushort TListBox::dataSize()
+{
+ return sizeof(TListBoxRec);
+}
+
+void TListBox::getData( void * rec )
+{
+ TListBoxRec *p = (TListBoxRec *)rec;
+ p->items = items;
+ p->selection = focused;
+}
+
+void TListBox::getText( char *dest, short item, short maxChars )
+{
+ if (items != 0 )
+ {
+ strncpy( dest, (const char *)(items->at(item)), maxChars );
+ dest[maxChars] = '\0';
+ }
+ else
+ *dest = EOS;
+}
+
+void TListBox::newList( TCollection *aList )
+{
+ destroy( items );
+ items = aList;
+ if( aList != 0 )
+ setRange( aList->getCount() );
+ else
+ setRange(0);
+ if( range > 0 )
+ focusItem(0);
+ drawView();
+}
+
+void TListBox::setData( void *rec )
+{
+ TListBoxRec *p = (TListBoxRec *)rec;
+ newList(p->items);
+ focusItem(p->selection);
+ drawView();
+}
+
+#if !defined(NO_STREAMABLE)
+
+void TListBox::write( opstream& os )
+{
+ TListViewer::write( os );
+ os << items;
+}
+
+void *TListBox::read( ipstream& is )
+{
+ TListViewer::read( is );
+ is >> items;
+ return this;
+}
+
+TStreamable *TListBox::build()
+{
+ return new TListBox( streamableInit );
+}
+
+TListBox::TListBox( StreamableInit ) : TListViewer( streamableInit )
+{
+}
+
+#endif
diff --git a/freebsdtvision/lib/TListViewer.cc b/freebsdtvision/lib/TListViewer.cc
new file mode 100644
index 0000000..cc96ad2
--- /dev/null
+++ b/freebsdtvision/lib/TListViewer.cc
@@ -0,0 +1,429 @@
+/*
+ * TListViewer.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#define Uses_TKeys
+#define Uses_TListViewer
+#define Uses_TScrollBar
+#define Uses_TDrawBuffer
+#define Uses_TPoint
+#define Uses_TEvent
+#define Uses_TGroup
+#define Uses_opstream
+#define Uses_ipstream
+#include <tvision/tv.h>
+
+#include <string.h>
+
+#define cpListViewer "\x1A\x1A\x1B\x1C\x1D"
+
+TListViewer::TListViewer( const TRect& bounds,
+ ushort aNumCols,
+ TScrollBar *aHScrollBar,
+ TScrollBar *aVScrollBar) :
+ TView( bounds ),
+ numCols( aNumCols ),
+ topItem( 0 ),
+ focused( 0 ),
+ range( 0 )
+{
+ short arStep, pgStep;
+
+ options |= ofFirstClick | ofSelectable;
+ eventMask |= evBroadcast;
+ if( aVScrollBar != 0 )
+ {
+ if( numCols == 1 )
+ {
+ pgStep = size.y - 1;
+ arStep = 1;
+ }
+ else
+ {
+ pgStep = size.y * numCols;
+ arStep = size.y;
+ }
+ aVScrollBar->setStep( pgStep, arStep );
+ }
+
+ if( aHScrollBar != 0 )
+ aHScrollBar->setStep( size.x / numCols, 1 );
+
+ hScrollBar = aHScrollBar;
+ vScrollBar = aVScrollBar;
+}
+
+void TListViewer::changeBounds( const TRect& bounds )
+{
+ TView::changeBounds( bounds );
+ if( hScrollBar != 0 )
+ hScrollBar->setStep( size.x / numCols, hScrollBar->arStep);
+#ifndef __UNPATCHED
+ if( vScrollBar != 0 )
+ vScrollBar->setStep( size.y, vScrollBar->arStep);
+#else
+ if( vScrollBar != 0 )
+ vScrollBar->setStep( size.y, hScrollBar->arStep);
+#endif
+}
+
+void TListViewer::draw()
+{
+ short i, j, item;
+ ushort normalColor, selectedColor, focusedColor = 0, color;
+ short colWidth, curCol, indent;
+ TDrawBuffer b;
+ uchar scOff;
+
+ if( (state&(sfSelected | sfActive)) == (sfSelected | sfActive))
+ {
+ normalColor = getColor(1);
+ focusedColor = getColor(3);
+ selectedColor = getColor(4);
+ }
+ else
+ {
+ normalColor = getColor(2);
+ selectedColor = getColor(4);
+ }
+
+ if( hScrollBar != 0 )
+ indent = hScrollBar->value;
+ else
+ indent = 0;
+
+ colWidth = size.x / numCols + 1;
+ for( i = 0; i < size.y; i++ )
+ {
+ for( j = 0; j < numCols; j++ )
+ {
+ item = j * size.y + i + topItem;
+ curCol = j * colWidth;
+ if( (state & (sfSelected | sfActive)) == (sfSelected | sfActive) &&
+ focused == item &&
+ range > 0)
+ {
+ color = focusedColor;
+ setCursor( curCol + 1, i );
+ scOff = 0;
+ }
+ else if( item < range && isSelected(item) )
+ {
+ color = selectedColor;
+ scOff = 2;
+ }
+ else
+ {
+ color = normalColor;
+ scOff = 4;
+ }
+
+ b.moveChar( curCol, ' ', color, colWidth );
+ if( item < range )
+ {
+ char text[256];
+ getText( text, item, colWidth + indent );
+ char buf[256];
+ memmove( buf, text+indent, colWidth );
+ buf[colWidth] = EOS;
+ b.moveStr( curCol+1, buf, color );
+ if( showMarkers )
+ {
+ b.putChar( curCol, specialChars[scOff] );
+ b.putChar( curCol+colWidth-2, specialChars[scOff+1] );
+ }
+ }
+ else if( i == 0 && j == 0 )
+ b.moveStr( curCol+1, emptyText, getColor(1) );
+
+ b.moveChar( curCol+colWidth-1, separatorChar, getColor(5), 1 );
+ }
+ writeLine( 0, i, size.x, 1, b );
+ }
+}
+
+void TListViewer::focusItem( short item )
+{
+ focused = item;
+ if( vScrollBar != 0 )
+ vScrollBar->setValue( item );
+ else
+ drawView();
+ if( item < topItem )
+ if( numCols == 1 )
+ topItem = item;
+ else
+ topItem = item - item % size.y;
+ else
+ if( item >= topItem + size.y*numCols )
+ if( numCols == 1 )
+ topItem = item - size.y + 1;
+ else
+ topItem = item - item % size.y - (size.y * (numCols-1));
+}
+
+void TListViewer::focusItemNum( short item )
+{
+ if( item < 0 )
+ item = 0;
+ else
+ if( item >= range && range > 0 )
+ item = range - 1;
+
+ if( range != 0 )
+ focusItem( item );
+}
+
+TPalette& TListViewer::getPalette() const
+{
+ static TPalette palette( cpListViewer, sizeof( cpListViewer )-1 );
+ return palette;
+}
+
+void TListViewer::getText( char *dest, short, short )
+{
+ *dest = EOS;
+}
+
+Boolean TListViewer::isSelected( short item )
+{
+ return Boolean( item == focused );
+}
+
+void TListViewer::handleEvent( TEvent& event )
+{
+ TPoint mouse;
+ ushort colWidth;
+ short oldItem, newItem;
+ ushort count;
+ int mouseAutosToSkip = 4;
+
+ TView::handleEvent(event);
+
+ if( event.what == evMouseDown )
+ {
+ colWidth = size.x / numCols + 1;
+ oldItem = focused;
+ mouse = makeLocal( event.mouse.where );
+ if (mouseInView(event.mouse.where))
+ newItem = mouse.y + (size.y * (mouse.x / colWidth)) + topItem;
+ else
+ newItem = oldItem;
+ count = 0;
+ do {
+ if( newItem != oldItem )
+ {
+ focusItemNum( newItem );
+ drawView();
+ }
+ oldItem = newItem;
+ mouse = makeLocal( event.mouse.where );
+ if( mouseInView( event.mouse.where ) )
+ newItem = mouse.y + (size.y * (mouse.x / colWidth)) + topItem;
+ else
+ {
+ if( numCols == 1 )
+ {
+ if( event.what == evMouseAuto )
+ count++;
+ if( count == mouseAutosToSkip )
+ {
+ count = 0;
+ if( mouse.y < 0 )
+ newItem = focused - 1;
+ else if( mouse.y >= size.y )
+ newItem = focused + 1;
+ }
+ }
+ else
+ {
+ if( event.what == evMouseAuto )
+ count++;
+ if( count == mouseAutosToSkip )
+ {
+ count = 0;
+ if( mouse.x < 0 )
+ newItem = focused - size.y;
+ else if( mouse.x >= size.x )
+ newItem = focused + size.y;
+ else if( mouse.y < 0 )
+ newItem = focused - focused % size.y;
+ else if( mouse.y > size.y )
+ newItem = focused - focused % size.y + size.y - 1;
+ }
+ }
+ }
+ if( event.mouse.eventFlags & meDoubleClick )
+ break;
+ } while( mouseEvent( event, evMouseMove | evMouseAuto ) );
+ focusItemNum( newItem );
+ drawView();
+ if( (event.mouse.eventFlags & meDoubleClick) && range > newItem )
+ selectItem( newItem );
+ clearEvent( event );
+ }
+ else if( event.what == evKeyDown )
+ {
+ if (event.keyDown.charScan.charCode == ' ' && focused < range )
+ {
+ selectItem( focused );
+ newItem = focused;
+ }
+ else
+ {
+ switch (ctrlToArrow(event.keyDown.keyCode))
+ {
+ case kbUp:
+ newItem = focused - 1;
+ break;
+ case kbDown:
+ newItem = focused + 1;
+ break;
+ case kbRight:
+ if( numCols > 1 )
+ newItem = focused + size.y;
+ else
+ return;
+ break;
+ case kbLeft:
+ if( numCols > 1 )
+ newItem = focused - size.y;
+ else
+ return;
+ break;
+ case kbPgDn:
+ newItem = focused + size.y * numCols;
+ break;
+ case kbPgUp:
+ newItem = focused - size.y * numCols;
+ break;
+ case kbHome:
+ newItem = topItem;
+ break;
+ case kbEnd:
+ newItem = topItem + (size.y * numCols) - 1;
+ break;
+ case kbCtrlPgDn:
+ newItem = range - 1;
+ break;
+ case kbCtrlPgUp:
+ newItem = 0;
+ break;
+ default:
+ return;
+ }
+ }
+ focusItemNum(newItem);
+ drawView();
+ clearEvent(event);
+ }
+ else if( event.what == evBroadcast )
+ {
+ if( (options & ofSelectable) != 0 )
+ {
+ if( event.message.command == cmScrollBarClicked &&
+ ( event.message.infoPtr == hScrollBar ||
+ event.message.infoPtr == vScrollBar ))
+#ifndef __UNPATCHED
+ focus(); // BUG FIX <<------ Change
+#else
+ select();
+#endif
+ else if( event.message.command == cmScrollBarChanged )
+ {
+ if( vScrollBar == event.message.infoPtr )
+ {
+ focusItemNum( vScrollBar->value );
+ drawView();
+ }
+ else if( hScrollBar == event.message.infoPtr )
+ drawView();
+ }
+ }
+ }
+}
+
+void TListViewer::selectItem( short )
+{
+ message( owner, evBroadcast, cmListItemSelected, this );
+}
+
+void TListViewer::setRange( short aRange )
+{
+ range = aRange;
+
+#ifndef __UNPATCHED
+ if( focused >= aRange ) // BUG FIX - EFW - Tue 06/26/95
+ focused = (aRange - 1 >= 0) ? aRange - 1 : 0;
+#else
+ if( focused > aRange )
+ focused = 0;
+#endif
+ if( vScrollBar != 0 )
+ vScrollBar->setParams( focused, 0, aRange - 1, vScrollBar->pgStep,
+ vScrollBar->arStep );
+ else
+ drawView();
+}
+
+void TListViewer::setState( ushort aState, Boolean enable )
+{
+ TView::setState( aState, enable );
+ if( (aState & (sfSelected | sfActive | sfVisible)) != 0 )
+ {
+ if( hScrollBar != 0 )
+ if( getState(sfActive) && getState(sfVisible))
+ hScrollBar->show();
+ else
+ hScrollBar->hide();
+ if( vScrollBar != 0 )
+ if( getState(sfActive) && getState(sfVisible))
+ vScrollBar->show();
+ else
+ vScrollBar->hide();
+ drawView();
+ }
+}
+
+void TListViewer::shutDown()
+{
+ hScrollBar = 0;
+ vScrollBar = 0;
+ TView::shutDown();
+}
+
+#if !defined(NO_STREAMABLE)
+
+void TListViewer::write( opstream& os )
+{
+ TView::write( os );
+ os << hScrollBar << vScrollBar << numCols
+ << topItem << focused << range;
+}
+
+void *TListViewer::read( ipstream& is )
+{
+ TView::read( is );
+ is >> hScrollBar >> vScrollBar >> numCols
+ >> topItem >> focused >> range;
+ return this;
+}
+
+TStreamable *TListViewer::build()
+{
+ return new TListViewer( streamableInit );
+}
+
+TListViewer::TListViewer( StreamableInit ) : TView( streamableInit )
+{
+}
+
+
+#endif
diff --git a/freebsdtvision/lib/TMemo.cc b/freebsdtvision/lib/TMemo.cc
new file mode 100644
index 0000000..fa7bba4
--- /dev/null
+++ b/freebsdtvision/lib/TMemo.cc
@@ -0,0 +1,105 @@
+/*
+ * TMemo.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
+ */
+
+#define Uses_TKeys
+#define Uses_TEditor
+#define Uses_TMemo
+#define Uses_TEvent
+#define Uses_opstream
+#define Uses_ipstream
+#include <tvision/tv.h>
+
+#include <string.h>
+
+using std::ios;
+
+#define cpMemo "\x1A\x1B"
+
+TMemo::TMemo( const TRect& bounds,
+ TScrollBar *aHScrollBar,
+ TScrollBar *aVScrollBar,
+ TIndicator *aIndicator,
+ uint aBufSize ) :
+ TEditor( bounds, aHScrollBar, aVScrollBar, aIndicator, aBufSize )
+{
+}
+
+ushort TMemo::dataSize()
+{
+ return bufSize + sizeof( ushort );
+}
+
+void TMemo::getData( void *rec )
+{
+ TMemoData *data = (TMemoData *)rec;
+
+ data->length = bufLen;
+ memcpy(data->buffer, buffer, curPtr);
+ memcpy(&data->buffer[curPtr], buffer+(curPtr + gapLen), bufLen - curPtr);
+ memset(&data->buffer[bufLen], 0, bufSize - bufLen);
+}
+
+void TMemo::setData( void *rec )
+{
+ TMemoData *data = (TMemoData *)rec;
+
+ memcpy(&buffer[bufSize - data->length], data->buffer, data->length);
+ setBufLen(data->length);
+}
+
+TPalette& TMemo::getPalette() const
+{
+ static TPalette palette( cpMemo, sizeof( cpMemo )-1 );
+ return palette;
+}
+
+void TMemo::handleEvent( TEvent& event )
+{
+ if( event.what != evKeyDown || event.keyDown.keyCode != kbTab )
+ TEditor::handleEvent(event);
+}
+
+#if !defined(NO_STREAMABLE)
+
+void TMemo::write( opstream& os )
+{
+ TEditor::write( os );
+ os << (uint) bufLen; //fixed
+ os.writeBytes( buffer, curPtr );
+ os.writeBytes( buffer + gapLen, bufLen - curPtr );
+}
+
+void *TMemo::read( ipstream& is )
+{
+ TEditor::read( is );
+ uint length; //fixed
+ is >> length;
+ if( isValid )
+ {
+ is.readBytes( buffer + bufSize - length, length );
+ setBufLen( length );
+ }
+ else
+ is.seekg( length, ios::cur );
+ return this;
+}
+
+TStreamable *TMemo::build()
+{
+ return new TMemo( streamableInit );
+}
+
+TMemo::TMemo( StreamableInit ) : TEditor( streamableInit )
+{
+}
+
+#endif
diff --git a/freebsdtvision/lib/TMenuBar.cc b/freebsdtvision/lib/TMenuBar.cc
new file mode 100644
index 0000000..c21396d
--- /dev/null
+++ b/freebsdtvision/lib/TMenuBar.cc
@@ -0,0 +1,115 @@
+/*
+ * TMenuBar.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#define Uses_TMenuBar
+#define Uses_TDrawBuffer
+#define Uses_TMenu
+#define Uses_TMenuItem
+#define Uses_TRect
+#define Uses_TSubMenu
+#include <tvision/tv.h>
+
+#include <string.h>
+
+TMenuBar::TMenuBar( const TRect& bounds, TMenu *aMenu ) :
+ TMenuView( bounds )
+{
+ menu = aMenu;
+ growMode = gfGrowHiX;
+ options |= ofPreProcess;
+}
+
+TMenuBar::TMenuBar( const TRect& bounds, TSubMenu& aMenu ) :
+ TMenuView( bounds )
+{
+ menu = new TMenu( aMenu );
+ growMode = gfGrowHiX;
+ options |= ofPreProcess;
+}
+
+TMenuBar::~TMenuBar()
+{
+ delete menu;
+}
+
+void TMenuBar::draw()
+{
+ ushort color;
+ short x, l;
+ TMenuItem *p;
+ TDrawBuffer b;
+
+ ushort cNormal = getColor(0x0301);
+ ushort cSelect = getColor(0x0604);
+ ushort cNormDisabled = getColor(0x0202);
+ ushort cSelDisabled = getColor(0x0505);
+ b.moveChar( 0, ' ', cNormal, size.x );
+ if( menu != 0 )
+ {
+ x = 1;
+ p = menu->items;
+ while( p != 0 )
+ {
+ if( p->name != 0 )
+ {
+ l = cstrlen(p->name);
+ if( x + l < size.x )
+ {
+ if( p->disabled )
+ if( p == current )
+ color = cSelDisabled;
+ else
+ color = cNormDisabled;
+ else
+ if( p == current )
+ color = cSelect;
+ else
+ color = cNormal;
+
+ b.moveChar( x, ' ', color, 1 );
+ b.moveCStr( x+1, p->name, color );
+ b.moveChar( x+l+1, ' ', color, 1 );
+ }
+ x += l + 2;
+ }
+ p = p->next;
+ }
+ }
+ writeBuf( 0, 0, size.x, 1, b );
+}
+
+TRect TMenuBar::getItemRect( TMenuItem *item )
+{
+ TRect r( 1, 0, 1, 1 );
+ TMenuItem *p = menu->items;
+ while( True )
+ {
+ r.a.x = r.b.x;
+ if( p->name != 0 )
+ r.b.x += cstrlen(p->name) + 2;
+ if( p == item )
+ return r;
+ p = p->next;
+ }
+}
+
+#if !defined(NO_STREAMABLE)
+
+TStreamable *TMenuBar::build()
+{
+ return new TMenuBar( streamableInit );
+}
+
+TMenuBar::TMenuBar( StreamableInit ) : TMenuView( streamableInit )
+{
+}
+
+#endif
diff --git a/freebsdtvision/lib/TMenuBox.cc b/freebsdtvision/lib/TMenuBox.cc
new file mode 100644
index 0000000..96a004a
--- /dev/null
+++ b/freebsdtvision/lib/TMenuBox.cc
@@ -0,0 +1,148 @@
+/*
+ * TMenuBox.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#define Uses_TRect
+#define Uses_TMenu
+#define Uses_TMenuItem
+#define Uses_TMenuBox
+#include <tvision/tv.h>
+
+#include <string.h>
+
+static TRect getRect( const TRect& bounds, TMenu *aMenu )
+{
+ short w = 10;
+ short h = 2;
+ if( aMenu != 0 )
+ {
+ for( TMenuItem *p = aMenu->items; p != 0; p = p->next )
+ {
+ if( p->name != 0 )
+ {
+ short l = cstrlen(p->name) + 6;
+ if( p->command == 0 )
+ l += 3;
+ else
+ if( p->param != 0 )
+ l += cstrlen(p->param) + 2;
+ w = max( l, w );
+ }
+ h++;
+ }
+ }
+
+ TRect r( bounds );
+
+ if( r.a.x + w < r.b.x )
+ r.b.x = r.a.x + w;
+ else
+ r.a.x = r.b.x - w;
+
+ if (r.a.y + h < r.b.y)
+ r.b.y = r.a.y + h;
+ else
+ r.a.y = r.b.y - h;
+
+ return r;
+}
+
+TMenuBox::TMenuBox( const TRect& bounds,
+ TMenu *aMenu,
+ TMenuView *aParentMenu) :
+ TMenuView( getRect( bounds, aMenu ), aMenu, aParentMenu )
+{
+ state |= sfShadow;
+ options |= ofPreProcess;
+}
+
+static ushort cNormal, color;
+
+void TMenuBox::frameLine( TDrawBuffer& b, short n )
+{
+ b.moveBuf( 0, &frameChars[n], cNormal, 2 );
+ b.moveChar( 2, frameChars[n+2], color, size.x - 4 );
+ b.moveBuf( size.x-2, &frameChars[n+3], cNormal, 2 );
+}
+
+void TMenuBox::draw()
+{
+ TDrawBuffer b;
+
+ cNormal = getColor(0x0301);
+ ushort cSelect = getColor(0x0604);
+ ushort cNormDisabled = getColor(0x0202);
+ ushort cSelDisabled = getColor(0x0505);
+ short y = 0;
+ color = cNormal;
+ frameLine( b, 0 );
+ writeBuf( 0, y++, size.x, 1, b );
+ if( menu != 0 )
+ {
+ for( TMenuItem *p = menu->items; p != 0; p = p->next )
+ {
+ color = cNormal;
+ if( p->name == 0 )
+ frameLine( b, 15 );
+ else
+ {
+ if( p->disabled )
+ if( p == current )
+ color = cSelDisabled;
+ else
+ color = cNormDisabled;
+ else if( p == current )
+ color = cSelect;
+ frameLine( b, 10 );
+ b.moveCStr( 3, p->name, color );
+ if( p->command == 0 )
+ b.putChar( size.x-4, 16 );
+ else if( p->param != 0 )
+ b.moveStr( size.x-3-strlen(p->param),
+ p->param,
+ color);
+ }
+ writeBuf( 0, y++, size.x, 1, b );
+ }
+ }
+ color = cNormal;
+ frameLine( b, 5 );
+#ifndef __UNPATCHED
+ writeBuf( 0, y, size.x, 1, b );
+#else
+ writeBuf( 0, y++, size.x, 1, b );
+#endif
+}
+
+TRect TMenuBox::getItemRect( TMenuItem *item )
+{
+ short y = 1;
+ TMenuItem *p = menu->items;
+
+ while( p != item )
+ {
+ y++;
+ p = p->next;
+ }
+ return TRect( 2, y, size.x-2, y+1 );
+}
+
+#if !defined(NO_STREAMABLE)
+
+TStreamable *TMenuBox::build()
+{
+ return new TMenuBox( streamableInit );
+}
+
+TMenuBox::TMenuBox( StreamableInit ) : TMenuView( streamableInit )
+{
+}
+
+#endif
diff --git a/freebsdtvision/lib/TMenuPopup.cc b/freebsdtvision/lib/TMenuPopup.cc
new file mode 100644
index 0000000..6dba7d4
--- /dev/null
+++ b/freebsdtvision/lib/TMenuPopup.cc
@@ -0,0 +1,46 @@
+/*
+ * TMenuPopup.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#define Uses_TEvent
+#define Uses_TRect
+#define Uses_TMenu
+#define Uses_TMenuItem
+#define Uses_TMenuPopup
+#include <tvision/tv.h>
+
+TMenuPopup::TMenuPopup(TRect& bounds, TMenu* aMenu) :
+ TMenuBox( bounds, aMenu, 0 )
+{
+}
+
+void TMenuPopup::handleEvent(TEvent& event)
+{
+ switch (event.what)
+ {
+ case evKeyDown:
+ TMenuItem* p = findItem(getCtrlChar(event.keyDown.keyCode));
+ if (!p)
+ p = hotKey(event.keyDown.keyCode);
+ if (p && commandEnabled(p->command))
+ {
+ event.what = evCommand;
+ event.message.command = p->command;
+ event.message.infoPtr = NULL;
+ putEvent(event);
+ clearEvent(event);
+ }
+ else
+ if (getAltChar(event.keyDown.keyCode))
+ clearEvent(event);
+ break;
+ }
+ TMenuBox::handleEvent(event);
+}
diff --git a/freebsdtvision/lib/TMenuView.cc b/freebsdtvision/lib/TMenuView.cc
new file mode 100644
index 0000000..a19d859
--- /dev/null
+++ b/freebsdtvision/lib/TMenuView.cc
@@ -0,0 +1,592 @@
+/*
+ * TMenuView.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#define Uses_TMenuItem
+#define Uses_TMenu
+#define Uses_TMenuView
+#define Uses_TKeys
+#define Uses_TRect
+#define Uses_TEvent
+#define Uses_TGroup
+#define Uses_TMenuBox
+#define Uses_opstream
+#define Uses_ipstream
+#include <tvision/tv.h>
+
+#include <assert.h>
+#include <ctype.h>
+#include <string.h>
+
+#define cpMenuView "\x02\x03\x04\x05\x06\x07"
+
+TMenuItem::TMenuItem( const char *aName,
+ ushort aCommand,
+ ushort aKeyCode,
+ ushort aHelpCtx,
+ char *p,
+ TMenuItem *aNext
+ )
+{
+ name = newStr( aName );
+ command = aCommand;
+ disabled = Boolean(!TView::commandEnabled(command));
+ keyCode = aKeyCode;
+ helpCtx = aHelpCtx;
+ if( p == 0 )
+ param = 0;
+ else
+ param = newStr( p );
+ next = aNext;
+}
+
+TMenuItem::TMenuItem( const char *aName,
+ ushort aKeyCode,
+ TMenu *aSubMenu,
+ ushort aHelpCtx,
+ TMenuItem *aNext
+ )
+{
+ name = newStr( aName );
+ command = 0;
+ disabled = Boolean(!TView::commandEnabled(command));
+ keyCode = aKeyCode;
+ helpCtx = aHelpCtx;
+ subMenu = aSubMenu;
+ next = aNext;
+}
+
+TMenuItem::~TMenuItem()
+{
+ delete (char *)name;
+ if( command == 0 )
+ delete subMenu;
+ else
+ delete (char *)param;
+}
+
+TMenu::~TMenu()
+{
+ while( items != 0 )
+ {
+ TMenuItem *temp = items;
+ items = items->next;
+ delete temp;
+ }
+}
+
+void TMenuView::trackMouse( TEvent& e, Boolean& mouseActive )
+{
+ TPoint mouse = makeLocal( e.mouse.where );
+ for( current = menu->items; current != 0; current = current->next )
+ {
+ TRect r = getItemRect( current );
+ if( r.contains(mouse) )
+ {
+ mouseActive = True;
+ return;
+ }
+ }
+}
+
+void TMenuView::nextItem()
+{
+ if( (current = current->next) == 0 )
+ current = menu->items;
+}
+
+void TMenuView::prevItem()
+{
+ TMenuItem *p;
+
+ if( (p = current) == menu->items)
+ p = 0;
+
+ do {
+ nextItem();
+ } while( current->next != p );
+}
+
+void TMenuView::trackKey( Boolean findNext )
+{
+ if( current == 0 )
+ return;
+
+ do {
+ if( findNext )
+ nextItem();
+ else
+ prevItem();
+ } while( current->name == 0 );
+}
+
+Boolean TMenuView::mouseInOwner( TEvent& e )
+{
+ if( parentMenu == 0 || parentMenu->size.y != 1 )
+ return False;
+ else
+ {
+ TPoint mouse = parentMenu->makeLocal( e.mouse.where );
+ TRect r = parentMenu->getItemRect( parentMenu->current );
+ return r.contains( mouse );
+ }
+}
+
+Boolean TMenuView::mouseInMenus( TEvent& e )
+{
+ TMenuView *p = parentMenu;
+ while( p != 0 && !p->mouseInView(e.mouse.where) )
+ p = p->parentMenu;
+
+ return Boolean( p != 0 );
+}
+
+TMenuView *TMenuView::topMenu()
+{
+ TMenuView *p = this;
+ while( p->parentMenu != 0 )
+ p = p->parentMenu;
+ return p;
+}
+
+enum menuAction { doNothing, doSelect, doReturn };
+
+ushort TMenuView::execute()
+{
+ Boolean autoSelect = False;
+ menuAction action;
+ char ch;
+ ushort result = 0;
+ TMenuItem *itemShown = 0;
+ TMenuItem *p;
+ TMenuView *target;
+ TRect r;
+ TEvent e;
+ Boolean mouseActive;
+
+ current = menu->deflt;
+ mouseActive = False;
+ do {
+ action = doNothing;
+ getEvent(e);
+ switch (e.what)
+ {
+ case evMouseDown:
+ if( mouseInView(e.mouse.where) || mouseInOwner(e) )
+ {
+ trackMouse(e, mouseActive);
+ if( size.y == 1 )
+ autoSelect = True;
+ }
+ else
+ action = doReturn;
+ break;
+ case evMouseUp:
+ trackMouse(e, mouseActive);
+ if( mouseInOwner(e) )
+ current = menu->deflt;
+ else if( current != 0 && current->name != 0 )
+ action = doSelect;
+ else if (mouseActive)
+ action = doReturn;
+ else
+ {
+ current = menu->deflt;
+ if (current == 0)
+ current = menu->items;
+ action = doNothing;
+ }
+ break;
+ case evMouseMove:
+ if( e.mouse.buttons != 0 )
+ {
+ trackMouse(e, mouseActive);
+ if( !(mouseInView(e.mouse.where) || mouseInOwner(e)) &&
+ mouseInMenus(e) )
+ action = doReturn;
+ }
+ break;
+ case evKeyDown:
+ switch( ctrlToArrow(e.keyDown.keyCode) )
+ {
+ case kbUp:
+ case kbDown:
+ if( size.y != 1 )
+ trackKey(Boolean(ctrlToArrow(e.keyDown.keyCode) == kbDown));
+ else if( e.keyDown.keyCode == kbDown )
+ autoSelect = True;
+ break;
+ case kbLeft:
+ case kbRight:
+ if( parentMenu == 0 )
+ trackKey(Boolean(ctrlToArrow(e.keyDown.keyCode) == kbRight));
+ else
+ action = doReturn;
+ break;
+ case kbHome:
+ case kbEnd:
+ if( size.y != 1 )
+ {
+ current = menu->items;
+ if( e.keyDown.keyCode == kbEnd )
+ trackKey(False);
+ }
+ break;
+ case kbEnter:
+ if( size.y == 1 )
+ autoSelect = True;
+ action = doSelect;
+ break;
+ case kbEsc:
+ action = doReturn;
+ if( parentMenu == 0 || parentMenu->size.y != 1 )
+ clearEvent(e);
+ break;
+ default:
+ target = this;
+ ch = getAltChar(e.keyDown.keyCode);
+ if( ch == 0 )
+ ch = e.keyDown.charScan.charCode;
+ else
+ target = topMenu();
+ p = target->findItem(ch);
+ if( p == 0 )
+ {
+ p = topMenu()->hotKey(e.keyDown.keyCode);
+ if( p != 0 && commandEnabled(p->command) )
+ {
+ result = p->command;
+ action = doReturn;
+ }
+ }
+ else if( target == this )
+ {
+ if( size.y == 1 )
+ autoSelect = True;
+ action = doSelect;
+ current = p;
+ }
+ else if( parentMenu != target ||
+ parentMenu->current != p )
+ action = doReturn;
+ }
+ break;
+ case evCommand:
+ if( e.message.command == cmMenu )
+ {
+ autoSelect = False;
+ if (parentMenu != 0 )
+ action = doReturn;
+ }
+ else
+ action = doReturn;
+ break;
+ }
+
+ if( itemShown != current )
+ {
+ itemShown = current;
+ drawView();
+ }
+
+ if( (action == doSelect || (action == doNothing && autoSelect)) &&
+ current != 0 &&
+ current->name != 0 )
+ if( current->command == 0 )
+ {
+ if( (e.what & (evMouseDown | evMouseMove)) != 0 )
+ putEvent(e);
+ r = getItemRect( current );
+ r.a.x = r.a.x + origin.x;
+ r.a.y = r.b.y + origin.y;
+ r.b = owner->size;
+ if( size.y == 1 )
+ r.a.x--;
+ target = topMenu()->newSubView(r, current->subMenu,this);
+ result = owner->execView(target);
+ destroy( target );
+ }
+ else if( action == doSelect )
+ result = current->command;
+
+ if( result != 0 && commandEnabled(result) )
+ {
+ action = doReturn;
+ clearEvent(e);
+ }
+ else
+ result = 0;
+ } while( action != doReturn );
+
+ if( e.what != evNothing &&
+ (parentMenu != 0 || e.what == evCommand))
+ putEvent(e);
+ if( current != 0 )
+ {
+ menu->deflt = current;
+ current = 0;
+ drawView();
+ }
+ return result;
+}
+
+TMenuItem *TMenuView::findItem( char ch )
+{
+ ch = toupper(ch);
+ TMenuItem *p = menu->items;
+ while( p != 0 )
+ {
+ if( p->name != 0 && !p->disabled )
+ {
+ char *loc = strchr( (char *) p->name, '~' );
+ if( loc != 0 && (uchar)ch == toupper( loc[1] ) )
+ return p;
+ }
+ p = p->next;
+ }
+ return 0;
+}
+
+TRect TMenuView::getItemRect( TMenuItem * )
+{
+ return TRect( 0, 0, 0, 0 );
+}
+
+ushort TMenuView::getHelpCtx()
+{
+ TMenuView *c = this;
+
+ while( c != 0 &&
+ (c->current == 0 ||
+ c->current->helpCtx == hcNoContext ||
+ c->current->name == 0 )
+ )
+ c = c->parentMenu;
+
+ if( c != 0 )
+ return c->current->helpCtx;
+ else
+ return hcNoContext;
+}
+
+TPalette& TMenuView::getPalette() const
+{
+ static TPalette palette( cpMenuView, sizeof( cpMenuView )-1 );
+ return palette;
+}
+
+Boolean TMenuView::updateMenu( TMenu *menu )
+{
+ Boolean res = False;
+ if( menu != 0 )
+ {
+ for( TMenuItem *p = menu->items; p != 0; p = p->next )
+ {
+ if( p->name != 0 )
+ if( p->command == 0 )
+ {
+ if( p->subMenu && updateMenu(p->subMenu) == True )
+ res = True;
+ }
+ else
+ {
+ Boolean commandState = commandEnabled(p->command);
+ if( p->disabled == commandState )
+ {
+ p->disabled = Boolean(!commandState);
+ res = True;
+ }
+ }
+ }
+ }
+ return res;
+}
+
+void TMenuView::do_a_select( TEvent& event )
+{
+ putEvent( event );
+ event.message.command = owner->execView(this);
+ if( event.message.command != 0 && commandEnabled(event.message.command) )
+ {
+ event.what = evCommand;
+ event.message.infoPtr = 0;
+ putEvent(event);
+ }
+ clearEvent(event);
+}
+
+void TMenuView::handleEvent( TEvent& event )
+{
+ if( menu != 0 )
+ switch (event.what)
+ {
+ case evMouseDown:
+ do_a_select(event);
+ break;
+ case evKeyDown:
+ if( findItem(getAltChar(event.keyDown.keyCode)) != 0 )
+ do_a_select(event);
+ else
+ {
+ TMenuItem *p = hotKey(event.keyDown.keyCode);
+ if( p != 0 && commandEnabled(p->command))
+ {
+ event.what = evCommand;
+ event.message.command = p->command;
+ event.message.infoPtr = 0;
+ putEvent(event);
+ clearEvent(event);
+ }
+ }
+ break;
+ case evCommand:
+ if( event.message.command == cmMenu )
+ do_a_select(event);
+ break;
+ case evBroadcast:
+ if( event.message.command == cmCommandSetChanged )
+ {
+ if( updateMenu(menu) )
+ drawView();
+ }
+ break;
+ }
+}
+
+
+TMenuItem *TMenuView::findHotKey( TMenuItem *p, ushort keyCode )
+{
+
+ while( p != 0 )
+ {
+ if( p->name != 0 )
+ if( p->command == 0 )
+ {
+ TMenuItem *T;
+ if( p->subMenu != 0 && (T = findHotKey( p->subMenu->items, keyCode )) != 0 )
+ return T;
+ }
+ else if( !p->disabled &&
+ p->keyCode != kbNoKey &&
+ p->keyCode == keyCode
+ )
+ return p;
+ p = p->next;
+ }
+ return 0;
+}
+
+TMenuItem *TMenuView::hotKey( ushort keyCode )
+{
+ return findHotKey( menu->items, keyCode );
+}
+
+TMenuView *TMenuView::newSubView( const TRect& bounds,
+ TMenu *aMenu,
+ TMenuView *aParentMenu
+ )
+{
+ return new TMenuBox( bounds, aMenu, aParentMenu );
+}
+
+#if !defined(NO_STREAMABLE)
+
+void TMenuView::writeMenu( opstream& os, TMenu *menu )
+{
+ uchar tok = 0xFF;
+
+ assert( menu != 0 );
+
+ for( TMenuItem *item = menu->items; item != 0; item = item->next )
+ {
+ os << tok;
+ os.writeString( item->name );
+ os << item->command << (int)(item->disabled)
+ << item->keyCode << item->helpCtx;
+ if( item->name != 0 )
+ {
+ if( item->command == 0 )
+ writeMenu( os, item->subMenu );
+ else
+ os.writeString( item->param );
+ }
+ }
+
+ tok = 0;
+ os << tok;
+}
+
+void TMenuView::write( opstream& os )
+{
+ TView::write( os );
+ writeMenu( os, menu );
+}
+
+TMenu *TMenuView::readMenu( ipstream& is )
+{
+ TMenu *menu = new TMenu;
+ TMenuItem **last = &(menu->items);
+#ifndef __UNPATCHED
+ TMenuItem *item;
+#else
+ TMenuItem *item = 0;
+#endif
+
+ uchar tok;
+ is >> tok;
+
+ while( tok != 0 )
+ {
+ assert( tok == 0xFF );
+
+ /* SS: this line gave problems with egcs-1.0.3 */
+
+ item = new TMenuItem( (char *)0, 0, (TMenu *)0 );
+ *last = item;
+ last = &(item->next);
+ item->name = is.readString();
+ int temp;
+ is >> item->command >> temp
+ >> item->keyCode >> item->helpCtx;
+ item->disabled = Boolean( temp );
+ if( item->name != 0 )
+ {
+ if( item->command == 0 )
+ item->subMenu = readMenu( is );
+ else
+ item->param = is.readString();
+ }
+ is >> tok;
+ }
+ *last = 0;
+ menu->deflt = menu->items;
+ return menu;
+}
+
+void *TMenuView::read( ipstream& is )
+{
+ TView::read( is );
+ menu = readMenu( is );
+ parentMenu = 0;
+ current = 0;
+ return this;
+}
+
+TStreamable *TMenuView::build()
+{
+ return new TMenuView( streamableInit );
+}
+
+TMenuView::TMenuView( StreamableInit ) : TView( streamableInit )
+{
+}
+
+
+#endif
diff --git a/freebsdtvision/lib/TMultiCheckBoxes.cc b/freebsdtvision/lib/TMultiCheckBoxes.cc
new file mode 100644
index 0000000..3d5fc49
--- /dev/null
+++ b/freebsdtvision/lib/TMultiCheckBoxes.cc
@@ -0,0 +1,102 @@
+/*
+ * TMultiCheckBoxes.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#define Uses_TMultiCheckBoxes
+#include <tvision/tv.h>
+
+TMultiCheckBoxes::TMultiCheckBoxes( TRect& bounds, TSItem* aStrings,
+ uchar aSelRange, ushort aFlags,
+ const char* aStates) :
+ TCluster(bounds, aStrings)
+{
+ selRange = aSelRange;
+ flags = aFlags;
+ states = newStr(aStates);
+}
+
+#if !defined(NO_STREAMABLE)
+
+TMultiCheckBoxes::TMultiCheckBoxes( StreamableInit ) :
+ TCluster( streamableInit )
+{
+}
+
+void* TMultiCheckBoxes::read( ipstream& is )
+{
+ TCluster::read(is);
+ is >> selRange >> flags;
+ states = is.readString();
+
+ return this;
+}
+
+void TMultiCheckBoxes::write( opstream& os )
+{
+ TCluster::write( os );
+ os << selRange << flags;
+ os.writeString(states);
+}
+
+TStreamable* TMultiCheckBoxes::build()
+{
+ return new TMultiCheckBoxes( streamableInit );
+}
+
+#endif
+
+TMultiCheckBoxes::~TMultiCheckBoxes()
+{
+ delete states;
+}
+
+void TMultiCheckBoxes::draw()
+{
+ drawMultiBox(" [ ] ", states);
+}
+
+ushort TMultiCheckBoxes::dataSize()
+{
+ return sizeof(long);
+}
+
+uchar TMultiCheckBoxes::multiMark(int item)
+{
+ return (long)((value&((flags&0xff)<<(item*(flags>>8))))>>(item*(flags>>8)));
+}
+
+void TMultiCheckBoxes::getData(void* p)
+{
+ *(unsigned long*)p = value;
+ drawView();
+}
+
+void TMultiCheckBoxes::press(int item)
+{
+ short curState;
+
+ int flo = flags & 0xff;
+ int fhi = flags >> 8;
+
+ curState = (long) (value & (flo << (item*fhi))) >> (item*fhi);
+
+ curState--;
+
+ if ((curState >= selRange) || (curState < 0))
+ curState = selRange - 1;
+
+ value = (long)((value & ~(flo << (item*fhi))) | (curState<<(item * fhi)));
+}
+
+void TMultiCheckBoxes::setData(void* p)
+{
+ value = *(unsigned long*)p;
+ drawView();
+}
diff --git a/freebsdtvision/lib/TObject.cc b/freebsdtvision/lib/TObject.cc
new file mode 100644
index 0000000..add47bb
--- /dev/null
+++ b/freebsdtvision/lib/TObject.cc
@@ -0,0 +1,56 @@
+/*
+ * TObject.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#define Uses_TObject
+#include <tvision/tv.h>
+
+/**
+ * Destructor.
+ *
+ * Performs the necessary cleanup and disposal for dynamic objects. Does
+ * nothing.
+ */
+TObject::~TObject()
+{
+}
+
+/**
+ * Releases TObject resources.
+ *
+ * Used internally by TObject::destroy() to ensure correct destruction of
+ * derived and related objects. shutDown() is overridden in many classes
+ * to ensure the proper setting of related data members when destroy is
+ * called. Does nothing.
+ * @see destroy
+ */
+void
+TObject::shutDown()
+{
+}
+
+/**
+ * Destroys the object pointed by `o'.
+ *
+ * destroy() deletes an object `o' of a type derived from TObject; that
+ * is, any object created with new. destroy() terminates the
+ * object, correctly freeing the memory that it occupies.
+ *
+ * It calls `o->shutDown()' and after does `delete o'.
+ * @see shutDown
+ */
+void
+TObject::destroy(TObject *o)
+{
+ if (o != NULL)
+ o->shutDown();
+ delete o;
+}
+
diff --git a/freebsdtvision/lib/TOutline.cc b/freebsdtvision/lib/TOutline.cc
new file mode 100644
index 0000000..d75ceef
--- /dev/null
+++ b/freebsdtvision/lib/TOutline.cc
@@ -0,0 +1,737 @@
+/*
+ * TOutline.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#define cpOutlineViewer "\x6\x7\x3\x8"
+#define Uses_TOutlineViewer
+#define Uses_TOutline
+#define Uses_TEvent
+#define Uses_TDrawBuffer
+#define Uses_TKeys
+#include <tvision/tv.h>
+
+#include <string.h>
+
+TOutlineViewer::TOutlineViewer(const TRect& bounds, TScrollBar* aHScrollBar,
+ TScrollBar* aVScrollBar) : TScroller(bounds, aHScrollBar, aVScrollBar)
+{
+ growMode = gfGrowHiX + gfGrowHiY;
+ foc = 0;
+}
+
+// Called internally to ensure the focus is within range and displayed
+
+void TOutlineViewer::adjustFocus(int newFocus)
+{
+ if (newFocus < 0)
+ newFocus = 0;
+ else if (newFocus >= limit.y)
+ newFocus = limit.y - 1;
+ if (foc != newFocus)
+ focused(newFocus);
+ if (newFocus < delta.y)
+ scrollTo(delta.x, newFocus);
+ else if ((newFocus - size.y) >= delta.y)
+ scrollTo(delta.x, newFocus - size.y + 1);
+}
+
+static TDrawBuffer dBuf;
+static int auxPos;
+
+// Called to draw the outline
+
+Boolean drawTree( TOutlineViewer *beingDrawn, TNode* cur, int level,
+ int position, long lines, ushort flags )
+{
+ ushort color;
+ char s[256];
+ char* graph;
+
+ if (position >= beingDrawn->delta.y)
+ {
+ if (position >= beingDrawn->delta.y + beingDrawn->size.y)
+ return True;
+
+ if ((position == beingDrawn->foc) && ((beingDrawn->state & sfFocused)!=0))
+ color = beingDrawn->getColor(0x0202);
+ else if (beingDrawn->isSelected(position))
+ color = beingDrawn->getColor(0x0303);
+ else
+ color = beingDrawn->getColor(0x0401);
+ dBuf.moveChar(0, ' ', color, beingDrawn->size.x);
+
+ graph = beingDrawn->getGraph(level, lines, flags);
+ strcpy(s, graph);
+ delete graph;
+
+ if ( (flags & ovExpanded) == 0)
+ {
+ strcat(s, "~");
+ strcat(s, beingDrawn->getText(cur));
+ strcat(s, "~");
+ }
+ else
+ strcat(s, beingDrawn->getText(cur));
+ if (beingDrawn->delta.x <= (int)strlen(s))
+ dBuf.moveCStr(0, &s[beingDrawn->delta.x], color);
+ else
+ dBuf.moveCStr(0, "", color );
+ beingDrawn->writeLine(0, position-beingDrawn->delta.y,
+ beingDrawn->size.x, 1, dBuf);
+ auxPos = position;
+ }
+
+ return False;
+}
+
+void TOutlineViewer::draw()
+{
+ ushort nrmColor = getColor(0x0401);
+
+ firstThat(drawTree);
+ dBuf.moveChar(0, ' ', nrmColor, size.x);
+ writeLine(0, auxPos + 1, size.x, size.y - (auxPos - delta.y), dBuf);
+}
+
+// ExpandAll expands the current node and all child nodes
+
+void TOutlineViewer::expandAll(TNode* node)
+{
+ int i, n;
+
+ if (hasChildren(node))
+ {
+ adjust(node, True);
+ n = getNumChildren(node) - 1;
+ for (i=0; i <= n; i++)
+ expandAll(getChild(node, i));
+ }
+}
+
+/*Draws a graph string suitable for returning from getGraph. Level
+ indicates the outline level. Lines is the set of bits decribing
+ the which levels have a "continuation" mark (usually a vertical
+ lines). If bit 3 is set, level 3 is continued beyond this level.
+ Flags gives extra information about how to draw the end of the
+ graph (see the ovXXX constants). LevWidth is how many characters
+ to indent for each level. endWidth is the length the end characters.
+
+ The graphics is divided into two parts: the level marks, and the end
+ or node graphic. The level marks consist of the Level Mark character
+ separated by Level Filler. What marks are present is determined by
+ Lines. The end graphic is constructed by placing on of the End First
+ charcters followed by endWidth-4 End Filler characters, followed by the
+ End Child character, followed by the Retract/Expand character. If
+ endWidth equals 2, End First and Retract/Expand are used. If endWidth
+ equals 1, only the Retract/Expand character is used. Which characters
+ are selected is determined by Flags.
+
+ The layout for the characters in the Chars is:
+
+ 1: Level Filler
+ Typically a space. Used between level markers.
+ 2: Level Mark
+ Typically a vertical bar. Used to mark the levels currenly active.
+ 3: End First (not last child)
+ Typically a sideways T. Used as the first character of the end part
+ of a node graphic if the node is not the last child of the parent.
+ 4: End First (last child)
+ Typically a L shape. Used as the first character of the end part
+ of a node graphic if the node is the last child of the parent.
+ 5: End Filler
+ Typically a horizontal line. Used as filler for the end part of a
+ node graphic.
+ 6: End Child position
+ Typically not used. If endWidth > LevWidth this character will
+ be placed on top of the markers for next level. If used it is
+ typically a T.
+ 7: Retracted character
+ Typically a '+'. Displayed as the last character of the end
+ node if the level has children and they are not expanded.
+ 8: Expanded character
+ Typically as straight line. Displayed as the last character of
+ the end node if the level has children and they are expanded.
+
+*/
+
+char* TOutlineViewer::createGraph(int level, long lines, ushort flags,
+ int levWidth, int endWidth, const char* chars)
+{
+ static const int
+ FillerOrBar = 0,
+ YorL = 2,
+ StraightOrTee = 4,
+ retracted = 6;
+
+ char* graph = new char[level*levWidth+endWidth+1];
+ char* p;
+
+ Boolean expanded = Boolean((flags & ovExpanded) != 0);
+ Boolean children = Boolean((flags & ovChildren) != 0);
+ Boolean last = Boolean((flags & ovLast) != 0);
+
+ for (p=graph; level > 0; level--, lines >>= 1)
+ {
+ *p++ = (lines & 1) ? chars[FillerOrBar+1]:chars[FillerOrBar];
+ memset(p, chars[FillerOrBar], levWidth-1);
+ p += levWidth-1;
+ }
+
+ if (--endWidth > 0)
+ {
+ *p++ = last ? chars[YorL+1]:chars[YorL];
+ if (--endWidth > 0)
+ {
+ if (--endWidth > 0)
+ {
+ memset(p, chars[StraightOrTee], endWidth);
+ p += endWidth;
+ }
+ *p++ = children ? chars[StraightOrTee+1]:chars[StraightOrTee];
+ }
+ *p++ = expanded ? chars[retracted+1]:chars[retracted];
+ }
+ *p = 0;
+
+ return graph;
+}
+
+/*
+ FirstThat iterates over the nodes of the outline until the given
+ local function returns true. The declaration for the local function
+ must look like (save for the names, of course):
+
+ function MyIter(Cur: Pointer; Level, Position: Integer;
+ Lines: LongInt; Flags: Word); far;
+
+ The parameters are as follows:
+
+ Cur: A pointer to the node being checked.
+ Level: The level of the node (how many node above it it has)
+ Level is 0 based. This can be used to a call to
+ either getGraph or createGraph.
+ Position: The display order position of the node in the list.
+ This can be used in a call to Focused or Selected.
+ If in range, Position - Delta.Y is location the node
+ is displayed on the view.
+ Lines: Bits indicating the active levels. This can be used in a
+ call to getGraph or createGraph. It dicatates which
+ horizontal lines need to be drawn.
+ Flags: Various flags for drawing (see ovXXXX flags). Can be used
+ in a call to getGraph or createGraph.
+*/
+TNode* TOutlineViewer::firstThat(
+ Boolean (*test)(TOutlineViewer*, TNode* ,int ,int ,long ,ushort ))
+{
+ return iterate(test, True);
+}
+
+// Called whenever Node is receives focus
+
+void TOutlineViewer::focused(int i)
+{
+ foc = i;
+}
+
+
+/*
+ Internal function used by both FirstThat and ForEach to do the
+ actual iteration over the data. See FirstThat for more details }
+*/
+
+
+TNode* traverseTree(TOutlineViewer* outLine,
+ Boolean (*action)(TOutlineViewer*, TNode*, int, int, long, ushort),
+ int& position, Boolean& checkResult, TNode* cur, int level,
+ long lines, Boolean lastChild)
+{
+
+ Boolean result;
+ int j, childCount;
+ TNode* ret;
+ ushort flags;
+ Boolean children;
+
+ if (cur == 0)
+ return 0;
+
+ children = outLine->hasChildren(cur);
+
+ flags = 0;
+ if (lastChild)
+ flags |= ovLast;
+
+ if (children && outLine->isExpanded(cur))
+ flags |= ovChildren;
+
+ if (! children || outLine->isExpanded(cur))
+ flags |= ovExpanded;
+
+ position++;
+
+ result = (*action)(outLine, cur, level, position, lines, flags);
+ if (checkResult && result)
+ return cur;
+
+ if (children && outLine->isExpanded(cur))
+ {
+ childCount = outLine->getNumChildren(cur);
+
+ if (! lastChild)
+ lines |= 1 << level;
+
+ for (j = 0; j < childCount; j++)
+ {
+ ret = traverseTree(outLine, action, position, checkResult,
+ outLine->getChild(cur, j), level + 1, lines,
+ Boolean(j == (childCount - 1)));
+ if (ret)
+ return ret;
+ }
+ }
+ return 0;
+}
+
+
+TNode* TOutlineViewer::iterate(
+ Boolean (*action)(TOutlineViewer*, TNode*, int, int, long, ushort),
+ Boolean checkResult)
+{
+ int position = -1;
+ return traverseTree(this, action, position, checkResult,
+ getRoot(), 0, 0, True);
+}
+
+
+// Iterates over all the nodes. See FirstThat for a more details
+
+TNode* TOutlineViewer::forEach(
+ Boolean (*action)(TOutlineViewer*,TNode*,int,int,long,ushort))
+{
+ return iterate(action, False);
+}
+
+// Returns the outline palette
+
+TPalette& TOutlineViewer::getPalette() const
+{
+ static TPalette p(cpOutlineViewer, sizeof(cpOutlineViewer));
+ return p;
+}
+
+/*
+ Called to retrieve the characters to display prior to the
+ text returned by GetText. Can be overridden to return
+ change the appearance of the outline. My default calls
+ createGraph with the default.
+*/
+
+char* TOutlineViewer::getGraph(int level, long lines, ushort flags)
+{
+ static const int levelWidth = 3, endWidth = levelWidth;
+
+ return createGraph(level, lines, flags, levelWidth, endWidth, graphChars);
+}
+
+static Boolean isNode(TOutlineViewer*, TNode*, int, int position, long,
+ ushort)
+{
+ return Boolean(auxPos == position);
+}
+
+
+// Returns a pointer to the node that is to be shown on line i
+
+TNode* TOutlineViewer::getNode(int i)
+{
+ auxPos = i;
+
+ return firstThat(isNode);
+}
+
+/*
+ Returns if Node is selected. By default, returns true if Node is
+ Focused (i.e. single selection). Can be overriden to handle
+ multiple selections. }
+*/
+Boolean TOutlineViewer::isSelected(int i)
+{
+ return (foc == i) ? True:False;
+}
+
+static long focLines;
+static ushort focFlags;
+static int focLevel;
+
+static Boolean isFocused(TOutlineViewer* focusCheck, TNode*, int level,
+ int position, long lines, ushort flags)
+{
+ if (position == focusCheck->foc)
+ {
+ focLevel = level;
+ focLines = lines;
+ focFlags = flags;
+
+ return True;
+ }
+ else
+ return False;
+}
+
+// Called to handle an event
+
+void TOutlineViewer::handleEvent(TEvent& event)
+{
+ const int mouseAutoToSkip = 3;
+
+ TPoint mouse;
+ TNode* cur;
+ int newFocus = 0;
+ int count;
+ char* graph;
+ uchar dragged;
+
+ TScroller::handleEvent(event);
+ switch (event.what)
+ {
+ case evMouseDown:
+ count = 0;
+ dragged = 0;
+ do {
+ if (dragged < 2)
+ dragged++;
+ mouse = makeLocal(event.mouse.where);
+ if (mouseInView(event.mouse.where))
+ newFocus = delta.y + mouse.y;
+ else
+ {
+ if (event.what == evMouseAuto)
+ count++;
+ if (count == mouseAutoToSkip)
+ {
+ count = 0;
+ if (mouse.y < 0)
+ newFocus--;
+ if (mouse.y >= size.y)
+ newFocus++;
+ }
+ }
+ if (foc != newFocus)
+ {
+ adjustFocus(newFocus);
+ drawView();
+ }
+#ifndef __UNPATCHED
+ } while ( !(event.mouse.eventFlags & meDoubleClick) &&
+ mouseEvent(event, evMouseMove + evMouseAuto));
+#else
+ } while ( mouseEvent(event, evMouseMove + evMouseAuto) );
+#endif
+
+ if (event.mouse.eventFlags & meDoubleClick)
+ selected(foc);
+ else
+ {
+ if (dragged < 2)
+ {
+ cur = firstThat(isFocused);
+ graph = getGraph(focLevel,focLines,focFlags);
+ if (mouse.x < (int)strlen(graph) )
+ {
+ adjust(cur, ! isExpanded(cur) ? True:False);
+ update();
+ drawView();
+ }
+ delete graph;
+ }
+ }
+
+ break;
+
+ case evKeyboard:
+
+ newFocus = foc;
+ switch (ctrlToArrow(event.keyDown.keyCode))
+ {
+ case kbUp:
+ case kbLeft:
+ newFocus--;
+ break;
+ case kbDown:
+ case kbRight:
+ newFocus++;
+ break;
+ case kbPgDn:
+ newFocus += size.y - 1;
+ break;
+ case kbPgUp:
+ newFocus -= size.y - 1;
+ break;
+ case kbHome:
+ newFocus = delta.y;
+ break;
+#ifndef __UNPATCHED
+ case kbEnd:
+#else
+ casekbEnd:
+#endif
+ newFocus = delta.y + size.y - 1;
+ break;
+ case kbCtrlPgUp:
+ newFocus = 0;
+ break;
+ case kbCtrlPgDn:
+ newFocus = limit.y - 1;
+ break;
+ case kbCtrlEnter:
+ case kbEnter:
+ selected(newFocus);
+ break;
+ default:
+ uchar code = event.keyDown.charScan.charCode;
+ switch ( code )
+ {
+ case '-':
+ case '+':
+ adjust(getNode(newFocus), code == '+' ? True:False);
+ break;
+ case '*':
+ expandAll(getNode(newFocus));
+ break;
+ default:
+ return;
+ }
+ update();
+ }
+ clearEvent(event);
+ adjustFocus(newFocus);
+ drawView();
+ }
+}
+
+/*
+ Called whenever Node is selected by the user either via keyboard
+ control or by the mouse. }
+*/
+void TOutlineViewer::selected(int)
+{
+}
+
+// Redraws the outline if the outliner sfFocus state changes
+
+void TOutlineViewer::setState(ushort aState, Boolean enable)
+{
+ TScroller::setState(aState, enable);
+ if ( (aState & sfFocused) != 0)
+ drawView();
+}
+
+static int updateCount;
+static int updateMaxX;
+
+static Boolean countNode(TOutlineViewer* beingCounted, TNode* p, int level,
+ int, long lines, ushort flags)
+{
+ int len;
+ char *graph;
+
+ updateCount++;
+ graph = beingCounted->getGraph(level, lines, flags);
+ len = strlen(beingCounted->getText(p)) + strlen(graph);
+ if (updateMaxX < len)
+ updateMaxX = len;
+ delete graph;
+ return False;
+}
+
+/*
+ Updates the limits of the outline viewer. Should be called whenever
+ the data of the outline viewer changes. This includes during
+ the initalization of base classes. TOutlineViewer assumes that
+ the outline is empty. If the outline becomes non-empty during the
+ initialization, Update must be called. Also, if during the operation
+ of the TOutlineViewer the data being displayed changes, Update
+ and DrawView must be called. }
+*/
+void TOutlineViewer::update()
+{
+ updateCount = 0;
+ updateMaxX = 0;
+ firstThat(countNode);
+ setLimit(updateMaxX, updateCount);
+ adjustFocus(foc);
+}
+
+void TOutlineViewer::disposeNode(TNode* node)
+{
+ if (node)
+ {
+ if (node->childList)
+ disposeNode(node->childList);
+ if (node->next)
+ disposeNode(node->next);
+ delete node;
+ }
+}
+
+#if !defined(NO_STREAMABLE)
+
+void* TOutlineViewer::read(ipstream& ip)
+{
+ TScroller::read(ip);
+ ip >> foc;
+ return this;
+}
+
+void TOutlineViewer::write(opstream& op)
+{
+ TScroller::write(op);
+ op << foc;
+}
+
+#endif
+
+// TOutline
+
+TOutline::TOutline(const TRect& bounds, TScrollBar* aHScrollBar,
+ TScrollBar* aVScrollBar, TNode* aRoot) :
+ TOutlineViewer(bounds, aHScrollBar, aVScrollBar)
+{
+ root = aRoot;
+ update();
+}
+
+TOutline::~TOutline()
+{
+ disposeNode(root);
+}
+
+void TOutline::adjust(TNode* node, Boolean expand)
+{
+ node->expanded = expand;
+}
+
+TNode* TOutline::getRoot()
+{
+ return root;
+}
+
+int TOutline::getNumChildren(TNode* node)
+{
+ int i;
+ TNode* p;
+
+ p = node->childList;
+ i = 0;
+ while (p)
+ {
+ i++;
+ p = p->next;
+ }
+ return i;
+}
+
+TNode* TOutline::getChild(TNode* node, int i)
+{
+ TNode *p;
+
+ p = node->childList;
+ while ((i != 0) && (p != 0))
+ {
+ i--;
+ p = p->next;
+ }
+ return p;
+}
+
+char* TOutline::getText(TNode* node)
+{
+ return node->text;
+}
+
+Boolean TOutline::isExpanded(TNode* node)
+{
+ return node->expanded;
+}
+
+Boolean TOutline::hasChildren(TNode* node)
+{
+ return Boolean(node->childList != 0);
+}
+
+#if !defined(NO_STREAMABLE)
+
+TNode* TOutline::readNode(ipstream& ip)
+{
+ int nChildren;
+ uchar more;
+ uchar expand;
+
+ TNode* node = new TNode((char*)0);
+
+ ip >> more;
+ ip >> expand;
+ ip >> nChildren;
+ node->text = ip.readString();
+ node->expanded = Boolean(expand);
+
+ if (nChildren)
+ node->childList = readNode(ip);
+ else
+ node->childList = 0;
+
+ if (more)
+ node->next = readNode(ip);
+ else
+ node->next = 0;
+
+ return node;
+}
+
+void TOutline::writeNode(TNode* node, opstream& op)
+{
+ uchar more = (node->next != 0) ? 1 : 0;
+ uchar expand = (node->expanded) ? 1 : 0;
+
+ op << more;
+ op << expand;
+ op << getNumChildren(node);
+ op.writeString(node->text);
+
+ if ( node->childList != 0 )
+ writeNode(node->childList, op);
+
+ if (node->next != 0)
+ writeNode(node->next, op);
+}
+
+
+void* TOutline::read(ipstream& ip)
+{
+ TOutlineViewer::read(ip);
+
+ root = readNode(ip);
+
+ return this;
+}
+
+void TOutline::write(opstream& op)
+{
+ TOutlineViewer::write(op);
+
+ writeNode(root, op);
+}
+
+TStreamable* TOutline::build()
+{
+ return new TOutline( streamableInit );
+}
+
+#endif
diff --git a/freebsdtvision/lib/TParamText.cc b/freebsdtvision/lib/TParamText.cc
new file mode 100644
index 0000000..c993223
--- /dev/null
+++ b/freebsdtvision/lib/TParamText.cc
@@ -0,0 +1,116 @@
+/*
+ * TParamText.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#define Uses_TParamText
+#include <tvision/tv.h>
+
+#include <stdarg.h>
+
+/**
+ * Constructor.
+ *
+ * Creates and initializes a static text object by calling
+ * TStaticText::TStaticText(bounds, 0). The string is initially
+ * empty. Use @ref setText() to assign the text. @see
+ * TStaticText::TStaticText
+ *
+ * @param bounds The bounding rectangle of the view.
+ *
+ * @note There is a limit of max bytes
+ */
+TParamText::TParamText(const TRect &bounds)
+ : TStaticText(bounds, "")
+{
+}
+
+/**
+ * Undocumented.
+ */
+TParamText::~TParamText()
+{
+}
+
+/**
+ * Returns the length of the string, expressed in characters.
+ */
+int
+TParamText::getTextLen() const
+{
+ return text.length();
+}
+
+/**
+ * Sets a new value for the string.
+ *
+ * Since this method calls vsprintf(), you can use a printf-like style for
+ * its arguments.
+ */
+void
+TParamText::setText(const char fmt[], ...)
+{
+ char buff[4906];
+ va_list ap;
+
+ va_start(ap, fmt);
+ vsnprintf(buff, 4096, fmt, ap);
+ va_end(ap);
+
+ text = buff;
+ drawView();
+}
+
+#if !defined(NO_STREAMABLE)
+
+/**
+ * Writes to the output stream `os'.
+ */
+void
+TParamText::write(opstream &os)
+{
+ TStaticText::write(os);
+ os.writeString(text.c_str());
+}
+
+/**
+ * Reads from the input stream `is'.
+ */
+void *
+TParamText::read(ipstream &is)
+{
+ TStaticText::read(is);
+ char buff[4096];
+ is.readString(buff, 4096);
+ text = buff;
+ return this;
+}
+
+/**
+ * Creates a new TParamText.
+ *
+ * Called to create an object in certain stream-reading situations.
+ */
+TStreamable *
+TParamText::build()
+{
+ return new TParamText(streamableInit);
+}
+
+/**
+ * Each streamable class needs a "builder" to allocate the correct memory
+ * for its objects together with the initialized virtual table pointers.
+ * This is achieved by calling this constructor with an argument of type
+ * @ref StreamableInit.
+ */
+TParamText::TParamText(StreamableInit)
+ : TStaticText(streamableInit)
+{
+}
+#endif
diff --git a/freebsdtvision/lib/TPoint.cc b/freebsdtvision/lib/TPoint.cc
new file mode 100644
index 0000000..b971f6e
--- /dev/null
+++ b/freebsdtvision/lib/TPoint.cc
@@ -0,0 +1,39 @@
+/*
+ * TPoint.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#define Uses_TPoint
+#include <tvision/tv.h>
+
+TPoint operator - ( const TPoint& one, const TPoint& two )
+{
+ TPoint result;
+ result.x = one.x - two.x;
+ result.y = one.y - two.y;
+ return result;
+}
+
+TPoint operator + ( const TPoint& one, const TPoint& two )
+{
+ TPoint result;
+ result.x = one.x + two.x;
+ result.y = one.y + two.y;
+ return result;
+}
+
+int operator == ( const TPoint& one, const TPoint& two )
+{
+ return one.x == two.x && one.y == two.y;
+}
+
+int operator!= ( const TPoint& one, const TPoint& two )
+{
+ return one.x != two.x || one.y != two.y;
+}
diff --git a/freebsdtvision/lib/TProgram.cc b/freebsdtvision/lib/TProgram.cc
new file mode 100644
index 0000000..12292c4
--- /dev/null
+++ b/freebsdtvision/lib/TProgram.cc
@@ -0,0 +1,365 @@
+/*
+ * TProgram.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#define Uses_TKeys
+#define Uses_TProgram
+#define Uses_TEvent
+#define Uses_TScreen
+#define Uses_TStatusLine
+#define Uses_TMenu
+#define Uses_TGroup
+#define Uses_TDeskTop
+#define Uses_TEventQueue
+#define Uses_TMenuBar
+#define Uses_TStatusDef
+#define Uses_TStatusItem
+#define Uses_TDialog
+#include <tvision/tv.h>
+
+// Public variables
+
+TStatusLine * TProgram::statusLine = 0;
+TMenuBar * TProgram::menuBar = 0;
+TDeskTop * TProgram::deskTop = 0;
+TProgram * TProgram::application = 0;
+int TProgram::appPalette = apColor;
+TEvent TProgram::pending;
+
+extern TPoint shadowSize;
+
+TProgInit::TProgInit( TStatusLine *(*cStatusLine)( TRect ),
+ TMenuBar *(*cMenuBar)( TRect ),
+ TDeskTop *(*cDeskTop )( TRect )
+ ) :
+ createStatusLine( cStatusLine ),
+ createMenuBar( cMenuBar ),
+ createDeskTop( cDeskTop )
+{
+}
+
+
+TProgram::TProgram() :
+ TProgInit( &TProgram::initStatusLine,
+ &TProgram::initMenuBar,
+ &TProgram::initDeskTop
+ ),
+ TGroup( TRect( 0,0,TScreen::screenWidth,TScreen::screenHeight ) )
+{
+ application = this;
+ initScreen();
+ state = sfVisible | sfSelected | sfFocused | sfModal | sfExposed;
+ options = 0;
+ buffer = TScreen::screenBuffer;
+
+ if( createDeskTop != 0 &&
+ (deskTop = createDeskTop( getExtent() )) != 0
+ )
+ insert(deskTop);
+
+ if( createStatusLine != 0 &&
+ (statusLine = createStatusLine( getExtent() )) != 0
+ )
+ insert(statusLine);
+
+ if( createMenuBar != 0 &&
+ (menuBar = createMenuBar( getExtent() )) != 0
+ )
+ insert(menuBar);
+
+}
+
+TProgram::~TProgram()
+{
+ application = 0;
+}
+
+void TProgram::shutDown()
+{
+ statusLine = 0;
+ menuBar = 0;
+ deskTop = 0;
+ TGroup::shutDown();
+}
+
+Boolean TProgram::canMoveFocus()
+{
+ return deskTop->valid(cmReleasedFocus);
+}
+
+ushort TProgram::executeDialog( TDialog* pD, void* data )
+{
+ ushort c=cmCancel;
+
+ if (validView(pD))
+ {
+ if (data)
+ pD->setData(data);
+ c = deskTop->execView(pD);
+ if ((c != cmCancel) && (data))
+ pD->getData(data);
+ destroy(pD);
+ }
+
+ return c;
+}
+
+/*
+ * This patch works around a "GOT relocation burb" under FreeBSD. The actual
+ * bug is in gcc-2.7.2.1, but there is no easy fix for it there.
+ * Patch from: John Polstra <jdp@polstra.com>
+ * Date: Wed, 28 May 1997 22:08:59 -0700
+ */
+#ifdef __FreeBSD__
+static Boolean hasMouse( TView *p, void *s )
+#else
+inline Boolean hasMouse( TView *p, void *s )
+#endif
+{
+ return Boolean( (p->state & sfVisible) != 0 &&
+ p->mouseInView( ((TEvent *)s)->mouse.where ));
+}
+
+void TProgram::getEvent(TEvent& event)
+{
+ if( pending.what != evNothing )
+ {
+ event = pending;
+ pending.what = evNothing;
+ }
+ else
+ {
+ /* SS: changed */
+
+ TScreen::getEvent(event);
+ if (event.what == evCommand) switch (event.message.command)
+ {
+ case cmSysRepaint:
+ /*
+ * This command redraws the screen. Useful when the
+ * user restarts the process after a ctrl-z.
+ */
+ redraw();
+ clearEvent(event);
+ break;
+ case cmSysResize:
+ /*
+ * Generated after a SIGWINCH signal.
+ */
+ buffer = TScreen::screenBuffer;
+ changeBounds(TRect(0, 0, TScreen::screenWidth,
+ TScreen::screenHeight));
+ setState(sfExposed, False);
+ setState(sfExposed, True);
+ redraw();
+ clearEvent(event);
+ break;
+ case cmSysWakeup:
+ idle();
+ clearEvent(event);
+ }
+ }
+
+ if( statusLine != 0 )
+ {
+ if( (event.what & evKeyDown) != 0 ||
+ ( (event.what & evMouseDown) != 0 &&
+ firstThat( hasMouse, &event ) == statusLine
+ )
+ )
+ statusLine->handleEvent( event );
+ }
+}
+
+TPalette& TProgram::getPalette() const
+{
+ static TPalette color ( cpAppColor, sizeof( cpAppColor )-1 );
+ static TPalette blackwhite(cpAppBlackWhite, sizeof( cpAppBlackWhite )-1 );
+ static TPalette monochrome(cpAppMonochrome, sizeof( cpAppMonochrome )-1 );
+ static TPalette *palettes[] =
+ {
+ &color,
+ &blackwhite,
+ &monochrome
+ };
+ return *(palettes[appPalette]);
+}
+
+void TProgram::handleEvent( TEvent& event )
+{
+ if( event.what == evKeyDown )
+ {
+ char c = getAltChar( event.keyDown.keyCode );
+ if( c >= '1' && c <= '9' )
+ {
+#ifndef __UNPATCHED
+ if(canMoveFocus()) //<--- Check valid first.
+ {
+ if( message(deskTop, evBroadcast, cmSelectWindowNum,
+ (void *)(c - '0')) != 0 )
+ clearEvent( event );
+ }
+ else
+ clearEvent(event);
+#else
+ if( message( deskTop,
+ evBroadcast,
+ cmSelectWindowNum,
+ (void *)(c - '0')
+ ) != 0 )
+ clearEvent( event );
+#endif
+ }
+ }
+ TGroup::handleEvent( event );
+ if( event.what == evCommand && event.message.command == cmQuit )
+ {
+ endModal( cmQuit );
+ clearEvent( event );
+ }
+}
+
+void TProgram::idle()
+{
+ if( statusLine != 0 )
+ statusLine->update();
+
+ if( commandSetChanged == True )
+ {
+ message( this, evBroadcast, cmCommandSetChanged, 0 );
+ commandSetChanged = False;
+ }
+}
+
+TDeskTop *TProgram::initDeskTop( TRect r )
+{
+ r.a.y++;
+ r.b.y--;
+ return new TDeskTop( r );
+}
+
+TMenuBar *TProgram::initMenuBar( TRect r )
+{
+ r.b.y = r.a.y + 1;
+ return new TMenuBar( r, (TMenu *)0 );
+}
+
+void TProgram::initScreen()
+{
+ if( (TScreen::screenMode & 0x00FF) != TDisplay::smMono )
+ {
+ if( (TScreen::screenMode & TDisplay::smFont8x8) != 0 )
+ shadowSize.x = 1;
+ else
+ shadowSize.x = 2;
+ shadowSize.y = 1;
+ showMarkers = False;
+ if( (TScreen::screenMode & 0x00FF) == TDisplay::smBW80 )
+ appPalette = apBlackWhite;
+ else
+ appPalette = apColor;
+ }
+ else
+ {
+
+ shadowSize.x = 0;
+ shadowSize.y = 0;
+ showMarkers = True;
+ appPalette = apMonochrome;
+ }
+}
+
+TStatusLine *TProgram::initStatusLine( TRect r )
+{
+ r.a.y = r.b.y - 1;
+ return new TStatusLine( r,
+ *new TStatusDef( 0, 0xFFFF ) +
+ *new TStatusItem( exitText, kbAltX, cmQuit ) +
+ *new TStatusItem( 0, kbF10, cmMenu ) +
+ *new TStatusItem( 0, kbAltF3, cmClose ) +
+ *new TStatusItem( 0, kbF5, cmZoom ) +
+ *new TStatusItem( 0, kbCtrlF5, cmResize )
+ );
+}
+
+/**
+ * Inserts a window in the TProgram.
+ *
+ * @param pWin Window to insert.
+ * @return pWin if window is inserted, NULL otherwize.
+ *
+ * @note For some wacky reason the API calls destroy() on the pWin
+ * if it can not insert it on the desk top.
+ */
+TWindow *
+TProgram::insertWindow(TWindow* pWin)
+{
+ if (validView(pWin)) {
+ if (canMoveFocus()) {
+ deskTop->insert(pWin);
+ return pWin;
+ } else {
+ destroy(pWin);
+ }
+ }
+ return NULL;
+}
+
+/**
+ * Inserts a window in the TProgram.
+ *
+ * @param pWin Window to insert.
+ * @return pWin if window is inserted, NULL otherwize.
+ *
+ * @note For some wacky reason the API calls destroy() on the pWin
+ * if it can not insert it on the desk top.
+ */
+void
+TProgram::removeWindow(TWindow* pWin)
+{
+ if (validView(pWin)) {
+ if (canMoveFocus()) {
+ deskTop->remove(pWin);
+ }
+ }
+}
+
+void TProgram::putEvent( TEvent & event )
+{
+ pending = event;
+}
+
+void TProgram::run()
+{
+ execute();
+}
+
+void TProgram::setScreenMode( ushort )
+{
+ /* SS: changed */
+
+ TRect r = TRect( 0, 0, TScreen::screenWidth, TScreen::screenHeight );
+ changeBounds( r );
+ setState(sfExposed, False);
+ setState(sfExposed, True);
+ redraw();
+}
+
+TView* TProgram::validView(TView* p)
+{
+ if( p == 0 )
+ return 0;
+ if( !p->valid( cmValid ) )
+ {
+ destroy( p );
+ return 0;
+ }
+ return p;
+}
diff --git a/freebsdtvision/lib/TRadioButtons.cc b/freebsdtvision/lib/TRadioButtons.cc
new file mode 100644
index 0000000..0ee5e72
--- /dev/null
+++ b/freebsdtvision/lib/TRadioButtons.cc
@@ -0,0 +1,53 @@
+/*
+ * TRadioButtons.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#define Uses_TRadioButtons
+#include <tvision/tv.h>
+
+void TRadioButtons::draw()
+{
+ drawMultiBox( button, " \x7" );
+}
+
+Boolean TRadioButtons::mark( int item )
+{
+ return Boolean( item == (int)value );
+}
+
+void TRadioButtons::press( int item )
+{
+ value = item;
+}
+
+void TRadioButtons::movedTo( int item )
+{
+ value = item;
+}
+
+void TRadioButtons::setData( void * rec )
+{
+ TCluster::setData(rec);
+ sel = (int)value;
+}
+
+#if !defined(NO_STREAMABLE)
+
+TStreamable *TRadioButtons::build()
+{
+ return new TRadioButtons( streamableInit );
+}
+
+TRadioButtons::TRadioButtons( StreamableInit ) : TCluster( streamableInit )
+{
+}
+
+
+#endif
diff --git a/freebsdtvision/lib/TResourceCollection.cc b/freebsdtvision/lib/TResourceCollection.cc
new file mode 100644
index 0000000..bc766a7
--- /dev/null
+++ b/freebsdtvision/lib/TResourceCollection.cc
@@ -0,0 +1,59 @@
+/*
+ * TResourceCollection.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#define Uses_TResourceCollection
+#define Uses_TResourceItem
+#include <tvision/tv.h>
+
+TResourceCollection::TResourceCollection( short aLimit, short aDelta) :
+ TStringCollection( aLimit, aDelta)
+{
+}
+
+void TResourceCollection::freeItem( void* item )
+{
+ delete ((TResourceItem*)item)->key;
+ delete (TResourceItem*)item;
+}
+
+void* TResourceCollection::keyOf( void* item )
+{
+ return ((TResourceItem *)item)->key;
+}
+
+#if !defined(NO_STREAMABLE)
+
+TStreamable *TResourceCollection::build()
+{
+ return new TResourceCollection( streamableInit );
+}
+
+void TResourceCollection::writeItem( void *obj, opstream& os )
+{
+
+ os << ((TResourceItem *)obj)->pos;
+ os << ((TResourceItem *)obj)->size;
+ os.writeString(((TResourceItem *)obj)->key);
+
+}
+
+void *TResourceCollection::readItem( ipstream& is )
+{
+ TResourceItem *obj;
+
+ obj = new TResourceItem;
+ is >> obj->pos;
+ is >> obj->size;
+ obj->key = is.readString();
+ return (void *)obj;
+}
+
+#endif
diff --git a/freebsdtvision/lib/TResourceFile.cc b/freebsdtvision/lib/TResourceFile.cc
new file mode 100644
index 0000000..6b0470c
--- /dev/null
+++ b/freebsdtvision/lib/TResourceFile.cc
@@ -0,0 +1,247 @@
+/*
+ * TResourceFile.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
+ */
+
+#define Uses_TResourceFile
+#define Uses_TResourceItem
+#define Uses_fpstream
+#define Uses_TCollection
+#define Uses_TStringCollection
+#define Uses_TResourceCollection
+#include <tvision/tv.h>
+
+#include <ios>
+
+using std::ios;
+using std::streampos;
+
+/*
+ * SS: Warning, this file is non-portable. It is not used by any of the
+ * classes in the library.
+ */
+const long rStreamMagic = 0x52504246uL; // 'FBPR'
+
+
+TResourceFile::TResourceFile( fpstream *aStream )
+ : TObject(),
+ stream(aStream),
+ basePos(stream->tellp())
+{
+ struct Count_type {
+ ushort lastCount;
+ ushort pageCount;
+ };
+
+ struct Info_type {
+ ushort infoType;
+ long infoSize;
+ };
+
+ struct THeader {
+ ushort signature;
+ union {
+ Count_type count;
+ Info_type info;
+ };
+ };
+
+ streampos streamSize = filelength(*stream);
+ THeader header;
+ int found = 0;
+
+ int repeat;
+ do {
+ repeat = 0;
+ if (basePos <= (streamSize - (long)sizeof(THeader)))
+ {
+ stream->seekg(basePos, ios::beg);
+ stream->readBytes(&header, sizeof(THeader));
+ if (header.signature == 0x5a4d)
+ {
+ basePos += ((header.count.pageCount * 512L) -
+ (-header.count.lastCount & 511));
+ repeat = 1;
+ }
+ else if (header.signature == 0x4246)
+ {
+ if (header.info.infoType == 0x5250)
+ found = 1;
+ else
+ {
+ basePos +=
+ header.info.infoSize + 16 - (header.info.infoSize)%16;
+ repeat = 1;
+ }
+ }
+ }
+ } while (repeat);
+
+ if (found) {
+ stream->seekg(basePos + sizeof(long) * 2, ios::beg);
+ *stream >> indexPos;
+ stream->seekg(basePos + indexPos, ios::beg);
+ *stream >> index;
+ } else {
+ indexPos = sizeof(long) * 3;
+ index = new TResourceCollection(0, 8);
+ }
+}
+
+TResourceFile::~TResourceFile()
+{
+ flush();
+ destroy( (TCollection *)index );
+ delete stream;
+}
+
+short TResourceFile::count()
+{
+ return index->getCount();
+}
+
+void TResourceFile::remove( const char *key )
+{
+ int i;
+
+ if (index->search( (char *)key, i))
+ {
+ index->free(index->at(i));
+ modified = True;
+ }
+}
+
+void TResourceFile::flush()
+{
+ if (modified == True) {
+ stream->seekp(basePos + indexPos, ios::beg);
+ *stream << index;
+#if 1
+ assert(0); /* XXX */
+#else
+ long lenRez = stream->tellp() - basePos - sizeof(long) * 2;
+ stream->seekp(basePos, ios::beg);
+ *stream << rStreamMagic;
+ *stream << lenRez;
+#endif
+ *stream << indexPos;
+ stream->flush();
+ modified = False;
+ }
+}
+
+void *TResourceFile::get( const char *key)
+{
+ int i;
+ void *p;
+
+ if (! index->search((char *)key, i))
+ return 0;
+ stream->seekg(basePos + ((TResourceItem*)(index->at(i)))->pos, ios::beg);
+ *stream >> p;
+ return p;
+}
+
+const char *TResourceFile::keyAt(short i)
+{
+ return ((TResourceItem*)(index->at(i)))->key;
+}
+
+void TResourceFile::put(TStreamable *item, const char *key)
+{
+ int i;
+ TResourceItem *p;
+
+ if (index->search( (char *)key, i))
+ p = (TResourceItem*)(index->at(i));
+ else
+ {
+ p = new TResourceItem;
+ p->key = newStr(key);
+ index->atInsert(i, p);
+ }
+ p->pos = indexPos;
+ stream->seekp(basePos + indexPos, ios::beg);
+ *stream << item;
+ indexPos = stream->tellp() - basePos;
+ p->size = indexPos - p->pos;
+
+ modified = True;
+}
+
+void copyStream( fpstream* dest, fpstream* src, long n)
+{
+ const int xferSize=256;
+
+ char *xferBuf = new char[xferSize];
+ size_t thisMove;
+
+ while (n > 0)
+ {
+ if (n > xferSize)
+ thisMove = xferSize;
+ else
+ thisMove = (int)n;
+
+ src->readBytes(xferBuf, thisMove);
+ dest->writeBytes(xferBuf, thisMove);
+ n -= thisMove;
+ }
+
+ delete xferBuf;
+}
+
+struct SwitchInfo
+{
+ fpstream* sourceStream;
+ fpstream* destStream;
+ long oldBasePos;
+ long newBasePos;
+};
+
+void doCopyResource(void* item, void* arg)
+{
+ SwitchInfo* si = (SwitchInfo*)arg;
+
+ si->sourceStream->seekg(si->oldBasePos + ((TResourceItem*)item)->pos);
+ ((TResourceItem*)item)->pos = si->destStream->tellp() - si->newBasePos;
+
+ copyStream( si->destStream, si->sourceStream, ((TResourceItem*)item)->size);
+}
+
+fpstream* TResourceFile::switchTo( fpstream *aStream, Boolean pack )
+{
+ SwitchInfo args;
+
+ args.newBasePos = aStream->tellp();
+ args.oldBasePos = basePos;
+
+ if (pack)
+ {
+ args.sourceStream = stream;
+ args.destStream = aStream;
+ aStream->seekp( args.newBasePos + sizeof(long)*3);
+ index->forEach(doCopyResource, &args);
+ indexPos = aStream->tellp() - args.newBasePos;
+ }
+ else
+ {
+ stream->seekg(basePos);
+ copyStream(aStream, stream, indexPos);
+ }
+
+ modified = True;
+ basePos = args.newBasePos;
+
+ fpstream* oldStream = stream;
+ stream = aStream;
+
+ return oldStream;
+}
diff --git a/freebsdtvision/lib/TScrollBar.cc b/freebsdtvision/lib/TScrollBar.cc
new file mode 100644
index 0000000..17e3f41
--- /dev/null
+++ b/freebsdtvision/lib/TScrollBar.cc
@@ -0,0 +1,364 @@
+/*
+ * TScrollBar.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#define Uses_TKeys
+#define Uses_TScrollBar
+#define Uses_TRect
+#define Uses_TDrawBuffer
+#define Uses_TEvent
+#define Uses_TGroup
+#define Uses_opstream
+#define Uses_ipstream
+#include <tvision/tv.h>
+
+#include <ctype.h>
+#include <string.h>
+
+#define cpScrollBar "\x04\x05\x05"
+
+TScrollBar::TScrollBar( const TRect& bounds ) :
+ TView( bounds ),
+ value( 0 ),
+ minVal( 0 ),
+ maxVal( 0 ),
+ pgStep( 1 ),
+ arStep( 1 )
+{
+ if( size.x == 1 )
+ {
+ growMode = gfGrowLoX | gfGrowHiX | gfGrowHiY;
+ memcpy( chars, vChars, sizeof(vChars) );
+ }
+ else
+ {
+ growMode = gfGrowLoY | gfGrowHiX | gfGrowHiY;
+ memcpy( chars, hChars, sizeof(hChars) );
+ }
+}
+
+void TScrollBar::draw()
+{
+ drawPos(getPos());
+}
+
+void TScrollBar::drawPos( int pos )
+{
+ TDrawBuffer b;
+
+ int s = getSize() - 1;
+ b.moveChar( 0, chars[0], getColor(2), 1 );
+ if( maxVal == minVal )
+ b.moveChar( 1, chars[4], getColor(1), s-1 );
+ else
+ {
+ b.moveChar( 1, chars[2], getColor(1), s-1 );
+ b.moveChar( pos, chars[3], getColor(3), 1 );
+ }
+
+ b.moveChar( s, chars[1], getColor(2), 1 );
+ writeBuf( 0, 0, size.x, size.y, b );
+}
+
+TPalette& TScrollBar::getPalette() const
+{
+ static TPalette palette( cpScrollBar, sizeof( cpScrollBar )-1 );
+ return palette;
+}
+
+int TScrollBar::getPos()
+{
+ int r = maxVal - minVal;
+ if( r == 0 )
+ return 1;
+ else
+ return int(( ((long(value - minVal) * (getSize() - 3)) + (r >> 1)) / r) + 1);
+}
+
+int TScrollBar::getSize()
+{
+ int s;
+
+ if( size.x == 1 )
+ s = size.y;
+ else
+ s = size.x;
+
+#ifndef __UNPATCHED
+ return max( 2, s );
+#else
+ return max( 3, s );
+#endif
+}
+
+static TPoint mouse;
+static int p, s;
+static TRect extent;
+
+int TScrollBar::getPartCode()
+{
+ int part= - 1;
+#ifndef __UNPATCHED
+ if( extent.contains(mouse) )
+ {
+ int mark = (size.x == 1) ? mouse.y : mouse.x;
+
+ // Check for vertical or horizontal size of 2
+ if((size.x == 1 && size.y == 2) || (size.x == 2 && size.y == 1))
+ {
+ // Set 'part' to left or right arrow only
+ if(mark < 1) part = sbLeftArrow;
+ else if(mark == p) part = sbRightArrow;
+ }
+ else
+ {
+ if (mark == p) part= sbIndicator;
+ else
+ {
+ if( mark < 1 ) part = sbLeftArrow;
+ else if( mark < p ) part= sbPageLeft;
+ else if( mark < s ) part= sbPageRight;
+ else part= sbRightArrow;
+ if( size.x == 1 ) part += 4;
+ }
+ }
+ }
+#else
+ if( extent.contains(mouse) )
+ {
+ int mark = (size.x == 1) ? mouse.y : mouse.x;
+
+ if (mark == p)
+ part= sbIndicator;
+ else
+ {
+ if( mark < 1 )
+ part = sbLeftArrow;
+ else if( mark < p )
+ part= sbPageLeft;
+ else if( mark < s )
+ part= sbPageRight;
+ else
+ part= sbRightArrow;
+
+ if( size.x == 1 )
+ part += 4;
+ }
+ }
+#endif
+ return part;
+}
+
+void TScrollBar::handleEvent( TEvent& event )
+{
+ Boolean Tracking;
+ int i = 0, clickPart;
+
+ TView::handleEvent(event);
+ switch( event.what )
+ {
+ case evMouseDown:
+ message(owner, evBroadcast, cmScrollBarClicked,this); // Clicked()
+ mouse = makeLocal( event.mouse.where );
+ extent = getExtent();
+ extent.grow(1, 1);
+ p = getPos();
+ s = getSize() - 1;
+ clickPart= getPartCode();
+ if( clickPart != sbIndicator )
+ {
+ do {
+ mouse = makeLocal( event.mouse.where );
+ if( getPartCode() == clickPart )
+ setValue(value + scrollStep(clickPart) );
+ } while( mouseEvent(event, evMouseAuto) );
+ }
+ else
+ {
+ do {
+ mouse = makeLocal( event.mouse.where );
+ Tracking = extent.contains(mouse);
+ if( Tracking )
+ {
+ if( size.x == 1 )
+ i = mouse.y;
+ else
+ i = mouse.x;
+ i = max( i, 1 );
+ i = min( i, s-1 );
+ }
+ else
+ i = getPos();
+ if(i != p )
+ {
+ drawPos(i);
+#ifndef __UNPATCHED
+ // nothing
+#else
+ p = i;
+#endif
+ }
+ } while( mouseEvent(event,evMouseMove) );
+ if( Tracking && s > 2 )
+ {
+ s -= 2;
+ setValue( int(((long(p - 1) * (maxVal - minVal) + (s >> 1)) / s) + minVal));
+ }
+ }
+ clearEvent(event);
+ break;
+ case evKeyDown:
+ if( (state & sfVisible) != 0 )
+ {
+ clickPart = sbIndicator;
+ if( size.y == 1 )
+ switch( ctrlToArrow(event.keyDown.keyCode) )
+ {
+ case kbLeft:
+ clickPart = sbLeftArrow;
+ break;
+ case kbRight:
+ clickPart = sbRightArrow;
+ break;
+ case kbCtrlLeft:
+ clickPart = sbPageLeft;
+ break;
+ case kbCtrlRight:
+ clickPart = sbPageRight;
+ break;
+ case kbHome:
+ i = minVal;
+ break;
+ case kbEnd:
+ i = maxVal;
+ break;
+ default:
+ return;
+ }
+ else
+ switch( ctrlToArrow(event.keyDown.keyCode) )
+ {
+ case kbUp:
+ clickPart = sbUpArrow;
+ break;
+ case kbDown:
+ clickPart = sbDownArrow;
+ break;
+ case kbPgUp:
+ clickPart = sbPageUp;
+ break;
+ case kbPgDn:
+ clickPart = sbPageDown;
+ break;
+ case kbCtrlPgUp:
+ i = minVal;
+ break;
+ case kbCtrlPgDn:
+ i = maxVal;
+ break;
+ default:
+ return;
+ }
+ message(owner,evBroadcast,cmScrollBarClicked,this); // Clicked
+ if( clickPart != sbIndicator )
+ i = value + scrollStep(clickPart);
+ setValue(i);
+ clearEvent(event);
+ }
+ }
+}
+
+void TScrollBar::scrollDraw()
+{
+ message(owner, evBroadcast, cmScrollBarChanged,this);
+}
+
+int TScrollBar::scrollStep( int part )
+{
+ int step;
+
+ if( !(part & 2) )
+ step = arStep;
+ else
+ step = pgStep;
+ if( !(part & 1) )
+ return -step;
+ else
+ return step;
+}
+
+void TScrollBar::setParams( int aValue,
+ int aMin,
+ int aMax,
+ int aPgStep,
+ int aArStep
+ )
+{
+ int sValue;
+
+ aMax = max( aMax, aMin );
+ aValue = max( aMin, aValue );
+ aValue = min( aMax, aValue );
+ sValue = value;
+ if( sValue != aValue || minVal != aMin || maxVal != aMax )
+ {
+ value = aValue;
+ minVal = aMin;
+ maxVal = aMax;
+ drawView();
+ if( sValue != aValue )
+ scrollDraw();
+ }
+ pgStep = aPgStep;
+ arStep = aArStep;
+}
+
+void TScrollBar::setRange( int aMin, int aMax )
+{
+ setParams( value, aMin, aMax, pgStep, arStep );
+}
+
+void TScrollBar::setStep( int aPgStep, int aArStep )
+{
+ setParams( value, minVal, maxVal, aPgStep, aArStep );
+}
+
+void TScrollBar::setValue( int aValue )
+{
+ setParams( aValue, minVal, maxVal, pgStep, arStep );
+}
+
+#if !defined(NO_STREAMABLE)
+
+void TScrollBar::write( opstream& os )
+{
+ TView::write( os );
+ os << value << minVal << maxVal << pgStep << arStep;
+ os.writeBytes(chars, sizeof(chars));
+}
+
+void *TScrollBar::read( ipstream& is )
+{
+ TView::read( is );
+ is >> value >> minVal >> maxVal >> pgStep >> arStep;
+ is.readBytes(chars, sizeof(TScrollChars));
+ return this;
+}
+
+TStreamable *TScrollBar::build()
+{
+ return new TScrollBar( streamableInit );
+}
+
+TScrollBar::TScrollBar( StreamableInit ) : TView( streamableInit )
+{
+}
+
+#endif
diff --git a/freebsdtvision/lib/TScroller.cc b/freebsdtvision/lib/TScroller.cc
new file mode 100644
index 0000000..bcc8786
--- /dev/null
+++ b/freebsdtvision/lib/TScroller.cc
@@ -0,0 +1,188 @@
+/*
+ * TScroller.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#define Uses_TScroller
+#define Uses_TScrollBar
+#define Uses_TEvent
+#define Uses_TRect
+#define Uses_opstream
+#define Uses_ipstream
+#include <tvision/tv.h>
+
+#include <ctype.h>
+#include <string.h>
+
+#define cpScroller "\x06\x07"
+
+TScroller::TScroller( const TRect& bounds,
+ TScrollBar *aHScrollBar,
+ TScrollBar *aVScrollBar) :
+ TView( bounds ),
+ drawLock( 0 ),
+ drawFlag( False ),
+ hScrollBar( aHScrollBar ),
+ vScrollBar( aVScrollBar )
+{
+ delta.x = delta.y = limit.x = limit.y = 0;
+ options |= ofSelectable;
+ eventMask |= evBroadcast;
+}
+
+void TScroller::shutDown()
+{
+ hScrollBar = 0;
+ vScrollBar = 0;
+ TView::shutDown();
+}
+
+void TScroller::changeBounds( const TRect& bounds )
+{
+ setBounds(bounds);
+ drawLock++;
+ setLimit(limit.x, limit.y);
+ drawLock--;
+ drawFlag = False;
+ drawView();
+}
+
+void TScroller::checkDraw()
+{
+ if( drawLock == 0 && drawFlag != False )
+ {
+ drawFlag = False;
+ drawView();
+ }
+}
+
+TPalette& TScroller::getPalette() const
+{
+ static TPalette palette( cpScroller, sizeof( cpScroller )-1 );
+ return palette;
+}
+
+void TScroller::handleEvent(TEvent& event)
+{
+ TView::handleEvent(event);
+
+ if( event.what == evBroadcast &&
+ event.message.command == cmScrollBarChanged &&
+ ( event.message.infoPtr == hScrollBar ||
+ event.message.infoPtr == vScrollBar )
+ )
+ scrollDraw();
+}
+
+void TScroller::scrollDraw()
+{
+ TPoint d;
+
+ if( hScrollBar != 0 )
+ d.x = hScrollBar->value;
+ else
+ d.x = 0;
+
+ if( vScrollBar != 0 )
+ d.y = vScrollBar->value;
+ else
+ d.y = 0;
+
+ if( d.x != delta.x || d.y != delta.y )
+ {
+ setCursor( cursor.x + delta.x - d.x, cursor.y + delta.y - d.y );
+ delta = d;
+ if( drawLock != 0 )
+ drawFlag = True;
+ else
+ drawView();
+ }
+}
+
+void TScroller::scrollTo( int x, int y )
+{
+ drawLock++;
+ if( hScrollBar != 0 )
+ hScrollBar->setValue(x);
+ if( vScrollBar != 0 )
+ vScrollBar->setValue(y);
+ drawLock--;
+ checkDraw();
+}
+
+void TScroller::setLimit( int x, int y )
+{
+ limit.x = x;
+ limit.y = y;
+ drawLock++;
+ if( hScrollBar != 0 )
+ hScrollBar->setParams( hScrollBar->value,
+ 0,
+ x - size.x,
+ size.x-1,
+ hScrollBar->arStep
+ );
+ if( vScrollBar != 0 )
+ vScrollBar->setParams( vScrollBar->value,
+ 0,
+ y - size.y,
+ size.y-1,
+ vScrollBar->arStep
+ );
+ drawLock--;
+ checkDraw();
+}
+
+void TScroller::showSBar( TScrollBar *sBar )
+{
+ if( sBar != 0 )
+ if( getState(sfActive | sfSelected) != 0 )
+ sBar->show();
+ else
+ sBar->hide();
+}
+
+void TScroller::setState( ushort aState, Boolean enable )
+{
+ TView::setState(aState, enable);
+ if( (aState & (sfActive | sfSelected)) != 0 )
+ {
+ showSBar(hScrollBar);
+ showSBar(vScrollBar);
+ }
+}
+
+#if !defined(NO_STREAMABLE)
+
+void TScroller::write( opstream& os )
+{
+ TView::write( os );
+ os << hScrollBar << vScrollBar << delta << limit;
+}
+
+void *TScroller::read( ipstream& is )
+{
+ TView::read( is );
+ is >> hScrollBar >> vScrollBar >> delta >> limit;
+ drawLock = 0;
+ drawFlag = False;
+ return this;
+}
+
+TStreamable *TScroller::build()
+{
+ return new TScroller( streamableInit );
+}
+
+TScroller::TScroller( StreamableInit ) : TView( streamableInit )
+{
+}
+
+
+#endif
diff --git a/freebsdtvision/lib/TSortedCollection.cc b/freebsdtvision/lib/TSortedCollection.cc
new file mode 100644
index 0000000..a620230
--- /dev/null
+++ b/freebsdtvision/lib/TSortedCollection.cc
@@ -0,0 +1,100 @@
+/*
+ * TSortedCollection.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#define Uses_TNSSortedCollection
+#define Uses_opstream
+#define Uses_ipstream
+#define Uses_TSortedCollection
+#include <tvision/tv.h>
+
+
+ccIndex TNSSortedCollection::indexOf(void *item)
+{
+ ccIndex i;
+
+ if( search( keyOf(item), i ) == 0 )
+ return ccNotFound;
+ else
+ {
+ if( duplicates )
+ {
+ while( i < count && item != items[i] )
+ i++;
+ }
+ if( i < count )
+ return i;
+ else
+ return ccNotFound;
+ }
+}
+
+ccIndex TNSSortedCollection::insert( void *item )
+{
+ ccIndex i;
+ if( search( keyOf(item), i ) == 0 || duplicates ) // order dependency!
+ atInsert( i, item ); // must do Search
+ // before calling
+ // AtInsert
+ return i;
+}
+
+void *TNSSortedCollection::keyOf( void *item )
+{
+ return item;
+}
+
+Boolean TNSSortedCollection::search( void *key, ccIndex& index )
+{
+ ccIndex l = 0;
+ ccIndex h = count - 1;
+ Boolean res = False;
+ while( l <= h )
+ {
+ ccIndex i = (l + h) >> 1;
+ ccIndex c = compare( keyOf( items[i] ), key );
+ if( c < 0 )
+ l = i + 1;
+ else
+ {
+ h = i - 1;
+ if( c == 0 )
+ {
+ res = True;
+ if( !duplicates )
+ l = i;
+ }
+ }
+ }
+ index = l;
+ return res;
+}
+
+
+void TSortedCollection::write( opstream& os )
+{
+ TCollection::write( os );
+ os << (int)duplicates;
+}
+
+void *TSortedCollection::read( ipstream& is )
+{
+ TCollection::read( is );
+ int temp;
+ is >> temp;
+ duplicates = Boolean(temp);
+ return this;
+}
+
+
+TSortedCollection::TSortedCollection( StreamableInit ) :
+ TCollection( streamableInit )
+{
+}
diff --git a/freebsdtvision/lib/TStaticText.cc b/freebsdtvision/lib/TStaticText.cc
new file mode 100644
index 0000000..8682d66
--- /dev/null
+++ b/freebsdtvision/lib/TStaticText.cc
@@ -0,0 +1,161 @@
+/*
+ * TStaticText.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#define Uses_TStaticText
+#define Uses_TDrawBuffer
+#define Uses_opstream
+#define Uses_ipstream
+#include <tvision/tv.h>
+
+#include <ctype.h>
+#include <string.h>
+
+#define cpStaticText "\x06"
+
+/**
+ * Constructor.
+ *
+ * Creates a TStaticText object of the given size by calling
+ * TView::TView(bounds), then sets @ref text data member to aText.
+ *
+ * @param bounds bounding rectangle of the view.
+ * @param aText string to show.
+ * @see TView::TView
+ */
+TStaticText::TStaticText(const TRect& bounds, const std::string &aText)
+ : TView(bounds),
+ text(aText)
+{
+ growMode |= gfFixed;
+}
+
+/**
+ * Draws the @ref text string inside the view, word wrapped if necessary.
+ * A '\\n' in the text indicates the beginning of a new line. A line of
+ * text is centered in the view if the string begins with 0x03 (Ctrl-C).
+ */
+void
+TStaticText::draw()
+{
+ const uchar color = getColor(1);
+ TDrawBuffer b;
+ int l = text.length();
+ Boolean center = False;
+ int p = 0;
+ int y = 0;
+ while (y < size.y) {
+ b.moveChar(0, ' ', color, size.x); /* blank region */
+
+ if (p < l) {
+ if (text[p] == 3) {
+ center = True;
+ ++p;
+ }
+
+ int i = p;
+ int j;
+ do {
+ j = p;
+
+ /* skip space chars in string */
+ while ((p < l) && (text[p] == ' '))
+ ++p;
+
+ /* find end of word */
+ while ((p < l) && (text[p] != ' ') && (text[p] != '\n'))
+ ++p;
+
+ } while ((p < l) && (p < i + size.x) && (text[p] != '\n'));
+
+ if (p > i + size.x)
+ p = (j > i) ? j : i + size.x;
+ j = (center == True) ? (size.x - p + i) / 2 : 0;
+
+ b.moveBuf(j, &text[i], color, (p - i));
+
+ while ((p < l) && (text[p] == ' '))
+ p++;
+
+ if ((p < l) && (text[p] == '\n')) {
+ center = False;
+ p++;
+ }
+ }
+
+ writeLine(0, y++, size.x, 1, b);
+ }
+}
+
+/**
+ * Returns a reference to the default palette.
+ */
+TPalette &
+TStaticText::getPalette() const
+{
+ static TPalette palette(cpStaticText, sizeof(cpStaticText) - 1);
+ return palette;
+}
+
+/**
+ * Writes the string at address `s'.
+ */
+std::string
+TStaticText::getText() const
+{
+ return text;
+}
+
+#if !defined(NO_STREAMABLE)
+
+/**
+ * Writes to the output stream `os'.
+ */
+void
+TStaticText::write(opstream &os)
+{
+ TView::write(os);
+ os.writeString(text.c_str());
+}
+
+/**
+ * Reads from the input stream `is'.
+ */
+void *
+TStaticText::read(ipstream &is)
+{
+ TView::read(is);
+ text = is.readString();
+ return this;
+}
+
+/**
+ * Creates a new TStaticText.
+ *
+ * Called to create an object in certain stream-reading situations.
+ */
+TStreamable *
+TStaticText::build()
+{
+ return new TStaticText(streamableInit);
+}
+
+/**
+ * Each streamable class needs a "builder" to allocate the correct memory
+ * for its objects together with the initialized virtual table pointers.
+ * This is achieved by calling this constructor with an argument of type
+ * @ref StreamableInit.
+ */
+TStaticText::TStaticText(StreamableInit)
+ : TView(streamableInit)
+{
+}
+
+#endif
diff --git a/freebsdtvision/lib/TStatusLine.cc b/freebsdtvision/lib/TStatusLine.cc
new file mode 100644
index 0000000..2673267
--- /dev/null
+++ b/freebsdtvision/lib/TStatusLine.cc
@@ -0,0 +1,327 @@
+/*
+ * TStatusLine.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#define Uses_TStatusLine
+#define Uses_TStatusItem
+#define Uses_TStatusDef
+#define Uses_TDrawBuffer
+#define Uses_TEvent
+#define Uses_opstream
+#define Uses_ipstream
+#include <tvision/tv.h>
+
+#include <string.h>
+
+#define cpStatusLine "\x02\x03\x04\x05\x06\x07"
+
+TStatusLine::TStatusLine( const TRect& bounds, TStatusDef& aDefs ) :
+ TView( bounds ),
+ defs( &aDefs )
+{
+ options |= ofPreProcess;
+ eventMask |= evBroadcast;
+ growMode = gfGrowLoY | gfGrowHiX | gfGrowHiY;
+ findItems();
+}
+
+void TStatusLine::disposeItems( TStatusItem *item )
+{
+ while( item != 0 )
+ {
+ TStatusItem *T = item;
+ item = item->next;
+ delete T;
+ }
+}
+
+TStatusLine::~TStatusLine(void)
+{
+ while( defs != 0 )
+ {
+ TStatusDef *T = defs;
+ defs = defs->next;
+ disposeItems( T->items );
+ delete T;
+ }
+}
+
+void TStatusLine::draw()
+{
+ drawSelect( 0 );
+}
+
+void TStatusLine::drawSelect( TStatusItem *selected )
+{
+ TDrawBuffer b;
+ ushort color;
+ char hintBuf[256];
+
+ ushort cNormal = getColor(0x0301);
+ ushort cSelect = getColor(0x0604);
+ ushort cNormDisabled = getColor(0x0202);
+ ushort cSelDisabled = getColor(0x0505);
+ b.moveChar( 0, ' ', cNormal, size.x );
+ TStatusItem *T = items;
+ ushort i = 0;
+
+ while( T != 0 )
+ {
+ if( T->text != 0 )
+ {
+ ushort l = cstrlen( T->text );
+ if( i + l < size.x )
+ {
+ if( commandEnabled( T->command) )
+ if( T == selected )
+ color = cSelect;
+ else
+ color = cNormal;
+ else
+ if( T == selected )
+ color = cSelDisabled;
+ else
+ color = cNormDisabled;
+
+ b.moveChar( i, ' ', color, 1 );
+ b.moveCStr( i+1, T->text, color );
+ b.moveChar( i+l+1, ' ', color, 1 );
+ }
+ i += l+2;
+ }
+ T = T->next;
+ }
+ if( i < size.x - 2 )
+ {
+ strcpy( hintBuf, hint( helpCtx ) );
+ if( *hintBuf != EOS )
+ {
+ b.moveStr( i, hintSeparator, cNormal );
+ i += 2;
+ if( strlen(hintBuf) + i > (uint)size.x )
+ hintBuf[size.x-i] = EOS;
+ b.moveStr( i, hintBuf, cNormal );
+ i += strlen(hintBuf);
+ }
+ }
+ writeLine( 0, 0, size.x, 1, b );
+}
+
+void TStatusLine::findItems()
+{
+ TStatusDef *p = defs;
+ while( p != 0 && ( helpCtx < p->min || helpCtx > p->max ) )
+ p = p->next;
+ items = ( p == 0 ) ? 0 : p->items;
+}
+
+TPalette& TStatusLine::getPalette() const
+{
+ static TPalette palette( cpStatusLine, sizeof( cpStatusLine )-1 );
+ return palette;
+}
+
+TStatusItem *TStatusLine::itemMouseIsIn( TPoint mouse )
+{
+ if( mouse.y != 0 )
+ return 0;
+
+ ushort i;
+ TStatusItem *T;
+
+ for( i = 0, T = items; T != 0; T = T->next)
+ {
+ if( T->text != 0 )
+ {
+ ushort k = i + cstrlen(T->text) + 2;
+ if( mouse.x >= i && mouse. x < k )
+ return T;
+ i = k;
+ }
+ }
+ return 0;
+}
+
+void TStatusLine::handleEvent( TEvent& event )
+{
+ TView::handleEvent(event);
+
+ switch (event.what)
+ {
+ case evMouseDown:
+ {
+ TStatusItem *T = 0;
+
+ do {
+ TPoint mouse = makeLocal( event.mouse.where );
+ if( T != itemMouseIsIn(mouse) )
+ drawSelect( T = itemMouseIsIn(mouse) );
+ } while( mouseEvent( event, evMouseMove ) );
+
+ if( T != 0 && commandEnabled(T->command) )
+ {
+ event.what = evCommand;
+ event.message.command = T->command;
+ event.message.infoPtr = 0;
+ putEvent(event);
+ }
+ clearEvent(event);
+ drawView();
+ break;
+ }
+ case evKeyDown:
+ {
+ for( TStatusItem *T = items; T != 0; T = T->next )
+ {
+ if( event.keyDown.keyCode == T->keyCode &&
+ commandEnabled(T->command))
+ {
+ event.what = evCommand;
+ event.message.command = T->command;
+ event.message.infoPtr = 0;
+ return;
+ }
+ }
+ break;
+ }
+ case evBroadcast:
+ if( event.message.command == cmCommandSetChanged )
+ drawView();
+ break;
+ }
+}
+
+const char* TStatusLine::hint( ushort )
+{
+ return "";
+}
+
+void TStatusLine::update()
+{
+ TView *p = TopView();
+ ushort h = ( p != 0 ) ? p->getHelpCtx() : hcNoContext;
+ if( helpCtx != h )
+ {
+ helpCtx = h;
+ findItems();
+ drawView();
+ }
+}
+
+#if !defined(NO_STREAMABLE)
+
+void TStatusLine::writeItems( opstream& os, TStatusItem *ts )
+{
+ int count = 0;
+ for( TStatusItem *t = ts; t != 0; t = t->next )
+ count++;
+ os << count;
+ for( ; ts != 0; ts = ts->next )
+ {
+ os.writeString( ts->text );
+ os << ts->keyCode << ts->command;
+ }
+}
+
+void TStatusLine::writeDefs( opstream& os, TStatusDef *td )
+{
+ int count = 0;
+ for( TStatusDef *t = td; t != 0; t = t->next )
+ count++;
+ os << count;
+ for( ; td != 0; td = td->next )
+ {
+ os << td->min << td->max;
+ writeItems( os, td->items );
+ }
+}
+
+void TStatusLine::write( opstream& os )
+{
+ TView::write( os );
+ writeDefs( os, defs );
+}
+
+TStatusItem *TStatusLine::readItems( ipstream& is )
+{
+#ifndef __UNPATCHED
+ TStatusItem *cur;
+#else
+ TStatusItem *cur = 0;
+#endif
+ TStatusItem *first;
+ TStatusItem **last = &first;
+ int count;
+ is >> count;
+ while( count-- > 0 )
+ {
+ char *t = is.readString();
+#ifndef __UNPATCHED
+ ushort key, cmd;
+#else
+ int key, cmd;
+#endif
+ is >> key >> cmd;
+ cur = new TStatusItem( t, key, cmd );
+ *last = cur;
+ last = &(cur->next);
+ delete t;
+ }
+ *last = 0;
+ return first;
+}
+
+TStatusDef *TStatusLine::readDefs( ipstream& is )
+{
+#ifndef __UNPATCHED
+ TStatusDef *cur;
+#else
+ TStatusDef *cur = 0;
+#endif
+ TStatusDef *first;
+ TStatusDef **last = &first;
+ int count;
+ is >> count;
+ while( count-- > 0 )
+ {
+#ifndef __UNPATCHED
+ ushort min, max;
+#else
+ int min, max;
+#endif
+ is >> min >> max;
+ cur = new TStatusDef( min, max, readItems( is ) );
+ *last = cur;
+ last = &(cur->next);
+ }
+ *last = 0;
+ return first;
+}
+
+
+void *TStatusLine::read( ipstream& is )
+{
+ TView::read( is );
+ defs = readDefs( is );
+ findItems();
+ return this;
+}
+
+TStreamable *TStatusLine::build()
+{
+ return new TStatusLine( streamableInit );
+}
+
+TStatusLine::TStatusLine( StreamableInit ) : TView( streamableInit )
+{
+}
+
+
+#endif
diff --git a/freebsdtvision/lib/TStrListMaker.cc b/freebsdtvision/lib/TStrListMaker.cc
new file mode 100644
index 0000000..3240bcb
--- /dev/null
+++ b/freebsdtvision/lib/TStrListMaker.cc
@@ -0,0 +1,150 @@
+/*
+ * TStrListMaker.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
+ */
+
+#define Uses_TStringList
+#define Uses_TStrIndexRec
+#define Uses_TStrListMaker
+#define Uses_opstream
+#define Uses_ipstream
+#include <tvision/tv.h>
+
+#include <string.h>
+
+const int MAXKEYS = 16;
+
+TStrIndexRec::TStrIndexRec() :
+ count(0)
+{
+}
+
+TStrListMaker::TStrListMaker( ushort aStrSize, ushort aIndexSize ) :
+ strPos( 0 ),
+ strSize( aStrSize ),
+ strings( new char[aStrSize] ),
+ indexPos( 0 ),
+ indexSize( aIndexSize ),
+ index( new TStrIndexRec[aIndexSize] )
+{
+}
+
+TStrListMaker::~TStrListMaker()
+{
+ delete strings;
+
+ /* SS: prevent anachronistic stuff */
+
+ delete [] index;
+}
+
+void TStrListMaker::closeCurrent()
+{
+ if( cur.count != 0 )
+ {
+ index[indexPos++] = cur;
+ cur.count = 0;
+ }
+}
+
+void TStrListMaker::put( ushort key, char *str )
+{
+ if( cur.count == MAXKEYS || key != cur.key + cur.count )
+ closeCurrent();
+ if( cur.count == 0 )
+ {
+ cur.key = key;
+ cur.offset = strPos;
+ }
+ int len = strlen( str );
+ strings[strPos] = len;
+ memcpy( strings+strPos+1, str, len);
+ strPos += len+1;
+ cur.count++;
+}
+
+#if !defined(NO_STREAMABLE)
+
+TStringList::TStringList( StreamableInit ) :
+ basePos(0),
+ indexSize(0),
+ index(0)
+{
+}
+#endif
+
+TStringList::~TStringList()
+{
+ /* SS: prevent anachronistic stuff */
+
+ delete [] index;
+}
+
+void TStringList::get( char *dest, ushort key )
+{
+ if( indexSize == 0 )
+ {
+ *dest = EOS;
+ return;
+ }
+
+ TStrIndexRec *cur = index;
+ while( cur->key + cur->count -1 < key && cur - index < indexSize )
+ cur++;
+#ifndef __UNPATCHED
+ if( cur->key + cur->count - 1 < key || cur->key > key )
+#else
+ if( cur->key + cur->count - 1 < key )
+#endif
+ {
+ *dest = EOS;
+ return;
+ }
+ ip->seekg( basePos + cur->offset );
+ int count = key - cur->key;
+ do {
+ uchar sz = ip->readByte();
+ ip->readBytes( dest, sz );
+ dest[sz] = EOS;
+ } while( count-- > 0 );
+}
+
+#if !defined(NO_STREAMABLE)
+
+void TStrListMaker::write( opstream& os )
+{
+ closeCurrent();
+ os << strPos;
+ os.writeBytes( strings, strPos );
+ os << indexPos;
+ os.writeBytes( index, indexPos * sizeof( TStrIndexRec ) );
+}
+
+void *TStringList::read( ipstream& is )
+{
+ ip = &is;
+
+ ushort strSize;
+ is >> strSize;
+
+ basePos = is.tellg();
+ is.seekg( basePos + strSize );
+ is >> indexSize;
+ index = new TStrIndexRec[indexSize];
+ is.readBytes( index, indexSize * sizeof( TStrIndexRec ) );
+ return this;
+}
+
+TStreamable *TStringList::build()
+{
+ return new TStringList( streamableInit );
+}
+
+#endif
diff --git a/freebsdtvision/lib/TStringCollection.cc b/freebsdtvision/lib/TStringCollection.cc
new file mode 100644
index 0000000..d7c653a
--- /dev/null
+++ b/freebsdtvision/lib/TStringCollection.cc
@@ -0,0 +1,47 @@
+/*
+ * TStringCollection.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#define Uses_TStringCollection
+#define Uses_opstream
+#define Uses_ipstream
+#include <tvision/tv.h>
+
+#include <string.h>
+
+TStringCollection::TStringCollection( short aLimit, short aDelta ) :
+ TSortedCollection(aLimit, aDelta)
+{
+}
+
+int TStringCollection::compare( void *key1, void *key2 )
+{
+ return strcmp( (char *)key1, (char *)key2 );
+}
+
+void TStringCollection::freeItem( void* item )
+{
+ delete item;
+}
+
+TStreamable *TStringCollection::build()
+{
+ return new TStringCollection( streamableInit );
+}
+
+void TStringCollection::writeItem( void *obj, opstream& os )
+{
+ os.writeString( (const char *)obj );
+}
+
+void *TStringCollection::readItem( ipstream& is )
+{
+ return is.readString();
+}
diff --git a/freebsdtvision/lib/TValidator.cc b/freebsdtvision/lib/TValidator.cc
new file mode 100644
index 0000000..6473fe7
--- /dev/null
+++ b/freebsdtvision/lib/TValidator.cc
@@ -0,0 +1,846 @@
+/*
+ * TValidator.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#define Uses_MsgBox
+#define Uses_TStreamable
+#define Uses_TValidator
+#define Uses_TPXPictureValidator
+#define Uses_TFilterValidator
+#define Uses_TRangeValidator
+#define Uses_TLookupValidator
+#define Uses_TStringLookupValidator
+#include <tvision/tv.h>
+
+#include <ctype.h>
+#include <stdio.h>
+#include <string.h>
+
+// TValidator
+
+TValidator::TValidator()
+{
+ status = 0;
+ options = 0;
+}
+
+#if !defined(NO_STREAMABLE)
+
+TValidator::TValidator( StreamableInit )
+{
+}
+
+void* TValidator::read(ipstream& is)
+{
+ is >> options;
+ status = 0;
+
+ return this;
+}
+
+#endif
+
+void TValidator::error()
+{
+}
+
+Boolean TValidator::isValidInput(char*, Boolean)
+{
+ return True;
+}
+
+Boolean TValidator::isValid(const char*)
+{
+ return True;
+}
+
+#if !defined(NO_STREAMABLE)
+
+void TValidator::write(opstream& os)
+{
+ os << options;
+}
+
+#endif
+
+ushort TValidator::transfer(char*, void*, TVTransfer)
+{
+ return 0;
+}
+
+Boolean TValidator::validate(const char* s)
+{
+ if (!isValid(s))
+ {
+ error();
+ return False;
+ }
+ return True;
+}
+
+// TPXPictureValidator
+
+TPXPictureValidator::TPXPictureValidator(const char* aPic, Boolean autoFill)
+ : TValidator()
+{
+
+ char *s;
+
+ pic = newStr(aPic);
+ if ( autoFill )
+ options |= voFill;
+ s = "";
+ if (picture(s, False) != prEmpty)
+ status = vsSyntax;
+}
+
+#if !defined(NO_STREAMABLE)
+
+TPXPictureValidator::TPXPictureValidator( StreamableInit s) : TValidator(s)
+{
+}
+
+void TPXPictureValidator::write(opstream& os)
+{
+ TValidator::write(os);
+ os.writeString(pic);
+}
+
+void* TPXPictureValidator::read( ipstream& is )
+{
+ TValidator::read(is);
+ pic = is.readString();
+ index = jndex = 0;
+
+ return this;
+}
+
+#endif
+
+TPXPictureValidator::~TPXPictureValidator()
+{
+ delete pic;
+};
+
+void TPXPictureValidator::error()
+{
+ messageBox(mfError | mfOKButton, errorMsg, pic);
+}
+
+Boolean TPXPictureValidator::isValidInput(char* s, Boolean suppressFill)
+{
+ Boolean doFill = Boolean(((options&voFill)!=0) && !suppressFill);
+
+ return Boolean((pic==0) || (picture( (char*)s, doFill) != prError));
+}
+
+Boolean TPXPictureValidator::isValid(const char* s)
+{
+ char str[256];
+
+ strcpy(str, s);
+ return Boolean((pic == 0) || (picture(str, False) == prComplete));
+}
+
+Boolean isNumber(char ch)
+{
+ return Boolean(('0' <= ch) && (ch <= '9'));
+}
+
+Boolean isLetter(char ch)
+{
+ ch &= 0xdf;
+ return Boolean(('A' <= ch) && (ch <= 'Z'));
+}
+
+Boolean isSpecial(char ch, const char* special)
+{
+ if (strchr(special, ch) != 0)
+ return True;
+ else
+ return False;
+}
+
+/*
+ This helper function will be used for a persistant TInputLine mask.
+ It will be moved to TINPUTLI.CPP when needed.
+*/
+uchar numChar(char ch, const char* s)
+{
+ int count;
+ uchar n;
+
+ for (count = strlen(s), n = 0; count; count--, s++)
+ if (*s == ch)
+ n++;
+ return n;
+}
+
+Boolean isComplete(TPicResult result)
+{
+ return Boolean((result == prComplete) || (result == prAmbiguous));
+}
+
+Boolean isIncomplete(TPicResult result)
+{
+ return Boolean( (result == prIncomplete) || (result == prIncompNoFill) );
+}
+
+
+// TPXPictureValidator members
+
+// Consume input
+void TPXPictureValidator::consume(char ch, char* input)
+{
+ input[jndex] = ch;
+ index++;
+ jndex++;
+}
+
+// Skip a character or a picture group
+
+void TPXPictureValidator::toGroupEnd(int& i, int termCh)
+{
+ int brkLevel, brcLevel;
+
+ brkLevel = 0;
+ brcLevel = 0;
+ do {
+ if (i == termCh)
+ return;
+ else
+ switch (pic[i])
+ {
+ case '[': brkLevel++; break;
+ case ']': brkLevel--; break;
+ case '{': brcLevel++; break;
+ case '}': brcLevel--; break;
+ case ';': i++; break;
+ }
+ i++;
+ } while (! ((brkLevel == 0) && (brcLevel == 0)));
+}
+
+// Find the a comma separator
+Boolean TPXPictureValidator::skipToComma(int termCh)
+{
+ do {
+ toGroupEnd(index, termCh);
+ } while (! ( (index == termCh) || (pic[index] == ',')));
+
+ if (pic[index] == ',')
+ index++;
+ return Boolean(index < termCh);
+}
+
+// Calclate the end of a group
+int TPXPictureValidator::calcTerm(int termCh)
+{
+ int k = index;
+ toGroupEnd(k, termCh);
+ return k;
+}
+
+// The next group is repeated X times }
+TPicResult TPXPictureValidator::iteration(char* input, int inTerm)
+{
+ int itr, k, l;
+ TPicResult rslt;
+ int termCh;
+
+ itr = 0;
+ rslt = prError;
+
+ index++; // Skip '*'
+
+ // Retrieve number
+
+ while (isNumber(pic[index]))
+ {
+ itr = itr * 10 + (pic[index] - '0');
+ index++;
+ }
+
+ k = index;
+ termCh = calcTerm(inTerm);
+
+ // If Itr is 0 allow any number, otherwise enforce the number
+ if (itr != 0)
+ {
+ for (l = 1; l <= itr; l++)
+ {
+ index = k;
+ rslt = process(input,termCh);
+ if ( ! isComplete(rslt))
+ {
+ // Empty means incomplete since all are required
+ if (rslt == prEmpty)
+ rslt = prIncomplete;
+
+ return rslt;
+ }
+ }
+ }
+ else
+ {
+ do {
+ index = k;
+ rslt = process(input, termCh);
+ } while (rslt == prComplete);
+
+ if ((rslt == prEmpty) || (rslt == prError))
+ {
+ index++;
+ rslt = prAmbiguous;
+ }
+ }
+ index = termCh;
+
+ return rslt;
+}
+
+// Process a picture group
+TPicResult TPXPictureValidator::group(char* input, int inTerm)
+{
+
+ TPicResult rslt;
+ int termCh;
+
+ termCh = calcTerm(inTerm);
+ index++;
+ rslt = process(input, termCh - 1);
+
+ if (! isIncomplete(rslt))
+ index = termCh;
+
+ return rslt;
+}
+
+
+TPicResult TPXPictureValidator::checkComplete(TPicResult rslt, int termCh)
+{
+ int j = index;
+ Boolean status=True;
+
+ if (isIncomplete(rslt))
+ {
+ // Skip optional pieces
+ while (status)
+ switch (pic[j])
+ {
+ case '[':
+ toGroupEnd(j, termCh);
+ break;
+ case '*':
+ if (! isNumber(pic[j + 1]))
+ j++;
+ toGroupEnd(j, termCh);
+ break;
+
+ default:
+ status = False;
+ }
+
+ if (j == termCh)
+ rslt = prAmbiguous;
+ }
+
+ return rslt;
+}
+
+
+TPicResult TPXPictureValidator::scan(char* input, int termCh)
+{
+ char ch;
+ TPicResult rslt, rScan;
+
+ rScan = prError;
+ rslt = prEmpty;
+
+ while ( (index != termCh) && (pic[index] != ','))
+ {
+ if (jndex >= (int)strlen(input))
+ return checkComplete(rslt, termCh);
+
+ ch = input[jndex];
+ switch (pic[index])
+ {
+ case '#':
+ if (! isNumber(ch))
+ return prError;
+ else
+ consume(ch, input);
+ break;
+ case '?':
+ if (! isLetter(ch))
+ return prError;
+ else
+ consume(ch, input);
+ break;
+ case '&':
+ if (! isLetter(ch))
+ return prError;
+ else
+ consume(toupper(ch), input);
+ break;
+ case '!':
+ consume(toupper(ch), input);
+ break;
+ case '@':
+ consume(ch, input);
+ break;
+ case '*':
+
+ rslt = iteration(input,termCh);
+ if (! isComplete(rslt))
+ return rslt;
+
+ if (rslt == prError)
+ rslt = prAmbiguous;
+ break;
+
+ case '{':
+
+ rslt = group(input, termCh);
+ if (! isComplete(rslt))
+ return rslt;
+
+ break;
+ case '[':
+
+ rslt = group(input, termCh);
+ if (isIncomplete(rslt))
+ return rslt;
+ if (rslt == prError)
+ rslt = prAmbiguous;
+
+ break;
+
+ default:
+
+ if (pic[index] == ';')
+ index++;
+ if (toupper(pic[index]) != toupper(ch))
+#ifndef __UNPATCHED
+ if (ch != ' ')
+ return rScan;
+#else
+ if (ch == ' ')
+ ch = pic[index];
+ else
+ return rScan;
+#endif
+ consume(pic[index], input);
+ }
+
+ if (rslt == prAmbiguous)
+ rslt = prIncompNoFill;
+ else
+ rslt = prIncomplete;
+ }
+
+ if (rslt == prIncompNoFill)
+ return prAmbiguous;
+ else
+ return prComplete;
+}
+
+TPicResult TPXPictureValidator::process(char* input, int termCh)
+{
+
+ TPicResult rslt, rProcess;
+ Boolean incomp;
+ int oldI, oldJ, incompJ = 0, incompI = 0;
+
+ incomp = False;
+ oldI = index;
+ oldJ = jndex;
+ do {
+ rslt = scan(input, termCh);
+
+ // Only accept completes if they make it farther in the input
+ // stream from the last incomplete
+
+ if ( (rslt == prComplete) && incomp && (jndex < incompJ))
+ {
+ rslt = prIncomplete;
+ jndex = incompJ;
+ }
+
+ if ((rslt == prError) || (rslt == prIncomplete))
+ {
+ rProcess = rslt;
+
+ if (! incomp && (rslt == prIncomplete) )
+ {
+ incomp = True;
+ incompI = index;
+ incompJ = jndex;
+ }
+ index = oldI;
+ jndex = oldJ;
+ if (! skipToComma(termCh))
+ {
+ if ( incomp )
+ {
+ rProcess = prIncomplete;
+ index = incompI;
+ jndex = incompJ;
+ }
+ return rProcess;
+ }
+ oldI = index;
+ }
+ } while (!((rslt != prError) && (rslt != prIncomplete)));
+
+ if ((rslt == prComplete) && incomp)
+ return prAmbiguous;
+ else
+ return rslt;
+}
+
+Boolean TPXPictureValidator::syntaxCheck()
+{
+
+ int i, len;
+ int brkLevel, brcLevel;
+
+ if (!pic || (strlen(pic) == 0))
+ return False;
+
+ if (pic[strlen(pic)-1] == ';')
+ return False;
+
+ i = 0;
+ brkLevel = 0;
+ brcLevel = 0;
+
+ len = strlen(pic);
+ while (i < len)
+ {
+ switch (pic[i])
+ {
+ case '[': brkLevel++; break;
+ case ']': brkLevel--; break;
+ case '{': brcLevel++; break;
+ case '}': brcLevel--; break;
+ case ';': i++; break;
+ }
+ i++;
+ }
+
+ return Boolean( (brkLevel == 0) && (brcLevel == 0) );
+}
+
+TPicResult TPXPictureValidator::picture(char* input, Boolean autoFill)
+{
+
+ Boolean reprocess;
+ TPicResult rslt;
+
+ if (!syntaxCheck())
+ return prSyntax;
+
+ if (!input || strlen(input)==0)
+ return prEmpty;
+
+ jndex = 0;
+ index = 0;
+
+ rslt = process(input, strlen(pic));
+
+ if ((rslt != prError) && (jndex < (int)strlen(input)))
+ rslt = prError;
+
+ if ((rslt == prIncomplete) && autoFill)
+ {
+ reprocess = False;
+
+#ifndef __UNPATCHED
+ while ((index < (int)strlen(pic)) && !isSpecial(pic[index],
+ "#?&!@*{}[],"))
+#else
+ while ((index < strlen(pic)) && !isSpecial(pic[index], "#?&!@*{}[]"))
+#endif
+ {
+ if (pic[index] == ';')
+ index++;
+ int end = strlen(input);
+ input[end] = pic[index];
+ input[end+1] = 0;
+ index++;
+ reprocess = True;
+ }
+
+ jndex = 0;
+ index = 0;
+ if (reprocess)
+ rslt = process(input, strlen(pic));
+ }
+
+ if (rslt == prAmbiguous)
+ return prComplete;
+ else if (rslt == prIncompNoFill)
+ return prIncomplete;
+ else
+ return rslt;
+}
+
+
+// TFilterValidator
+
+TFilterValidator::TFilterValidator(const char* aValidChars)
+{
+ validChars = newStr(aValidChars);
+}
+
+#if !defined(NO_STREAMABLE)
+
+TFilterValidator::TFilterValidator( StreamableInit s) : TValidator(s)
+{
+}
+
+#endif
+
+TFilterValidator::~TFilterValidator()
+{
+ delete validChars;
+}
+
+#if !defined(NO_STREAMABLE)
+
+void TFilterValidator::write(opstream& os)
+{
+ TValidator::write(os);
+ os.writeString(validChars);
+}
+
+void* TFilterValidator::read(ipstream& is)
+{
+ TValidator::read(is);
+ validChars = is.readString();
+ return this;
+}
+
+#endif
+
+Boolean TFilterValidator::isValid(const char* s)
+{
+ return Boolean(strspn(s, validChars) == strlen(s));
+}
+
+Boolean TFilterValidator::isValidInput(char* s, Boolean)
+{
+ return Boolean(strspn(s, validChars) == strlen(s));
+}
+
+void TFilterValidator::error()
+{
+ messageBox(mfError | mfOKButton, errorMsg );
+}
+
+// TRangeValidator
+
+TRangeValidator::TRangeValidator( long aMin, long aMax ):
+ TFilterValidator( 0 ),
+ min(aMin),
+ max(aMax)
+{
+ if (aMin >= 0)
+ validChars = newStr( TRangeValidator::validUnsignedChars );
+ else
+ validChars = newStr( TRangeValidator::validSignedChars );
+}
+
+#if !defined(NO_STREAMABLE)
+
+TRangeValidator::TRangeValidator( StreamableInit s) : TFilterValidator(s)
+{
+}
+
+void TRangeValidator::write(opstream& os)
+{
+ TFilterValidator::write( os );
+ os << min << max;
+}
+
+void* TRangeValidator::read( ipstream& is )
+{
+ TFilterValidator::read( is );
+ is >> min >> max;
+ return this;
+}
+
+#endif
+
+void TRangeValidator::error()
+{
+ messageBox( mfError | mfOKButton, errorMsg, min,max);
+}
+
+
+Boolean TRangeValidator::isValid(const char* s)
+{
+ long value;
+
+ if (TFilterValidator::isValid(s))
+#ifndef __UNPATCHED
+ if (sscanf(s,"%ld", &value) != EOF)
+#else
+ if (sscanf(s,"%ld", &value) != 0)
+#endif
+ if ((value >= min) && (value <= max))
+ return True;
+
+ return False;
+}
+
+ushort TRangeValidator::transfer(char* s, void* buffer, TVTransfer flag)
+{
+ long value;
+
+ if ((options & voTransfer) != 0)
+ {
+ switch ( flag )
+ {
+ case vtGetData:
+ sscanf(s,"%ld",&value);
+ *(long*)buffer = value;
+ break;
+
+ case vtSetData:
+ sprintf(s, "%ld", *(long*)buffer);
+ break;
+ default:
+ break;
+ }
+ return sizeof(long);
+ }
+ else
+ return 0;
+}
+
+// TLookupValidator
+
+#if !defined(NO_STREAMABLE)
+
+TLookupValidator::TLookupValidator( StreamableInit s) : TValidator(s)
+{
+}
+
+#endif
+
+Boolean TLookupValidator::isValid(const char* s)
+{
+ return lookup(s);
+}
+
+Boolean TLookupValidator::lookup(const char*)
+{
+ return True;
+}
+
+// TStringLookupValidator
+
+TStringLookupValidator::TStringLookupValidator(TStringCollection* aStrings)
+{
+ strings = aStrings;
+}
+
+#if !defined(NO_STREAMABLE)
+
+void TStringLookupValidator::write( opstream& os )
+{
+ TLookupValidator::write( os );
+ os << strings;
+}
+
+void* TStringLookupValidator::read( ipstream& is )
+{
+ TLookupValidator::read(is);
+ is >> strings;
+
+ return this;
+}
+
+TStringLookupValidator::TStringLookupValidator( StreamableInit s) :
+ TLookupValidator(s)
+{
+}
+
+#endif
+
+TStringLookupValidator::~TStringLookupValidator()
+{
+ newStringList(0);
+}
+
+void TStringLookupValidator::error()
+{
+ messageBox(mfError | mfOKButton, errorMsg);
+}
+
+static Boolean stringMatch(void* a1, void* a2)
+{
+ return Boolean(strcmp((const char*)a1, (const char*)a2) == 0);
+}
+
+
+Boolean TStringLookupValidator::lookup(const char* s)
+{
+ return Boolean(strings->firstThat(stringMatch,(void*)s) != 0);
+}
+
+void TStringLookupValidator::newStringList(TStringCollection* aStrings)
+{
+ if (strings)
+#ifndef __UNPATCHED
+ destroy (strings);
+#else
+ delete strings;
+#endif
+
+ strings = aStrings;
+}
+
+
+#if !defined(NO_STREAMABLE)
+
+TStreamable *TValidator::build()
+{
+ return new TValidator( streamableInit );
+}
+
+TStreamable *TRangeValidator::build()
+{
+ return new TRangeValidator( streamableInit );
+}
+
+TStreamable *TFilterValidator::build()
+{
+ return new TFilterValidator( streamableInit );
+}
+
+TStreamable *TPXPictureValidator::build()
+{
+ return new TPXPictureValidator( streamableInit );
+}
+
+TStreamable *TLookupValidator::build()
+{
+ return new TLookupValidator( streamableInit );
+}
+
+TStreamable *TStringLookupValidator::build()
+{
+ return new TStringLookupValidator( streamableInit );
+}
+
+#endif
diff --git a/freebsdtvision/lib/TView.cc b/freebsdtvision/lib/TView.cc
new file mode 100644
index 0000000..f305978
--- /dev/null
+++ b/freebsdtvision/lib/TView.cc
@@ -0,0 +1,832 @@
+/*
+ * TView.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#define Uses_TKeys
+#define Uses_TView
+#define Uses_TCommandSet
+#define Uses_TPoint
+#define Uses_TGroup
+#define Uses_TRect
+#define Uses_TEvent
+#define Uses_opstream
+#define Uses_ipstream
+#include <tvision/tv.h>
+
+#include <limits.h>
+
+/**
+ * This value controls the size of the shadow effect available on those views
+ * with the sfShadow bit set. The shadow is usually a thin, dark region
+ * displayed just beyond the view's right and bottom edges giving an illusion
+ * of three dimensionality.
+ *
+ * The default size is 2 in the x direction, and 1 in the y direction.
+ *
+ * TProgram::initScreen() initializes shadowSize as follows: if the screen
+ * mode is smMono, shadowSize is set to (0, 0); otherwise shadowSize is set to
+ * (2, 1), unless smFont8x8 (43-line or 50-line mode) is selected, in which
+ * case it is set to (1, 1).
+ * @see TProgram::initScreen
+ * @see TView::state
+ */
+TPoint shadowSize = {2,1};
+
+/**
+ * This value controls the color of the shadow effect available on those
+ * views with the sfShadow bit set. The shadow is usually a thin, dark region
+ * displayed just beyond the view's edges, giving an illusion of three
+ * dimensionality.
+ * @see TView::state
+ */
+uchar shadowAttr = 0x08;
+
+Boolean TView::showMarkers = False;
+uchar TView::errorAttr = 0xCF;
+Boolean TView::commandSetChanged = False;
+extern TView *TheTopView;
+
+static TCommandSet initCommands()
+{
+ TCommandSet temp;
+ for( int i = 0; i < 256; i++ )
+ temp.enableCmd( i );
+ temp.disableCmd( cmZoom );
+ temp.disableCmd( cmClose );
+ temp.disableCmd( cmResize );
+ temp.disableCmd( cmNext );
+ temp.disableCmd( cmPrev );
+ return temp;
+}
+
+TCommandSet TView::curCommandSet = initCommands();
+
+TView::TView( const TRect& bounds) :
+ next( 0 ),
+ options( 0 ),
+ eventMask( evMouseDown | evKeyDown | evCommand ),
+ state( sfVisible ),
+ growMode( 0 ),
+ dragMode( dmLimitLoY ),
+ helpCtx( hcNoContext ),
+ owner( 0 )
+{
+ setBounds( bounds);
+ cursor.x = cursor.y = 0;
+}
+
+TView::~TView()
+{
+}
+
+void TView::awaken()
+{
+}
+
+void TView::blockCursor()
+{
+ setState(sfCursorIns, True);
+}
+
+#define grow(i) (( (growMode & gfGrowRel)) ? \
+ (i = (i * s + ((s - d) >> 1)) / (s - d)) : (i += d))
+
+inline int range( int val, int min, int max )
+{
+ if( val < min )
+ return min;
+ else if( val > max )
+ return max;
+ else
+ return val;
+}
+
+void TView::calcBounds( TRect& bounds, TPoint delta )
+{
+ bounds = getBounds();
+
+ short s = owner->size.x;
+ short d = delta.x;
+
+ if( (growMode & gfGrowLoX) != 0 )
+ grow(bounds.a.x);
+
+ if( (growMode & gfGrowHiX) != 0 )
+ grow(bounds.b.x);
+
+ s = owner->size.y;
+ d = delta.y;
+
+ if( (growMode & gfGrowLoY) != 0 )
+ grow(bounds.a.y);
+
+ if( (growMode & gfGrowHiY) != 0 )
+ grow(bounds.b.y);
+
+ TPoint minLim, maxLim;
+ sizeLimits( minLim, maxLim );
+ bounds.b.x = bounds.a.x + range( bounds.b.x-bounds.a.x, minLim.x, maxLim.x );
+ bounds.b.y = bounds.a.y + range( bounds.b.y-bounds.a.y, minLim.y, maxLim.y );
+}
+
+void TView::changeBounds( const TRect& bounds )
+{
+ setBounds(bounds);
+ drawView();
+}
+
+void TView::clearEvent( TEvent& event )
+{
+ event.what = evNothing;
+ event.message.infoPtr = this;
+}
+
+Boolean TView::commandEnabled( ushort command )
+{
+ return Boolean((command > 255) || curCommandSet.has(command));
+}
+
+ushort TView::dataSize()
+{
+ return 0;
+}
+
+void TView::disableCommands( TCommandSet& commands )
+{
+ commandSetChanged = Boolean( commandSetChanged ||
+ !(curCommandSet & commands).isEmpty());
+ curCommandSet.disableCmd(commands);
+}
+
+void TView::disableCommand( ushort command )
+{
+ commandSetChanged = Boolean( commandSetChanged ||
+ curCommandSet.has(command) );
+ curCommandSet.disableCmd(command);
+}
+
+void TView::moveGrow( TPoint p,
+ TPoint s,
+ TRect& limits,
+ TPoint minSize,
+ TPoint maxSize,
+ uchar mode
+ )
+{
+ TRect r;
+ s.x = min(max(s.x, minSize.x), maxSize.x);
+ s.y = min(max(s.y, minSize.y), maxSize.y);
+ p.x = min(max(p.x, limits.a.x - s.x+1), limits.b.x-1);
+ p.y = min(max(p.y, limits.a.y - s.y+1), limits.b.y-1);
+
+ if( (mode & dmLimitLoX) != 0 )
+ p.x = max(p.x, limits.a.x);
+ if( (mode & dmLimitLoY) != 0 )
+ p.y = max(p.y, limits.a.y);
+ if( (mode & dmLimitHiX) != 0 )
+ p.x = min(p.x, limits.b.x-s.x);
+ if( (mode & dmLimitHiY) != 0 )
+ p.y = min(p.y, limits.b.y-s.y);
+ r = TRect(p.x, p.y, p.x + s.x, p.y + s.y);
+ locate(r);
+}
+
+void TView::change( uchar mode, TPoint delta, TPoint& p, TPoint& s, ulong ctrlState )
+{
+ if( (mode & dmDragMove) != 0 && (ctrlState & kbShift) == 0 )
+ p += delta;
+ else if( (mode & dmDragGrow) != 0 && (ctrlState & kbShift) != 0 )
+ s += delta;
+}
+
+void TView::dragView( TEvent& event,
+ uchar mode,
+ TRect& limits,
+ TPoint minSize,
+ TPoint maxSize
+ )
+{
+ TRect saveBounds;
+
+ TPoint p, s;
+ setState( sfDragging, True );
+
+ if( event.what == evMouseDown )
+ {
+ if( (mode & dmDragMove) != 0 )
+ {
+ p = origin - event.mouse.where;
+ do {
+ event.mouse.where += p;
+ moveGrow( event.mouse.where,
+ size,
+ limits,
+ minSize,
+ maxSize,
+ mode
+ );
+ } while( mouseEvent(event,evMouseMove) );
+ }
+ else
+ {
+ p = size - event.mouse.where;
+ do {
+ event.mouse.where += p;
+ moveGrow( origin,
+ event.mouse.where,
+ limits,
+ minSize,
+ maxSize,
+ mode
+ );
+ } while( mouseEvent(event,evMouseMove) );
+ }
+ }
+ else
+ {
+ static TPoint
+ goLeft = {-1, 0},
+ goRight = { 1, 0},
+ goUp = { 0,-1},
+ goDown = { 0, 1},
+ goCtrlLeft = {-8, 0},
+ goCtrlRight = { 8, 0};
+
+ saveBounds = getBounds();
+ do {
+ p = origin;
+ s = size;
+ keyEvent(event);
+ switch (event.keyDown.keyCode & 0xFF00)
+ {
+ case kbLeft:
+ change(mode,goLeft,p,s,event.keyDown.controlKeyState);
+ break;
+ case kbRight:
+ change(mode,goRight,p,s,event.keyDown.controlKeyState);
+ break;
+ case kbUp:
+ change(mode,goUp,p,s,event.keyDown.controlKeyState);
+ break;
+ case kbDown:
+ change(mode,goDown,p,s,event.keyDown.controlKeyState);
+ break;
+ case kbCtrlLeft:
+ change(mode,goCtrlLeft,p,s,event.keyDown.controlKeyState);
+ break;
+ case kbCtrlRight:
+ change(mode,goCtrlRight,p,s,event.keyDown.controlKeyState);
+ break;
+ case kbHome:
+ p.x = limits.a.x;
+ break;
+ case kbEnd:
+ p.x = limits.b.x - s.x;
+ break;
+ case kbPgUp:
+ p.y = limits.a.y;
+ break;
+ case kbPgDn:
+ p.y = limits.b.y - s.y;
+ break;
+ }
+ moveGrow( p, s, limits, minSize, maxSize, mode );
+ } while( event.keyDown.keyCode != kbEsc &&
+ event.keyDown.keyCode != kbEnter
+ );
+ if( event.keyDown.keyCode == kbEsc )
+ locate(saveBounds);
+ }
+ setState(sfDragging, False);
+}
+
+void TView::draw()
+{
+ TDrawBuffer b;
+
+ b.moveChar( 0, ' ', getColor(1), size.x );
+ writeLine( 0, 0, size.x, size.y, b );
+}
+
+void TView::drawCursor()
+{
+ if( (state & sfFocused) != 0 )
+ resetCursor();
+}
+
+void TView::drawHide( TView* lastView )
+{
+ drawCursor();
+ drawUnderView(Boolean(state & sfShadow), lastView);
+}
+
+void TView::drawShow( TView* lastView )
+{
+ drawView();
+ if( (state & sfShadow) != 0 )
+ drawUnderView( True, lastView );
+}
+
+void TView::drawUnderRect( TRect& r, TView* lastView )
+{
+ owner->clip.intersect(r);
+ owner->drawSubViews(nextView(), lastView);
+ owner->clip = owner->getExtent();
+}
+
+void TView::drawUnderView( Boolean doShadow, TView* lastView )
+{
+ TRect r = getBounds();
+ if( doShadow != False )
+ r.b += shadowSize;
+ drawUnderRect( r, lastView );
+}
+
+void TView::drawView()
+{
+ if (exposed())
+ {
+ draw();
+ drawCursor();
+ }
+}
+
+void TView::enableCommands( TCommandSet& commands )
+{
+ commandSetChanged = Boolean( commandSetChanged ||
+ ((curCommandSet&commands) != commands) );
+ curCommandSet += commands;
+}
+
+void TView::enableCommand( ushort command )
+{
+ commandSetChanged = Boolean( commandSetChanged ||
+ !curCommandSet.has( command ) );
+ curCommandSet += command;
+}
+
+void TView::endModal( ushort command )
+{
+ if( TopView() != 0 )
+ TopView()->endModal(command);
+}
+
+Boolean TView::eventAvail()
+{
+ TEvent event;
+ getEvent(event);
+ if( event.what != evNothing )
+ putEvent(event);
+ return Boolean( event.what != evNothing );
+}
+
+TRect TView::getBounds()
+{
+ return TRect( origin, origin+size );
+}
+
+ushort TView::execute()
+{
+ return cmCancel;
+}
+
+Boolean TView::focus()
+{
+ Boolean result = True;
+
+ if ((state & (sfSelected | sfModal)) == 0)
+ {
+ if (owner)
+ {
+ result = owner->focus();
+ if (result)
+#ifndef __UNPATCHED
+ if ((owner->current == 0) ||
+ ((owner->current->options & ofValidate) == 0) ||
+ (owner->current->valid(cmReleasedFocus)))
+#else
+ if ((owner->current->valid(cmReleasedFocus)) &&
+ ((owner->current == 0) ||
+ ((owner->current->options & ofValidate) == 0)))
+#endif
+ select();
+ else
+ return False;
+ }
+ }
+ return result;
+}
+
+TRect TView::getClipRect()
+{
+ TRect clip = getBounds();
+ if( owner != 0 )
+ clip.intersect(owner->clip);
+ clip.move(-origin.x, -origin.y);
+ return clip;
+}
+
+ushort TView::getColor( ushort color )
+{
+ ushort colorPair = color >> 8;
+
+ if( colorPair != 0 )
+ colorPair = mapColor(colorPair) << 8;
+
+ colorPair |= mapColor( uchar(color) );
+
+ return colorPair;
+}
+
+void TView::getCommands( TCommandSet& commands )
+{
+ commands = curCommandSet;
+}
+
+void TView::getData( void * )
+{
+}
+
+void TView::getEvent( TEvent& event )
+{
+ if( owner != 0 )
+ owner->getEvent(event);
+}
+
+TRect TView::getExtent()
+{
+ return TRect( 0, 0, size.x, size.y );
+}
+
+ushort TView::getHelpCtx()
+{
+ if( (state & sfDragging) != 0 )
+ return hcDragging;
+ return helpCtx;
+}
+
+TPalette& TView::getPalette() const
+{
+ static char ch = 0;
+ static TPalette palette( &ch, 0 );
+ return palette;
+}
+
+Boolean TView::getState( ushort aState )
+{
+ return Boolean( (state & aState) == aState );
+}
+
+void TView::growTo( short x, short y )
+{
+ TRect r = TRect(origin.x, origin.y, origin.x + x, origin.y + y);
+ locate(r);
+}
+
+void TView::handleEvent(TEvent& event)
+{
+ if( event.what == evMouseDown )
+ {
+ if(!(state & (sfSelected | sfDisabled)) && (options & ofSelectable) )
+ if( !focus() || !(options & ofFirstClick) )
+ clearEvent(event);
+ }
+}
+
+void TView::hide()
+{
+ if( (state & sfVisible) != 0 )
+ setState( sfVisible, False );
+}
+
+void TView::hideCursor()
+{
+ setState( sfCursorVis, False );
+}
+
+void TView::keyEvent( TEvent& event )
+{
+ do {
+ getEvent(event);
+ } while( event.what != evKeyDown );
+}
+
+#define range(Val, Min, Max) (((Val < Min) ? Min : ((Val > Max) ? Max : Val)))
+
+void TView::locate( TRect& bounds )
+{
+ TPoint min, max;
+ sizeLimits(min, max);
+ bounds.b.x = bounds.a.x + range(bounds.b.x - bounds.a.x, min.x, max.x);
+ bounds.b.y = bounds.a.y + range(bounds.b.y - bounds.a.y, min.y, max.y);
+ TRect r = getBounds();
+ if( bounds != r )
+ {
+ changeBounds( bounds );
+ if( owner != 0 && (state & sfVisible) != 0 )
+ {
+ if( (state & sfShadow) != 0 )
+ {
+ r.Union(bounds);
+ r.b += shadowSize;
+ }
+ drawUnderRect( r, 0 );
+ }
+ }
+}
+
+void TView::makeFirst()
+{
+ putInFrontOf(owner->first());
+}
+
+TPoint TView::makeGlobal( TPoint source )
+{
+ TPoint temp = source + origin;
+ TView *cur = this;
+ while( cur->owner != 0 )
+ {
+ cur = cur->owner;
+ temp += cur->origin;
+ }
+ return temp;
+}
+
+TPoint TView::makeLocal( TPoint source )
+{
+ TPoint temp = source - origin;
+ TView* cur = this;
+ while( cur->owner != 0 )
+ {
+ cur = cur->owner;
+ temp -= cur->origin;
+ }
+ return temp;
+}
+
+Boolean TView::mouseEvent(TEvent& event, ushort mask)
+{
+ do {
+ getEvent(event);
+ } while( !(event.what & (mask | evMouseUp)) );
+
+ return Boolean(event.what != evMouseUp);
+}
+
+Boolean TView::mouseInView(TPoint mouse)
+{
+ mouse = makeLocal( mouse );
+ TRect r = getExtent();
+ return r.contains(mouse);
+}
+
+void TView::moveTo( short x, short y )
+{
+ TRect r( x, y, x+size.x, y+size.y );
+ locate(r);
+}
+
+TView *TView::nextView()
+{
+ if( this == owner->last )
+ return 0;
+ else
+ return next;
+}
+
+void TView::normalCursor()
+{
+ setState(sfCursorIns, False);
+}
+
+TView *TView::prev()
+{
+ TView* res = this;
+ while( res->next != this )
+ res = res->next;
+ return res;
+}
+
+TView *TView::prevView()
+{
+ if( this == owner->first() )
+ return 0;
+ else
+ return prev();
+}
+
+void TView::putEvent( TEvent& event )
+{
+ if( owner != 0 )
+ owner->putEvent(event);
+}
+
+void TView::putInFrontOf( TView *Target )
+{
+ TView *p, *lastView;
+
+ if( owner != 0 && Target != this && Target != nextView() &&
+ ( Target == 0 || Target->owner == owner)
+ )
+ if( (state & sfVisible) == 0 )
+ {
+ owner->removeView(this);
+ owner->insertView(this, Target);
+ }
+ else
+ {
+ lastView = nextView();
+ p = Target;
+ while( p != 0 && p != this )
+ p = p->nextView();
+ if( p == 0 )
+ lastView = Target;
+ state &= ~sfVisible;
+ if( lastView == Target )
+ drawHide(lastView);
+ owner->removeView(this);
+ owner->insertView(this, Target);
+ state |= sfVisible;
+ if( lastView != Target )
+ drawShow(lastView);
+ if( (options & ofSelectable) != 0 )
+ owner->resetCurrent();
+ }
+}
+
+void TView::select()
+{
+ if( ! (options & ofSelectable))
+ return;
+ if( (options & ofTopSelect) != 0 )
+ makeFirst();
+ else if( owner != 0 )
+ owner->setCurrent( this, normalSelect );
+}
+
+void TView::setBounds( const TRect& bounds )
+{
+ origin = bounds.a;
+ size = bounds.b - bounds.a;
+}
+
+void TView::setCmdState(TCommandSet& commands, Boolean enable)
+{
+ if (enable)
+ enableCommands(commands);
+ else
+ disableCommands(commands);
+}
+
+void TView::setCommands( TCommandSet& commands )
+{
+ commandSetChanged = Boolean( commandSetChanged ||
+ (curCommandSet != commands ));
+ curCommandSet = commands;
+}
+
+void TView::setCursor( int x, int y )
+{
+ cursor.x = x;
+ cursor.y = y;
+ drawCursor();
+}
+
+void TView::setData( void * )
+{
+}
+
+void TView::setState( ushort aState, Boolean enable )
+{
+ if( enable == True )
+ state |= aState;
+ else
+ state &= ~aState;
+
+ if( owner == 0 )
+ return;
+
+ switch( aState )
+ {
+ case sfVisible:
+ if( (owner->state & sfExposed) != 0 )
+ setState( sfExposed, enable );
+ if( enable == True )
+ drawShow( 0 );
+ else
+ drawHide( 0 );
+ if( (options & ofSelectable) != 0 )
+ owner->resetCurrent();
+ break;
+ case sfCursorVis:
+ case sfCursorIns:
+ drawCursor();
+ break;
+ case sfShadow:
+ drawUnderView( True, 0 );
+ break;
+ case sfFocused:
+ resetCursor();
+ message( owner,
+ evBroadcast,
+ (enable == True) ? cmReceivedFocus : cmReleasedFocus,
+ this
+ );
+ break;
+ }
+}
+
+void TView::show()
+{
+ if( (state & sfVisible) == 0 )
+ setState(sfVisible, True);
+}
+
+void TView::showCursor()
+{
+ setState( sfCursorVis, True );
+}
+
+void TView::sizeLimits( TPoint& min, TPoint& max )
+{
+ min.x = min.y = 0;
+ if( !(growMode & gfFixed) && owner != 0 )
+ max = owner->size;
+ else
+ max.x = max.y = INT_MAX;
+}
+
+TView* TView::TopView()
+{
+ if( TheTopView != 0 )
+ return TheTopView;
+ else
+ {
+ TView* p = this;
+ while( p != 0 && !(p->state & sfModal) )
+ p = p->owner;
+ return p;
+ }
+}
+
+Boolean TView::valid( ushort )
+{
+ return True;
+}
+
+Boolean TView::containsMouse( TEvent& event )
+{
+ return Boolean( (state & sfVisible) != 0 &&
+ mouseInView( event.mouse.where )
+ );
+}
+
+void TView::shutDown()
+{
+ hide();
+ if( owner != 0 )
+ owner->remove( this );
+ TObject::shutDown();
+}
+
+
+#if !defined(NO_STREAMABLE)
+
+void TView::write( opstream& os )
+{
+ ushort saveState =
+ state & ~( sfActive | sfSelected | sfFocused | sfExposed );
+
+ os << origin << size << cursor
+ << growMode << dragMode << helpCtx
+ << saveState << options << eventMask;
+}
+
+void *TView::read( ipstream& is )
+{
+ is >> origin >> size >> cursor
+ >> growMode >> dragMode >> helpCtx
+ >> state >> options >> eventMask;
+ owner = 0;
+ next = 0;
+ return this;
+}
+
+TStreamable *TView::build()
+{
+ return new TView( streamableInit );
+}
+
+TView::TView( StreamableInit )
+{
+}
+
+
+#endif
diff --git a/freebsdtvision/lib/TWindow.cc b/freebsdtvision/lib/TWindow.cc
new file mode 100644
index 0000000..bac9cee
--- /dev/null
+++ b/freebsdtvision/lib/TWindow.cc
@@ -0,0 +1,260 @@
+/*
+ * TWindow.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#define Uses_TKeys
+#define Uses_TWindow
+#define Uses_TEvent
+#define Uses_TRect
+#define Uses_TFrame
+#define Uses_TCommandSet
+#define Uses_TScrollBar
+#define Uses_opstream
+#define Uses_ipstream
+#include <tvision/tv.h>
+
+#include <string.h>
+
+const TPoint minWinSize = {16, 6};
+
+TWindowInit::TWindowInit( TFrame *(*cFrame)( TRect ) ) :
+ createFrame( cFrame )
+{
+}
+
+TWindow::TWindow( const TRect& bounds,
+ const char *aTitle,
+ short aNumber
+ ) :
+ TGroup( bounds ),
+ TWindowInit( &TWindow::initFrame ),
+ flags( wfMove | wfGrow | wfClose | wfZoom ),
+ zoomRect( getBounds() ),
+ number( aNumber ),
+ palette( wpBlueWindow ),
+ title( newStr( aTitle ) )
+{
+ state |= sfShadow;
+ options |= ofSelectable | ofTopSelect;
+ growMode = gfGrowAll | gfGrowRel;
+
+ if( createFrame != 0 &&
+ (frame = createFrame( getExtent() )) != 0
+ )
+ insert( frame );
+}
+
+TWindow::~TWindow()
+{
+ delete (char *)title;
+}
+
+void TWindow::close()
+{
+ if( valid( cmClose ) )
+ {
+ frame = 0; // so we don't try to use the frame after it's been deleted
+ destroy( this );
+ }
+}
+
+void TWindow::shutDown()
+{
+ frame = 0;
+ TGroup::shutDown();
+}
+
+TPalette& TWindow::getPalette() const
+{
+ static TPalette blue( cpBlueWindow, sizeof( cpBlueWindow )-1 );
+ static TPalette cyan( cpCyanWindow, sizeof( cpCyanWindow )-1 );
+ static TPalette gray( cpGrayWindow, sizeof( cpGrayWindow )-1 );
+ static TPalette *palettes[] =
+ {
+ &blue,
+ &cyan,
+ &gray
+ };
+ return *(palettes[palette]);
+}
+
+const char *TWindow::getTitle( short )
+{
+ return title;
+}
+
+void TWindow::handleEvent( TEvent& event )
+{
+ TRect limits;
+ TPoint min, max;
+
+ TGroup::handleEvent(event);
+ if( event.what== evCommand )
+ switch (event.message.command)
+ {
+ case cmResize:
+ if( (flags & (wfMove | wfGrow)) != 0 )
+ {
+ limits = owner->getExtent();
+ sizeLimits(min, max);
+ dragView( event, dragMode | (flags & (wfMove | wfGrow)),
+ limits, min, max);
+ clearEvent(event);
+ }
+ break;
+ case cmClose:
+ if( (flags & wfClose) != 0 &&
+ ( event.message.infoPtr == 0 || event.message.infoPtr == this )
+ )
+ {
+ clearEvent(event);
+ if( (state & sfModal) == 0 )
+ close();
+ else
+ {
+ event.what = evCommand;
+ event.message.command = cmCancel;
+ putEvent( event );
+ clearEvent( event );
+ }
+ }
+ break;
+ case cmZoom:
+ if( (flags & wfZoom) != 0 &&
+ (event.message.infoPtr == 0 || event.message.infoPtr == this)
+ )
+ {
+ zoom();
+ clearEvent(event);
+ }
+ break;
+ }
+ else if( event.what == evKeyDown )
+ switch (event.keyDown.keyCode)
+ {
+ case kbTab:
+ focusNext(False);
+ clearEvent(event);
+ break;
+ case kbShiftTab:
+ focusNext(True);
+ clearEvent(event);
+ break;
+ }
+ else if( event.what == evBroadcast &&
+ event.message.command == cmSelectWindowNum &&
+ /*
+ * Some non-portable code changed. See `TProgram.cc'.
+ */
+ (int)event.message.infoPtr == number &&
+ (options & ofSelectable) != 0
+ )
+ {
+ select();
+ clearEvent(event);
+ }
+}
+
+TFrame *TWindow::initFrame( TRect r )
+{
+ return new TFrame(r);
+}
+
+void TWindow::setState( ushort aState, Boolean enable )
+{
+ TCommandSet windowCommands;
+
+ TGroup::setState(aState, enable);
+ if( (aState & sfSelected) != 0 )
+ {
+ setState(sfActive, enable);
+ if( frame != 0 )
+ frame->setState(sfActive,enable);
+ windowCommands += cmNext;
+ windowCommands += cmPrev;
+ if( (flags & (wfGrow | wfMove)) != 0 )
+ windowCommands += cmResize;
+ if( (flags & wfClose) != 0 )
+ windowCommands += cmClose;
+ if( (flags & wfZoom) != 0 )
+ windowCommands += cmZoom;
+ if( enable != False )
+ enableCommands(windowCommands);
+ else
+ disableCommands(windowCommands);
+ }
+}
+
+TScrollBar *TWindow::standardScrollBar( ushort aOptions )
+{
+ TRect r = getExtent();
+ if( (aOptions & sbVertical) != 0 )
+ r = TRect( r.b.x-1, r.a.y+1, r.b.x, r.b.y-1 );
+ else
+ r = TRect( r.a.x+2, r.b.y-1, r.b.x-2, r.b.y );
+
+ TScrollBar *s;
+ insert( s = new TScrollBar(r) );
+ if( (aOptions & sbHandleKeyboard) != 0 )
+ s->options |= ofPostProcess;
+ return s;
+}
+
+void TWindow::sizeLimits( TPoint& min, TPoint& max )
+{
+ TView::sizeLimits(min, max);
+ min = minWinSize;
+}
+
+void TWindow::zoom()
+{
+ TPoint minSize, maxSize;
+ sizeLimits( minSize, maxSize );
+ if( size != maxSize )
+ {
+ zoomRect = getBounds();
+ TRect r( 0, 0, maxSize.x, maxSize.y );
+ locate(r);
+ }
+ else
+ locate( zoomRect );
+}
+
+#if !defined(NO_STREAMABLE)
+
+void TWindow::write( opstream& os )
+{
+ TGroup::write( os );
+ os << flags << zoomRect << number << palette;
+ os << frame;
+ os.writeString( title );
+}
+
+void *TWindow::read( ipstream& is )
+{
+ TGroup::read( is );
+ is >> flags >> zoomRect >> number >> palette;
+ is >> frame;
+ title = is.readString();
+ return this;
+}
+
+TStreamable *TWindow::build()
+{
+ return new TWindow( streamableInit );
+}
+
+TWindow::TWindow( StreamableInit ) :
+ TGroup( streamableInit ),
+ TWindowInit( 0 /*streamableInit*/ )
+{
+}
+
+#endif
diff --git a/freebsdtvision/lib/allnames.cc b/freebsdtvision/lib/allnames.cc
new file mode 100644
index 0000000..e8479b2
--- /dev/null
+++ b/freebsdtvision/lib/allnames.cc
@@ -0,0 +1,129 @@
+/*
+ * allnames.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#define Uses_TBackground
+#define Uses_TButton
+#define Uses_TChDirDialog
+#define Uses_TCheckBoxes
+#define Uses_TColorSelector
+#define Uses_TMonoSelector
+#define Uses_TColorDisplay
+#define Uses_TColorGroupList
+#define Uses_TColorItemList
+#define Uses_TColorDialog
+#define Uses_TCluster
+#define Uses_TCollection
+#define Uses_TDialog
+#define Uses_TDirListBox
+#define Uses_TDirCollection
+#define Uses_TDeskTop
+#define Uses_TIndicator
+#define Uses_TEditor
+#define Uses_TMemo
+#define Uses_TFileEditor
+#define Uses_TEditWindow
+#define Uses_TFileCollection
+#define Uses_TFileDialog
+#define Uses_TFileList
+#define Uses_TFrame
+#define Uses_TGroup
+#define Uses_THistory
+#define Uses_TInputLine
+#define Uses_TLabel
+#define Uses_TListBox
+#define Uses_TListViewer
+#define Uses_TMenuBar
+#define Uses_TMenuBox
+#define Uses_TMenuPopup
+#define Uses_TMenuView
+#define Uses_TMultiCheckBoxes
+#define Uses_TOutline
+#define Uses_TParamText
+#define Uses_TRadioButtons
+#define Uses_TResourceCollection
+#define Uses_TSortedCollection
+#define Uses_TScrollBar
+#define Uses_TScroller
+#define Uses_TStaticText
+#define Uses_TFileInputLine
+#define Uses_TSortedListBox
+#define Uses_TFileInfoPane
+#define Uses_TStatusLine
+#define Uses_TStringCollection
+#define Uses_TStringList
+#define Uses_TValidator
+#define Uses_TPXPictureValidator
+#define Uses_TRangeValidator
+#define Uses_TFilterValidator
+#define Uses_TLookupValidator
+#define Uses_TStringLookupValidator
+#define Uses_TView
+#define Uses_TWindow
+#include <tvision/tv.h>
+
+const char * const TBackground::name = "TBackground";
+const char * const TButton::name = "TButton";
+const char * const TChDirDialog::name = "TChDirDialog";
+const char * const TCheckBoxes::name = "TCheckBoxes";
+const char * const TColorSelector::name = "TColorSelector";
+const char * const TMonoSelector::name = "TMonoSelector";
+const char * const TColorDisplay::name = "TColorDisplay";
+const char * const TColorGroupList::name = "TColorGroupList";
+const char * const TColorItemList::name = "TColorItemList";
+const char * const TColorDialog::name = "TColorDialog";
+const char * const TCluster::name = "TCluster";
+const char * const TCollection::name = "TCollection";
+const char * const TDialog::name = "TDialog";
+const char * const TDirListBox::name = "TDirListBox";
+const char * const TDirCollection::name = "TDirCollection";
+const char * const TDeskTop::name = "TDeskTop";
+const char * const TIndicator::name = "TIndicator";
+const char * const TEditor::name = "TEditor";
+const char * const TMemo::name = "TMemo";
+const char * const TFileEditor::name = "TFileEditor";
+const char * const TEditWindow::name = "TEditWindow";
+const char * const TFileCollection::name = "TFileCollection";
+const char * const TFileDialog::name = "TFileDialog";
+const char * const TFileList::name = "TFileList";
+const char * const TFrame::name = "TFrame";
+const char * const TGroup::name = "TGroup";
+const char * const THistory::name = "THistory";
+const char * const TInputLine::name = "TInputLine";
+const char * const TLabel::name = "TLabel";
+const char * const TListBox::name = "TListBox";
+const char * const TListViewer::name = "TListViewer";
+const char * const TMenuBar::name = "TMenuBar";
+const char * const TMenuBox::name = "TMenuBox";
+const char * const TMenuPopup::name = "TMenuPopup";
+const char * const TMenuView::name = "TMenuView";
+const char * const TMultiCheckBoxes::name = "TMultiCheckBoxes";
+const char * const TOutline::name = "TOutline";
+const char * const TParamText::name = "TParamText";
+const char * const TRadioButtons::name = "TRadioButtons";
+const char * const TResourceCollection::name = "TResourceCollection";
+const char * const TSortedCollection::name = "TSortedCollection";
+const char * const TScrollBar::name = "TScrollBar";
+const char * const TScroller::name = "TScroller";
+const char * const TStaticText::name = "TStaticText";
+const char * const TFileInputLine::name = "TFileInputLine";
+const char * const TSortedListBox::name = "TSortedListBox";
+const char * const TFileInfoPane::name = "TFileInfoPane";
+const char * const TStatusLine::name = "TStatusLine";
+const char * const TStringCollection::name = "TStringCollection";
+const char * const TStringList::name = "TStringList";
+const char * const TValidator::name = "TValidator";
+const char * const TPXPictureValidator::name = "TPXPictureValidator";
+const char * const TRangeValidator::name = "TRangeValidator";
+const char * const TFilterValidator::name = "TFilterValidator";
+const char * const TLookupValidator::name = "TLookupValidator";
+const char * const TStringLookupValidator::name = "TStringLookupValidator";
+const char * const TView::name = "TView";
+const char * const TWindow::name = "TWindow";
diff --git a/freebsdtvision/lib/app.h b/freebsdtvision/lib/app.h
new file mode 100644
index 0000000..15ed4bb
--- /dev/null
+++ b/freebsdtvision/lib/app.h
@@ -0,0 +1,954 @@
+/*
+ * app.h
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#if defined( Uses_TBackground ) && !defined( __TBackground )
+#define __TBackground
+
+/** \file app.h
+ * app.h
+ */
+
+class TRect;
+
+/**
+ * The default desktop background.
+ *
+ * TBackground is a very simple view which by default is the background of the
+ * desktop. It is a rectangle painted with an uniform pattern.
+ * @see TDeskTop
+ * @short The default desktop background
+ */
+class TBackground : public TView
+{
+public:
+ /**
+ * Constructor.
+ *
+ * `bounds' is the bounding rectangle of the background.
+ *
+ * @ref growMode is set to @ref gfGrowHiX | @ref gfGrowHiY, and the
+ * @ref pattern data member is set to `aPattern'.
+ */
+ TBackground( const TRect& bounds, char aPattern );
+ /**
+ * Fills the background view rectangle with the current pattern in the
+ * default color.
+ */
+ virtual void draw();
+ /**
+ * Returns a reference to the standard TBackground palette.
+ */
+ virtual TPalette& getPalette() const;
+protected:
+ /**
+ * Is the pattern used to fill the view.
+ */
+ char pattern;
+private:
+ virtual const char *streamableName() const
+ { return name; }
+protected:
+ /**
+ * Constructor.
+ *
+ * Used to recover the view from a stream.
+ *
+ * Each streamable class needs a "builder" to allocate the correct memory
+ * for its objects together with the initialized virtual table pointers.
+ * This is achieved by calling this constructor with an argument of type
+ * @ref StreamableInit.
+ */
+ TBackground( StreamableInit );
+ /**
+ * Used to store the view in a stream.
+ *
+ * Writes to the output stream `os'.
+ */
+ virtual void write( opstream& os );
+ /**
+ * Used to recover the view from a stream.
+ *
+ * Reads from the input stream `is'.
+ */
+ virtual void *read( ipstream& is );
+public:
+ /**
+ * Undocumented.
+ */
+ static const char * const name;
+ /**
+ * Creates a new TBackground.
+ *
+ * Used to recover the view from a stream.
+ *
+ * Called to create an object in certain stream-reading situations.
+ */
+ static TStreamable *build();
+};
+
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TBackground& cl )
+ { return is >> (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TBackground*& cl )
+ { return is >> (void *&)cl; }
+
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TBackground& cl )
+ { return os << (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TBackground* cl )
+ { return os << (TStreamable *)cl; }
+
+#endif // Uses_TBackground
+
+
+#if defined( Uses_TDeskTop ) && !defined( __TDeskTop )
+#define __TDeskTop
+
+class TBackground;
+class TRect;
+class TEvent;
+
+/**
+ * TDeskInit is used as a virtual base class for a number of classes,
+ * providing a constructor and a create background member function used in
+ * creating and inserting a background object.
+ * @see TDeskTop
+ * @short Virtual base class for TDeskTop
+ */
+class TDeskInit
+{
+public:
+ /**
+ * This constructor takes a function address argument, usually
+ * &TDeskTop::initBackground.
+ * @see TDeskTop::initBackground
+ *
+ * Note: the @ref TDeskTop constructor invokes @ref TGroup constructor and
+ * TDeskInit(&initBackground) to create a desk top object of size `bounds'
+ * and associated background. The latter is inserted in the desk top group
+ * object.
+ * @see TDeskTop::TDeskTop
+ */
+ TDeskInit( TBackground *(*cBackground)( TRect bounds ) );
+protected:
+ /**
+ * Called by the TDeskInit constructor to create a TBackground object
+ * with the given bounds and return a pointer to it. A 0 pointer
+ * indicates lack of success in this endeavor.
+ */
+ TBackground *(*createBackground)( TRect bounds );
+};
+
+/**
+ * The desktop of the application.
+ * @see TApplication
+ *
+ * TDeskTop inherits multiply from @ref TGroup and the virtual base class
+ * @ref TDeskInit. @ref TDeskInit provides a constructor and a create
+ * background member function used in creating and inserting a background
+ * object. TDeskTop is a simple group that owns the @ref TBackground view
+ * upon which the application's windows and other views appear.
+ *
+ * TDeskTop represents the desk top area of the screen between the top menu
+ * bar and bottom status line (but only when the bar and line exist). By
+ * default, TDeskTop has a @ref TBackground object inside which paints its
+ * background.
+ *
+ * TDeskTop objects can be written to and read from streams using the
+ * overloaded >> and << operators.
+ * @short The desktop of the application
+ */
+class TDeskTop : public TGroup, public virtual TDeskInit
+{
+public:
+ /**
+ * Constructor.
+ *
+ * Creates a TDeskTop group with size `bounds' by calling its base
+ * constructors TGroup::TGroup and TDeskInit::TDeskInit(&initBackground).
+ * The resulting @ref TBackground object created by @ref initBackground is
+ * then inserted into the desk top.
+ * @see TDeskInit:TDeskInit
+ * @see TGroup::TGroup
+ *
+ * @ref growMode is set to @ref gfGrowHiX | @ref gfGrowHiY.
+ */
+ TDeskTop( const TRect& bounds );
+ /**
+ * Moves all the windows in a cascade-like fashion.
+ *
+ * Redisplays all tileable windows owned by the desk top in cascaded
+ * format. The first tileable window in Z-order (the window "in back") is
+ * zoomed to fill the desk top, and each succeeding window fills a region
+ * beginning one line lower and one space further to the right than the
+ * one before. The active window appears "on top" as the smallest window.
+ */
+ void cascade( const TRect& );
+ /**
+ * Standard TDeskTop event handler.
+ *
+ * Calls @ref TGroup::handleEvent() and takes care of the commands cmNext
+ * (usually the hot key F6) and cmPrev by cycling through the windows
+ * owned by the desk top, starting with the currently selected view.
+ */
+ virtual void handleEvent( TEvent& );
+ /**
+ * Creates a new background.
+ *
+ * Returns a pointer to a newly-allocated @ref TBackground object. The
+ * address of this member function is passed as an argument to the
+ * @ref TDeskInit constructor. The latter invokes @ref initBackground()
+ * to create a new @ref TBackground object with the same bounds as the
+ * calling TDeskTop object.
+ * The @ref background data member is set to point at the new
+ * @ref TBackground object.
+ *
+ * Redefine this method if you want a custom background.
+ */
+ static TBackground *initBackground( TRect );
+ /**
+ * Moves all the windows in a tile-like fashion.
+ */
+ void tile( const TRect& );
+ /**
+ * Called on tiling error.
+ *
+ * This method is called whenever @ref cascade() or @ref tile() run into
+ * troubles in moving the windows. You can redefine it if you want to
+ * give an error message to the user. By default, it does nothing.
+ */
+ virtual void tileError();
+ /**
+ * Releases TDeskTop resources.
+ *
+ * This function is derived from @ref TObject. Used internally by
+ * @ref TObject::destroy() to ensure correct destruction of derived and
+ * related objects. shutDown() is overridden in many classes to ensure
+ * the proper setting of related data members when destroy() is called.
+ *
+ * This method releases all the resources allocated by the TDeskTop. It
+ * sets pointer @ref background to 0 and then calls
+ * @ref TGroup::shutDown().
+ */
+ virtual void shutDown();
+ /**
+ * The default pattern which will be used for painting the background.
+ */
+ static char defaultBkgrnd;
+protected:
+ /**
+ * This variable stores a pointer to the background object associated with
+ * this desk top.
+ */
+ TBackground *background;
+ /**
+ * True if method @ref tile() should favour columns first. Set to False in
+ * TDeskTop constructor.
+ * @see TDeskTop::TDeskTop
+ */
+ Boolean tileColumnsFirst;
+private:
+ virtual const char *streamableName() const
+ { return name; }
+protected:
+ /**
+ * Constructor used to recover the view from a stream.
+ *
+ * Each streamable class needs a "builder" to allocate the correct memory
+ * for its objects together with the initialized virtual table pointers.
+ * This is achieved by calling this constructor with an argument of type
+ * @ref StreamableInit.
+ */
+ TDeskTop( StreamableInit );
+public:
+ /**
+ * Undocumented.
+ */
+ static const char * const name;
+ /**
+ * Creates a new TDeskTop.
+ *
+ * Used to recover the view from a stream. Called to create an object in
+ * certain stream-reading situations.
+ */
+ static TStreamable *build();
+};
+
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TDeskTop& cl )
+ { return is >> (TStreamable&)(TGroup&)cl; }
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TDeskTop*& cl )
+ { return is >> (void *&)cl; }
+
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TDeskTop& cl )
+ { return os << (TStreamable&)(TGroup&)cl; }
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TDeskTop* cl )
+ { return os << (TStreamable *)(TGroup *)cl; }
+
+#endif
+
+// Turbo Vision 2.0 Color Palettes
+
+#ifndef __UNPATCHED
+#define cpAppColor \
+ "\x71\x70\x78\x74\x20\x28\x24\x17\x1F\x1A\x31\x31\x1E\x71\x1F" \
+ "\x37\x3F\x3A\x13\x13\x3E\x21\x3F\x70\x7F\x7A\x13\x13\x70\x7F\x7E" \
+ "\x70\x7F\x7A\x13\x13\x70\x70\x7F\x7E\x20\x2B\x2F\x78\x2E\x70\x30" \
+ "\x3F\x3E\x1F\x2F\x1A\x20\x72\x31\x31\x30\x2F\x3E\x31\x13\x38\x00" \
+ "\x17\x1F\x1A\x71\x71\x1E\x17\x1F\x1E\x20\x2B\x2F\x78\x2E\x10\x30" \
+ "\x3F\x3E\x70\x2F\x7A\x20\x12\x31\x31\x30\x2F\x3E\x31\x13\x38\x00" \
+ "\x37\x3F\x3A\x13\x13\x3E\x30\x3F\x3E\x20\x2B\x2F\x78\x2E\x30\x70" \
+ "\x7F\x7E\x1F\x2F\x1A\x20\x32\x31\x71\x70\x2F\x7E\x71\x13\x78\x00" \
+ "\x37\x3F\x3A\x13\x13\x30\x3E\x1E" // help colors
+#else
+#define cpAppColor \
+ "\x71\x70\x78\x74\x20\x28\x24\x17\x1F\x1A\x31\x31\x1E\x71\x1F" \
+ "\x37\x3F\x3A\x13\x13\x3E\x21\x3F\x70\x7F\x7A\x13\x13\x70\x7F\x7E" \
+ "\x70\x7F\x7A\x13\x13\x70\x70\x7F\x7E\x20\x2B\x2F\x78\x2E\x70\x30" \
+ "\x3F\x3E\x1F\x2F\x1A\x20\x72\x31\x31\x30\x2F\x3E\x31\x13\x38\x00" \
+ "\x17\x1F\x1A\x71\x71\x1E\x17\x1F\x1E\x20\x2B\x2F\x78\x2E\x10\x30" \
+ "\x3F\x3E\x70\x2F\x7A\x20\x12\x31\x31\x30\x2F\x3E\x31\x13\x38\x00" \
+ "\x37\x3F\x3A\x13\x13\x3E\x30\x3F\x3E\x20\x2B\x2F\x78\x2E\x30\x70" \
+ "\x7F\x7E\x1F\x2F\x1A\x20\x32\x31\x71\x70\x2F\x7E\x71\x13\x38\x00" \
+ "\x37\x3F\x3A\x13\x13\x30\x3E\x1E" // help colors
+#endif
+
+#ifndef __UNPATCHED
+#define cpAppBlackWhite \
+ "\x70\x70\x78\x7F\x07\x07\x0F\x07\x0F\x07\x70\x70\x07\x70\x0F" \
+ "\x07\x0F\x07\x70\x70\x07\x70\x0F\x70\x7F\x7F\x70\x07\x70\x07\x0F" \
+ "\x70\x7F\x7F\x70\x07\x70\x70\x7F\x7F\x07\x0F\x0F\x78\x0F\x78\x07" \
+ "\x0F\x0F\x0F\x70\x0F\x07\x70\x70\x70\x07\x70\x0F\x07\x07\x08\x00" \
+ "\x07\x0F\x0F\x07\x70\x07\x07\x0F\x0F\x70\x78\x7F\x08\x7F\x08\x70" \
+ "\x7F\x7F\x7F\x0F\x70\x70\x07\x70\x70\x70\x07\x7F\x70\x07\x78\x00" \
+ "\x70\x7F\x7F\x70\x07\x70\x70\x7F\x7F\x07\x0F\x0F\x78\x0F\x78\x07" \
+ "\x0F\x0F\x0F\x70\x0F\x07\x70\x70\x70\x07\x70\x0F\x07\x07\x08\x00" \
+ "\x07\x0F\x07\x70\x70\x07\x0F\x70" // help colors
+#else
+#define cpAppBlackWhite \
+ "\x70\x70\x78\x7F\x07\x07\x0F\x07\x0F\x07\x70\x70\x07\x70\x0F" \
+ "\x07\x0F\x07\x70\x70\x07\x70\x0F\x70\x7F\x7F\x70\x07\x70\x07\x0F" \
+ "\x70\x7F\x7F\x70\x07\x70\x70\x7F\x7F\x07\x0F\x0F\x78\x0F\x78\x07" \
+ "\x0F\x0F\x0F\x70\x0F\x07\x70\x70\x70\x07\x70\x0F\x07\x07\x78\x00" \
+ "\x07\x0F\x0F\x07\x70\x07\x07\x0F\x0F\x70\x78\x7F\x08\x7F\x08\x70" \
+ "\x7F\x7F\x7F\x0F\x70\x70\x07\x70\x70\x70\x07\x7F\x70\x07\x78\x00" \
+ "\x70\x7F\x7F\x70\x07\x70\x70\x7F\x7F\x07\x0F\x0F\x78\x0F\x78\x07" \
+ "\x0F\x0F\x0F\x70\x0F\x07\x70\x70\x70\x07\x70\x0F\x07\x07\x78\x00" \
+ "\x07\x0F\x07\x70\x70\x07\x0F\x70" // help colors
+#endif
+
+#ifndef __UNPATCHED
+#define cpAppMonochrome \
+ "\x70\x07\x07\x0F\x70\x70\x70\x07\x0F\x07\x70\x70\x07\x70\x00" \
+ "\x07\x0F\x07\x70\x70\x07\x70\x00\x70\x70\x70\x07\x07\x70\x07\x00" \
+ "\x70\x70\x70\x07\x07\x70\x70\x70\x0F\x07\x07\x0F\x70\x0F\x70\x07" \
+ "\x0F\x0F\x07\x70\x07\x07\x70\x07\x07\x07\x70\x0F\x07\x07\x70\x00" \
+ "\x70\x70\x70\x07\x07\x70\x70\x70\x0F\x07\x07\x0F\x70\x0F\x70\x07" \
+ "\x0F\x0F\x07\x70\x07\x07\x70\x07\x07\x07\x70\x0F\x07\x07\x01\x00" \
+ "\x70\x70\x70\x07\x07\x70\x70\x70\x0F\x07\x07\x0F\x70\x0F\x70\x07" \
+ "\x0F\x0F\x07\x70\x07\x07\x70\x07\x07\x07\x70\x0F\x07\x07\x01\x00" \
+ "\x07\x0F\x07\x70\x70\x07\x0F\x70" // help colors
+#else
+#define cpAppMonochrome \
+ "\x70\x07\x07\x0F\x70\x70\x70\x07\x0F\x07\x70\x70\x07\x70\x00" \
+ "\x07\x0F\x07\x70\x70\x07\x70\x00\x70\x70\x70\x07\x07\x70\x07\x00" \
+ "\x70\x70\x70\x07\x07\x70\x70\x70\x0F\x07\x07\x0F\x70\x0F\x70\x07" \
+ "\x0F\x0F\x07\x70\x07\x07\x70\x07\x07\x07\x70\x0F\x07\x07\x70\x00" \
+ "\x70\x70\x70\x07\x07\x70\x70\x70\x0F\x07\x07\x0F\x70\x0F\x70\x07" \
+ "\x0F\x0F\x07\x70\x07\x07\x70\x07\x07\x07\x70\x0F\x07\x07\x70\x00" \
+ "\x70\x70\x70\x07\x07\x70\x70\x70\x0F\x07\x07\x0F\x70\x0F\x70\x07" \
+ "\x0F\x0F\x07\x70\x07\x07\x70\x07\x07\x07\x70\x0F\x07\x07\x70\x00" \
+ "\x07\x0F\x07\x70\x70\x07\x0F\x70" // help colors
+#endif
+
+#if defined( Uses_TProgram ) && !defined( __TProgram )
+#define __TProgram
+
+// Standard application help contexts
+
+// Note: range $FF00 - $FFFF of help contexts are reserved by Borland
+
+const unsigned short hcNew = 0xFF01;
+const unsigned short hcOpen = 0xFF02;
+const unsigned short hcSave = 0xFF03;
+const unsigned short hcSaveAs = 0xFF04;
+const unsigned short hcSaveAll = 0xFF05;
+const unsigned short hcChangeDir = 0xFF06;
+const unsigned short hcDosShell = 0xFF07;
+const unsigned short hcExit = 0xFF08;
+
+const unsigned short hcUndo = 0xFF10;
+const unsigned short hcCut = 0xFF11;
+const unsigned short hcCopy = 0xFF12;
+const unsigned short hcPaste = 0xFF13;
+const unsigned short hcClear = 0xFF14;
+
+const unsigned short hcTile = 0xFF20;
+const unsigned short hcCascade = 0xFF21;
+const unsigned short hcCloseAll = 0xFF22;
+const unsigned short hcResize = 0xFF23;
+const unsigned short hcZoom = 0xFF24;
+const unsigned short hcNext = 0xFF25;
+const unsigned short hcPrev = 0xFF26;
+const unsigned short hcClose = 0xFF27;
+
+
+class TStatusLine;
+class TMenuBar;
+class TDeskTop;
+class TEvent;
+class TView;
+
+/**
+ * TProgInit is a virtual base class for TProgram.
+ *
+ * The @ref TProgram constructor calls the TProgInit base constructor,
+ * passing to it the addresses of three initialization functions that
+ * create the status line, menu bar, and desk top.
+ * @short Virtual base class for TProgram
+ */
+class TProgInit
+{
+public:
+ /**
+ * The @ref TProgram constructor calls the TProgInit constructor, passing
+ * to it the addresses of three init functions. The TProgInit constructor
+ * creates a status line, menu bar, and desk top. If these calls are
+ * successful, the three objects are inserted into the TProgram group.
+ * Variables @ref TProgram::statusLine, @ref TProgram::menuBar and
+ * @ref TProgram::deskTop are set to point at these new objects.
+ *
+ * The @ref TGroup constructor is also invoked to create a full screen
+ * view: the video @ref TGroup::buffer and default palettes are
+ * initialized and the following @ref TView::state flags are set:
+ *
+ * <pre>
+ * state = @ref sfVisible | @ref sfSelected | @ref sfFocused |
+ * @ref sfModal | @ref sfExposed;
+ * </pre>
+ */
+ TProgInit( TStatusLine *(*cStatusLine)( TRect ),
+ TMenuBar *(*cMenuBar)( TRect ),
+ TDeskTop *(*cDeskTop )( TRect )
+ );
+protected:
+ /**
+ * Creates the status line with the given size.
+ */
+ TStatusLine *(*createStatusLine)( TRect );
+ /**
+ * Creates the menu bar with the given size.
+ */
+ TMenuBar *(*createMenuBar)( TRect );
+ /**
+ * Creates the desk top with the given size.
+ */
+ TDeskTop *(*createDeskTop)( TRect );
+};
+
+/* ---------------------------------------------------------------------- */
+/* class TProgram */
+/* */
+/* Palette layout */
+/* 1 = TBackground */
+/* 2- 7 = TMenuView and TStatusLine */
+/* 8-15 = TWindow(Blue) */
+/* 16-23 = TWindow(Cyan) */
+/* 24-31 = TWindow(Gray) */
+/* 32-63 = TDialog */
+/* ---------------------------------------------------------------------- */
+
+// TApplication palette entries
+
+ /** \var apColor
+ * Use palette for color screen.
+ * @see TProgram::appPalette
+ */
+const int
+ apColor = 0,
+
+ /** \var apBlackWhite
+ * Use palette for LCD screen.
+ * @see TProgram::appPalette
+ */
+ apBlackWhite = 1,
+
+ /** \var apMonochrome
+ * Use palette for monochrome screen.
+ * @see TProgram::appPalette
+ */
+ apMonochrome = 2;
+
+class TDialog;
+class TWindow;
+
+/**
+ * The mother of @ref TApplication.
+ *
+ * TProgram provides the basic template for all standard TVision
+ * applications. All programs must be derived from TProgram or its immediate
+ * derived class, @ref TApplication. @ref TApplication differs from TProgram
+ * only for its constructor and destructor. However most applications will
+ * be derived from @ref TApplication.
+ * @short The mother of TApplication
+ */
+class TProgram : public TGroup, public virtual TProgInit
+{
+public:
+ /**
+ * Constructor.
+ *
+ * The TProgram constructor calls the @ref TProgInit constructor, passing
+ * to it the addresses of three init functions. The @ref TProgInit
+ * constructor creates a status line, menu bar, and desk top.
+ *
+ * If these calls are successful, the three objects are inserted into the
+ * TProgram group. Variables @ref statusLine, @ref menuBar and
+ * @ref deskTop are set to point at these new objects.
+ *
+ * The @ref TGroup constructor is also invoked to create a full screen
+ * view; the video buffer and default palettes are initialized; and the
+ * following state flags are set:
+ *
+ * <pre>
+ * state = @ref sfVisible | @ref sfSelected | @ref sfFocused |
+ * @ref sfModal | @ref sfExposed;
+ * </pre>
+ */
+ TProgram();
+ /**
+ * Destructor.
+ *
+ * Deletes the associated @ref deskTop, @ref menuBar, @ref statusLine
+ * objects, and sets @ref application to 0.
+ */
+ virtual ~TProgram();
+ /**
+ * Returns True if the focus can be moved from one desktop view to another
+ * one.
+ *
+ * It just returns `deskTop->valid(cmReleasedFocus)'.
+ * @see TGroup::valid
+ */
+ virtual Boolean canMoveFocus();
+ /**
+ * Executes a dialog.
+ *
+ * `pD' points to the dialog. The dialog is executed only if it is valid.
+ * @see TDialog::valid
+ *
+ * `data' is a pointer to the memory area where the dialog data will be
+ * read before executing the dialog and where the dialog data will be
+ * written after executing the dialog. If `data' is 0 no data area is
+ * used.
+ * @see TGroup::getData
+ * @see TGroup::setData
+ *
+ * This method calls @ref TGroup::execView() to execute the dialog. The
+ * dialog is destroyed before returning from the function, so a call to
+ * delete is not necessary. executeDialog() returns cmCancel if the view
+ * is not valid, otherwise it returns the return value of
+ * @ref TGroup::execView().
+ */
+ virtual ushort executeDialog(TDialog* pD, void*data = 0);
+ /**
+ * Gets an event.
+ *
+ * This method collects events from the system like key events, mouse
+ * events and timer events and returns them in the `event' structure.
+ *
+ * getEvent() first checks if @ref TProgram::putEvent() has generated a
+ * pending event. If so, getEvent() returns that event. If there is no
+ * pending event, getEvent() calls @ref TScreen::getEvent().
+ *
+ * If both calls return @ref evNothing, indicating that no user input is
+ * available, getEvent() calls @ref TProgram::idle() to allow "background"
+ * tasks to be performed while the application is waiting for user input.
+ * @see @ref TProgram::idle()
+ *
+ * Before returning, getEvent() passes any @ref evKeyDown and
+ * @ref evMouseDown events to the @ref statusLine for it to map into
+ * associated @ref evCommand hot key events.
+ */
+ virtual void getEvent(TEvent& event);
+ /**
+ * Returns a reference to the standard TProgram palette.
+ *
+ * Returns the palette string given by the palette index in
+ * @ref appPalette. TProgram supports three palettes. @ref appPalette is
+ * initialized by @ref TProgram::initScreen().
+ */
+ virtual TPalette& getPalette() const;
+ /**
+ * Standard TProgram event handler.
+ *
+ * This method first checks for keyboard events. When it catches keys from
+ * Alt-1 to Alt-9 it generates an @ref evBroadcast event with the `command'
+ * field equal to cmSelectWindowNum and the `infoPtr' field in the range 1
+ * to 9.
+ *
+ * Then it calls @ref TGroup::handleEvent().
+ *
+ * Last it checks for a cmQuit command in a @ref evCommand event. On
+ * success it calls TGroup::endModal(cmQuit) to end the modal state. This
+ * causes @ref TProgram::run() method to return. In most applications
+ * this will result in program termination.
+ * @see TGroup::endModal
+ *
+ * Method handleEvent() is almost always overridden to introduce handling
+ * of commands that are specific to your own application.
+ */
+ virtual void handleEvent(TEvent& event);
+ /**
+ * Called when in idle state.
+ *
+ * This method is called whenever the library is in idle state, i.e. there
+ * is not any event to serve. It allows the application to perform
+ * background tasks while waiting for user input.
+ *
+ * The default idle() calls statusLine->update() to allow the status line
+ * to update itself according to the current help context. Then, if the
+ * command set has changed since the last call to idle(), an
+ * @ref evBroadcast with a command value of cmCommandSetChanged is
+ * generated to allow views that depend on the command set to enable or
+ * disable themselves.
+ * @see TStatusLine::update
+ *
+ * Note: in the original DOS version this method was called continously.
+ * In my port this method is called about 10 times in a second. This
+ * result in less CPU load.
+ *
+ * The user may redefine this method, for example, to update a clock in
+ * the upper right corner of the screen, like the `demo' program does.
+ */
+ virtual void idle();
+ /**
+ * Initializes the screen.
+ *
+ * This method is called by the TProgram constructor and
+ * @ref setScreenMode() every time the screen mode is initialized or
+ * changed.
+ * @see TProgram::TProgram
+ *
+ * Performs the updating and adjustment of screen mode-dependent variables
+ * for shadow size, markers and application palette (color, monochrome or
+ * black & white). The shadows are usually painted in the right and bottom
+ * sides of menus and windows.
+ */
+ virtual void initScreen();
+ /**
+ * Sets a pending event.
+ *
+ * Puts an event in the pending state, by storing a copy of the `event'
+ * structure in the @ref pending variable, a static member of TProgram.
+ *
+ * Only one event is allowed to be pending. The next call to
+ * @ref getEvent() will return this pending event even if there are
+ * other events in the system queue to be handled.
+ */
+ virtual void putEvent( TEvent& event );
+ /**
+ * Runs TProgram.
+ *
+ * Executes TProgram by calling its method @ref execute(), which TProgram
+ * inherits from TGroup.
+ */
+ virtual void run();
+ virtual TWindow* insertWindow(TWindow *);
+ virtual void removeWindow(TWindow *);
+
+ /**
+ * Sets a new screen mode.
+ *
+ * The `mode' parameter can by one of the constants smCO80, smBW80 or
+ * smMono, defined in `system.h' as follows. Optionally the value may be
+ * or-ed with smFont8x8.
+ *
+ * <pre>
+ * Constant Value Meaning
+ *
+ * smBW80 0x0002 Requires black & white screen, 80 columns
+ * smCO80 0x0003 Requires color screen, 80 columns
+ * smMono 0x0007 Requires monochrome screen
+ * smFont8x8 0x0100 Requires small size font
+ * </pre>
+ *
+ * Note: in my port this method only redraws the screen.
+ */
+ void setScreenMode( ushort mode );
+ /**
+ * Checks if a view is valid.
+ *
+ * Returns `p' if the view pointed by `p' is valid. Otherwise returns a
+ * null pointer.
+ *
+ * First, if `p' is 0 the call returns 0.
+ *
+ * Last if a call to `p->valid(cmValid)' returns False the view pointed by
+ * `p' is released and the function returns 0.
+ * @see TView::valid
+ *
+ * Otherwise, the view is considered valid, and pointer `p' is returned.
+ */
+ TView *validView( TView *p );
+ /**
+ * Releases TProgram resources.
+ *
+ * Used internally by @ref TObject::destroy() to ensure correct
+ * destruction of derived and related objects.
+ * @see TObject::shutDown
+ *
+ * This method releases all the resources allocated by TProgram. It sets
+ * pointers @ref statusLine, @ref menuBar and @ref deskTop to 0 and then
+ * calls @ref TGroup::shutDown().
+ */
+ virtual void shutDown();
+ /**
+ * Stops the execution of the application.
+ *
+ * This method is empty. Will be redefined in TApplication which is a
+ * child of TProgram.
+ * @see TApplication::suspend
+ */
+ virtual void suspend() {}
+ /**
+ * Restores the execution of the application.
+ *
+ * This method is empty. Will be redefined in TApplication which is a
+ * child of TProgram.
+ * @see TApplication::resume
+ */
+ virtual void resume() {}
+ /**
+ * Creates a new status line.
+ *
+ * This method creates a standard @ref TStatusLine view and returns its
+ * address.
+ *
+ * The address of this function is passed to the @ref TProgInit
+ * constructor, which creates a @ref TStatusLine object for the
+ * application and stores a pointer to it in the @ref statusLine static
+ * member.
+ *
+ * initStatusLine() should never be called directly. initStatusLine() is
+ * almost always overridden to instantiate a user defined @ref TStatusLine
+ * instead of the default empty @ref TStatusLine.
+ */
+ static TStatusLine *initStatusLine( TRect );
+ /**
+ * Creates a new menu bar.
+ *
+ * This method creates a standard @ref TMenuBar view and returns its
+ * address.
+ *
+ * The address of this function is passed to the @ref TProgInit
+ * constructor, which creates a @ref TMenuBar object for the
+ * application and stores a pointer to it in the @ref menuBar static
+ * member.
+ *
+ * initMenuBar() should never be called directly. initMenuBar() is almost
+ * always overridden to instantiate a user defined @ref TMenuBar
+ * instead of the default empty @ref TMenuBar.
+ */
+ static TMenuBar *initMenuBar( TRect );
+ /**
+ * Creates a new desktop.
+ *
+ * This method creates a standard @ref TDeskTop view and returns its
+ * address.
+ *
+ * The address of this function is passed to the @ref TProgInit
+ * constructor, which creates a @ref TDeskTop object for the
+ * application and stores a pointer to it in the @ref deskTop static
+ * member.
+ *
+ * initDeskTop() should never be called directly. Few applications need to
+ * redefine it to have a custom desktop, instead of the default empty
+ * @ref TDeskTop.
+ */
+ static TDeskTop *initDeskTop( TRect );
+ /**
+ * A pointer to the current application, direct istance of TProgram or
+ * istance of another class derived from TProgram, usually
+ * @ref TApplication.
+ * Set to this by the @ref TProgInit constructor.
+ *
+ * Only one TProgram object can exist at any time. In this way every
+ * object can call TProgram methods even if it does't know its name.
+ */
+ static TProgram * application;
+ /**
+ * A pointer to the current status line object, set by a call to
+ * @ref TProgInit::createStatusLine() in the TProgram constructor. The
+ * resulting status line is inserted into the TProgram group.
+ *
+ * May be 0 if no status line exist.
+ */
+ static TStatusLine * statusLine;
+ /**
+ * A pointer to the current menu bar object, set by a call to
+ * @ref TProgInit::createMenuBar() in the TProgram constructor. The
+ * resulting menu bar is inserted into the TProgram group.
+ *
+ * May be 0 if no menu bar exist.
+ */
+ static TMenuBar * menuBar;
+ /**
+ * A pointer to the current desk top object, set by a call to
+ * @ref TProgInit::createDeskTop() in the TProgram constructor. The
+ * resulting desk top is inserted into the TProgram group.
+ *
+ * May be 0 if no desk top exist.
+ */
+ static TDeskTop * deskTop;
+ /**
+ * The current application palette. Indexes the default palette for this
+ * application. The @ref TPalette object corresponding to appPalette is
+ * returned by @ref getPalette().
+ * This value is set automatically at startup by @ref initScreen().
+ *
+ * The following application palette constants are defined:
+ *
+ * <pre>
+ * Constant Value Meaning
+ *
+* @ref apColor 0 Use palette for color screen
+* @ref apBlackWhite 1 Use palette for LCD screen
+* @ref apMonochrome 2 Use palette for monochrome screen
+ * </pre>
+ */
+ static int appPalette;
+protected:
+ /**
+ * The current pending event.
+ *
+ * This structure contains the current pending event, if any exists. A
+ * maximum of one pending event may be set by calling @ref putEvent().
+ */
+ static TEvent pending;
+private:
+ static const char * exitText;
+};
+
+#endif
+
+#if defined( Uses_TApplication ) && !defined( __TApplication )
+#define __TApplication
+
+/**
+ * The mother of all applications.
+ *
+ * TApplication is a shell around @ref TProgram and differs from it mainly in
+ * constructor and destructor. TApplication provides the application with a
+ * standard menu bar, a standard desktop and a standard status line.
+ *
+ * In any real application, you usually need to inherit TApplication and
+ * redefine some of its methods. For example to add custom menus you must
+ * redefine @ref TProgram::initMenuBar(). To add a custom status line, you
+ * need to redefine @ref TProgram::initStatusLine(). In the same way, to add
+ * a custom desktop you need to redefine @ref TProgram::initDeskTop().
+ *
+ * TVision's subsystems (the memory, video, event, system error, and history
+ * list managers) are all static objects, so they are constructed before
+ * entering into main, and are all destroyed on exit from main.
+ *
+ * Should you require a different sequence of subsystem initialization and
+ * shut down, however, you can derive your application from TProgram, and
+ * manually initialize and shut down the TVision subsystems along with your
+ * own.
+ * @short The mother of all applications
+ */
+class TApplication : public TScreen, public TProgram
+{
+protected:
+ /**
+ * Constructor.
+ *
+ * Initializes the basics of the library.
+ *
+ * This creates a default TApplication object by passing the three init
+ * function pointers to the @ref TProgInit constructor.
+ *
+ * TApplication objects get a full-screen view,
+ * @ref TProgram::initScreen() is called to set up various
+ * screen-mode-dependent variables, and a screen buffer is allocated.
+ *
+ * @ref initDeskTop(), @ref initStatusLine(), and @ref initMenuBar() are
+ * then called to create the three basic TVision views for your
+ * application. Then the desk top, status line, and menu bar objects are
+ * inserted in the application group.
+ *
+ * The @ref state data member is set to (@ref sfVisible | @ref sfSelected |
+ * @ref sfFocused | @ref sfModal | @ref sfExposed).
+ *
+ * The @ref options data member is set to zero.
+ *
+ * Finally, the @ref application pointer is set (to this object) and
+ * @ref initHistory() is called to initialize an associated
+ * @ref THistory object.
+ */
+ TApplication();
+ /**
+ * Destructor.
+ *
+ * Destroys the application object and, via the base destructors, destroys
+ * all its associated objects and frees all memory allocations.
+ */
+ virtual ~TApplication();
+public:
+ /**
+ * Stops the execution of the application.
+ *
+ * Suspends the program, used usually before temporary exit.
+ * In my port, by default, this function is called just after the user
+ * presses Ctrl-Z to suspend the program.
+ * @see TScreen::suspend
+ */
+ virtual void suspend();
+ /**
+ * Restores the execution of the application.
+ *
+ * Resumes the normal program execution.
+ * In my port, by default, it is called after the user recovers the
+ * execution of the program with `fg'.
+ * @see TScreen::resume
+ */
+ virtual void resume();
+ /**
+ * Gets the next event from the event queue.
+ *
+ * Simply calls @ref TProgram::getEvent().
+ */
+ void getEvent(TEvent& event) { TProgram::getEvent(event); };
+};
+
+#endif
diff --git a/freebsdtvision/lib/asm.cc b/freebsdtvision/lib/asm.cc
new file mode 100644
index 0000000..55c8fdb
--- /dev/null
+++ b/freebsdtvision/lib/asm.cc
@@ -0,0 +1,897 @@
+/*
+ * asm.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * All the assembly functions are converted in C/C++ and placed here.
+ * This code was originally written by:
+ * - Tommy Andreasen
+ * - J”rn Sierwald
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ *
+ * WARNING: very dirty code here... but it works :-)
+ */
+
+#define Uses_TEditor
+#define Uses_TEvent
+#define Uses_TFrame
+#define Uses_TGroup
+#define Uses_TPoint
+#define Uses_TRect
+#define Uses_TScreen
+#define Uses_TTerminal
+#define Uses_TView
+#include <tvision/tv.h>
+
+#include <ctype.h>
+#include <fcntl.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+#include <config.h> /* configuration file */
+
+#ifdef HAVE_NCURSES_H
+#include <ncurses.h>
+#else
+#include <curses.h>
+#endif
+
+#ifdef ENABLE_VCS
+extern int vcsFd; /* virtual console system descriptor */
+#endif
+
+/*
+ * SS: this code is used to refresh the screen only if strictly necessary.
+ * Date: Mon Jun 23 10:26:09 MET DST 1997
+ */
+static int lockRefresh = 0;
+
+static inline void
+doRefresh(TView *p)
+{
+#ifdef ENABLE_VCS
+ if (vcsFd >= 0) return; /* refresh is not necessary */
+#endif
+ if (lockRefresh != 0) return; /* we can't do any refresh */
+ if (p->owner != NULL &&
+ p->owner->lockFlag) return; /* the owner is locked */
+ refresh();
+}
+
+struct StaticVars1 {
+ ushort *buf;
+};
+
+struct StaticVars2 {
+ TView* target;
+ short offset;
+ short y;
+};
+
+static StaticVars2 staticVars2;
+
+int
+countLines(void *buf, size_t count)
+{
+ int anzahl = 0;
+ char *str = (char *)buf;
+ for (unsigned int i = 0; i < count; i++) {
+ if (*(str++) == '\n')
+ anzahl++;
+ };
+ return anzahl;
+}
+
+// These Routines are taken from Rogue Wave Tools++
+size_t
+scan(const void *block, size_t size, const char *str)
+{
+ const long q = 33554393L;
+ const long q32 = q<<5;
+
+ int testLength = size;
+ int patternLength = strlen(str);
+
+ if (patternLength <= 0) return UINT_MAX; //SS: nothing to search
+ if (testLength < patternLength) return UINT_MAX;
+
+ long patternHash = 0;
+ long testHash = 0;
+
+ register const char* testP= (const char*)block;
+ register const char* patP = str;
+ register long x = 1;
+ int i = patternLength-1;
+ while (i--) x = (x<<5)%q;
+
+ for (i=0; i<patternLength; i++) {
+ patternHash = ( (patternHash<<5) + *patP++ ) % q;
+ testHash = ( (testHash <<5) + *testP++ ) % q;
+ }
+
+ testP = (const char*)block;
+ const char* end = testP + testLength - patternLength;
+
+ while (1) {
+
+ if (testHash == patternHash)
+ return testP-(const char*)block;
+
+ if (testP >= end) break;
+
+ // Advance & calculate the new hash value:
+ testHash = ( testHash + q32 - *testP * x ) % q;
+ testHash = ( (testHash<<5) + *(patternLength + testP++) ) % q;
+ }
+ return UINT_MAX; // Not found.
+};
+
+size_t iScan( const void *block, size_t size, const char *str )
+{
+ const long q = 33554393L;
+ const long q32 = q<<5;
+
+ int testLength = size;
+ int patternLength = strlen(str);
+
+ if (patternLength <= 0) return UINT_MAX; //SS: nothing to search
+ if (testLength < patternLength) return UINT_MAX;
+
+ long patternHash = 0;
+ long testHash = 0;
+
+ register const char* testP= (const char*)block;
+ register const char* patP = str;
+ register long x = 1;
+ int i = patternLength-1;
+ while (i--) x = (x<<5)%q;
+
+ for (i=0; i<patternLength; i++) {
+ patternHash = ( (patternHash<<5) + toupper(*patP++) ) % q;
+ testHash = ( (testHash <<5) + toupper(*testP++) ) % q;
+ }
+
+ testP = (const char*)block;
+ const char* end = testP + testLength - patternLength;
+
+ while (1) {
+
+ if (testHash == patternHash)
+ return testP-(const char*)block;
+
+ if (testP >= end) break;
+
+ // Advance & calculate the new hash value:
+ testHash = ( testHash + q32 - toupper(*testP) * x ) % q;
+ testHash = ( (testHash<<5) + toupper(*(patternLength + testP++)) ) % q;
+ }
+ return UINT_MAX; // Not found.
+};
+
+// edits.cpp defines functions previously found in edits.asm
+//
+// This file written by J”rn Sierwald based on a file
+// written by Tommy Andreasen
+
+char TEditor::bufChar( uint p )
+{
+ return buffer[p + ((p >= curPtr) ? gapLen : 0)];
+}
+
+uint TEditor::bufPtr( uint p )
+{
+ return (p >= curPtr) ? p + gapLen : p;
+}
+
+#if 0
+void TEditor::formatLine( void *DrawBuf, uint LinePtr,
+ int Width, ushort Color )
+{
+ uint p = LinePtr;
+ while ((p < curPtr) && (buffer[p] != 0x0D) && (p - LinePtr <= Width))
+ {
+ ((ushort *) DrawBuf) [p - LinePtr] = buffer[p] + ((Color & 0xFF) << 8);
+ p++;
+ }
+
+ if (p >= curPtr)
+ {
+ p += gapLen;
+
+ while ((p < bufSize) && (buffer[p] != 0x0D) &&
+ (p - gapLen - LinePtr <= Width))
+ {
+ ((ushort *) DrawBuf) [p - gapLen - LinePtr] =
+ buffer[p] + ((Color & 0xFF) << 8);
+ p++;
+ }
+ } else
+ p += gapLen;
+
+ while (p - gapLen - LinePtr <= Width)
+ {
+ ((ushort *) DrawBuf) [p - gapLen - LinePtr] =
+ ' ' + ((Color & 0xFF) << 8);
+ p++;
+ }
+}
+#endif
+
+void TEditor::formatLine( void *DrawBuf, uint LinePtr,
+ int Width, ushort Color )
+{
+ ushort i = 0; // index in the DrawBuf
+ size_t p = LinePtr; // index in the Buffer
+ ushort curColor;
+
+ /* draw the first part of the buffer */
+
+ while ((p < curPtr) && (buffer[p] != '\n') && (i <= Width)) {
+ curColor = (p>=selStart && p<selEnd) ? (Color & 0xFF00) :
+ ((Color & 0xFF) << 8);
+ if (buffer[p] == 0x9) {
+ do {
+ ((ushort *) DrawBuf) [i] = ' ' + curColor;
+ i++;
+ } while ((i % 8) && (i <= Width));
+ p++;
+ } else {
+ ((ushort *) DrawBuf) [i] = curColor | (uchar)buffer[p];
+ p++; i++;
+ }
+ }
+
+ /* draw the second part of the buffer */
+
+ if (p >= curPtr)
+ {
+ p += gapLen;
+
+ while ((p < bufSize) && (buffer[p] != '\n') && (i <= Width))
+ {
+ curColor = (p>=selStart && p<selEnd) ? (Color & 0xFF00) :
+ ((Color & 0xFF) << 8);
+ if (buffer[p] == 0x9) {
+ do {
+ ((ushort *) DrawBuf) [i] = ' ' + curColor;
+ i++;
+ } while ((i % 8) && (i <= Width));
+ p++;
+ } else {
+ ((ushort *) DrawBuf) [i] = curColor | (uchar)buffer[p];
+ p++; i++;
+ }
+ }
+ }
+// } else
+// p += gapLen; /* XXX */
+
+ /* add some trailing spaces to fill the last part of the line */
+
+ while (i < Width) //buffer overflow problem fixed
+ {
+ curColor = (p>=selStart && p<selEnd) ? (Color & 0xFF00) :
+ ((Color & 0xFF) << 8);
+ ((ushort *) DrawBuf) [i] = ' ' + curColor;
+// p++; i++; /* XXX */
+ i++;
+ }
+}
+
+uint TEditor::lineEnd( uint p )
+{
+/*
+ while (p < curPtr)
+ if (buffer[p] == 0x0D)
+ return p;
+ else
+ p++;
+
+ if (curPtr == bufLen)
+ return curPtr;
+
+ while (p + gapLen < bufLen)
+ if (buffer[p + gapLen] == 0x0D)
+ return p;
+ else
+ p++;
+
+ return p;
+*/
+ if (p < curPtr)
+ {
+ /* SS: changed */
+
+ while (p < curPtr)
+ if (buffer[p] == '\n')
+ return p;
+ else
+ p++;
+
+ if (curPtr == bufLen)
+ return bufLen;
+
+
+ }
+ else
+ {
+ if (p == bufLen)
+ return bufLen;
+ }
+
+/* SS: changed */
+
+ while (p + gapLen < bufSize)
+ if (buffer[p + gapLen] == '\n')
+ return p;
+ else
+ p++;
+
+ return p;
+
+}
+
+uint TEditor::lineStart( uint p )
+{
+/*
+ while (p - gapLen > curPtr)
+ if (buffer[--p + gapLen] == 0x0D)
+ return p + 2;
+
+ if (curPtr == 0)
+ return 0;
+
+ while (p > 0)
+ if (buffer[--p] == 0x0D)
+ return p + 2;
+
+ return 0;
+*/
+/* SS: changed */
+
+ while (p > curPtr)
+ if (buffer[--p + gapLen] == '\n')
+ return p + 1;
+
+ if (curPtr == 0)
+ return 0;
+
+/* SS: changed */
+
+ while (p > 0)
+ if (buffer[--p] == '\n')
+ return p + 1;
+
+ return 0;
+}
+
+uint TEditor::nextChar( uint p )
+{
+ if (p == bufLen) return p;
+
+ /* SS: changed */
+
+ return ++p;
+}
+
+uint TEditor::prevChar( uint p )
+{
+ if (p == 0) return p;
+
+ /* SS: changed */
+
+ return --p;
+}
+
+/*------------------------------------------------------------*/
+/* filename - exposed.cpp */
+/* */
+/* function(s) */
+/* Tview exposed member function */
+/*------------------------------------------------------------*/
+
+/*------------------------------------------------------------*/
+/* */
+/* Turbo Vision - Version 1.0 */
+/* Copyright (c) 1991 by Borland International */
+/* All Rights Reserved. */
+/* */
+/* This file Copyright (c) 1993 by J”rn Sierwald */
+/* */
+/* */
+/*------------------------------------------------------------*/
+
+int TView::exposedRec1(short x1, short x2, TView* p ) {
+ while (1) {
+/*20*/
+ p=p->next;
+ if (p==staticVars2.target) { // alle durch
+ return exposedRec2( x1, x2, p->owner );
+ };
+ if ( !(p->state & sfVisible) || staticVars2.y<p->origin.y) continue; // keine Verdeckung
+
+ if ( staticVars2.y<p->origin.y+p->size.y ) {
+ // šberdeckung m”glich.
+ if (x1<p->origin.x) { // f„ngt links vom Object an.
+ if (x2<=p->origin.x) continue; // links vorbei
+ if (x2>p->origin.x+p->size.x) {
+ if (exposedRec1( x1, p->origin.x, p )) return 1;
+ x1=p->origin.x+p->size.x;
+ }
+ else
+ x2=p->origin.x;
+ } else {
+ if ( x1<p->origin.x+p->size.x ) x1=p->origin.x+p->size.x;
+ if ( x1>=x2 ) return 0; // komplett verdeckt.
+ };
+ };
+
+ }; // while
+
+}
+
+int TView::exposedRec2( short x1, short x2, TView* p ) {
+
+ if (!(p->state & sfVisible)) return 0;
+ if ( !p->owner || p->owner->buffer ) return 1;
+
+ StaticVars2 savedStatics = staticVars2;
+
+ staticVars2.y += p->origin.y;
+ x1 += p->origin.x;
+ x2 += p->origin.x;
+ staticVars2.target=p;
+
+ TGroup* g=p->owner;
+ if (staticVars2.y<g->clip.a.y || staticVars2.y >= g->clip.b.y) {
+ staticVars2 = savedStatics;
+ return 0;
+ };
+ if (x1<g->clip.a.x) x1 = g->clip.a.x;
+ if (x2>g->clip.b.x) x2 = g->clip.b.x;
+ if (x1>=x2) {
+ staticVars2 = savedStatics;
+ return 0;
+ };
+
+ int retValue = exposedRec1( x1, x2, g->last );
+ staticVars2 = savedStatics;
+ return retValue;
+}
+
+Boolean TView::exposed() {
+ if ( !(state & sfExposed) || size.x <= 0 || size.y <= 0 ) return Boolean(0);
+ for (short y=0; y<size.y; y++) {
+ staticVars2.y=y;
+ if (exposedRec2( 0, size.x, this )) return Boolean(1);
+ };
+ return Boolean(0);
+}
+
+/*------------------------------------------------------------*/
+/* filename - framelin.cpp */
+/* */
+/* function(s) */
+/* TFrame frameLine member function */
+/*------------------------------------------------------------*/
+
+/*------------------------------------------------------------*/
+/* */
+/* Turbo Vision - Version 1.0 */
+/* Copyright (c) 1991 by Borland International */
+/* All Rights Reserved. */
+/* */
+/* This file Copyright (c) 1993 by J”rn Sierwald */
+/* */
+/* */
+/*------------------------------------------------------------*/
+
+/* Erkl„rung der Mask:
+
+ Bit 0
+ |
+ Bit 3 - - Bit 1
+ |
+ Bit 2
+
+Wenn z.B. sichergestellt werden soll, dass eine linke obere Ecke im
+Muster vorhanden ist, nimmt man :
+ mask |= 0x06 .
+*/
+
+void TFrame::frameLine( TDrawBuffer& frameBuf, short y, short n, uchar color )
+{
+ unsigned char frameMask[maxViewWidth];
+ short int i;
+ frameMask[0]=initFrame[n];
+ for (i=1; i+1<size.x; i++) {
+ frameMask[i]=initFrame[n+1];
+ };
+ frameMask[size.x-1]=initFrame[n+2];
+
+ TView* p;
+ p=owner->last;
+ while (1) {
+ p=p->next;
+ if (p==this) break;
+ if ((p->options & ofFramed) && (p->state & sfVisible)) {
+ unsigned char mask1, mask2;
+ if (y+1<p->origin.y) continue;
+ else if (y+1==p->origin.y) { mask1=0x0A; mask2=0x06;}
+ else if (y==p->origin.y+p->size.y) { mask1=0x0A; mask2=0x03;}
+ else if (y<p->origin.y+p->size.y) { mask1=0; mask2=0x05;}
+ else continue;
+ unsigned short xMin=p->origin.x;
+ unsigned short xMax=p->origin.x+p->size.x;
+ if (xMin<1) xMin=1;
+ if (xMax>size.x-1) xMax=size.x-1;
+ if (xMax>xMin) {
+ if (mask1==0) {
+ frameMask[xMin-1] |= mask2;
+ frameMask[xMax] |= mask2;
+ } else {
+ frameMask[xMin-1] |= mask2;
+ frameMask[xMax] |= (mask2 ^ mask1);
+ for (i=xMin; i< xMax; i++) {
+ frameMask[i] |= mask1;
+ }
+ };
+ };
+ };
+ }; // while
+ unsigned short* dest=frameBuf.data;
+ i=size.x;
+ short int i1=0;
+ while (i--) {
+ *dest++= ( ((unsigned short)color) << 8 ) + (unsigned char) frameChars[frameMask[i1]];
+ i1++;
+ } /* endwhile */
+};
+
+/*------------------------------------------------------------*/
+/* filename - tvcursor.cpp */
+/* */
+/* function(s) */
+/* Tview resetCursor member function */
+/*------------------------------------------------------------*/
+
+/*------------------------------------------------------------*/
+/* */
+/* Turbo Vision - Version 1.0 */
+/* Copyright (c) 1991 by Borland International */
+/* All Rights Reserved. */
+/* */
+/* This file Copyright (c) 1993 by J”rn Sierwald */
+/* */
+/* */
+/*------------------------------------------------------------*/
+
+void TView::resetCursor() {
+ TView *p,*p2;
+ TGroup *g;
+ TPoint cur;
+ if ((state & (sfVisible | sfCursorVis | sfFocused))
+ == (sfVisible | sfCursorVis | sfFocused) )
+ {
+ p=this;
+ cur=cursor;
+ while (1) {
+ if (!(cur.x>=0 && cur.x<p->size.x
+ && cur.y>=0 && cur.y<p->size.y)) {
+ break;
+ };
+ cur.x += p->origin.x;
+ cur.y += p->origin.y;
+ p2 =p;
+ g=p->owner;
+ if (g==0) {
+ //cursor setzen
+
+ /*
+ * SS: we should change the cursor size according to the sfCursorIns
+ * flag in the state variable:
+ *
+ * if (state & sfCursorIns) {
+ * setBigCursor
+ * } else {
+ * setSmallCursor
+ * }
+ *
+ * Is there a way to do it under linux ?
+ */
+ TScreen::moveCursor(cur.x, cur.y);
+ TScreen::drawCursor(1);
+ return;
+ };
+ if (!(g->state & sfVisible)) break;
+ p=g->last;
+ {
+ label1:
+ p=p->next;
+ if (p==p2) { // alle durchgesucht.
+ p=p->owner;
+ continue;
+ };
+ if ((p->state & sfVisible)
+ && cur.x>=p->origin.x
+ && cur.x<p->size.x+p->origin.x
+ && cur.y>=p->origin.y
+ && cur.y<p->size.y+p->origin.y) {
+ break; // Cursor wird verdeckt.
+ };
+ goto label1;
+ };
+ };
+ }
+ // no cursor, please.
+ TScreen::drawCursor(0);
+}
+
+// TTPRVLNS.CPP
+// Copyright 1994 by J”rn Sierwald
+//
+// C++ Version of ttprvlns.asm
+// implementation of TTerminal::prevLines(...)
+//
+// "You don't need assembler to write obfuscated code."
+
+ushort TTerminal::prevLines(ushort pos, ushort lines ) {
+ if (lines==0) { bufInc(pos); bufInc(pos); return pos; };
+ // I don't see the logic in the previous line. But that's what
+ // the .asm file says.
+
+ if (pos==queBack) return queBack; // Nothing to do
+
+ bufDec(pos); // pos might be pointing to a '\n'
+
+ if (pos<queBack) {
+ while ( !( buffer[pos]=='\n' && !--lines ) && pos-- );
+ if (lines) pos=bufSize-1;
+ };
+
+ if (lines)
+/* SS: we should check if there is an available character before read it */
+ while (pos > queBack && !( buffer[pos]=='\n' && !--lines ))
+ {
+ pos--;
+ }
+
+ if (lines)
+ return queBack;
+ else
+ bufInc(pos);
+
+ return pos;
+};
+
+// TVWRITE.CPP
+// Copyright 1993,1994 by J”rn Sierwald
+//
+// C++ Version of tvwrite.asm
+//
+// It doesn't look beautiful, but what the heck..
+
+extern TPoint shadowSize;
+extern uchar shadowAttr;
+
+static StaticVars1 staticVars1;
+
+void TView::writeViewRec1(short x1, short x2, TView* p, int shadowCounter ) {
+ while (1) {
+/*20*/
+ p=p->next;
+ if (p==staticVars2.target) { // alle durch
+ // printit!
+ if (p->owner->buffer) {
+
+/*
+ * SS: now we should remove the mouse pointer from the screen. This is
+ * not necessary because we have a copy of the screen.
+ *
+ * if (p->owner->buffer == TScreen::screenBuffer) TScreen::drawMouse(0);
+ */
+
+ if (shadowCounter == 0)
+ {
+ /* SS: writes a row of data to the screen */
+
+ if (p->owner->buffer == TScreen::screenBuffer)
+ TScreen::writeRow(
+ p->owner->size.x * staticVars2.y + x1,
+ staticVars1.buf + (x1 - staticVars2.offset),
+ x2 - x1);
+ memmove(p->owner->buffer + p->owner->size.x * staticVars2.y +
+ x1, staticVars1.buf + x1 - staticVars2.offset,
+ (x2 - x1) * 2);
+ } else { // paint with shadowAttr
+ int l = x2 - x1;
+ int dst1 = p->owner->size.x * staticVars2.y + x1;
+ ushort *dst = p->owner->buffer + dst1;
+ ushort *src= staticVars1.buf + (x1 - staticVars2.offset);
+ while (l--)
+ {
+ ushort d = *src++ & 0xff | (shadowAttr << 8);
+
+ /* SS: writes a character on the screen */
+
+ if (p->owner->buffer == TScreen::screenBuffer)
+ TScreen::writeRow(dst1++, &d, 1);
+ *dst++ = d;
+ }
+ }
+
+/* SS: draws mouse pointer */
+
+if (p->owner->buffer == TScreen::screenBuffer) TScreen::drawMouse(1);
+ };
+ if (p->owner->lockFlag==0) writeViewRec2( x1, x2, p->owner, shadowCounter );
+ return ; // (p->owner->lockFlag==0);
+ };
+ if ( !(p->state & sfVisible) || staticVars2.y<p->origin.y) continue; // keine Verdeckung
+
+ if ( staticVars2.y<p->origin.y+p->size.y ) {
+ // šberdeckung m”glich.
+ if (x1<p->origin.x) { // f„ngt links vom Object an.
+ if (x2<=p->origin.x) continue; // links vorbei
+ writeViewRec1( x1, p->origin.x, p, shadowCounter );
+ x1=p->origin.x;
+ };
+ // if (x1>=p->origin.x) {
+ if ( x2<=p->origin.x+p->size.x ) return; // komplett verdeckt.
+ if ( x1<p->origin.x+p->size.x ) x1=p->origin.x+p->size.x;
+ // if ( x1>=p->origin.x+p->size.x ) { // k”nnte h”chstens im Schatten liegen
+ if ( (p->state & sfShadow) && (staticVars2.y>=p->origin.y+shadowSize.y)) {
+ if (x1>=p->origin.x+p->size.x+shadowSize.x) {
+ continue; // rechts vorbei
+ } else {
+ shadowCounter++;
+ if (x2<=p->origin.x+p->size.x+shadowSize.x) {
+ continue; // alles im Schatten
+ } else { // aufteilen Schattenteil, rechts daneben
+ writeViewRec1( x1, p->origin.x+p->size.x+shadowSize.x, p, shadowCounter );
+ x1=p->origin.x+p->size.x+shadowSize.x;
+ shadowCounter--;
+ continue;
+ };
+ };
+ } else {
+ continue; // rechts vorbei, 1.Zeile hat keinen Schatten
+ };
+ };
+ if ( (p->state & sfShadow) && (staticVars2.y < p->origin.y+p->size.y+shadowSize.y) ) {
+ // im y-Schatten von Object?
+ if (x1<p->origin.x+shadowSize.x) {
+ if (x2<= p->origin.x+shadowSize.x) continue; // links vorbei
+ writeViewRec1( x1, p->origin.x+shadowSize.x, p, shadowCounter );
+ x1 = p->origin.x+shadowSize.x;
+ };
+ if (x1>=p->origin.x+shadowSize.x+p->size.x) continue;
+ shadowCounter++;
+ if (x2<=p->origin.x+p->size.x+shadowSize.x) {
+ continue; // alles im Schatten
+ } else { // aufteilen Schattenteil, rechts daneben
+ writeViewRec1( x1, p->origin.x+p->size.x+shadowSize.x, p, shadowCounter );
+ x1=p->origin.x+p->size.x+shadowSize.x;
+ shadowCounter--;
+ continue;
+ };
+
+ } else { // zu weit unten
+ continue;
+ };
+
+ }; // while
+}
+
+void
+TView::writeViewRec2(short x1, short x2, TView* p, int shadowCounter)
+{
+ if (!(p->state & sfVisible) || p->owner == 0)
+ return;
+
+ StaticVars2 savedStatics = staticVars2;
+
+ staticVars2.y += p->origin.y;
+ x1 += p->origin.x;
+ x2 += p->origin.x;
+ staticVars2.offset += p->origin.x;
+ staticVars2.target = p;
+
+ TGroup *g = p->owner;
+ if (staticVars2.y < g->clip.a.y || staticVars2.y >= g->clip.b.y) {
+ staticVars2 = savedStatics;
+ return;
+ };
+ if (x1 < g->clip.a.x)
+ x1 = g->clip.a.x;
+ if (x2 > g->clip.b.x)
+ x2 = g->clip.b.x;
+ if (x1 >= x2) {
+ staticVars2 = savedStatics;
+ return;
+ };
+
+ writeViewRec1(x1, x2, g->last, shadowCounter);
+ staticVars2 = savedStatics;
+}
+
+void
+TView::writeView(short x1, short x2, short y, const void* buf)
+{
+ if (y < 0 || y >= size.y)
+ return;
+ if (x1 < 0)
+ x1 = 0;
+ if (x2 > size.x)
+ x2 = size.x;
+ if (x1 >= x2)
+ return;
+ staticVars2.offset = x1;
+ staticVars1.buf = (ushort *) buf;
+ staticVars2.y = y;
+ writeViewRec2(x1, x2, this, 0);
+ doRefresh(this);
+}
+
+void
+TView::writeBuf(short x, short y, short w, short h, const void *buf)
+{
+ lockRefresh++; /* stop the refresh */
+ for (int i = 0; i < h; i++) {
+ writeView(x, x + w, y + i, (ushort *) buf + w * i);
+ }
+ lockRefresh--; /* allow the refresh */
+ doRefresh(this);
+}
+
+void
+TView::writeChar(short x, short y, char c, uchar color, short count)
+{
+ ushort b[maxViewWidth];
+ ushort myChar = (((ushort) mapColor(color)) << 8) + (unsigned char)c;
+ short count2 = count;
+ if (x < 0)
+ x = 0;
+ if (x + count > maxViewWidth)
+ return;
+ ushort *p = b;
+ while (count--)
+ *p++ = myChar;
+ writeView(x, x + count2, y, b);
+}
+
+void
+TView::writeLine(short x, short y, short w, short h, const void *buf)
+{
+ if (h == 0) {
+ return;
+ }
+
+ lockRefresh++; /* stop the refresh */
+ for (int i = 0; i < h; ++i) {
+ writeView(x, x+w, y+i, buf);
+ };
+ lockRefresh--; /* allow the refresh */
+ doRefresh(this);
+}
+
+void
+TView::writeStr(short x, short y, const char *str, uchar color)
+{
+ if (str == NULL)
+ return;
+ ushort l = strlen(str);
+ if (l == 0)
+ return;
+ if (l > maxViewWidth)
+ l = maxViewWidth;
+ ushort l2 = l;
+ ushort myColor = ((ushort) mapColor(color)) << 8;
+ ushort b[maxViewWidth];
+ ushort *p = b;
+ while (*p++ = myColor + (*(const unsigned char *)str++), --l) {
+ }
+ writeView(x, x + l2, y, b);
+}
diff --git a/freebsdtvision/lib/colorsel.cc b/freebsdtvision/lib/colorsel.cc
new file mode 100644
index 0000000..0ee4a4c
--- /dev/null
+++ b/freebsdtvision/lib/colorsel.cc
@@ -0,0 +1,919 @@
+/*
+ * colorsel.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#define Uses_TKeys
+#define Uses_TColorSelector
+#define Uses_TMonoSelector
+#define Uses_TColorDisplay
+#define Uses_TColorItem
+#define Uses_TColorItemList
+#define Uses_TColorGroup
+#define Uses_TColorGroupList
+#define Uses_TColorDialog
+#define Uses_TEvent
+#define Uses_TDrawBuffer
+#define Uses_TGroup
+#define Uses_TSItem
+#define Uses_TScrollBar
+#define Uses_TLabel
+#define Uses_TButton
+#define Uses_TRect
+#define Uses_opstream
+#define Uses_ipstream
+#include <tvision/tv.h>
+
+#include <string.h>
+
+static TColorIndex* colorIndexes = 0;
+
+TColorItem::TColorItem( const char *nm, uchar idx, TColorItem *nxt )
+{
+ index = idx;
+ next = nxt;
+ name = newStr( nm );
+}
+
+TColorItem::~TColorItem()
+{
+ delete (char *)name;
+}
+
+TColorGroup::TColorGroup( const char *nm, TColorItem *itm, TColorGroup *nxt )
+{
+ items = itm;
+ next = nxt;
+ name = newStr( nm );
+}
+
+TColorGroup::~TColorGroup()
+{
+ delete (char *)name;
+}
+
+TColorItem& operator + ( TColorItem& i1, TColorItem& i2 )
+{
+ TColorItem *cur = &i1;
+ while( cur->next != 0 )
+ cur = cur->next;
+ cur->next = &i2;
+ return i1;
+}
+
+TColorGroup& operator + ( TColorGroup& g, TColorItem& i )
+{
+ TColorGroup *grp = &g;
+ while( grp->next != 0 )
+ grp = grp->next;
+
+ if( grp->items == 0 )
+ grp->items = &i;
+ else
+ {
+ TColorItem *cur = grp->items;
+ while( cur->next != 0 )
+ cur = cur->next;
+ cur->next = &i;
+ }
+ return g;
+}
+
+TColorGroup& operator + ( TColorGroup& g1, TColorGroup& g2 )
+{
+ TColorGroup *cur = &g1;
+ while( cur->next != 0 )
+ cur = cur->next;
+ cur->next = &g2;
+ return g1;
+}
+
+
+TColorSelector::TColorSelector( const TRect& bounds, ColorSel aSelType ) :
+ TView( bounds )
+{
+ options |= ofSelectable | ofFirstClick | ofFramed;
+ eventMask |= evBroadcast;
+ selType = aSelType;
+ color = 0;
+}
+
+void TColorSelector::draw()
+{
+ TDrawBuffer b;
+ b.moveChar( 0, ' ', 0x70, size.x );
+ for(int i = 0; i <= size.y; i++ )
+ {
+ if( i < 4 )
+ {
+ for( int j = 0; j < 4; j++ )
+ {
+ int c = i*4+j;
+ b.moveChar( j*3, icon, c, 3 );
+ if( c == color )
+ {
+ b.putChar( j*3+1, 8 );
+ if( c == 0 )
+ b.putAttribute( j*3+1, 0x70 );
+ }
+ }
+ }
+ writeLine( 0, i, size.x, 1, b );
+ }
+}
+
+void TColorSelector::colorChanged()
+{
+ int msg;
+ if( selType == csForeground )
+ msg = cmColorForegroundChanged;
+ else
+ msg = cmColorBackgroundChanged;
+ message( owner, evBroadcast, msg, (void *)color );
+}
+
+void TColorSelector::handleEvent( TEvent& event )
+{
+ const int width = 4;
+
+ TView::handleEvent( event );
+
+ uchar oldColor = color;
+ int maxCol = (selType == csBackground) ? 7 : 15;
+ switch( event.what )
+ {
+
+ case evMouseDown:
+ do {
+ if( mouseInView( event.mouse.where ) )
+ {
+ TPoint mouse = makeLocal( event.mouse.where );
+ color = mouse.y*4 + mouse.x/3;
+ }
+ else
+ color = oldColor;
+ colorChanged();
+ drawView();
+ } while( mouseEvent( event, evMouseMove ) );
+ break;
+
+ case evKeyDown:
+ switch( ctrlToArrow( event.keyDown.keyCode ) )
+ {
+ case kbLeft:
+ if( color > 0 )
+ color--;
+ else
+ color = maxCol;
+ break;
+
+ case kbRight:
+ if( color < maxCol )
+ color++;
+ else
+ color = 0;
+ break;
+
+ case kbUp:
+ if( color > width-1 )
+ color -= width;
+ else if( color == 0 )
+ color = maxCol;
+ else
+ color += maxCol - width;
+ break;
+
+ case kbDown:
+ if( color < maxCol - (width-1) )
+ color += width;
+ else if( color == maxCol )
+ color = 0;
+ else
+ color -= maxCol - width;
+ break;
+
+ default:
+ return;
+ }
+ break;
+
+ case evBroadcast:
+ if( event.message.command == cmColorSet )
+ {
+ /*
+ * SS: some non-portable code changed.
+ */
+ if( selType == csBackground )
+ color = (int)event.message.infoPtr >> 4;
+ else
+ color = (int)event.message.infoPtr & 0x0F;
+ drawView();
+ return ;
+ }
+ else
+ return;
+ default:
+ return ;
+ }
+ drawView();
+ colorChanged();
+ clearEvent( event );
+}
+
+#if !defined(NO_STREAMABLE)
+
+void TColorSelector::write( opstream& os )
+{
+ TView::write( os );
+ os << color << (int)selType;
+}
+
+void *TColorSelector::read( ipstream& is )
+{
+ int temp;
+ TView::read( is );
+ is >> color >> temp;
+ selType = ColorSel(temp);
+ return this;
+}
+
+TStreamable *TColorSelector::build()
+{
+ return new TColorSelector( streamableInit );
+}
+
+TColorSelector::TColorSelector( StreamableInit ) : TView( streamableInit )
+{
+}
+
+#endif
+
+const uchar monoColors[] = { 0x07, 0x0F, 0x01, 0x70, 0x09 };
+
+TMonoSelector::TMonoSelector( const TRect& bounds ) :
+ TCluster( bounds, new TSItem( normal,
+ new TSItem( highlight,
+ new TSItem( underline,
+ new TSItem( inverse, 0 )))))
+{
+ eventMask |= evBroadcast;
+}
+
+void TMonoSelector::draw()
+{
+ drawBox( button, 0x07 );
+}
+
+void TMonoSelector::handleEvent( TEvent& event )
+{
+ TCluster::handleEvent( event );
+ if( event.what == evBroadcast && event.message.command == cmColorSet )
+ {
+ /*
+ * SS: some non-portable code changed.
+ */
+ value = (int)event.message.infoPtr;
+ drawView();
+ }
+}
+
+Boolean TMonoSelector::mark( int item )
+{
+ return Boolean(monoColors[item] == value);
+}
+
+void TMonoSelector::newColor()
+{
+ message( owner, evBroadcast, cmColorForegroundChanged,
+ (void *)(value & 0x0F) );
+ message( owner, evBroadcast, cmColorBackgroundChanged,
+ (void *)((value >> 4) & 0x0F));
+}
+
+void TMonoSelector::press( int item )
+{
+ value = monoColors[item];
+ newColor();
+}
+
+void TMonoSelector::movedTo( int item )
+{
+ value = monoColors[item];
+ newColor();
+}
+
+#if !defined(NO_STREAMABLE)
+
+TStreamable *TMonoSelector::build()
+{
+ return new TMonoSelector( streamableInit );
+}
+
+TMonoSelector::TMonoSelector( StreamableInit ) : TCluster( streamableInit )
+{
+}
+
+#endif
+
+
+TColorDisplay::TColorDisplay( const TRect& bounds, const char *aText ) :
+ TView( bounds ),
+ color( 0 ),
+ text( newStr( aText ) )
+{
+ eventMask |= evBroadcast;
+}
+
+TColorDisplay::~TColorDisplay()
+{
+ delete (char *)text;
+}
+
+void TColorDisplay::draw()
+{
+ uchar c = *color;
+ if( c == 0 )
+ c = errorAttr;
+ const int len = strlen( text );
+ TDrawBuffer b;
+ for( int i = 0; i <= size.x/len; i++ )
+ b.moveStr( i*len, text, c );
+ writeLine( 0, 0, size.x, size.y, b );
+}
+
+void TColorDisplay::handleEvent( TEvent& event )
+{
+ TView::handleEvent( event );
+ if( event.what == evBroadcast )
+ switch( event.message.command )
+ {
+ case cmColorBackgroundChanged:
+ /*
+ * SS: some non-portable code changed.
+ */
+ *color = (*color & 0x0F) | (((int)event.message.infoPtr << 4) & 0xF0);
+ drawView();
+ break;
+
+ case cmColorForegroundChanged:
+ *color = (*color & 0xF0) | ((int)event.message.infoPtr & 0x0F);
+ drawView();
+ }
+}
+
+void TColorDisplay::setColor( uchar *aColor )
+{
+ color = aColor;
+ message( owner, evBroadcast, cmColorSet, (void *)(*color) );
+ drawView();
+}
+
+#if !defined(NO_STREAMABLE)
+
+void TColorDisplay::write( opstream& os )
+{
+ TView::write( os );
+ os.writeString( text );
+}
+
+void *TColorDisplay::read( ipstream& is )
+{
+ TView::read( is );
+ text = is.readString();
+ color = 0;
+ return this;
+}
+
+TStreamable *TColorDisplay::build()
+{
+ return new TColorDisplay( streamableInit );
+}
+
+TColorDisplay::TColorDisplay( StreamableInit ) : TView( streamableInit )
+{
+}
+
+#endif
+
+TColorGroupList::TColorGroupList( const TRect& bounds,
+ TScrollBar *aScrollBar,
+ TColorGroup *aGroups
+ ) :
+ TListViewer( bounds, 1, 0, aScrollBar ),
+ groups( aGroups )
+{
+ int i = 0;
+ while( aGroups != 0 )
+ {
+ aGroups = aGroups->next;
+ i++;
+ }
+ setRange(i);
+}
+
+static void freeItems( TColorItem *curItem )
+{
+ while( curItem != 0 )
+ {
+ TColorItem *p = curItem;
+ curItem = curItem->next;
+ delete p;
+ }
+}
+
+static void freeGroups( TColorGroup *curGroup )
+{
+ while( curGroup != 0 )
+ {
+ TColorGroup *p = curGroup;
+ freeItems( curGroup->items );
+ curGroup = curGroup->next;
+ delete p;
+ }
+}
+
+TColorGroupList::~TColorGroupList()
+{
+ freeGroups( groups );
+}
+
+void TColorGroupList::focusItem( short item )
+{
+ TListViewer::focusItem( item );
+ TColorGroup *curGroup = groups;
+ while( item-- > 0 )
+ curGroup = curGroup->next;
+ message( owner, evBroadcast, cmNewColorItem, curGroup);
+}
+
+void TColorGroupList::getText( char *dest, short item, short maxChars )
+{
+ TColorGroup *curGroup = groups;
+ while( item-- > 0 )
+ curGroup = curGroup->next;
+ strncpy( dest, curGroup->name, maxChars );
+ dest[maxChars] = '\0';
+}
+
+#if !defined(NO_STREAMABLE)
+
+void TColorGroupList::writeItems( opstream& os, TColorItem *items )
+{
+ int count = 0;
+ TColorItem *cur;
+
+ for( cur = items; cur != 0; cur = cur->next )
+ count++;
+
+ os << count;
+
+ for( cur = items; cur != 0; cur = cur->next )
+ {
+ os.writeString( cur->name );
+ os << cur->index;
+ }
+}
+
+
+void TColorGroupList::writeGroups( opstream& os, TColorGroup *groups )
+{
+ int count = 0;
+ TColorGroup *cur;
+
+ for( cur = groups; cur != 0; cur = cur->next )
+ count++;
+
+ os << count;
+
+ for( cur = groups; cur != 0; cur = cur->next )
+ {
+ os.writeString( cur->name );
+ writeItems( os, cur->items );
+ }
+}
+#endif
+
+void TColorGroupList::handleEvent(TEvent& ev)
+{
+ TListViewer::handleEvent(ev);
+ if ((ev.what == evBroadcast) &&
+ (ev.message.command == cmSaveColorIndex))
+ /*
+ * SS: some non-portable code changed.
+ */
+ setGroupIndex(focused, (int)ev.message.infoPtr);
+}
+
+void TColorGroupList::setGroupIndex(uchar groupNum, uchar itemNum)
+{
+ TColorGroup* g = getGroup(groupNum);
+ if (g)
+ g->index = itemNum;
+}
+
+uchar TColorGroupList::getGroupIndex(uchar groupNum)
+{
+ TColorGroup* g = getGroup(groupNum);
+ if (g)
+ return g->index;
+ else
+
+ /* SS: this makes g++ happy */
+
+ return (uchar) NULL;
+}
+
+TColorGroup* TColorGroupList::getGroup(uchar groupNum)
+{
+ TColorGroup* g = groups;
+
+ while (groupNum--)
+ g = g->next;
+
+ return g;
+}
+
+uchar TColorGroupList::getNumGroups()
+{
+ uchar n;
+ TColorGroup* g = groups;
+
+ for (n=0; g; n++)
+ g = g->next;
+
+ return n;
+}
+
+#if !defined(NO_STREAMABLE)
+
+void TColorGroupList::write( opstream& os )
+{
+ TListViewer::write( os );
+ writeGroups( os, groups );
+}
+
+TColorItem *TColorGroupList::readItems( ipstream& is )
+{
+ int count;
+ is >> count;
+ TColorItem *items = 0;
+ TColorItem **cur = &items;
+ while( count-- > 0 )
+ {
+ char *nm = is.readString();
+ uchar index;
+ is >> index;
+ *cur = new TColorItem( nm, index );
+ delete nm;
+ cur = &((*cur)->next);
+ }
+ *cur = 0;
+ return items;
+}
+
+TColorGroup *TColorGroupList::readGroups( ipstream& is )
+{
+ int count;
+ is >> count;
+ TColorGroup *groups = 0;
+ TColorGroup **cur = &groups;
+ while( count-- > 0 )
+ {
+ char *nm = is.readString();
+ TColorItem *grp = readItems( is );
+ *cur = new TColorGroup( nm, grp );
+ cur = &((*cur)->next);
+ delete nm;
+ }
+ *cur = 0;
+ return groups;
+}
+
+void *TColorGroupList::read( ipstream& is )
+{
+ TListViewer::read( is );
+ groups = readGroups( is );
+ return this;
+}
+
+TStreamable *TColorGroupList::build()
+{
+ return new TColorGroupList( streamableInit );
+}
+
+TColorGroupList::TColorGroupList( StreamableInit ) :
+ TListViewer( streamableInit )
+{
+}
+
+#endif
+
+TColorItemList::TColorItemList( const TRect& bounds,
+ TScrollBar *aScrollBar,
+ TColorItem *aItems
+ ) :
+ TListViewer( bounds, 1, 0, aScrollBar ),
+ items( aItems )
+{
+ eventMask |= evBroadcast;
+ int i = 0;
+ while( aItems != 0 )
+ {
+ aItems = aItems->next;
+ i++;
+ }
+ setRange( i );
+}
+
+void TColorItemList::focusItem( short item )
+{
+ TListViewer::focusItem( item );
+ message(owner,evBroadcast, cmSaveColorIndex, (void*)item);
+
+ TColorItem *curItem = items;
+ while( item-- > 0 )
+ curItem = curItem->next;
+ message( owner, evBroadcast, cmNewColorIndex, (void *)(curItem->index));
+}
+
+void TColorItemList::getText( char *dest, short item, short maxChars )
+{
+ TColorItem *curItem = items;
+ while( item-- > 0 )
+ curItem = curItem->next;
+ strncpy( dest, curItem->name, maxChars );
+ dest[maxChars] = '\0';
+}
+
+void TColorItemList::handleEvent( TEvent& event )
+{
+ TListViewer::handleEvent( event );
+ if( event.what == evBroadcast )
+ {
+ TColorGroup* g = (TColorGroup*) event.message.infoPtr;
+ TColorItem *curItem;
+ int i = 0;
+
+ switch(event.message.command)
+ {
+ case cmNewColorItem:
+ curItem = items = g->items;
+ while( curItem != 0 )
+ {
+ curItem = curItem->next;
+ i++;
+ }
+ setRange( i );
+ focusItem( g->index);
+ drawView();
+ break;
+ default:
+ break;
+ }
+ }
+}
+
+#if !defined(NO_STREAMABLE)
+
+TStreamable *TColorItemList::build()
+{
+ return new TColorItemList( streamableInit );
+}
+
+TColorItemList::TColorItemList( StreamableInit ) :
+ TListViewer( streamableInit )
+{
+}
+
+#endif
+
+TColorDialog::TColorDialog( TPalette *aPalette, TColorGroup *aGroups ):
+#if 1 //__UNPATCHED
+ TDialog( TRect( 0, 0, 79, 18 ), colors ),
+#else
+ TDialog( TRect( 0, 0, 61, 18 ), colors ),
+#endif
+ TWindowInit( &TColorDialog::initFrame )
+{
+ options |= ofCentered;
+ if( aPalette != 0 )
+ {
+ pal = new TPalette( "", 0 );
+ *pal = *aPalette;
+ }
+ else
+ pal = 0;
+
+#if 1 //__UNPATCHED
+ TScrollBar *sb = new TScrollBar( TRect( 27, 3, 28, 14 ) );
+ insert( sb );
+
+ groups = new TColorGroupList( TRect( 3, 3, 27, 14 ), sb, aGroups);
+ insert( groups );
+ insert( new TLabel( TRect( 3, 2, 10, 3 ), groupText, groups ) );
+
+ sb = new TScrollBar( TRect( 59, 3, 60, 14 ) );
+ insert( sb );
+
+ TView *p = new TColorItemList( TRect( 30, 3, 59, 14 ), sb, aGroups->items );
+ insert( p );
+ insert( new TLabel( TRect( 30, 2, 36, 3 ), itemText, p ) );
+
+ forSel = new TColorSelector( TRect( 63, 3, 75, 7 ),
+ TColorSelector::csForeground );
+ insert( forSel );
+ forLabel = new TLabel( TRect( 63, 2, 75, 3 ), forText, forSel );
+ insert( forLabel );
+
+ bakSel = new TColorSelector( TRect( 63, 9, 75, 11 ),
+ TColorSelector::csBackground );
+ insert( bakSel );
+ bakLabel = new TLabel( TRect( 63, 8, 75, 9 ), bakText, bakSel );
+ insert( bakLabel );
+
+ display = new TColorDisplay( TRect( 62, 12, 76, 14 ), textText );
+ insert( display );
+
+ monoSel = new TMonoSelector( TRect( 62, 3, 77, 7 ) );
+ monoSel->hide();
+ insert( monoSel );
+ monoLabel = new TLabel( TRect( 62, 2, 69, 3 ), colorText, monoSel );
+ monoLabel->hide();
+ insert( monoLabel );
+
+ insert( new TButton( TRect( 51, 15, 61, 17 ), okText, cmOK, bfDefault ) );
+ insert( new TButton( TRect( 63, 15, 73, 17 ), cancelText, cmCancel, bfNormal ) );
+ selectNext( False );
+#else
+ TScrollBar *sb = new TScrollBar( TRect( 18, 3, 19, 14 ) );
+ insert( sb );
+
+ groups = new TColorGroupList( TRect( 3, 3, 18, 14 ), sb, aGroups);
+ insert( groups );
+ insert( new TLabel( TRect( 2, 2, 8, 3 ), groupText, groups ) );
+
+ sb = new TScrollBar( TRect( 41, 3, 42, 14 ) );
+ insert( sb );
+
+ TView *p = new TColorItemList( TRect( 21, 3, 41, 14 ), sb, aGroups->items );
+ insert( p );
+ insert( new TLabel( TRect( 20, 2, 25, 3 ), itemText, p ) );
+
+ forSel = new TColorSelector( TRect( 45, 3, 57, 7 ),
+ TColorSelector::csForeground );
+ insert( forSel );
+ forLabel = new TLabel( TRect( 45, 2, 57, 3 ), forText, forSel );
+ insert( forLabel );
+
+ bakSel = new TColorSelector( TRect( 45, 9, 57, 11 ),
+ TColorSelector::csBackground );
+ insert( bakSel );
+ bakLabel = new TLabel( TRect( 45, 8, 57, 9 ), bakText, bakSel );
+ insert( bakLabel );
+
+ display = new TColorDisplay( TRect( 44, 12, 58, 14 ), textText );
+ insert( display );
+
+ monoSel = new TMonoSelector( TRect( 44, 3, 59, 7 ) );
+ monoSel->hide();
+ insert( monoSel );
+ monoLabel = new TLabel( TRect( 43, 2, 49, 3 ), colorText, monoSel );
+ monoLabel->hide();
+ insert( monoLabel );
+
+ insert( new TButton( TRect( 36, 15, 46, 17 ), okText, cmOK, bfDefault ) );
+ insert( new TButton( TRect( 48, 15, 58, 17 ), cancelText, cmCancel, bfNormal ) );
+ selectNext( False );
+#endif
+
+ if( pal != 0 )
+ setData( pal );
+}
+
+TColorDialog::~TColorDialog()
+{
+ delete pal;
+}
+
+void TColorDialog::handleEvent( TEvent& event )
+{
+ if( event.what==evBroadcast && event.message.command==cmNewColorItem )
+ groupIndex = groups->focused;
+ TDialog::handleEvent( event );
+ if( event.what==evBroadcast && event.message.command==cmNewColorIndex )
+ /*
+ * SS: some non-portable code changed.
+ */
+ display->setColor( (uchar *)&pal->data[(int)event.message.infoPtr] );
+}
+
+ushort TColorDialog::dataSize()
+{
+ return *pal->data + 1;
+}
+
+void TColorDialog::getData( void *rec )
+{
+ getIndexes(colorIndexes);
+ *(TPalette *) rec = *pal;
+}
+
+void TColorDialog::setData( void *rec)
+{
+ if( !pal )
+ pal = new TPalette("", 0);
+ *pal = *(TPalette *) rec;
+
+ setIndexes(colorIndexes);
+ display->setColor((uchar *)&pal->data[groups->getGroupIndex(groupIndex)]);
+ groups->focusItem( groupIndex);
+ if( showMarkers )
+ {
+ forLabel->hide();
+ forSel->hide();
+ bakLabel->hide();
+ bakSel->hide();
+ monoLabel->show();
+ monoSel->show();
+ }
+ groups->select();
+}
+
+void TColorDialog::setIndexes(TColorIndex*& colIdx)
+{
+ uchar numGroups, index;
+
+ numGroups = groups->getNumGroups();
+ if (colIdx && (colIdx->colorSize != numGroups))
+ {
+ delete colIdx;
+#ifndef __UNPATCHED
+ colIdx = NULL; // BUG FIX
+#else
+ colors = NULL;
+#endif
+ }
+ if (!colIdx)
+ {
+ colIdx = (TColorIndex*) new uchar[numGroups+2];
+ colIdx->groupIndex = 0;
+ memset(colIdx->colorIndex, 0, numGroups);
+ colIdx->colorSize = numGroups;
+ }
+ for (index = 0; index < numGroups; index++)
+ groups->setGroupIndex(index, colIdx->colorIndex[index]);
+
+ groupIndex = colIdx->groupIndex;
+}
+
+void TColorDialog::getIndexes(TColorIndex*& colIdx)
+{
+ uchar n = groups->getNumGroups();
+ if (!colIdx)
+ {
+ colIdx = (TColorIndex*) new uchar[n+2];
+ memset(colIdx->colorIndex, 0, n);
+ colIdx->colorSize = n;
+ }
+ colIdx->groupIndex = groupIndex;
+ for (uchar index=0; index < n; index++)
+ colIdx->colorIndex[index] = groups->getGroupIndex(index);
+}
+
+#if !defined(NO_STREAMABLE)
+
+void TColorDialog::write( opstream& os )
+{
+ TDialog::write( os );
+ os << display << groups << forLabel << forSel
+ << bakLabel << bakSel << monoLabel << monoSel;
+}
+
+void *TColorDialog::read( ipstream& is )
+{
+ TDialog::read( is );
+ is >> display >> groups >> forLabel >> forSel
+ >> bakLabel >> bakSel >> monoLabel >> monoSel;
+ pal = 0;
+ return this;
+}
+
+TStreamable *TColorDialog::build()
+{
+ return new TColorDialog( streamableInit );
+}
+
+TColorDialog::TColorDialog( StreamableInit ) :
+ TDialog( streamableInit ),
+ TWindowInit( 0 /*streamableInit*/ )
+{
+}
+
+
+#endif
diff --git a/freebsdtvision/lib/colorsel.h b/freebsdtvision/lib/colorsel.h
new file mode 100644
index 0000000..0457a81
--- /dev/null
+++ b/freebsdtvision/lib/colorsel.h
@@ -0,0 +1,999 @@
+/*
+ * colorsel.h
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#if !defined( __COLOR_COMMAND_CODES )
+#define __COLOR_COMMAND_CODES
+
+/** \file colorsel.h
+ * colorsel.h
+ */
+
+const
+ int cmColorForegroundChanged = 71,
+ cmColorBackgroundChanged = 72,
+ cmColorSet = 73,
+ cmNewColorItem = 74,
+ cmNewColorIndex = 75,
+ cmSaveColorIndex = 76;
+
+#endif // __COLOR_COMMAND_CODES
+
+class TColorItem;
+class TColorGroup;
+
+TColorItem& operator + ( TColorItem& i1, TColorItem& i2 );
+TColorGroup& operator + ( TColorGroup& g, TColorItem& i );
+TColorGroup& operator + ( TColorGroup& g1, TColorGroup& g2 );
+
+#if defined( Uses_TColorItem ) && !defined( __TColorItem )
+#define __TColorItem
+
+class TColorGroup;
+
+/**
+ * Stores information about a color item. TColorItem defines a linked list of
+ * color names and indexes.
+ *
+ * The interrelated classes TColorItem, @ref TColorGroup, @ref TColorSelector,
+ * @ref TMonoSelector, @ref TColorDisplay, @ref TColorGroupList,
+ * @ref TColorItemList and @ref TColorDialog provide viewers and dialog boxes
+ * from which the user can select and change the color assignments from
+ * available palettes with immediate effect on the screen.
+ * @short Information about a color item
+ */
+class TColorItem
+{
+public:
+ /**
+ * Constructor.
+ *
+ * Creates a color item object with @ref name set to `nm', @ref index set
+ * to `idx' and, by default, @ref next set to 0.
+ *
+ * `nm' is a pointer to the name of the color item. A local copy of the
+ * string is created. `idx' is the color index. `nxt' is a pointer to the
+ * next color item (its default value is 0).
+ *
+ * See file `demo/tvdemo2.cc' for an example.
+ */
+ TColorItem( const char *nm, uchar idx, TColorItem *nxt = 0 );
+ /**
+ * Destructor.
+ */
+ virtual ~TColorItem();
+ /**
+ * The name of the color item.
+ */
+ const char *name;
+ /**
+ * The color index of the item.
+ */
+ uchar index;
+ /**
+ * Link to the next color item, or 0 if there is no next item.
+ */
+ TColorItem *next;
+ /**
+ * Inserts color item `i' in color group `g'.
+ * @see TColorGroup
+ */
+ friend TColorGroup& operator + ( TColorGroup& g, TColorItem& i );
+ /**
+ * Inserts another color item after this one by changing the
+ * @ref TColorItem::next pointer.
+ */
+ friend TColorItem& operator + ( TColorItem& i1, TColorItem& i2 );
+};
+
+#endif // Uses_TColorItem
+
+#if defined( Uses_TColorGroup ) && !defined( __TColorGroup )
+#define __TColorGroup
+
+class TColorItem;
+
+/**
+ * The interrelated classes @ref TColorItem, TColorGroup, @ref TColorSelector,
+ * @ref TMonoSelector, @ref TColorDisplay, @ref TColorGroupList,
+ * @ref TColorItemList and @ref TColorDialog provide viewers and dialog boxes
+ * from which the user can select and change the color assignments from
+ * available palettes with immediate effect on the screen.
+ *
+ * The TColorGroup class defines a group of linked lists of @ref TColorItem
+ * objects. Each member of a color group consists of a set of color names and
+ * their associated color codes.
+ * @short Stores a set of color items
+ */
+class TColorGroup
+{
+public:
+ /**
+ * Constructor.
+ *
+ * Creates a color group with the given argument values.
+ *
+ * `nm' is a pointer to the name of the color group. A local copy of the
+ * string is created. `itm' is a pointer to the first color item of the
+ * color group (its default value is 0). `nxt' is a pointer to the next
+ * color group (its default value is 0).
+ *
+ * See file `demo/tvdemo2.cc' for an example.
+ */
+ TColorGroup( const char *nm, TColorItem *itm = 0, TColorGroup *nxt = 0 );
+ /**
+ * Destructor.
+ */
+ virtual ~TColorGroup();
+ /**
+ * The name of the color group.
+ */
+ const char *name;
+ /**
+ * The start index of the color group.
+ */
+ uchar index;
+ /**
+ * Pointer to the associated list of color items associated with this
+ * color group.
+ */
+ TColorItem *items;
+ /**
+ * Pointer to next color group, or 0 if no next.
+ */
+ TColorGroup *next;
+ /**
+ * Inserts color item `i' in color group `g'.
+ * @see TColorItem
+ */
+ friend TColorGroup& operator + ( TColorGroup& g, TColorItem& i);
+ /**
+ * Inserts another color group after this one by changing the
+ * @ref TColorGroup::next pointer.
+ * @see TColorItem
+ */
+ friend TColorGroup& operator + ( TColorGroup& g1, TColorGroup& g2 );
+};
+
+/**
+ * Data structure used by @ref TColorDialog::getIndexes() and
+ * @ref TColorDialog::setIndexes().
+ */
+class TColorIndex
+{
+public:
+ /**
+ * Undocumented.
+ */
+ uchar groupIndex;
+ /**
+ * Undocumented.
+ */
+ uchar colorSize;
+ /**
+ * Undocumented.
+ */
+ uchar colorIndex[256];
+};
+
+
+#endif // Uses_TColorGroup
+
+#if defined( Uses_TColorSelector ) && !defined( __TColorSelector )
+#define __TColorSelector
+
+class TRect;
+class TEvent;
+
+/**
+ * The interrelated classes @ref TColorItem, @ref TColorGroup,
+ * TColorSelector, @ref TMonoSelector, @ref TColorDisplay,
+ * @ref TColorGroupList, @ref TColorItemList and @ref TColorDialog provide
+ * viewers and dialog boxes from which the user can select and change the
+ * color assignments from available palettes with immediate effect on the
+ * screen.
+ *
+ * TColorSelector is a view for displaying the color selections available.
+ * @short Color viewer used to display available color selections
+ */
+class TColorSelector : public TView
+{
+public:
+ /**
+ * This view can handle two sets of colors: the 8 background colors or the
+ * 16 foreground colors.
+ */
+ enum ColorSel { csBackground = 0, csForeground };
+ /**
+ * Constructor.
+ *
+ * Calls TView constructor TView(bounds) to create a view with the given
+ * `bounds'. Sets @ref options data member with @ref ofSelectable,
+ * @ref ofFirstClick, and @ref ofFramed. Sets @ref eventMask to
+ * @ref evBroadcast, @ref selType to `aSelType', and @ref color to 0.
+ *
+ * `aSelType' may be one of the following values:
+ *
+ * <pre>
+ * Constant Value Meaning
+ *
+ * csBackground 0 show the 8 background colors
+ * csForeground 1 show the 16 foreground colors
+ * </pre>
+ */
+ TColorSelector( const TRect& bounds, ColorSel aSelType );
+ /**
+ * Draws the color selector.
+ */
+ virtual void draw();
+ /**
+ * Handles mouse and key events: you can click on a given color indicator
+ * to select that color, or you can select colors by positioning the
+ * cursor with the arrow keys.
+ *
+ * Changes invoke @ref drawView() when appropriate.
+ */
+ virtual void handleEvent( TEvent& event );
+ /**
+ * This character is used to mark the current color.
+ */
+ static char icon;
+protected:
+ /**
+ * Holds the currently selected color.
+ */
+ uchar color;
+ /**
+ * Specifies if the view shows the 8 background colors or the 16
+ * foreground colors.
+ *
+ * Gives attribute (foreground or background) of the currently selected
+ * color. @ref ColorSel is an enum defined as follows:
+ *
+ * <pre>
+ * enum ColorSel { csBackground = 0, csForeground }
+ * </pre>
+ */
+ ColorSel selType;
+private:
+ void colorChanged();
+ virtual const char *streamableName() const
+ { return name; }
+protected:
+ /**
+ * Constructor.
+ *
+ * Used to recover the view from a stream.
+ */
+ TColorSelector( StreamableInit );
+ /**
+ * Used to store the view in a stream. Writes to the output stream `os'.
+ */
+ virtual void write( opstream& os );
+ /**
+ * Used to recover the view from a stream. Reads from the input stream
+ * `is'.
+ */
+ virtual void *read( ipstream& is );
+public:
+ /**
+ * Undocumented.
+ */
+ static const char * const name;
+ /**
+ * Creates a new TColorSelector.
+ *
+ * Called to create an object in certain stream-reading situations.
+ */
+ static TStreamable *build();
+};
+
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TColorSelector& cl )
+ { return is >> (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TColorSelector*& cl )
+ { return is >> (void *&)cl; }
+
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TColorSelector& cl )
+ { return os << (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TColorSelector* cl )
+ { return os << (TStreamable *)cl; }
+
+#endif // Uses_TColorSelector
+
+
+#if defined( Uses_TMonoSelector ) && !defined( __TMonoSelector )
+#define __TMonoSelector
+
+class TRect;
+class TEvent;
+
+/**
+ * The interrelated classes @ref TColorItem, @ref TColorGroup,
+ * @ref TColorSelector, TMonoSelector, @ref TColorDisplay,
+ * @ref TColorGroupList, @ref TColorItemList and @ref TColorDialog are used
+ * to provide viewers and dialog boxes from which the user can select and
+ * change the color assignments from available palettes with immediate effect
+ * on the screen.
+ *
+ * TMonoSelector implements a cluster from which you can select normal,
+ * highlight, underline, or inverse video attributes on monochrome screens.
+ * @short Monochrome color selector
+ */
+class TMonoSelector : public TCluster
+{
+public:
+ /**
+ * Constructor.
+ *
+ * Creates a cluster by calling the TCluster constructor with four
+ * buttons labeled: "Normal", "Highlight", "Underline", and "Inverse".
+ * The @ref evBroadcast flag is set in @ref eventMask. `bounds' is the
+ * bounding rectangle of the view.
+ * @see TCluster::TCluster
+ */
+ TMonoSelector( const TRect& bounds );
+ /**
+ * Draws the selector cluster.
+ */
+ virtual void draw();
+ /**
+ * Calls @ref TCluster::handleEvent() and responds to cmColorSet events by
+ * changing the data member value accordingly. The view is redrawn if
+ * necessary. @ref value holds a video attribute corresponding to the
+ * selected attribute.
+ */
+ virtual void handleEvent( TEvent& event );
+ /**
+ * Returns True if the item'th button has been selected; otherwise returns
+ * False.
+ */
+ virtual Boolean mark( int item );
+ /**
+ * Informs the owning group if the attribute has changed.
+ */
+ void newColor();
+ /**
+ * "Presses" the item'th button and calls @ref newColor().
+ */
+ virtual void press( int item );
+ /**
+ * Sets value to the item'th attribute (same effect as @ref press()).
+ */
+ void movedTo( int item );
+private:
+ static const char * button;
+ static const char * normal;
+ static const char * highlight;
+ static const char * underline;
+ static const char * inverse;
+ virtual const char *streamableName() const
+ { return name; }
+protected:
+ /**
+ * Constructor.
+ *
+ * Used to recover the view from a stream.
+ */
+ TMonoSelector( StreamableInit );
+public:
+ /**
+ * Undocumented.
+ */
+ static const char * const name;
+ /**
+ * Creates a new TMonoSelector.
+ *
+ * Used to recover the view from a stream. Called to create an object in
+ * certain stream-reading situations.
+ */
+ static TStreamable *build();
+};
+
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TMonoSelector& cl )
+ { return is >> (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TMonoSelector*& cl )
+ { return is >> (void *&)cl; }
+
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TMonoSelector& cl )
+ { return os << (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TMonoSelector* cl )
+ { return os << (TStreamable *)cl; }
+
+#endif // Uses_TMonoSelector
+
+#if defined( Uses_TColorDisplay ) && !defined( __TColorDisplay )
+#define __TColorDisplay
+
+class TRect;
+class TEvent;
+
+/**
+ * TColorDisplay and these interrelated classes provide viewers and dialog
+ * boxes from which the user can select and change the screen attributes and
+ * color assignments from available palettes with immediate effect on the
+ * screen:
+ *
+ * @ref TColorItem, @ref TColorGroup, @ref TColorSelector, @ref TMonoSelector,
+ * @ref TColorGroupList, @ref TColorItemList and @ref TColorDialog.
+ *
+ * TColorDisplay is a view for displaying text so that the user can select a
+ * suitable palette.
+ * @short Viewer used to display and select colors
+ */
+class TColorDisplay : public TView
+{
+public:
+ /**
+ * Constructor.
+ *
+ * Creates a view of the given size with TView constructors TView(bounds),
+ * then sets text to the `aText' argument.
+ *
+ * `bounds' is the bounding rectangle of the view. `aText' is the string
+ * printed in the view.
+ */
+ TColorDisplay( const TRect& bounds, const char *aText );
+ /**
+ * Destructor.
+ *
+ * Destroys both the view and the text string.
+ */
+ virtual ~TColorDisplay();
+ /**
+ * Draws the view with given text and current color.
+ */
+ virtual void draw();
+ /**
+ * Calls @ref TView::handleEvent() and redraws the view as appropriate in
+ * response to the cmColorBackgroundChanged and cmColorForegroundChanged
+ * broadcast events.
+ */
+ virtual void handleEvent( TEvent& event );
+ /**
+ * Change the currently displayed color. Sets color to `aColor',
+ * broadcasts the change to the owning group, then calls
+ * @ref drawView().
+ */
+ virtual void setColor( uchar *aColor );
+protected:
+ /**
+ * Stores the current color for this display.
+ */
+ uchar *color;
+ /**
+ * Stores a pointer to the text string to be displayed.
+ */
+ const char *text;
+private:
+ virtual const char *streamableName() const
+ { return name; }
+protected:
+ /**
+ * Constructor.
+ *
+ * Used to recover the view from a stream.
+ */
+ TColorDisplay( StreamableInit );
+ /**
+ * Used to store the view in a stream. Writes to the output stream `os'.
+ */
+ virtual void write( opstream& os );
+ /**
+ * Used to recover the view from a stream. Reads from the input stream
+ * `is'.
+ */
+ virtual void *read( ipstream& is );
+public:
+ /**
+ * Undocumented.
+ */
+ static const char * const name;
+ /**
+ * Creates a new TColorDisplay.
+ *
+ * Used to recover the view from a stream. Called to create an object in
+ * certain stream-reading situations.
+ */
+ static TStreamable *build();
+};
+
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TColorDisplay& cl )
+ { return is >> (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TColorDisplay*& cl )
+ { return is >> (void *&)cl; }
+
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TColorDisplay& cl )
+ { return os << (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TColorDisplay* cl )
+ { return os << (TStreamable *)cl; }
+
+#endif // Uses_TColorDisplay
+
+
+#if defined( Uses_TColorGroupList ) && !defined( __TColorGroupList )
+#define __TColorGroupList
+
+class TRect;
+class TScrollBar;
+class TColorGroup;
+class TColorItem;
+
+/**
+ * The interrelated classes @ref TColorItem, @ref TColorGroup,
+ * @ref TColorSelector, @ref TMonoSelector, @ref TColorDisplay,
+ * TColorGroupList, @ref TColorItemList and @ref TColorDialog provide
+ * viewers and dialog boxes from which the user can select and change the
+ * color assignments from available palettes with immediate effect on the
+ * screen.
+ *
+ * TColorGroupList is a specialized derivative of @ref TListViewer providing a
+ * scrollable list of named color groups. Groups can be selected in any of the
+ * usual ways (by mouse or keyboard).
+ *
+ * TColorGroupList uses the @ref TListViewer event handler without
+ * modification.
+ * @short Implements a scrollable list of named color groups
+ */
+class TColorGroupList : public TListViewer
+{
+public:
+ /**
+ * Constructor.
+ *
+ * Calls TListViewer(bounds, 1, 0, aScrollBar) to create a single-column
+ * list viewer a single vertical scroll bar. Then, sets @ref groups data
+ * member to `aGroups'.
+ * @see TListViewer::TListViewer
+ */
+ TColorGroupList( const TRect& bounds,
+ TScrollBar *aScrollBar,
+ TColorGroup *aGroups
+ );
+ /**
+ * Destroys the list viewer and all associated groups and their items.
+ */
+ virtual ~TColorGroupList();
+ /**
+ * Selects the given item by calling TListViewer::focusItem(item) and then
+ * broadcasts a cmNewColorItem event.
+ * @see TListViewer::focusItem
+ */
+ virtual void focusItem( short item );
+ /**
+ * Copies the group name corresponding to `item' to the `dest' string.
+ */
+ virtual void getText( char *dest, short item, short maxLen );
+ /**
+ * Undocumented.
+ */
+ virtual void handleEvent(TEvent&);
+protected:
+ /**
+ * The color group for this list viewer.
+ */
+ TColorGroup *groups;
+private:
+ virtual const char *streamableName() const
+ { return name; }
+ static void writeItems( opstream&, TColorItem * );
+ static void writeGroups( opstream&, TColorGroup * );
+ static TColorItem *readItems( ipstream& );
+ static TColorGroup *readGroups( ipstream& );
+protected:
+ /**
+ * Undocumented.
+ */
+ TColorGroupList( StreamableInit );
+ /**
+ * Writes to the output stream `os'.
+ */
+ virtual void write( opstream& os );
+ /**
+ * Reads from the input stream `is'.
+ */
+ virtual void *read( ipstream& is );
+public:
+ /**
+ * Undocumented.
+ */
+ void setGroupIndex(uchar groupNum, uchar itemNum);
+ /**
+ * Undocumented.
+ */
+ TColorGroup* getGroup(uchar groupNum);
+ /**
+ * Undocumented.
+ */
+ uchar getGroupIndex(uchar groupNum);
+ /**
+ * Undocumented.
+ */
+ uchar getNumGroups();
+ /**
+ * Undocumented.
+ */
+ static const char * const name;
+ /**
+ * Called to create an object in certain stream-reading situations.
+ */
+ static TStreamable *build();
+};
+
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TColorGroupList& cl )
+ { return is >> (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TColorGroupList*& cl )
+ { return is >> (void *&)cl; }
+
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TColorGroupList& cl )
+ { return os << (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TColorGroupList* cl )
+ { return os << (TStreamable *)cl; }
+
+#endif // Uses_TColorGroupList
+
+
+#if defined( Uses_TColorItemList ) && !defined( __TColorItemList )
+#define __TColorItemList
+
+class TRect;
+class TScrollBar;
+class TColorItem;
+class TEvent;
+
+/**
+ * The interrelated classes @ref TColorItem, @ref TColorGroup,
+ * @ref TColorSelector, @ref TMonoSelector, @ref TColorDisplay,
+ * @ref TColorGroupList, TColorItemList, and @ref TColorDialog provide
+ * viewers and dialog boxes from which the user can select and change the
+ * color assignments from available palettes with immediate effect on the
+ * screen.
+ *
+ * TColorItemList is a simpler variant of @ref TColorGroupList for viewing and
+ * selecting single color items rather than groups of colors.
+ *
+ * Like @ref TColorGroupList, TColorItemList is specialized derivative of
+ * @ref TListViewer. Color items can be selected in any of the usual ways (by
+ * mouse or keyboard).
+ *
+ * Unlike @ref TColorGroupList, TColorItemList overrides the @ref TListViewer
+ * event handler.
+ * @short Used to view and select single color items
+ */
+class TColorItemList : public TListViewer
+{
+public:
+ /**
+ * Calls TListViewer constructor TListViewer(bounds, 1, 0, aScrollBar) to
+ * create a single-column list viewer with a single vertical scroll bar.
+ *
+ * Then, the constructor sets @ref items data member to `aItems' and
+ * @ref range to the number of items.
+ */
+ TColorItemList( const TRect& bounds,
+ TScrollBar *aScrollBar,
+ TColorItem *aItems
+ );
+ /**
+ * Selects the given item by calling TListViewer::focusItem(item), then
+ * broadcasts a cmNewColorIndex event.
+ * @see TListViewer::focusItem
+ */
+ virtual void focusItem( short item );
+ /**
+ * Copies the item name corresponding to `item' to the `dest' string.
+ */
+ virtual void getText( char *dest, short item, short maxLen );
+ /**
+ * Calls @ref TListViewer::handleEvent(). Then, if the event is
+ * cmNewColorItem, the appropriate item is focused and the viewer is
+ * redrawn.
+ */
+ virtual void handleEvent( TEvent& event );
+protected:
+ /**
+ * The color item list for this viewer.
+ */
+ TColorItem *items;
+private:
+ virtual const char *streamableName() const
+ { return name; }
+protected:
+ /**
+ * Each streamable class needs a "builder" to allocate the correct memory
+ * for its objects together with the initialized virtual table pointers.
+ * This is achieved by calling this constructor with an argument of type
+ * @ref StreamableInit.
+ */
+ TColorItemList( StreamableInit );
+public:
+ /**
+ * Undocumented.
+ */
+ static const char * const name;
+ /**
+ * Called to create an object in certain stream-reading situations.
+ */
+ static TStreamable *build();
+};
+
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TColorItemList& cl )
+ { return is >> (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TColorItemList*& cl )
+ { return is >> (void *&)cl; }
+
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TColorItemList& cl )
+ { return os << (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TColorItemList* cl )
+ { return os << (TStreamable *)cl; }
+
+#endif // Uses_TColorItemList
+
+
+#if defined( Uses_TColorDialog ) && !defined( __TColorDialog )
+#define __TColorDialog
+
+class TColorGroup;
+class TEvent;
+class TColorDisplay;
+class TColorGroupList;
+class TLabel;
+class TColorSelector;
+class TMonoSelector;
+class TPalette;
+
+/**
+ * These interrelated classes provide viewers and dialog boxes from which the
+ * user can select and change the color assignments from available palettes
+ * with immediate effect on the screen:
+ *
+ * @ref TColorDisplay, @ref TColorGroup, @ref TColorGroupList,
+ * @ref TColorItem, @ref TColorItemList, @ref TColorSelector,
+ * @ref TMonoSelector and TColorDialog.
+ *
+ * TColorDialog is a specialized scrollable dialog box called "Colors" from
+ * which the user can examine various palette selections before making a
+ * selection.
+ * @short Viewer used to examine and change the standard palette
+ */
+class TColorDialog : public TDialog
+{
+public:
+ /**
+ * Constructor.
+ *
+ * Calls the @ref TDialog and @ref TScrollBar constructors to create a
+ * fixed size, framed window titled "Colors" with two scroll bars. The
+ * @ref pal data member is set to `aPalette'. The given `aGroups'
+ * argument creates and inserts a @ref TColorGroup object with an
+ * associated label: "~G~roup". The items in `aGroups' initialize a
+ * @ref TColorItemList object, which is also inserted in the dialog,
+ * labeled as "~I~tem".
+ *
+ * `aPalette' is a pointer to the initial palette to be modified. This
+ * class creates a local copy of the initial palette, so the initial
+ * palette is never modified. You may safely leave this field to 0 and set
+ * the palette with a subsequent call to @ref setData(). `aGroups' is a
+ * pointer to a cluster of objects which specifies all the items in the
+ * palette.
+ *
+ * See file `demo/tvdemo2.cc' for an example.
+ */
+ TColorDialog( TPalette *aPalette, TColorGroup *aGroups );
+ /**
+ * Destructor.
+ *
+ * Deletes the local copy of the palette.
+ */
+ ~TColorDialog();
+ /**
+ * By default, dataSize() returns the size of the current palette,
+ * expressed in bytes.
+ */
+ virtual ushort dataSize();
+ /**
+ * Reads the data record of this dialog.
+ *
+ * Copies @ref dataSize() bytes from @ref pal to `rec'. `rec' should
+ * point to a @ref TPalette object. Its contents will be overwritten by
+ * the contents of this object.
+ * @see setData
+ */
+ virtual void getData( void *rec );
+ /**
+ * Calls @ref TDialog::handleEvent() and redisplays if the broadcast event
+ * generated is cmNewColorIndex.
+ */
+ virtual void handleEvent( TEvent& event );
+ /**
+ * Writes the data record of this view.
+ *
+ * The reverse of @ref getData(): copies from `rec' to @ref pal,
+ * restoring the saved color selections. `rec' should point to a
+ * @ref TPalette object.
+ */
+ virtual void setData( void *rec);
+ /**
+ * Is a pointer to the current palette selection.
+ */
+ TPalette *pal;
+protected:
+ /**
+ * The color display object for this dialog box.
+ */
+ TColorDisplay *display;
+ /**
+ * The color group for this dialog box.
+ */
+ TColorGroupList *groups;
+ /**
+ * The foreground color label.
+ */
+ TLabel *forLabel;
+ /**
+ * The foreground color selector.
+ */
+ TColorSelector *forSel;
+ /**
+ * The background color label.
+ */
+ TLabel *bakLabel;
+ /**
+ * The background color selector.
+ */
+ TColorSelector *bakSel;
+ /**
+ * The monochrome label.
+ */
+ TLabel *monoLabel;
+ /**
+ * The selector for monochrome attributes.
+ */
+ TMonoSelector *monoSel;
+ /**
+ * Undocumented.
+ */
+ uchar groupIndex;
+private:
+ static const char * colors;
+ static const char * groupText;
+ static const char * itemText;
+ static const char * forText;
+ static const char * bakText;
+ static const char * textText;
+ static const char * colorText;
+ static const char * okText;
+ static const char * cancelText;
+ virtual const char *streamableName() const
+ { return name; }
+protected:
+ /**
+ * Constructor.
+ *
+ * Used to recover the dialog from a stream. Foreground and background
+ * color selectors are created and inserted, labeled as "~F~oreground" and
+ * "~B~ackground". The string "Text " is displayed in the current text
+ * color.
+ *
+ * A @ref TMonoSelector object is created, inserted, and labeled
+ * "~C~olor". All the items are displayed in their correct colors and
+ * attributes. Finally, "O~K~" and "Cancel" buttons are inserted.
+ */
+ TColorDialog( StreamableInit );
+ /**
+ * Used to store the dialog in a stream. Writes to the output stream `os'.
+ */
+ virtual void write( opstream& os );
+ /**
+ * Used to recover the dialog from a stream. Reads from the input stream
+ * `is'.
+ */
+ virtual void *read( ipstream& is );
+public:
+ /**
+ * Undocumented.
+ */
+ void getIndexes(TColorIndex*&);
+ /**
+ * Undocumented.
+ */
+ void setIndexes(TColorIndex*&);
+ /**
+ * Undocumented.
+ */
+ static const char * const name;
+ /**
+ * Called to create an object in certain stream-reading situations.
+ */
+ static TStreamable *build();
+};
+
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TColorDialog& cl )
+ { return is >> (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TColorDialog*& cl )
+ { return is >> (void *&)cl; }
+
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TColorDialog& cl )
+ { return os << (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TColorDialog* cl )
+ { return os << (TStreamable *)cl; }
+
+#endif // TColorDialog
diff --git a/freebsdtvision/lib/dialogs.h b/freebsdtvision/lib/dialogs.h
new file mode 100644
index 0000000..4ae1903
--- /dev/null
+++ b/freebsdtvision/lib/dialogs.h
@@ -0,0 +1,2411 @@
+/*
+ * dialogs.h
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#if !defined( __BUTTON_TYPE )
+#define __BUTTON_TYPE
+
+/** \file dialogs.h
+ * dialogs.h
+ */
+
+ /** \var bfNormal
+ * Button is a normal, non-default button.
+ * @see TButton::flag
+ */
+const int
+ bfNormal = 0x00,
+
+ /** \var bfDefault
+ * Button is the default button: if this bit is set this button will be
+ * highlighted as the default button.
+ * @see TButton::flag
+ */
+ bfDefault = 0x01,
+
+ /** \var bfLeftJust
+ * Button label is left-justified; if this bit is clear the title will be
+ * centered.
+ * @see TButton::flag
+ */
+ bfLeftJust = 0x02,
+
+ /** \var bfBroadcast
+ * Sends a broadcast message when pressed.
+ * @see TButton::flag
+ */
+ bfBroadcast = 0x04,
+
+ /** \var bfGrabFocus
+ * The button grabs the focus when pressed.
+ * @see TButton::flag
+ */
+ bfGrabFocus = 0x08,
+ cmRecordHistory = 60;
+
+#endif // __BUTTON_TYPE
+
+/* ---------------------------------------------------------------------- */
+/* class TDialog */
+/* */
+/* Palette layout */
+/* 1 = Frame passive */
+/* 2 = Frame active */
+/* 3 = Frame icon */
+/* 4 = ScrollBar page area */
+/* 5 = ScrollBar controls */
+/* 6 = StaticText */
+/* 7 = Label normal */
+/* 8 = Label selected */
+/* 9 = Label shortcut */
+/* 10 = Button normal */
+/* 11 = Button default */
+/* 12 = Button selected */
+/* 13 = Button disabled */
+/* 14 = Button shortcut */
+/* 15 = Button shadow */
+/* 16 = Cluster normal */
+/* 17 = Cluster selected */
+/* 18 = Cluster shortcut */
+/* 19 = InputLine normal text */
+/* 20 = InputLine selected text */
+/* 21 = InputLine arrows */
+/* 22 = History arrow */
+/* 23 = History sides */
+/* 24 = HistoryWindow scrollbar page area */
+/* 25 = HistoryWindow scrollbar controls */
+/* 26 = ListViewer normal */
+/* 27 = ListViewer focused */
+/* 28 = ListViewer selected */
+/* 29 = ListViewer divider */
+/* 30 = InfoPane */
+/* 31 = Cluster Disabled */
+/* 32 = Reserved */
+/* ---------------------------------------------------------------------- */
+
+#if defined( Uses_TDialog ) && !defined( __TDialog )
+#define __TDialog
+
+#define cpGrayDialog \
+ "\x20\x21\x22\x23\x24\x25\x26\x27\x28\x29\x2A\x2B\x2C\x2D\x2E\x2F"\
+ "\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x3A\x3B\x3C\x3D\x3E\x3F"
+
+#define cpBlueDialog \
+ "\x40\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f"\
+ "\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f"
+
+#define cpCyanDialog \
+ "\x60\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f"\
+ "\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f"
+
+#define cpDialog cpGrayDialog
+
+const int dpBlueDialog = 0,
+ dpCyanDialog = 1,
+ dpGrayDialog = 2;
+
+class TRect;
+class TEvent;
+class TValidator;
+
+/**
+ * TDialog is a simple child of @ref TWindow.
+ *
+ * Data member @ref growMode is set to zero; that is, dialog boxes are not
+ * growable. The @ref flags data member is set for @ref wfMove and
+ * @ref wfClose; that is, dialog boxes are moveable and closable (a close
+ * icon is provided).
+ *
+ * The TDialog event handler calls @ref TWindow::handleEvent() but additionally
+ * handles the special cases of Esc and Enter key responses.
+ * The Esc key generates a cmCancel command, while Enter generates the
+ * cmDefault command.
+ * @see TDialog::handleEvent
+ *
+ * The @ref TDialog::valid() member function returns True on cmCancel;
+ * otherwise, it calls its @ref TGroup::valid().
+ * @short A non-growable child of TWindow, usually used as a modal view
+ */
+class TDialog : public TWindow
+{
+public:
+ /**
+ * Creates a dialog box with the given size and title by calling
+ * TWindow::TWindow(bounds, aTitle, wnNoNumber) and
+ * TWindowInit::TWindowInit(&TDialog::initFrame).
+ * @see TWindow::TWindow
+ * @see TWindowInit::TWindowInit
+ *
+ * @ref growMode is set to 0, and @ref flags is set to @ref wfMove |
+ * @ref wfClose.
+ *
+ * By default, dialog boxes can move and close (via the close icon) but
+ * cannot grow (resize).
+ *
+ * Note that TDialog does not define its own destructor, but uses
+ * @ref TWindow::close() and the destructors inherited from @ref TWindow,
+ * @ref TGroup, and @ref TView.
+ * @see TWindow::~TWindow
+ */
+ TDialog( const TRect& bounds, const char *aTitle );
+ /**
+ * Returns the default palette string.
+ */
+ virtual TPalette& getPalette() const;
+ /**
+ * Calls TWindow::handleEvent(event), then handles Enter and Esc key
+ * events specially.
+ * @see TWindow::handleEvent
+ *
+ * In particular, Esc generates a cmCancel command, and Enter broadcasts a
+ * cmDefault command.
+ *
+ * This member function also handles cmOK, cmCancel, cmYes, and cmNo
+ * command events by ending the modal state of the dialog box.
+ *
+ * For each of the above events handled successfully, this member function
+ * calls @ref clearEvent().
+ */
+ virtual void handleEvent( TEvent& event );
+ /**
+ * Returns True if the command argument is cmCancel. This is the command
+ * generated by @ref handleEvent() when the Esc key is detected.
+ *
+ * If the command argument is not cmCancel, valid calls
+ * TGroup::valid(command) and returns the result of this call.
+ * @see TGroup::valid()
+ *
+ * TGroup's valid() calls the valid() member functions of each of its
+ * subviews.
+ * @see TView::valid()
+ *
+ * The net result is that valid() returns True only if the group controls
+ * all return True; otherwise, it returns False. A modal state cannot
+ * terminate until all subviews return True when polled with valid().
+ */
+ virtual Boolean valid( ushort command );
+private:
+ virtual const char *streamableName() const
+ { return name; }
+protected:
+ /**
+ * Each streamable class needs a "builder" to allocate the correct memory
+ * for its objects together with the initialized virtual table pointers.
+ *
+ * This is achieved by calling this constructor with an argument of type
+ * @ref StreamableInit.
+ */
+ TDialog( StreamableInit );
+public:
+ static const char * const name;
+ /**
+ * Called to create an object in certain stream-reading situations.
+ */
+ static TStreamable *build();
+};
+
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TDialog& cl )
+ { return is >> (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TDialog*& cl )
+ { return is >> (void *&)cl; }
+
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TDialog& cl )
+ { return os << (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TDialog* cl )
+ { return os << (TStreamable *)cl; }
+
+#endif // Uses_TDialog
+
+/* ---------------------------------------------------------------------- */
+/* class TInputLine */
+/* */
+/* Palette layout */
+/* 1 = Passive */
+/* 2 = Active */
+/* 3 = Selected */
+/* 4 = Arrows */
+/* ---------------------------------------------------------------------- */
+
+#if defined( Uses_TInputLine ) && !defined( __TInputLine )
+#define __TInputLine
+
+class TRect;
+class TEvent;
+class TValidator;
+
+/**
+ * A TInputLine object provides a basic input line string editor. It handles
+ * keyboard input and mouse clicks and drags for block marking and a variety
+ * of line editing functions.
+ * @short Provides a basic input line string editor
+ */
+class TInputLine : public TView
+{
+public:
+ /**
+ * Creates an input box control with the given values by calling
+ * TView::TView(bounds).
+ * @see TView::TView
+ *
+ * Variable @ref state is then set to @ref sfCursorVis, @ref options is
+ * set to (@ref ofSelectable | @ref ofFirstClick), and @ref maxLen is set
+ * to `aMaxLen'.
+ *
+ * Memory is allocated and cleared for `aMaxlen' + 1 bytes and the
+ * @ref data data member set to point at this allocation.
+ *
+ * An input line is sometimes used with a validator. Data validators are
+ * objects that detect when the user has entered valid or invalid
+ * information. In case of invalid data, the validator will provide
+ * appropriate feedback to the user.
+ * @see TValidator
+ */
+ TInputLine( const TRect& bounds, int aMaxLen, TValidator *aValid = 0 );
+ /**
+ * Deletes the data memory allocation, then calls TView destructor to
+ * destroy the TInputLine object.
+ * @see TView::~TView
+ */
+ ~TInputLine();
+ /**
+ * Returns the size of the record for @ref getData() and @ref setData()
+ * calls.
+ * By default, it returns @ref maxLen + 1.
+ *
+ * Override this member function if you define descendants to handle other
+ * data types.
+ */
+ virtual ushort dataSize();
+ /**
+ * Draws the input box and its data.
+ *
+ * The box is drawn with the appropriate colors depending on whether the
+ * box is @ref sfFocused (that is, whether the box view owns the cursor),
+ * and arrows are drawn if the input string exceeds the size of the view
+ * (in either or both directions).
+ * @see TView::state
+ *
+ * Any selected (block-marked) characters are drawn with the appropriate
+ * palette.
+ */
+ virtual void draw();
+ /**
+ * Writes the number of bytes (obtained from a call to @ref dataSize())
+ * from the data string to the array given by `rec'. Used with
+ * @ref setData() for a variety of applications; for example, temporary
+ * storage, or passing on the input string to other views.
+ *
+ * Override getData() if you define TInputLine descendants to
+ * handle non-string data types. You can also use getData() to
+ * convert from a string to other data types after editing by TInputLine.
+ */
+ virtual void getData( void *rec );
+ /**
+ * Returns the default palette string.
+ */
+ virtual TPalette& getPalette() const;
+ /**
+ * Calls @ref TView::handleEvent(), then handles all mouse and keyboard
+ * events if the input box is selected.
+ *
+ * This member function implements the standard editing capability of the
+ * input box. Editing features include:
+ *
+ * -# block marking with mouse click and drag
+ * -# block deletion
+ * -# insert or overwrite control with automatic cursor shape change
+ * -# automatic and manual scrolling as required (depending on relative
+ * sizes of the @ref data string and size.x); see @ref size
+ * -# manual horizontal scrolling via mouse clicks on the arrow icons
+ * -# manual cursor movement by arrow, Home, and End keys (and their
+ * standard control-key equivalents)
+ * -# character and block deletion with Del and Ctrl-G
+ *
+ * The view is redrawn as required and the TInputLine data members are
+ * adjusted appropriately.
+ */
+ virtual void handleEvent( TEvent& event );
+ /**
+ * Sets @ref curPos, @ref firstPos and @ref selStart data members to 0.
+ *
+ * If `enable' is set to True, @ref selEnd is set to the length of the
+ * @ref data string, thereby selecting the whole input line; if `enable'
+ * is set to False, @ref selEnd is set to 0, thereby deselecting the
+ * whole line.
+ *
+ * Finally, the view is redrawn by calling @ref TView::drawView().
+ */
+ void selectAll( Boolean enable );
+ /**
+ * By default, copies the number of bytes (as returned by
+ * @ref dataSize()) from the `rec' array to the @ref data string, and
+ * then calls selectAll(True). This zeros @ref curPos, @ref firstPos and
+ * @ref selStart.
+ * @see TInputLine::selectAll
+ *
+ * Finally, @ref TView::drawView() is called to redraw the input box.
+ *
+ * Override setData() if you define descendants to handle non-string
+ * data types. You also use setData() to convert other data types to
+ * a string for editing by TInputLine.
+ */
+ virtual void setData( void *rec );
+ /**
+ * Called when the input box needs redrawing (for example, if the palette
+ * is changed) following a change of state.
+ *
+ * Calls @ref TView::setState() to set or clear the view's @ref state with
+ * the given `aState' bit(s).
+ *
+ * Then if `aState' is @ref sfSelected (or @ref sfActive and the input
+ * box is @ref sfSelected), selectAll(enable) is called (which, in turn,
+ * calls @ref TView::drawView()).
+ * @see TInputLine::selectAll
+ */
+ virtual void setState( ushort aState, Boolean enable );
+ /**
+ * Undocumented.
+ */
+ virtual Boolean valid( ushort cmd );
+ /**
+ * Undocumented.
+ */
+ void setValidator( TValidator* aValid );
+ /**
+ * The string containing the edited information.
+ */
+ char* data;
+ /**
+ * Maximum length allowed for string to grow (excluding the final 0).
+ */
+ int maxLen;
+ /**
+ * Index to insertion point (that is, to the current cursor position).
+ */
+ int curPos;
+ /**
+ * Index to the first displayed character.
+ */
+ int firstPos;
+ /**
+ * Index to the beginning of the selection area (that is, to the first
+ * character block marked).
+ */
+ int selStart;
+ /**
+ * Index to the end of the selection area (that is, to the last character
+ * block marked).
+ */
+ int selEnd;
+private:
+ Boolean canScroll( int delta );
+ int mouseDelta( TEvent& event );
+ int mousePos( TEvent& event );
+ void deleteSelect();
+ void adjustSelectBlock();
+ void saveState();
+ void restoreState();
+ Boolean checkValid(Boolean);
+ static const char rightArrow;
+ static const char leftArrow;
+ virtual const char *streamableName() const
+ { return name; }
+ TValidator* validator;
+ int anchor;
+#ifndef __UNPATCHED
+ int oldAnchor; // New variable to save another bit of state info
+#endif
+ char* oldData;
+ int oldCurPos;
+ int oldFirstPos;
+ int oldSelStart;
+ int oldSelEnd;
+protected:
+ /**
+ * Each streamable class needs a "builder" to allocate the correct memory
+ * for its objects together with the initialized virtual table pointers.
+ *
+ * This is achieved by calling this constructor with an argument of type
+ * @ref StreamableInit.
+ */
+ TInputLine( StreamableInit );
+ /**
+ * Writes to the output stream `os'.
+ */
+ virtual void write( opstream& os );
+ /**
+ * Reads from the input stream `is'.
+ */
+ virtual void *read( ipstream& is );
+public:
+ /**
+ * Undocumented.
+ */
+ static const char * const name;
+ /**
+ * Called to create an object in certain stream-reading situations.
+ */
+ static TStreamable *build();
+};
+
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TInputLine& cl )
+ { return is >> (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TInputLine*& cl )
+ { return is >> (void *&)cl; }
+
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TInputLine& cl )
+ { return os << (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TInputLine* cl )
+ { return os << (TStreamable *)cl; }
+
+#endif // Uses_TInputLine
+
+
+/* ---------------------------------------------------------------------- */
+/* TButton object */
+/* */
+/* Palette layout */
+/* 1 = Normal text */
+/* 2 = Default text */
+/* 3 = Selected text */
+/* 4 = Disabled text */
+/* 5 = Normal shortcut */
+/* 6 = Default shortcut */
+/* 7 = Selected shortcut */
+/* 8 = Shadow */
+/* ---------------------------------------------------------------------- */
+
+#if defined( Uses_TButton ) && !defined( __TButton )
+#define __TButton
+
+class TRect;
+class TEvent;
+class TDrawBuffer;
+
+/**
+ * One of the most used and easy to use views. A TButton object is a box with
+ * a title and a shadow that generates a command when pressed. A button can
+ * be selected by:
+ *
+ * -# typing the highlighted letter
+ * -# tabbing to the button and pressing Spacebar
+ * -# pressing Enter when the button is the default
+ * -# clicking on the button with a mouse
+ *
+ * With color and black-and-white palettes, a button has a three-dimensional
+ * look that moves when selected. On monochrome systems, a button is bordered
+ * by brackets, and other ASCII characters are used to indicate whether the
+ * button is default, selected, and so on.
+ *
+ * There can only be one default button in a window or dialog at any given
+ * time. Buttons that are peers in a group grab and release the default state
+ * via @ref evBroadcast messages.
+ * @short The button view
+ */
+class TButton : public TView
+{
+public:
+ /**
+ * Constructor.
+ *
+ * Creates a TButton class with the given size by calling the TView
+ * constructor.
+ *
+ * -# `bounds' is the bounding rectangle of the button
+ * -# `aTitle' is a pointer to a string which will be the title of the
+ * button
+ * -# `aCommand' is the command generated when the user presses the button.
+ * If the given `aCommand' is not enabled, @ref sfDisabled is set in the
+ * @ref state data member.
+ * -# `aFlags' is a combination of the following values:
+ *
+ * <pre>
+ * Constant Value Meaning
+ *
+* @ref bfNormal 0x00 Button is a normal, non-default button
+ *
+* @ref bfDefault 0x01 Button is the default button: if this bit is set this
+ * button will be highlighted as the default button
+ *
+* @ref bfLeftJust 0x02 Button label is left-justified; if this bit is clear
+ * the title will be centered
+ *
+* @ref bfBroadcast 0x04 Sends a broadcast message when pressed
+ *
+* @ref bfGrabFocus 0x08 The button grabs the focus when pressed
+ * </pre>
+ *
+ * It is the responsibility of the programmer to ensure that there is only
+ * one default button in a TGroup. However the default property can be
+ * passed to normal buttons by calling @ref makeDefault().
+ * @see TButton::amDefault
+ *
+ * The @ref bfLeftJust value can be added to @ref bfNormal or
+ * @ref bfDefault and affects the position of the text displayed within
+ * the button: if clear, the label is centered; if set, the label is
+ * left-justified.
+ *
+ * The @ref options data member is set to (@ref ofSelectable |
+ * @ref ofFirstClick | @ref ofPreProcess | @ref ofPostProcess) so that
+ * by default TButton responds to these events.
+ *
+ * @ref eventMask is set to @ref evBroadcast.
+ */
+ TButton( const TRect& bounds,
+ const char *aTitle,
+ ushort aCommand,
+ ushort aFlags
+ );
+ /**
+ * Destructor.
+ *
+ * Frees the memory assigned to the button's title, then destroys the view
+ * with TView::~TView.
+ * @see TView::~TView
+ */
+ ~TButton();
+ /**
+ * Draws the button by calling TButton::drawState(False).
+ * @see TButton::drawState
+ */
+ virtual void draw();
+ /**
+ * Called by @ref draw().
+ *
+ * Draws the button in the "down" state (no shadow) if down is True;
+ * otherwise, it draws the button in the "up" state if down is False.
+ *
+ * The appropriate palettes are used to reflect the current state (normal,
+ * default, disabled). The button label is positioned according to the
+ * @ref bfLeftJust bit in the @ref flags data member.
+ */
+ void drawState( Boolean down );
+ /**
+ * Returns a reference to the standard TButton palette string.
+ */
+ virtual TPalette& getPalette() const;
+ /**
+ * Handles TButton events.
+ *
+ * Responds to being pressed in any of three ways: mouse clicks on the
+ * button, its hot key being pressed, or being the default button when a
+ * cmDefault broadcast arrives.
+ *
+ * When the button is pressed, a command event is generated with
+ * @ref putEvent(), with the @ref command data member assigned to
+ * command and infoPtr set to this.
+ *
+ * Buttons also recognize the broadcast commands cmGrabDefault and
+ * cmReleaseDefault, to become or "unbecome" the default button, as
+ * appropriate, and cmCommandSetChanged, which causes them to check
+ * whether their commands have been enabled or disabled.
+ */
+ virtual void handleEvent( TEvent& event );
+ /**
+ * Changes the default property of this button. Used to make this button
+ * the default with `enable' set to True, or to release the default with
+ * `enable' set to False. Three notes:
+ *
+ * -# If `enable' is True, the button grabs the default property from
+ * the default button (if exists) with a cmGrabDefault broadcast
+ * command, so the default button losts the default property.
+ * -# If `enable' is False, the button releases the default property to
+ * the default button (if exists) with a cmReleaseDefault broadcast
+ * command, so the default button gains the default property.
+ * These changes are usually the result of tabbing within a dialog box.
+ * The status is changed without actually operating the button. The
+ * default button can be subsequently "pressed" by using the Enter key.
+ * This mechanism allows a normal button (without the @ref bfDefault
+ * bit set) to behave like a default button. The button is redrawn if
+ * necessary to show the new status.
+ * -# This method does nothing if the button is a default button (i.e. it
+ * has the @ref bfDefault bit set).
+ *
+ * @see TButton::flags
+ */
+ void makeDefault( Boolean enable );
+ /**
+ * This method is called whenever the button is pressed.
+ *
+ * Its task is to send a message. The message is a broadcast message to
+ * the owner of the view if the button has the @ref bfBroadcast bit set,
+ * otherwise the message is a command message.
+ * @see TButton::flags
+ *
+ * Used internally by @ref handleEvent() when a mouse click "press" is
+ * detected or when the default button is "pressed" with the Enter key.
+ */
+ virtual void press();
+ /**
+ * Changes the state of the button.
+ *
+ * Calls @ref setState(), then calls @ref drawView() to redraw the button
+ * if it has been made @ref sfSelected or @ref sfActive.
+ * @see TView::state
+ *
+ * If focus is received (that is, if `aState' is @ref sfFocused), the
+ * button grabs or releases default from the default button by calling
+ * @ref makeDefault().
+ */
+ virtual void setState( ushort aState, Boolean enable );
+ /**
+ * This is a pointer to the label text of the button.
+ */
+ const char *title;
+ /**
+ * A pointer to the shadow characters.
+ *
+ * These characters are used to draw the button shadow.
+ */
+ static const char * shadows;
+protected:
+ /**
+ * This is the command word of the event generated when this button is
+ * pressed.
+ */
+ ushort command;
+ /**
+ * This variabile is a bitmapped data member used to indicate whether
+ * button text is left-justified or centered.
+ *
+ * The individual flags are the various bfXXXX constants.
+ * @see TButton::TButton
+ */
+ uchar flags;
+ /**
+ * If True the button has the default property.
+ *
+ * The default button is automatically selected when the user presses the
+ * Enter key. If this variable is False, the button is a normal button.
+ */
+ Boolean amDefault;
+private:
+ void drawTitle( TDrawBuffer&, int, int, ushort, Boolean );
+ void pressButton( TEvent& );
+ TRect getActiveRect();
+ static const char * markers;
+ virtual const char *streamableName() const
+ { return name; }
+protected:
+ /**
+ * Constructor.
+ *
+ * Used to recover the view from a stream.
+ *
+ * Each streamable class needs a "builder" to allocate the correct memory
+ * for its objects together with the initialized virtual table pointers.
+ * This is achieved by calling this constructor with an argument of type
+ * @ref StreamableInit.
+ */
+ TButton( StreamableInit ): TView( streamableInit ) {};
+ /**
+ * Used to store the view in a stream.
+ *
+ * Writes to the output stream `os'.
+ */
+ virtual void write( opstream& os );
+ /**
+ * Used to recover the view from a stream.
+ *
+ * Reads from the input stream `is'.
+ */
+ virtual void *read( ipstream& is );
+public:
+ /**
+ * Undocumented.
+ */
+ static const char * const name;
+ /**
+ * Creates a new TButton.
+ *
+ * Used to recover the view from a stream. Called to create an object in
+ * certain stream-reading situations.
+ */
+ static TStreamable *build();
+};
+
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TButton& cl )
+ { return is >> (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TButton*& cl )
+ { return is >> (void *&)cl; }
+
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TButton& cl )
+ { return os << (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TButton* cl )
+ { return os << (TStreamable *)cl; }
+
+#endif // Uses_TButton
+
+
+#if defined( Uses_TSItem ) && !defined( __TSItem )
+#define __TSItem
+
+/**
+ * TSItem is a simple, non-view class providing a singly-linked list of
+ * character strings.
+ * This class is useful where the full flexibility of string collections are
+ * not needed.
+ * @short Non-view class providing a singly-linked list of character strings
+ */
+class TSItem
+{
+public:
+ /**
+ * Creates a TSItem object with the given values.
+ */
+ TSItem( const char *aValue, TSItem *aNext )
+ { value = newStr(aValue); next = aNext; }
+ /**
+ * Destroys the TSItem object by calling delete value.
+ */
+ ~TSItem() { delete value; }
+ /**
+ * The string for this TSItem object.
+ */
+ const char *value;
+ /**
+ * Pointer to the next TSItem object in the linked list.
+ */
+ TSItem *next;
+};
+
+#endif // Uses_TSItem
+
+/* ---------------------------------------------------------------------- */
+/* class TCluster */
+/* */
+/* Palette layout */
+/* 1 = Normal text */
+/* 2 = Selected text */
+/* 3 = Normal shortcut */
+/* 4 = Selected shortcut */
+/* 5 = Disabled text */
+/* ---------------------------------------------------------------------- */
+
+#if defined( Uses_TCluster ) && !defined( __TCluster )
+#define __TCluster
+
+class TRect;
+class TSItem;
+class TEvent;
+class TPoint;
+class TStringCollection;
+
+/**
+ * The base class used both by @ref TCheckBoxes and @ref TRadioButtons.
+ *
+ * A cluster is a group of controls that all respond in the same way.
+ * TCluster is an abstract class from which the useful group controls such as
+ * @ref TRadioButtons, @ref TCheckBoxes, and @ref TMonoSelector are derived.
+ *
+ * Cluster controls are often associated with @ref TLabel objects, letting you
+ * select the control by selecting on the adjacent explanatory label.
+ * Clusters are used to toggle bit values in the @ref value data member, which
+ * is of type unsigned long.
+ *
+ * The two standard descendants of TCluster use different algorithms when
+ * changing value: @ref TCheckBoxes simply toggles a bit, while
+ * @ref TRadioButtons toggles the enabled one and clears the previously
+ * selected bit.
+ * Both inherit most of their behavior from TCluster.
+ * @short The base class of TCheckBoxes and TRadioButtons
+ */
+class TCluster : public TView
+{
+public:
+ /**
+ * Constructor.
+ *
+ * Calls TView::TView(bounds) to create a TCluster object with the given
+ * `bounds', where `bounds' is the desired bounding rectangle of the view.
+ * The @ref strings data member is set to `aStrings', a pointer to a
+ * linked list of @ref TSItem objects, one for each cluster item.
+ * Every @ref TSItem object stores the caption of the related item.
+ * @see TView::TView
+ *
+ * TCluster handles a maximum of 32 items.
+ * The constructor clears the @ref value and @ref sel data members.
+ */
+ TCluster( const TRect& bounds, TSItem *aStrings );
+ /**
+ * Deletes the cluster's string collection, then destroys the view with
+ * TView::~TView().
+ * @see TView::~TView
+ */
+ ~TCluster();
+ /**
+ * Returns the size of the data record of this view (composed by the
+ * @ref value data member).
+ * Must be overridden in derived classes that change value or add other
+ * data members, in order to work with @ref getData() and @ref setData().
+ *
+ * It returns `sizeof(short)' for compatibility with earlier TV, even if
+ * @ref value data member is now an unsigned long; @ref TMultiCheckBoxes
+ * returns sizeof(long).
+ */
+ virtual ushort dataSize();
+ /**
+ * Redraws the view.
+ *
+ * Called within the @ref draw() method of derived classes to draw the
+ * box in front of the string for each item in the cluster.
+ * @see TCheckBoxes::draw
+ * @see TRadioButtons::draw
+ * @see TView::draw
+ *
+ * Parameter `icon' is a five-character string that points to a string
+ * which will be written at the left side of every item (" [ ] " for check
+ * boxes, " () " for radio buttons).
+ *
+ * Parameter `marker' is the character to use to indicate the box has been
+ * marked ("X" for check boxes, "." for radio buttons).
+ * A space character will be used if the box is unmarked.
+ * @see TCluster::drawMultiBox
+ */
+ void drawBox( const char *icon, char marker );
+ /**
+ * Redraws the view.
+ *
+ * Called within the @ref draw() method of derived classes.
+ * @see TCheckBoxes::draw
+ * @see TRadioButtons::draw
+ * @see TView::draw
+ *
+ * Parameter `icon' points to a string which will be written at the left
+ * side of every item. For example @ref TCheckBoxes::draw() calls this
+ * method with string " [ ] " as `icon' parameter.
+ * @ref TRadioButton::draw() calls this method with string " ( ) " as
+ * parameter `icon'.
+ *
+ * Parameter `marker' is a pointer to an array of 2 characters. If the
+ * item is not checked the first character will be written. Otherwise the
+ * second character will be used.
+ * @see TCluster::drawBox
+ */
+ void drawMultiBox(const char *icon, const char* marker);
+ /**
+ * Reads the data record of this view.
+ *
+ * Writes the @ref value data member to the given `rec' address and calls
+ * @ref drawView().
+ *
+ * Must be overridden in derived classes that change the value data member
+ * in order to work with @ref dataSize() and @ref setData().
+ */
+ virtual void getData( void *rec );
+ /**
+ * Returns the help context of the selected item.
+ *
+ * The help context is calculated by summing view variable @ref helpCtx
+ * and the number of the currently selected item (0 for the first item,
+ * 1 for the second item, etc). Redefines @ref TView::getHelpCtx().
+ *
+ * Enables you to have separate help contexts for each item in the
+ * cluster. Use it to reserve a range of help contexts equal to
+ * @ref helpCtx plus the number of cluster items minus one.
+ */
+ ushort getHelpCtx();
+ /**
+ * Returns a reference to the standard TCluster palette.
+ */
+ virtual TPalette& getPalette() const;
+ /**
+ * Calls @ref TView::handleEvent(), then handles all mouse and keyboard
+ * events appropriate to this cluster.
+ *
+ * Controls are selected by mouse click or cursor movement keys (including
+ * Spacebar).
+ * The cluster is redrawn to show the selected controls.
+ */
+ virtual void handleEvent( TEvent& event );
+ /**
+ * Called by the @ref draw() method redefined both in @ref TCheckBoxes and
+ * @ref TRadioButtons classes to determine which items are marked. mark()
+ * should be overridden to return True if the item'th control in the
+ * cluster is marked; otherwise, it should return False.
+ * @see TCheckBoxes::draw
+ * @see TRadioButton::draw
+ *
+ * The default mark() returns False. Redefined in @ref TCheckBoxes and
+ * in @ref TRadioButtons.
+ * @see TCheckBoxes::mark
+ * @see TRadioButtons::mark
+ */
+ virtual Boolean mark( int item );
+ /**
+ * It just returns `(uchar)(mark(item) == True)'.
+ */
+ virtual uchar multiMark( int item );
+ /**
+ * Called by @ref handleEvent() when the item'th control in the cluster is
+ * pressed either by mouse click or keyboard event.
+ *
+ * This member function does nothing and must be overridden. Redefined in
+ * @ref TCheckBoxes and in @ref TRadioButtons.
+ * @see TCheckBoxes::press
+ * @see TRadioButtons::press
+ */
+ virtual void press( int item );
+ /**
+ * Called by @ref handleEvent() to move the selection bar to the item'th
+ * control of the cluster.
+ *
+ * This member function does nothing and must be overridden. Redefined in
+ * @ref TRadioButtons.
+ * @see TRadioButtons::movedTo
+ */
+ virtual void movedTo( int item );
+ /**
+ * Writes the data record of this view.
+ * Reads the @ref value data member from the given `rec' address and calls
+ * @ref drawView().
+ *
+ * Must be overridden in derived cluster types that require other data
+ * members to work with @ref dataSize() and @ref getData().
+ */
+ virtual void setData( void *rec );
+ /**
+ * Changes the state of the view.
+ * Calls TView::setState(aState), then calls @ref drawView() if `aState'
+ * is @ref sfSelected.
+ * @see TView::setState
+ * @see TView::state
+ */
+ virtual void setState( ushort aState, Boolean enable );
+ /**
+ * Sets the state of one or more items.
+ *
+ * `aMask` is a bitmap which specifies what items to enable or disable.
+ * `enable' is the action to perform: False to disable, True to enable.
+ */
+ virtual void setButtonState(unsigned long aMask, Boolean enable);
+protected:
+ /**
+ * This variable stores the item status bitmap (current value of the
+ * control). Its initial value is 0.
+ *
+ * The actual meaning of this data member is determined by the member
+ * functions developed in the classes derived from TCluster.
+ *
+ * For example, @ref TCheckBoxes interprets each of the 32 bits of value
+ * as the state (on or off) of 32 distinct check boxes.
+ * If bit 0 is set the first box is checked, if bit 1 is set the second
+ * box is checked, etc. If a bit is cleared the related box is
+ * unchecked.
+ *
+ * In @ref TRadioButtons, value can represent the state of a cluster of
+ * up to 2^32 buttons, since only one radio button can be "on" at any one
+ * time.
+ *
+ * Note: unsigned long is currently a 32-bit unsigned integer giving a
+ * range of 0 to 2^32-1.
+ */
+ unsigned long value;
+ /**
+ * This variable stores a bitmap which selectively enables cluster items.
+ *
+ * If bit 0 is set the first item is enabled, if bit 1 is set the second
+ * item is enabled, etc. If a bit is cleared the related item is
+ * disabled. Its initial value is 0xffffffff.
+ */
+ unsigned long enableMask;
+ /**
+ * This integer contains the current selected item.
+ *
+ * If its value is 0 the first item is selected, if its value is 1 the
+ * second item is selected, etc. Its initial value is 0.
+ */
+ int sel;
+ /**
+ * This object contains all the item captions.
+ */
+ TStringCollection *strings;
+private:
+ int column( int item );
+ int findSel( TPoint p );
+ int row( int item );
+ void moveSel(int, int);
+ virtual const char *streamableName() const
+ { return name; }
+protected:
+ /**
+ * Constructor.
+ *
+ * Used to recover the view from a stream.
+ * Each streamable class needs a "builder" to allocate the correct memory
+ * for its objects together with the initialized virtual table pointers.
+ * This is achieved by calling this constructor with an argument of type
+ * @ref StreamableInit.
+ */
+ TCluster( StreamableInit );
+ /**
+ * Used to store the view in a stream.
+ * Writes to the output stream `os'.
+ */
+ virtual void write( opstream& os );
+ /**
+ * Used to recover the view from a stream.
+ * Reads from the input stream `is'.
+ */
+ virtual void *read( ipstream& is );
+public:
+ /**
+ * Returns True if the specified item is enabled.
+ *
+ * Parameter `item' specifies which item to check. 0 is the first item,
+ * 1 is the second item, etc.
+ * @see TCluster::enableMask
+ */
+ Boolean buttonState(int item);
+ /**
+ * Undocumented.
+ */
+ static const char * const name;
+ /**
+ * Creates a new TCluster view.
+ *
+ * Called to create an object in certain stream-reading situations.
+ */
+ static TStreamable *build();
+};
+
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TCluster& cl )
+ { return is >> (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TCluster*& cl )
+ { return is >> (void *&)cl; }
+
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TCluster& cl )
+ { return os << (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TCluster* cl )
+ { return os << (TStreamable *)cl; }
+
+#endif // Uses_TCluster
+
+
+/* ---------------------------------------------------------------------- */
+/* class TRadioButtons */
+/* */
+/* Palette layout */
+/* 1 = Normal text */
+/* 2 = Selected text */
+/* 3 = Normal shortcut */
+/* 4 = Selected shortcut */
+/* ---------------------------------------------------------------------- */
+
+
+#if defined( Uses_TRadioButtons ) && !defined( __TRadioButtons )
+#define __TRadioButtons
+
+class TRect;
+class TSItem;
+
+/**
+ * This view implements a cluster of radio buttons.
+ *
+ * TRadioButtons objects are clusters controls with the special property that
+ * only one control button in the cluster can be selected at any moment.
+ * Selecting an unselected button will automatically deselect (restore) the
+ * previously selected button.
+ *
+ * The user can select a button with mouse clicks, cursor movements, and
+ * Alt-letter shortcuts. Each radio button can be highlighted and selected
+ * (with the Spacebar). An "." appears in the radio button when it is
+ * selected.
+ *
+ * Other parts of your application typically examine the state of the radio
+ * buttons to determine which option has been chosen by the user.
+ *
+ * Radio button clusters often have associated @ref TLabel objects to give
+ * the user an overview of the clustered options.
+ *
+ * TRadioButtons interprets @ref value as the number of the "pressed" button,
+ * with the first button in the cluster being number 0.
+ * @see TCheckBoxes
+ * @short Cluster of radio buttons
+ */
+class TRadioButtons : public TCluster
+{
+public:
+ /**
+ * Constructor.
+ *
+ * `bounds' is the bounding rectangle of the view. `aStrings' points to
+ * a linked list of @ref TSItem objects, one for each radio button, and is
+ * assigned to @ref strings data member.
+ *
+ * Every @ref TSItem object stores the caption of the related radio button.
+ * TRadioButtons handles a maximum of 2^32 radio buttons.
+ *
+ * The @ref sel and @ref value data members are set to zero; @ref options
+ * is set to (@ref ofSelectable | @ref ofFirstClick | @ref ofPreProcess |
+ * @ref ofPostProcess).
+ */
+ TRadioButtons( const TRect& bounds, TSItem *aStrings );
+ /**
+ * Draws the TRadioButtons object by calling the inherited
+ * @ref TCluster::drawBox() member function.
+ *
+ * The default radio button is " ( ) " when unselected and " (.) " when
+ * selected. Note that if the boundaries of the view are sufficiently
+ * wide, radio buttons can be displayed in multiple columns.
+ */
+ virtual void draw();
+ /**
+ * Returns True if the specified radio button is pressed; that is, if
+ * `item' is equal to @ref value data member.
+ *
+ * Integer `item' specifies which radio button to check. 0 is the first
+ * radio button, 1 is the second radio button, etc.
+ */
+ virtual Boolean mark( int item );
+ /**
+ * Called whenever the user moves the selection to another radio button.
+ *
+ * Sets @ref value data member to `item'. This will press `item' radio
+ * button and release the previously pressed radio button.
+ * @see TCluster::movedTo
+ * @see TCluster::value
+ */
+ virtual void movedTo( int item );
+ /**
+ * Called to press another radio button.
+ *
+ * Integer `item' specifies which radio button to press. The previous
+ * radio button is released. 0 is the first radio button, 1 the second
+ * radio button, etc.
+ * @see TCluster::press
+ */
+ virtual void press( int item );
+ /**
+ * Writes the data record of this view.
+ *
+ * This method calls @ref TCluster::setData() and after sets @ref sel data
+ * member to @ref value data member. This will move the selection on the
+ * currently pressed radio button.
+ */
+ virtual void setData( void *rec );
+private:
+ static const char * button;
+ virtual const char *streamableName() const
+ { return name; }
+protected:
+ /**
+ * Constructor.
+ *
+ * Used to recover the view from a stream.
+ * Each streamable class needs a "builder" to allocate the correct memory
+ * for its objects together with the initialized virtual table pointers.
+ * This is achieved by calling this constructor with an argument of type
+ * @ref StreamableInit.
+ */
+ TRadioButtons( StreamableInit );
+public:
+ /**
+ * Undocumented.
+ */
+ static const char * const name;
+ /**
+ * Creates a new TRadioButtons view.
+ *
+ * Called to create an object in certain stream-reading situations.
+ */
+ static TStreamable *build();
+};
+
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TRadioButtons& cl )
+ { return is >> (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TRadioButtons*& cl )
+ { return is >> (void *&)cl; }
+
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TRadioButtons& cl )
+ { return os << (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TRadioButtons* cl )
+ { return os << (TStreamable *)cl; }
+
+inline TRadioButtons::TRadioButtons( const TRect& bounds, TSItem *aStrings ) :
+ TCluster( bounds, aStrings )
+{
+}
+
+#endif // Uses_TRadioButtons
+
+
+/* ---------------------------------------------------------------------- */
+/* TCheckBoxes */
+/* */
+/* Palette layout */
+/* 1 = Normal text */
+/* 2 = Selected text */
+/* 3 = Normal shortcut */
+/* 4 = Selected shortcut */
+/* ---------------------------------------------------------------------- */
+
+#if defined( Uses_TCheckBoxes ) && !defined( __TCheckBoxes )
+#define __TCheckBoxes
+
+class TRect;
+class TSItem;
+
+/**
+ * This view implements a cluster of check boxes.
+ *
+ * TCheckBoxes is a specialized cluster of one to 32 controls. Unlike radio
+ * buttons, any number of check boxes can be marked independently, so the
+ * cluster may have one or more boxes checked by default.
+ *
+ * The user can mark check boxes with mouse clicks, cursor movements, and
+ * Alt-letter shortcuts. Each check box can be highlighted and toggled on/off
+ * (with the Spacebar). An "X" appears in the box when it is selected.
+ *
+ * Other parts of your application typically examine the state of the check
+ * boxes to determine which options have been chosen by the user.
+ *
+ * Check box clusters often have associated @ref TLabel objects to give the
+ * user an overview of the clustered options.
+ * @see TRadioButtons
+ * @short Cluster of check boxes
+ */
+class TCheckBoxes : public TCluster
+{
+public:
+ /**
+ * Constructor.
+ *
+ * `bounds' is the bounding rectangle of the view. `aStrings' points to
+ * a linked list of @ref TSItem objects, one for each check box, and is
+ * assigned to @ref strings data member.
+ *
+ * Every @ref TSItem object stores the caption of the related check box.
+ * TCheckBoxes handles a maximum of 32 check boxes.
+ *
+ * The @ref sel and @ref value data members are set to zero; @ref options
+ * is set to (@ref ofSelectable | @ref ofFirstClick | @ref ofPreProcess |
+ * @ref ofPostProcess).
+ */
+ TCheckBoxes( const TRect& bounds, TSItem *aStrings);
+ /**
+ * Draws the TCheckBoxes object by calling the inherited
+ * @ref TCluster::drawBox() member function.
+ *
+ * The default check box is " [ ] " when unselected and " [X] " when
+ * selected. Note that if the boundaries of the view are sufficiently
+ * wide, check boxes can be displayed in multiple columns.
+ */
+ virtual void draw();
+ /**
+ * Returns True if the item'th bit of the @ref value data member is set;
+ * that is, if the item'th check box is marked.
+ *
+ * These bits have no instrinsic meaning. You are free to override mark(),
+ * @ref press(), and other check box member functions to give the
+ * @ref value data member your own interpretation.
+ *
+ * By default, the items are numbered 0 through 31 and each bit of
+ * @ref value data member represents the state (on or off) of a check box.
+ */
+ virtual Boolean mark( int item );
+ /**
+ * Called to toggle the state of a check box: toggles the item'th bit of
+ * @ref value data member.
+ *
+ * These bits have no instrinsic meaning. You are free to override
+ * @ref mark(), press(), and other check box member functions to give
+ * the @ref value data member your own interpretation.
+ */
+ virtual void press( int item );
+private:
+ static const char * button;
+ virtual const char *streamableName() const
+ { return name; }
+protected:
+ /**
+ * Constructor.
+ *
+ * Used to recover the view from a stream.
+ * Each streamable class needs a "builder" to allocate the correct memory
+ * for its objects together with the initialized virtual table pointers.
+ * This is achieved by calling this constructor with an argument of type
+ * @ref StreamableInit.
+ */
+ TCheckBoxes( StreamableInit );
+public:
+ /**
+ * Undocumented.
+ */
+ static const char * const name;
+ /**
+ * Creates a new TCheckBoxes view.
+ *
+ * Called to create an object in certain stream-reading situations.
+ */
+ static TStreamable *build();
+};
+
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TCheckBoxes& cl )
+ { return is >> (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TCheckBoxes*& cl )
+ { return is >> (void *&)cl; }
+
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TCheckBoxes& cl )
+ { return os << (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TCheckBoxes* cl )
+ { return os << (TStreamable *)cl; }
+
+inline TCheckBoxes::TCheckBoxes( const TRect& bounds, TSItem *aStrings) :
+ TCluster( bounds, aStrings )
+{
+}
+
+#endif // Uses_TCheckBoxes
+
+
+#if defined( Uses_TMultiCheckBoxes ) && !defined( __TMultiCheckBoxes )
+#define __TMultiCheckBoxes
+
+const unsigned short cfOneBit = 0x0101,
+ cfTwoBits = 0x0203,
+ cfFourBits = 0x040F,
+ cfEightBits = 0x08FF;
+
+/* ---------------------------------------------------------------------- */
+/* TMultiCheckBoxes */
+/* */
+/* Palette layout */
+/* 1 = Normal text */
+/* 2 = Selected text */
+/* 3 = Normal shortcut */
+/* 4 = Selected shortcut */
+/* ---------------------------------------------------------------------- */
+
+class TRect;
+class TSItem;
+
+/**
+ * A cluster of multistate check boxes.
+ * @short Implements a cluster of multistate check boxes
+ */
+class TMultiCheckBoxes : public TCluster
+{
+public:
+ /**
+ * Constructs a cluster of multistate check boxes by first calling the
+ * constructor inherited from @ref TCluster, then setting the private data
+ * members selRange and flags to the values passed in `aSelRange' and
+ * `aFlags', respectively, and allocating a dynamic copy of `aStates' and
+ * assigning it to private data member states.
+ */
+ TMultiCheckBoxes(TRect& bounds, TSItem *aStrings, uchar aSelRange,
+ ushort aFlags, const char* aStates);
+ /**
+ * Disposes of the multistate check boxes object by deallocating the
+ * dynamic string states and calling the destructor inherited from
+ * @ref TCluster.
+ * @see TCluster::~TCluster
+ */
+ ~TMultiCheckBoxes();
+ /**
+ * Returns the size of the data transferred by @ref getData() and
+ * @ref setData(), which is sizeof(long int).
+ */
+ virtual ushort dataSize();
+ /**
+ * Draws the cluster of multistate check boxes by drawing each check box
+ * in turn, using the same box as a regular check box, but using the
+ * characters in states data member to represent the state of each box
+ * instead of the standard blank and "X".
+ */
+ virtual void draw();
+ /**
+ * Typecasts `rec' into a long int and copies value into it, then calls
+ * @ref drawView() to redraw the cluster to reflect the current state of
+ * the check boxes.
+ * @see TMultiCheckBoxes::dataSize
+ * @see TMultiCheckBoxes::setData
+ */
+ virtual void getData(void *rec);
+ /**
+ * Returns the state of the item'th check box in the cluster.
+ */
+ virtual uchar multiMark(int item);
+ /**
+ * Changes the state of the item'th check box in the cluster. Unlike
+ * regular check boxes that simply toggle on and off, multistate check
+ * boxes cycle through all the states available to them.
+ */
+ virtual void press( int item );
+ /**
+ * Typecasts `rec' into a long int, and copies its value into value, then
+ * calls @ref drawView() to redraw the checkboxes to reflect their new
+ * states.
+ * @see TMultiCheckBoxes::dataSize
+ * @see TMultiCheckBoxes::getData
+ */
+ virtual void setData(void*);
+private:
+ uchar selRange;
+ /**
+ * The flags data member is a bitmapped field that holds a combination of
+ * the cfXXXX constants, defined in `dialogs.h'.
+ *
+ * <pre>
+ * Constant Value Meaning
+ *
+ * cfOneBit 0x0101 1 bit per checkbox
+ * cfTwoBits 0x0203 2 bits per check box
+ * cfFourBits 0x040f 4 bits per check box
+ * cfEightBits 0x08ff 8 bits per check box
+ * </pre>
+ *
+ * Multistate check boxes use the cfXXXX constants to specify how many
+ * bits in the value field represent the state of each check box.
+ *
+ * The high-order word of the constant indicates the number of bits used
+ * for each check box, and the low-order word holds a bit mask used to
+ * read those bits.
+ *
+ * For example, cfTwoBits indicates that value uses two bits for each
+ * check box (making a maximum of 16 check boxes in the cluster), and
+ * masks each check box's values with the mask 0x03.
+ */
+ ushort flags;
+ char* states;
+#ifndef __UNPATCHED
+ virtual const char *streamableName() const
+ { return name; }
+#endif
+protected:
+ /**
+ * Each streamable class needs a "builder" to allocate the correct memory
+ * for its objects together with the initialized virtual table pointers.
+ * This is achieved by calling this constructor with an argument of type
+ * @ref StreamableInit.
+ */
+ TMultiCheckBoxes( StreamableInit );
+ /**
+ * Writes to the output stream `os'.
+ */
+ virtual void write( opstream& os );
+ /**
+ * Reads from the input stream `is'.
+ */
+ virtual void *read( ipstream& is );
+public:
+ /**
+ * Undocumented.
+ */
+ static const char * const name;
+ /**
+ * Called to create an object in certain stream-reading situations.
+ */
+ static TStreamable *build();
+};
+
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TMultiCheckBoxes& cl )
+ { return is >> (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TMultiCheckBoxes*& cl )
+ { return is >> (void *&)cl; }
+
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TMultiCheckBoxes& cl )
+ { return os << (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TMultiCheckBoxes* cl )
+ { return os << (TStreamable *)cl; }
+
+#endif
+
+
+#if defined( Uses_TListBox ) && !defined( __TListBox )
+#define __TListBox
+
+class TRect;
+class TScrollBar;
+class TCollection;
+
+/**
+ * Data record used by TListBox.
+ * @see TListBox
+ * @see TListBox::dataSize
+ * @see TListBox::getData
+ * @see TListBox::setData
+ */
+struct TListBoxRec
+{
+ /**
+ * Undocumented.
+ */
+ TCollection *items;
+ /**
+ * Undocumented.
+ */
+ ushort selection;
+};
+
+/**
+ * TListBox is derived from @ref TListViewer to help you set up the most
+ * commonly used list boxes, namely those displaying collections of strings,
+ * such as file names.
+ *
+ * TListBox objects represent displayed lists of such items in one or more
+ * columns with an optional vertical scroll bar.
+ * @short Displays a list of items, in one or more columns, with an optional
+ * vertical scroll bar
+ */
+class TListBox : public TListViewer
+{
+public:
+ /**
+ * Creates a list box control with the given size, number of columns, and
+ * a vertical scroll bar referenced by the `aScrollBar' pointer.
+ *
+ * This constructor calls TListViewer::TListViewer(bounds, aNumCols, 0,
+ * aScrollBar), thereby supressing the horizontal scroll bar.
+ * @see TListViewer::TListViewer
+ *
+ * The @ref items data member is initially empty collection, and the
+ * inherited @ref range data member is set to zero.
+ *
+ * Your application must provide a suitable @ref TCollection holding the
+ * strings (or other objects) to be listed. The @ref items data member
+ * must be set to point to this collection using @ref newList().
+ */
+ TListBox( const TRect& bounds, ushort aNumCols, TScrollBar *aScrollBar );
+ /**
+ * Undocumented.
+ */
+ ~TListBox();
+ /**
+ * Returns the size of the data read and written to the records passed to
+ * @ref getData() and @ref setData(). These three member functions are
+ * useful for initializing groups.
+ *
+ * By default, dataSize() returns the size of @ref TCollection plus the
+ * size of ushort (for items and the selected item). You may need to
+ * override this member function for your own applications.
+ * @see TListBox::items
+ * @see TListBoxRec
+ */
+ virtual ushort dataSize();
+ /**
+ * Writes TListBox object data to the target record. By default, getData()
+ * writes the current @ref items and @ref focused data members to `rec'.
+ * You may need to override this member function for your own applications.
+ * @see TListBox::dataSize
+ * @see TListBox::setData
+ */
+ virtual void getData( void *rec );
+ /**
+ * Sets a string in `dest' from the calling TListBox object. By default,
+ * the returned string is obtained from the item'th item in the
+ * @ref TCollection using (char *) ((list())->at(item)).
+ * @see TCollection::at
+ * @see TListBox::list
+ *
+ * If @ref list() returns a collection containing non-string objects, you
+ * will need to override this member function. If @ref list() returns 0,
+ * getText() sets `dest' to " ".
+ */
+ virtual void getText( char *dest, short item, short maxLen );
+ /**
+ * Creates a new list by deleting the current one and replacing it with
+ * the given `aList'.
+ */
+ virtual void newList( TCollection *aList );
+ /**
+ * Replaces the current list with @ref items and @ref focused values read
+ * from the given `rec' array. setData() calls @ref newList() so that the
+ * new list is displayed with the correct focused item. As with
+ * @ref getData() and @ref dataSize(), you may need to override this
+ * member function for your own applications.
+ */
+ virtual void setData( void *rec );
+ /**
+ * Returns the private items pointer.
+ */
+ TCollection *list();
+private:
+ virtual const char *streamableName() const
+ { return name; }
+protected:
+ /**
+ * Points at the collection of items to scroll through.
+ *
+ * Typically, this might be a collection of strings representing the item
+ * texts. User can access this private member only by calling the function
+ * @ref list().
+ */
+ TCollection *items;
+ /**
+ * Each streamable class needs a "builder" to allocate the correct memory
+ * for its objects together with the initialized virtual table pointers.
+ * This is achieved by calling this constructor with an argument of type
+ * @ref StreamableInit.
+ */
+ TListBox( StreamableInit );
+ /**
+ * Writes to the output stream `os'.
+ */
+ virtual void write( opstream& os );
+ /**
+ * Reads from the input stream `is'.
+ */
+ virtual void *read( ipstream& is );
+public:
+ /**
+ * Undocumented.
+ */
+ static const char * const name;
+ /**
+ * Called to create an object in certain stream-reading situations.
+ */
+ static TStreamable *build();
+};
+
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TListBox& cl )
+ { return is >> (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TListBox*& cl )
+ { return is >> (void *&)cl; }
+
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TListBox& cl )
+ { return os << (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TListBox* cl )
+ { return os << (TStreamable *)cl; }
+
+inline TCollection *TListBox::list()
+{
+ return items;
+}
+
+#endif // Uses_TListBox
+
+
+/* ---------------------------------------------------------------------- */
+/* class TStaticText */
+/* */
+/* Palette layout */
+/* 1 = Text */
+/* ---------------------------------------------------------------------- */
+
+#if defined( Uses_TStaticText ) && !defined( __TStaticText )
+#define __TStaticText
+
+class TRect;
+
+/**
+ * Used to show fixed text in a window.
+ *
+ * TStaticText objects represent the simplest possible views: they contain
+ * fixed text and they ignore all events passed to them. They are generally
+ * used as messages or passive labels.
+ *
+ * Descendants of TStaticText, such as @ref TLabel or @ref TParamText
+ * objects, usually perform more active roles. Use @ref TParamText if you
+ * want to show dynamic text also, where dynamic means user-selectable at
+ * run-time.
+ */
+class TStaticText : public TView {
+ virtual const char *
+ streamableName() const
+ {
+ return name;
+ }
+
+protected:
+ TStaticText(StreamableInit);
+ virtual void write(opstream &os);
+ virtual void *read(ipstream &is);
+
+ /**
+ * A pointer to the (constant) text string to be displayed in the view.
+ */
+ std::string text;
+
+public:
+ TStaticText(const TRect &bounds, const std::string &aText);
+
+ virtual void draw();
+
+ virtual TPalette &getPalette() const;
+
+ virtual std::string getText() const;
+
+ /**
+ * The streamable name of this type of TStaticText.
+ */
+ static const char *const name;
+
+ static TStreamable *build();
+};
+
+/**
+ * Undocumented.
+ */
+inline ipstream &
+operator>>(ipstream &is, TStaticText &cl)
+{
+ return is >> (TStreamable&)cl;
+}
+
+/**
+ * Undocumented.
+ */
+inline ipstream &
+operator>>(ipstream &is, TStaticText *&cl)
+{
+ return is >> (void *&)cl;
+}
+
+/**
+ * Undocumented.
+ */
+inline opstream &
+operator<<(opstream &os, TStaticText &cl)
+{
+ return os << (TStreamable&)cl;
+}
+
+/**
+ * Undocumented.
+ */
+inline opstream &
+operator<<(opstream &os, TStaticText* cl)
+{
+ return os << (TStreamable *)cl;
+}
+
+#endif // Uses_TStaticText
+
+
+/* ---------------------------------------------------------------------- */
+/* class TParamText */
+/* */
+/* Palette layout */
+/* 1 = Text */
+/* ---------------------------------------------------------------------- */
+
+#if defined( Uses_TParamText ) && !defined( __TParamText )
+#define __TParamText
+
+class TRect;
+
+/**
+ * Used to show dynamic, parameterized text in a window.
+ *
+ * TParamText is derived from @ref TStaticText. It handles parameterized text
+ * strings for formatted output. Check @ref TStaticText if you want to show
+ * only fixed text (non run-time selectable).
+ *
+ * @short Shows dynamic, parameterized text in a window
+ */
+class TParamText : public TStaticText {
+ virtual const char *
+ streamableName() const
+ {
+ return name;
+ }
+
+protected:
+ TParamText(StreamableInit);
+ virtual void write(opstream &os);
+ virtual void *read(ipstream &is);
+
+public:
+ TParamText(const TRect &bounds);
+ ~TParamText();
+
+ virtual int getTextLen() const;
+
+ virtual void setText(const char fmt[], ...);
+
+ /**
+ * The streamable name of this type of TParamText.
+ */
+ static const char *const name;
+
+ static TStreamable *build();
+};
+
+/**
+ * Undocumented.
+ */
+inline ipstream &
+operator>>(ipstream &is, TParamText &cl)
+{
+ return is >> (TStreamable &) cl;
+}
+
+/**
+ * Undocumented.
+ */
+inline ipstream &
+operator>>(ipstream &is, TParamText * &cl)
+{
+ return is >> (void *&)cl;
+}
+
+/**
+ * Undocumented.
+ */
+inline opstream &
+operator<<(opstream &os, TParamText &cl)
+{
+ return os << (TStreamable &) cl;
+}
+
+/**
+ * Undocumented.
+ */
+inline opstream &
+operator<<(opstream &os, TParamText *cl)
+{
+ return os << (TStreamable *) cl;
+}
+
+#endif // Uses_TParamText
+
+
+/* ---------------------------------------------------------------------- */
+/* class TLabel */
+/* */
+/* Palette layout */
+/* 1 = Normal text */
+/* 2 = Selected text */
+/* 3 = Normal shortcut */
+/* 4 = Selected shortcut */
+/* ---------------------------------------------------------------------- */
+
+#if defined( Uses_TLabel ) && !defined( __TLabel )
+#define __TLabel
+
+class TRect;
+class TEvent;
+class TView;
+
+/**
+ * Used to attach a label to a given view.
+ *
+ * A TLabel object is a piece of text in a view that can be selected
+ * (highlighted) by a mouse click, cursor keys, or Alt-letter hot key.
+ * The label is usually "attached" via a pointer (called @ref link) to some
+ * other control view such as an input line, cluster, or list viewer to guide
+ * the user.
+ * @see TCluster
+ * @see TInputLine
+ * @see TListViewer
+ *
+ * Useful mainly with input lines, list boxes, check boxes and radio buttons,
+ * since they don't have a default caption.
+ * @see TCheckBoxes
+ * @see TListBox
+ * @see TRadioButtons
+ * @short Used to attach a label to a view
+ */
+class TLabel : public TStaticText {
+ virtual const char *
+ streamableName() const
+ {
+ return name;
+ }
+
+ void focusLink(TEvent &);
+
+protected:
+ TLabel(StreamableInit);
+ virtual void write(opstream &os);
+ virtual void *read(ipstream &is);
+
+ /**
+ * This is a pointer to the view to focus when the user
+ * selects this label.
+ */
+ TView *link;
+
+ /**
+ * If True, the label and its linked control has been
+ * selected and will be highlighted. Otherwise, light is
+ * set to False.
+ */
+ Boolean light;
+
+public:
+ TLabel(const TRect &bounds, const std::string &aText, TView *aLink);
+ virtual void draw();
+ virtual TPalette& getPalette() const;
+ virtual void handleEvent(TEvent &event);
+ virtual void shutDown();
+
+ /**
+ * The streamable name of this type of TLabel.
+ */
+ static const char *const name;
+
+ static TStreamable *build();
+};
+
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TLabel& cl )
+ { return is >> (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TLabel*& cl )
+ { return is >> (void *&)cl; }
+
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TLabel& cl )
+ { return os << (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TLabel* cl )
+ { return os << (TStreamable *)cl; }
+
+#endif // Uses_TLabel
+
+
+/* ---------------------------------------------------------------------- */
+/* class THistoryViewer */
+/* */
+/* Palette layout */
+/* 1 = Active */
+/* 2 = Inactive */
+/* 3 = Focused */
+/* 4 = Selected */
+/* 5 = Divider */
+/* ---------------------------------------------------------------------- */
+
+#if defined( Uses_THistoryViewer ) && !defined( __THistoryViewer )
+#define __THistoryViewer
+
+class TRect;
+class TScrollBar;
+
+/**
+ * THistoryViewer is a rather straightforward descendant of @ref TListViewer.
+ * It is used by the history list system, and appears inside the history
+ * window set up by clicking on the history icon.
+ * @short Part of the history list system
+ */
+class THistoryViewer : public TListViewer
+{
+public:
+ /**
+ * Initializes the viewer list by first calling the TListViewer constructor
+ * to set up the boundaries, a single column, and the two scroll bar
+ * pointers passed in `aHScrollBar' and `aVScrollBar'.
+ *
+ * The view is then linked to a history list, with the @ref historyId data
+ * member set to the value passed in `aHistory'. That list is then checked
+ * for length, so the range of the list is set to the number of items in
+ * the list.
+ *
+ * The first item in the history list is given the focus, and the
+ * horizontal scrolling range is set to accommodate the widest item in the
+ * list.
+ */
+ THistoryViewer( const TRect& bounds,
+ TScrollBar *aHScrollBar,
+ TScrollBar *aVScrollBar,
+ ushort aHistoryId
+ );
+ /**
+ * Returns the default palette string.
+ */
+ virtual TPalette& getPalette() const;
+ /**
+ * Set `dest' to the item'th string in the associated history list.
+ * getText() is called by the @ref TListViewer::draw() member function for
+ * each visible item in the list.
+ */
+ virtual void getText( char *dest, short item, short maxLen );
+ /**
+ * The history viewer handles two kinds of events itself; all others are
+ * passed to @ref TListViewer::handleEvent().
+ *
+ * -# Double clicking or pressing the Enter key terminates the modal state
+ * of the history window with a cmOK command.
+ * -# Pressing the Esc key, or any cmCancel command event, cancels the
+ * history list selection.
+ */
+ virtual void handleEvent( TEvent& event );
+ /**
+ * Returns the length of the longest string in the history list associated
+ * with @ref historyId.
+ */
+ int historyWidth();
+protected:
+ /**
+ * historyId is the ID number of the history list to be displayed in the
+ * view.
+ */
+ ushort historyId;
+};
+
+#endif // Uses_THistoryViewer
+
+#if defined( Uses_THistoryWindow ) && !defined( __THistoryWindow )
+#define __THistoryWindow
+
+class TListViewer;
+class TRect;
+class TWindow;
+class TInputLine;
+
+/**
+ * @ref THistoryWindow inherits multiply from @ref TWindow and the virtual
+ * base class THistInit.
+ *
+ * THistInit provides a constructor and
+ * @ref THistoryWindow::createListViewer() member function used in creating
+ * and inserting a list viewer into a history window. A similar technique is
+ * used for @ref TProgram, @ref TWindow and @ref TDeskTop.
+ * @short Virtual base class for THistoryWindow
+ */
+class THistInit
+{
+public:
+ /**
+ * This constructor takes a function address argument `cListViewer',
+ * usually &THistoryWindow::initViewer.
+ * @see THistoryWindow::initViewer
+ *
+ * This creates and inserts a list viewer into the given history window
+ * with the given size `bounds' and history list `histID'.
+ */
+ THistInit( TListViewer *(*cListViewer)( TRect r, TWindow *w,
+ ushort histID ));
+protected:
+ /**
+ * Called by the THistInit constructor to create a list viewer for the
+ * window `w' with size `r' and history list given by `histId' and return
+ * a pointer to it. A 0 pointer indicates lack of success in this
+ * endeavor.
+ */
+ TListViewer *(*createListViewer)( TRect r, TWindow *w, ushort histId );
+};
+
+/* ---------------------------------------------------------------------- */
+/* THistoryWindow */
+/* */
+/* Palette layout */
+/* 1 = Frame passive */
+/* 2 = Frame active */
+/* 3 = Frame icon */
+/* 4 = ScrollBar page area */
+/* 5 = ScrollBar controls */
+/* 6 = HistoryViewer normal text */
+/* 7 = HistoryViewer selected text */
+/* ---------------------------------------------------------------------- */
+
+/**
+ * THistoryWindow is a specialized descendant of @ref TWindow and
+ * @ref THistInit (multiple inheritance) used for holding a history list
+ * viewer when the user clicks on the history icon next to an input line.
+ *
+ * By default, the window has no title and no number. The history window's
+ * frame has only a close icon: the window can be closed, but not resized or
+ * zoomed.
+ * @short Holds a history list viewer
+ */
+class THistoryWindow : public TWindow, public virtual THistInit
+{
+public:
+ /**
+ * Calls the THistInit constructor with the argument
+ * &THistoryWindow::initViewer. This creates the list viewer.
+ * @see THistInit::THistInit
+ * @see THistoryWindow::initViewer
+ *
+ * Next, the @ref TWindow constructor is called to set up a window with the
+ * given bounds, a null title string, and no window number
+ * (@ref wnNoNumber).
+ * @see TWindow::TWindow
+ *
+ * Then the @ref TWindowInit constructor is called with the argument
+ * &THistoryWindow::initFrame to create a frame for the history window.
+ * @see THistoryWindow::initFrame
+ * @see TWindowInit::TWindowInit
+ *
+ * Finally, the @ref flags data member is set to @ref wfClose to provide a
+ * close icon, and a history viewer object is created and inserted in the
+ * history window to show the items in the history list given by
+ * `historyId'.
+ */
+ THistoryWindow( const TRect& bounds, ushort historyId );
+ /**
+ * Returns the default palette string.
+ */
+ virtual TPalette& getPalette() const;
+ /**
+ * Returns in `dest' the string value of the @ref THistoryViewer::focused
+ * item in the associated history viewer.
+ */
+ virtual void getSelection( char *dest );
+ /**
+ * Instantiates and inserts a @ref THistoryViewer object inside the
+ * boundaries of the history window for the list associated with the
+ * ID `aHistoryId'.
+ *
+ * Standard scroll bars are placed on the frame of the window to scroll
+ * the list.
+ */
+ static TListViewer *initViewer( TRect bounds, TWindow *w, ushort
+ aHistoryId );
+protected:
+ /**
+ * Points to the list viewer to be contained in this history window.
+ */
+ TListViewer *viewer;
+};
+
+#endif // Uses_THistoryWindow
+
+#if defined( Uses_THistory ) && !defined( __THistory )
+#define __THistory
+
+class TRect;
+class TInputLine;
+class TEvent;
+class THistoryWindow;
+
+/**
+ * A THistory object implements a pick list of previous entries, actions, or
+ * choices from which the user can select a "rerun". THistory objects are
+ * linked to a @ref TInputLine object and to a history list.
+ * @see THistoryWindow
+ *
+ * History list information is stored in a block of memory on the heap. When
+ * the block fills up, the oldest history items are deleted as new ones are
+ * added.
+ *
+ * Different input lines can share the same history list by using the same ID
+ * number.
+ * @short Implements a pick list of previous entries, actions, or choices from
+ * which the user can select a "rerun"
+ */
+class THistory : public TView
+{
+public:
+ /**
+ * Creates a THistory object of the given size by calling
+ * TView::TView(bounds), then setting the @ref link and @ref historyId
+ * data members with the given argument values `aLink' and `aHistoryId'.
+ * @see TView::TView
+ *
+ * The @ref options member is set to @ref ofPostProcess. The
+ * @ref evBroadcast bit is set in @ref eventMask in addition to the
+ * @ref evMouseDown, @ref evKeyDown, and @ref evCommand bits set by
+ * TView(bounds).
+ */
+ THistory( const TRect& bounds, TInputLine *aLink, ushort aHistoryId );
+ /**
+ * Draws the THistory icon in the default palette.
+ */
+ virtual void draw();
+ /**
+ * Returns a reference to the default palette.
+ */
+ virtual TPalette& getPalette() const;
+ /**
+ * Calls TView::handleEvent(event), then handles relevant mouse and key
+ * events to select the linked input line and create a history window.
+ * @see TView::handleEvent
+ */
+ virtual void handleEvent( TEvent& event );
+ /**
+ * Creates a THistoryWindow object and returns a pointer to it. The new
+ * object has the given bounds and the same @ref historyId as the calling
+ * THistory object.
+ * @see THistoryWindow
+ *
+ * The new object gets its @ref helpCtx from the calling object's linked
+ * @ref TInputLine.
+ * @see THistory::link
+ */
+ virtual THistoryWindow *initHistoryWindow( const TRect& bounds );
+ /**
+ * Undocumented.
+ */
+ virtual void recordHistory(const char *s);
+ /**
+ * Used internally by @ref TObject::destroy() to ensure correct
+ * destruction of derived and related objects.
+ *
+ * shutDown() is overridden in many classes to ensure the proper setting
+ * of related data members when @ref destroy() is called.
+ */
+ virtual void shutDown();
+ /**
+ * Undocumented.
+ */
+ static const char * icon;
+protected:
+ /**
+ * A pointer to the linked TInputLine object.
+ */
+ TInputLine *link;
+ /**
+ * Each history list has a unique ID number, assigned by the programmer.
+ *
+ * Different history objects in different windows may share a history list
+ * by using the same history ID.
+ */
+ ushort historyId;
+private:
+ virtual const char *streamableName() const
+ { return name; }
+protected:
+ /**
+ * Each streamable class needs a "builder" to allocate the correct memory
+ * for its objects together with the initialized virtual table pointers.
+ * This is achieved by calling this constructor with an argument of type
+ * @ref StreamableInit.
+ */
+ THistory( StreamableInit );
+ /**
+ * Writes to the output stream `os'.
+ */
+ virtual void write( opstream& os );
+ /**
+ * Reads from the input stream `is'.
+ */
+ virtual void *read( ipstream& is );
+public:
+ /**
+ * Undocumented.
+ */
+ static const char * const name;
+ /**
+ * Called to create an object in certain stream-reading situations.
+ */
+ static TStreamable *build();
+};
+
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, THistory& cl )
+ { return is >> (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, THistory*& cl )
+ { return is >> (void *&)cl; }
+
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, THistory& cl )
+ { return os << (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, THistory* cl )
+ { return os << (TStreamable *)cl; }
+
+#endif // Uses_THistory
diff --git a/freebsdtvision/lib/drawbuf.h b/freebsdtvision/lib/drawbuf.h
new file mode 100644
index 0000000..08bee2b
--- /dev/null
+++ b/freebsdtvision/lib/drawbuf.h
@@ -0,0 +1,135 @@
+/*
+ * drawbuf.h
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#if defined( Uses_TDrawBuffer ) && !defined( __TDrawBuffer )
+#define __TDrawBuffer
+
+/** \file drawbuf.h
+ * drawbuf.h
+ */
+
+/**
+ * This class implements a video buffer.
+ *
+ * TDrawBuffer implements a simple, non-view buffer class with member
+ * functions for moving characters, attributes, and strings to and from a draw
+ * buffer.
+ *
+ * Every view uses at least one istance of this class in its draw() method.
+ * The view draws itself using a TDrawBuffer object. Just before returning
+ * from draw(), a call to one of the writeXXXX methods will write the video
+ * buffer on the screen.
+ * @see TView::draw
+ *
+ * Each member of the buffer is an attribute & character pair. The attribute
+ * is a byte which stores information about foreground and background colors.
+ *
+ * The contents of a draw buffer are typically used with
+ * @ref TView::writeBuf() or @ref TView::writeLine() to display text.
+ * @see TView::writeChar
+ * @see TView::writeStr
+ *
+ * Note: pay attention to the size of the buffer! It usually stores only a
+ * line of the picture. Its default size is @ref maxViewWidth = 132 pairs.
+ * @short Implements a video buffer
+ */
+class TDrawBuffer
+{
+ friend class TFrame;
+ friend class TView;
+public:
+ /**
+ * Fills the buffer or part of the buffer with an uniform pattern.
+ *
+ * `indent' is the character position within the buffer where the data is
+ * to go. `c' is the character to be put into the buffer. If `c' is 0 the
+ * character is not written and the old character is preserved. `attr' is
+ * the attribute to be put into the buffer. If `attr' is 0 the attribute
+ * is not written and the old attribute is preserved. `count' is the
+ * number of character/attribute pairs to put into the buffer.
+ */
+ void moveChar( ushort indent, char c, ushort attr, ushort count );
+ /**
+ * Writes a string in the buffer.
+ *
+ * `indent' is the character position within the buffer where the data is
+ * to go. `str' is a pointer to a 0-terminated string of characters to be
+ * moved into the buffer. `attr' is the text attribute to be put into the
+ * buffer with each character in the string. If `attr' is 0 the attribute
+ * is not written and the old attribute is preserved. The characters in
+ * `str' are set in the low bytes of each buffer word.
+ */
+ void moveStr( ushort indent, const char *str, ushort attrs );
+ /**
+ * Writes a string in the buffer.
+ *
+ * `indent' is the character position within the buffer where the data is
+ * to go. `str' is a pointer to a 0-terminated string of characters to be
+ * moved into the buffer. `attrs' is a pair of text attributes to be put
+ * into the buffer with each character in the string. Initially the low
+ * byte is used, and a `~' in the string toggles between the low byte and
+ * the high byte.
+ */
+ void moveCStr( ushort indent, const char *str, ushort attrs );
+ /**
+ * Writes a text buffer in this video buffer.
+ *
+ * `indent' is the character position within the buffer where the data is
+ * to go. `source' is a pointer to an array of characters. `attr' is the
+ * attribute to be used for all characters (0 to retain the old
+ * attribute). `count' is the number of characters to move.
+ */
+ void moveBuf( ushort indent, const void *source, ushort attr, ushort count );
+ /**
+ * Writes an attribute.
+ *
+ * `ident' is the character position within the buffer where the attribute
+ * is to go. `attr' is the attribute to write.
+ */
+ void putAttribute( ushort indent, ushort attr );
+ /**
+ * Writes a character.
+ *
+ * `ident' is the character position within the buffer where the character
+ * is to go. `c' is the character to write. This call inserts `c' into the
+ * lower byte of the calling buffer.
+ */
+ void putChar( ushort indent, ushort c );
+protected:
+ /**
+ * Defines the array for this draw buffer.
+ */
+ ushort data[maxViewWidth];
+};
+
+#include <tvision/myendian.h>
+
+#if (BYTE_ORDER == LITTLE_ENDIAN)
+ #define loByte(w) (((uchar *)&w)[0])
+ #define hiByte(w) (((uchar *)&w)[1])
+#elif (BYTE_ORDER == BIG_ENDIAN)
+ #define loByte(w) (((uchar *)&w)[1])
+ #define hiByte(w) (((uchar *)&w)[0])
+#else
+ #error architecture not supported by this library
+#endif
+
+inline void TDrawBuffer::putAttribute( ushort indent, ushort attr )
+{
+ hiByte(data[indent]) = uchar(attr);
+}
+
+inline void TDrawBuffer::putChar( ushort indent, ushort c )
+{
+ loByte(data[indent]) = uchar(c);
+}
+
+#endif // Uses_TDrawBuffer
diff --git a/freebsdtvision/lib/drivers.cc b/freebsdtvision/lib/drivers.cc
new file mode 100644
index 0000000..c52093e
--- /dev/null
+++ b/freebsdtvision/lib/drivers.cc
@@ -0,0 +1,234 @@
+/*
+ * drivers.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#define Uses_TKeys
+#define Uses_TDrawBuffer
+#include <tvision/tv.h>
+
+/*------------------------------------------------------------------------*/
+/* */
+/* TDrawBuffer::moveBuf */
+/* */
+/* arguments: */
+/* */
+/* indent - character position within the buffer where the data */
+/* is to go */
+/* */
+/* source - far pointer to an array of character/attribute pairs */
+/* */
+/* attr - attribute to be used for all characters (0 to retain */
+/* the attribute from 'source') */
+/* */
+/* count - number of character/attribute pairs to move */
+/* */
+/*------------------------------------------------------------------------*/
+
+void TDrawBuffer::moveBuf( ushort indent, const void *source,
+ ushort attr, ushort count )
+
+{
+ register ushort *dest = &data[indent];
+ register uchar *s = (uchar *)source;
+
+ if (attr != 0)
+ for (; count; --count, ++s, ++dest)
+ {
+ *dest = *s | ((attr & 0xff) << 8);
+ }
+ else
+ while (count--)
+ *(uchar *)dest++ = *s++;
+}
+
+/*------------------------------------------------------------------------*/
+/* */
+/* TDrawBuffer::moveChar */
+/* */
+/* arguments: */
+/* */
+/* indent - character position within the buffer where the data */
+/* is to go */
+/* */
+/* c - character to be put into the buffer */
+/* */
+/* attr - attribute to be put into the buffer */
+/* */
+/* count - number of character/attribute pairs to put into the */
+/* buffer */
+/* */
+/*------------------------------------------------------------------------*/
+
+void TDrawBuffer::moveChar( ushort indent, char c, ushort attr, ushort count )
+{
+ register ushort *dest = &data[indent];
+
+ if (attr != 0)
+ for (; count; --count, ++dest)
+ {
+ if (c != 0) *dest = (*dest & 0xff00) | c;
+ *dest = (*dest & 0x00ff) | ((attr & 0xff) << 8);
+ }
+ else
+ while (count--)
+ *(uchar *)dest++ = c;
+}
+
+/*------------------------------------------------------------------------*/
+/* */
+/* TDrawBuffer::moveCStr */
+/* */
+/* arguments: */
+/* */
+/* indent - character position within the buffer where the data */
+/* is to go */
+/* */
+/* str - pointer to a 0-terminated string of characters to */
+/* be moved into the buffer */
+/* */
+/* attrs - pair of text attributes to be put into the buffer */
+/* with each character in the string. Initially the */
+/* low byte is used, and a '~' in the string toggles */
+/* between the low byte and the high byte. */
+/* */
+/*------------------------------------------------------------------------*/
+
+void TDrawBuffer::moveCStr( ushort indent, const char *str, ushort attrs)
+{
+ register ushort *dest = &data[indent];
+ int toggle;
+ uchar c, curAttr;
+
+ for (curAttr= attrs & 0xff, toggle=1; (c=*str) != 0; str++)
+ {
+ if (c == '~')
+ {
+ if (toggle == 0) curAttr = attrs & 0xff;
+ else curAttr = (attrs & 0xff00) >> 8;
+ toggle = 1-toggle;
+ }
+ else
+ {
+ *dest = (curAttr << 8) | c;
+ dest++;
+ }
+ }
+}
+
+/*------------------------------------------------------------------------*/
+/* */
+/* TDrawBuffer::moveStr */
+/* */
+/* arguments: */
+/* */
+/* indent - character position within the buffer where the data */
+/* is to go */
+/* */
+/* str - pointer to a 0-terminated string of characters to */
+/* be moved into the buffer */
+/* */
+/* attr - text attribute to be put into the buffer with each */
+/* character in the string. */
+/* */
+/*------------------------------------------------------------------------*/
+
+void TDrawBuffer::moveStr( ushort indent, const char *str, ushort attr )
+{
+ register ushort *dest = &data[indent];
+ uchar c;
+
+ if (attr != 0)
+ for (;(c=*str) != 0; ++str, ++dest)
+ {
+ *dest = ((attr & 0xff) << 8) | c;
+ }
+ else
+ while (*str)
+ *(uchar *)dest++ = *str++;
+}
+
+/*------------------------------------------------------------------------*/
+/* */
+/* ctrlToArrow */
+/* */
+/* argument: */
+/* */
+/* keyCode - scan code to be mapped to keypad arrow code */
+/* */
+/* returns: */
+/* */
+/* scan code for arrow key corresponding to Wordstar key, */
+/* or original key code if no correspondence exists */
+/* */
+/*------------------------------------------------------------------------*/
+ushort ctrlToArrow(ushort keyCode)
+{
+
+#ifndef __UNPATCHED
+static const uchar ctrlCodes[] =
+ {
+ kbCtrlS, kbCtrlD, kbCtrlE, kbCtrlX, kbCtrlA,
+ kbCtrlF, kbCtrlG, kbCtrlV, kbCtrlR, kbCtrlC, kbCtrlH
+ };
+
+static const ushort arrowCodes[] =
+ {
+ kbLeft, kbRight, kbUp, kbDown, kbHome,
+ kbEnd, kbDel, kbIns,kbPgUp, kbPgDn, kbBack
+ };
+#else
+const uchar ctrlCodes[] =
+ {
+ kbCtrlS, kbCtrlD, kbCtrlE, kbCtrlX, kbCtrlA,
+ kbCtrlF, kbCtrlG, kbCtrlV, kbCtrlR, kbCtrlC, kbCtrlH
+ };
+
+const ushort arrowCodes[] =
+ {
+ kbLeft, kbRight, kbUp, kbDown, kbHome,
+ kbEnd, kbDel, kbIns,kbPgUp, kbPgDn, kbBack
+ };
+#endif
+
+ for( int i = 0; i < (int)sizeof(ctrlCodes); i++ )
+ if( (keyCode & 0x00ff) == ctrlCodes[i] )
+ return arrowCodes[i];
+ return keyCode;
+}
+
+/*------------------------------------------------------------------------*/
+/* */
+/* cstrlen */
+/* */
+/* argument: */
+/* */
+/* s - pointer to 0-terminated string */
+/* */
+/* returns */
+/* */
+/* length of string, ignoring '~' characters. */
+/* */
+/* Comments: */
+/* */
+/* Used in determining the displayed length of command strings, */
+/* which use '~' to toggle between display attributes */
+/* */
+/*------------------------------------------------------------------------*/
+
+int cstrlen( const char *s )
+{
+ int len = 0;
+ while( *s != EOS )
+ {
+ if( *s++ != '~' )
+ len++;
+ }
+ return len;
+}
diff --git a/freebsdtvision/lib/editors.h b/freebsdtvision/lib/editors.h
new file mode 100644
index 0000000..11411a3
--- /dev/null
+++ b/freebsdtvision/lib/editors.h
@@ -0,0 +1,1534 @@
+/*
+ * editors.h
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#if !defined( __EDIT_COMMAND_CODES )
+#define __EDIT_COMMAND_CODES
+
+/** \file editors.h
+ * editors.h
+ */
+
+const
+ int ufUpdate = 0x01,
+ ufLine = 0x02,
+ ufView = 0x04;
+
+const
+ int smExtend = 0x01,
+ smDouble = 0x02;
+
+const unsigned
+ sfSearchFailed = UINT_MAX;
+
+const
+ int cmFind = 82,
+ cmReplace = 83,
+ cmSearchAgain = 84;
+
+const
+ int cmCharLeft = 500,
+ cmCharRight = 501,
+ cmWordLeft = 502,
+ cmWordRight = 503,
+ cmLineStart = 504,
+ cmLineEnd = 505,
+ cmLineUp = 506,
+ cmLineDown = 507,
+ cmPageUp = 508,
+ cmPageDown = 509,
+ cmTextStart = 510,
+ cmTextEnd = 511,
+ cmNewLine = 512,
+ cmBackSpace = 513,
+ cmDelChar = 514,
+ cmDelWord = 515,
+ cmDelStart = 516,
+ cmDelEnd = 517,
+ cmDelLine = 518,
+ cmInsMode = 519,
+ cmStartSelect = 520,
+ cmHideSelect = 521,
+ cmIndentMode = 522,
+ cmUpdateTitle = 523;
+
+ /** \var edOutOfMemory
+ * @see TEditor::doSearchReplace
+ */
+const int
+ edOutOfMemory = 0,
+
+ /** \var edReadError
+ * @see TEditor::doSearchReplace
+ */
+ edReadError = 1,
+
+ /** \var edWriteError
+ * @see TEditor::doSearchReplace
+ */
+ edWriteError = 2,
+
+ /** \var edCreateError
+ * @see TEditor::doSearchReplace
+ */
+ edCreateError = 3,
+
+ /** \var edSaveModify
+ * @see TEditor::doSearchReplace
+ */
+ edSaveModify = 4,
+
+ /** \var edSaveUntitled
+ * @see TEditor::doSearchReplace
+ */
+ edSaveUntitled = 5,
+
+ /** \var edSaveAs
+ * @see TEditor::doSearchReplace
+ */
+ edSaveAs = 6,
+
+ /** \var edFind
+ * @see TEditor::doSearchReplace
+ */
+ edFind = 7,
+
+ /** \var edSearchFailed
+ * @see TEditor::doSearchReplace
+ */
+ edSearchFailed = 8,
+
+ /** \var edReplace
+ * @see TEditor::doSearchReplace
+ */
+ edReplace = 9,
+
+ /** \var edReplacePrompt
+ * @see TEditor::doSearchReplace
+ */
+ edReplacePrompt = 10;
+
+ /** \var efCaseSensitive
+ * Default to case-sensitive search.
+ * @see TEditor::editorFlags
+ */
+const int
+ efCaseSensitive = 0x0001,
+
+ /** \var efWholeWordsOnly
+ * Default to whole words only search.
+ * @see TEditor::editorFlags
+ */
+ efWholeWordsOnly = 0x0002,
+
+ /** \var efPromptOnReplace
+ * Prompt on replace.
+ * @see TEditor::editorFlags
+ */
+ efPromptOnReplace = 0x0004,
+
+ /** \var efReplaceAll
+ * Replace all occurrences.
+ * @see TEditor::editorFlags
+ */
+ efReplaceAll = 0x0008,
+
+ /** \var efDoReplace
+ * Do replace.
+ * @see TEditor::editorFlags
+ */
+ efDoReplace = 0x0010,
+
+ /** \var efBackupFiles
+ * Create backup files with a trailing ~ on saves.
+ * @see TEditor::editorFlags
+ */
+ efBackupFiles = 0x0100;
+
+ /** \var maxLineLength
+ * Maximum allowed line length for text in a TEditor view.
+ */
+const
+ int maxLineLength = 256;
+
+#endif // __EDIT_COMMAND_CODES
+
+/** \enum TEditorDialog
+ * The TEditorDialog data type is a pointer to function returning ushort
+ * and taking one int argument and a variable number of additional
+ * arguments.
+ *
+ * Since dialog boxes are very application-dependent, a @ref TEditor object
+ * does not display its own dialog boxes directly. Instead it controls
+ * them through this function pointer.
+ *
+ * The various dialog values, passed in the first int argument, are
+ * self-explanatory: @ref edOutOfMemory, @ref edReadError, @ref edWriteError,
+ * @ref edCreateError, @ref edSaveModify, @ref edSaveUntitled, @ref edSaveAs,
+ * @ref edFind, @ref edSearchFailed, @ref edReplace and @ref edReplacePrompt.
+ * @see TEditor::editorDialog
+ */
+typedef ushort (*TEditorDialog)( int, ... );
+
+/** \fn defEditorDialog( int dialog, ... )
+ * Since dialog boxes are very application-dependent, a @ref TEditor object
+ * does not display its own dialog boxes directly. Instead it controls
+ * them through the @ref TEditorDialog function pointer.
+ * @see TEditor::editorDialog
+ *
+ * This is the default dialog; it simply returns cmCancel.
+ */
+ushort defEditorDialog( int dialog, ... );
+
+#if defined( Uses_TIndicator ) && !defined( __TIndicator )
+#define __TIndicator
+
+class TRect;
+
+/**
+ * TIndicator is the line and column counter in the lower left corner of the
+ * edit window.
+ * It is initialized by the @ref TEditWindow constructor and passed as the
+ * fourth argument to the @ref TEditor constructor.
+ * @short The line and column counter in the lower left corner of the edit
+ * window
+ */
+class TIndicator : public TView
+{
+public:
+ /**
+ * Creates a TIndicator object.
+ */
+ TIndicator( const TRect& );
+ /**
+ * Draws the indicator. If variable @ref modified is True, a special
+ * character (ASCII value 15, a star on PC graphic adapters) is displayed.
+ */
+ virtual void draw();
+ /**
+ * Returns the TIndicator default palette.
+ */
+ virtual TPalette& getPalette() const;
+ /**
+ * Draws the indicator in the frame-dragging color if the view is being
+ * dragged.
+ */
+ virtual void setState( ushort, Boolean );
+ /**
+ * Method called by @ref TEditor to update and display the values of the
+ * data members of the associated TIndicator object.
+ * @see TIndicator::location
+ * @see TIndicator::modified
+ */
+ void setValue( const TPoint& aLocation, Boolean aModified );
+ /**
+ * Undocumented.
+ */
+ static char dragFrame;
+ /**
+ * Undocumented.
+ */
+ static char normalFrame;
+protected:
+ /**
+ * Stores the location to display. Updated by a TEditor.
+ */
+ TPoint location;
+ /**
+ * True if the associated TEditor has been modified.
+ */
+ Boolean modified;
+private:
+ virtual const char *streamableName() const
+ { return name; }
+protected:
+ /**
+ * Undocumented.
+ */
+ TIndicator( StreamableInit );
+public:
+ /**
+ * Undocumented.
+ */
+ static const char * const name;
+ /**
+ * Called to create an object in certain stream reading situations.
+ */
+ static TStreamable *build();
+};
+
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TIndicator& cl )
+ { return is >> (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TIndicator*& cl )
+ { return is >> (void *&)cl; }
+
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TIndicator& cl )
+ { return os << (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TIndicator* cl )
+ { return os << (TStreamable *)cl; }
+
+#endif // Uses_TIndicator
+
+
+#if defined( Uses_TEditor ) && !defined( __TEditor )
+#define __TEditor
+
+class TRect;
+class TScrollBar;
+class TIndicator;
+class TEvent;
+
+/**
+ * This class implements a text editor.
+ *
+ * TEditor is the base class for all editors. It implements most of the
+ * editor's functionality. If a TEditor object is created, it allocates a
+ * buffer of the given size out of the heap. The buffer is initially empty.
+ * @short Implements a text editor
+ */
+class TEditor : public TView
+{
+public:
+ /**
+ * Constructor.
+ *
+ * Calls TView::TView(bounds) by creating a view with the given bounds.
+ * The @ref hScrollBar, @ref vScrollBar, @ref indicator and @ref bufSize
+ * data members are set from the given arguments.
+ * @see TView::TView
+ *
+ * The scroll bar and indicator arguments can be set to 0 if you do not
+ * want these objects. The following default values are set:
+ *
+ * <pre>
+ * Variable Value Description
+ *
+ * canUndo True @ref TEditor::canUndo
+ * selecting False @ref TEditor::selecting
+ * overwrite False @ref TEditor::overwrite
+ * autoIndent False @ref TEditor::autoIndent
+ * lockCount 0 @ref TEditor::lockCount
+ * keyState 0 @ref TEditor::keyState
+ * growMode @ref gfGrowHiX | @ref gfGrowHiY @ref TView::growMode
+ * options @ref ofSelectable @ref TView::options
+ * eventMask @ref evMouseDown | @ref evKeyDown |
+ * @ref evCommand | @ref evBroadcast @ref TView::eventMask
+ * </pre>
+ *
+ * `aBufSize' is the buffer initial size; 0 is its common value.
+ * The buffer is allocated and cleared. If insufficient memory exists,
+ * the @ref edOutOfMemory dialog box is displayed using
+ * @ref editorDialog(), and @ref isValid data member is set False.
+ * Otherwise @ref isValid is set True.
+ *
+ * The data members associated with the editor buffer are initialized in
+ * the obvious way: @ref bufLen to 0, @ref gapLen to @ref bufSize,
+ * @ref selStart to 0, @ref modified to False, and so on.
+ */
+ TEditor( const TRect& bounds, TScrollBar *aHScrollBar,
+ TScrollBar *aVScrollBar, TIndicator *aIndicator, uint aBufSize );
+ /**
+ * Destructor.
+ *
+ * Destroys the editor and deletes the buffer.
+ */
+ virtual ~TEditor();
+ /**
+ * Used internally by @ref TObject::destroy() to ensure correct
+ * destruction of derived and related objects. shutDown() is overridden
+ * in many classes to ensure the proper setting of related data members
+ * when @ref destroy() is called.
+ */
+ virtual void shutDown();
+ /**
+ * Returns the p'th character in the file, factoring in the gap.
+ */
+ char bufChar( uint p );
+ /**
+ * Returns the offset into buffer of the p'th character in the file,
+ * factoring in the gap.
+ */
+ uint bufPtr( uint p );
+ /**
+ * Changes the views bounds, adjusting the @ref delta value and redrawing
+ * the scrollbars and view if necessary.
+ *
+ * Overridden to ensure the file stays within view if the parent size
+ * changes.
+ */
+ virtual void changeBounds( const TRect& bounds );
+ /**
+ * Used by @ref handleEvent() to provide basic editing operations by
+ * converting various key events to command events. You can change or
+ * extend these default key bindings by overriding the convertEvent()
+ * member function.
+ */
+ virtual void convertEvent( TEvent& event );
+ /**
+ * Returns True if the @ref cursor (insertion point) is visible within the
+ * view.
+ */
+ Boolean cursorVisible();
+ /**
+ * Deletes the selection if one exists. For example, after a successful
+ * @ref clipCopy(), the selected block is deleted.
+ */
+ void deleteSelect();
+ /**
+ * Deletes the buffer.
+ */
+ virtual void doneBuffer();
+ /**
+ * Overrides @ref TView::draw() to draw the editor.
+ */
+ virtual void draw();
+ /**
+ * Returns the default TEditor palette. Override if you wish to change the
+ * palette of the editor.
+ */
+ virtual TPalette& getPalette() const;
+ /**
+ * Provides the event handling for the editor. Override if you wish to
+ * extend the commands the editor handles.
+ *
+ * The default handler calls @ref TView::handleEvent(), then converts all
+ * relevant editing key events to command events by calling
+ * @ref convertEvent().
+ */
+ virtual void handleEvent( TEvent& event );
+ /**
+ * Allocates a buffer of size @ref bufSize and sets @ref buffer to point
+ * at it.
+ */
+ virtual void initBuffer();
+ /**
+ * This is the lowest-level text insertion member function. It inserts
+ * `length' bytes of text from the array `p' (starting at p[offset]) into
+ * the buffer (starting at the @ref curPtr).
+ *
+ * If `allowUndo' is set True, insertBuffer() records undo information. If
+ * `selectText' is set True, the inserted text will be selected.
+ * insertBuffer() returns True for a successful operation.
+ *
+ * Failure invokes a suitable dialog box and returns False. insertBuffer()
+ * is used by @ref insertFrom() and @ref insertText(); you will seldom
+ * need to call it directly.
+ */
+ Boolean insertBuffer( char *p, uint offset, uint length,
+ Boolean allowUndo, Boolean selectText );
+ /**
+ * Inserts the current block-marked selection from the argument `editor'
+ * into this editor.
+ * This member function implements @ref clipCut(), @ref clipCopy(), and
+ * @ref clipPaste().
+ *
+ * The implementation may help you understand the insertFrom() and
+ * @ref insertBuffer() functions:
+ *
+ * <pre>
+ * Boolean TEditor::insertFrom(TEditor *editor)
+ * {
+ * return insertBuffer(editor->buffer,
+ * editor->bufPtr(editor->selStart),
+ * editor->selEnd - editor->selStart, canUndo, isClipboard());
+ * }
+ * </pre>
+ *
+ * Note the the `allowUndo' argument is set to the value of the data
+ * member @ref canUndo. The `selectText' argument will be True if there
+ * is an active clipboard for this editor.
+ */
+ virtual Boolean insertFrom( TEditor *editor );
+ /**
+ * Copies `length' bytes from the given text into this object's buffer.
+ *
+ * If `selectText' is True, the inserted text will be selected. This is a
+ * simplified version of @ref insertBuffer().
+ */
+ Boolean insertText( const void *text, uint length, Boolean selectText );
+ /**
+ * Move column `x' and line `y' to the upper-left corner of the editor.
+ */
+ void scrollTo( int x, int y );
+ /**
+ * Search for the given string `findStr' in the editor @ref buffer
+ * (starting at @ref curPtr) with the given options in `opts'. The valid
+ * options are:
+ *
+ * <pre>
+ * Name Value Description
+ *
+* @ref efCaseSensitive 0x0001 Case sensitive search
+* @ref efWholeWordsOnly 0x0002 Whole words only search
+ * </pre>
+ *
+ * Returns True if a match is found; otherwise returns False. If a match
+ * is found, the matching text is selected.
+ */
+ Boolean search( const char *findStr, ushort opts );
+ /**
+ * Should be called before changing the buffer size to `newSize'. It
+ * should return True if the the buffer can be of this new size.
+ *
+ * By default, it returns True if `newSize' is less than or equal to
+ * @ref bufSize.
+ */
+ virtual Boolean setBufSize( uint newSize );
+ /**
+ * Enables or disables the given command depending on whether `enable' is
+ * True or False and whether the editor is @ref sfActive.
+ * @see TView::state
+ *
+ * The command is always disabled if the editor is not the selected view.
+ * Offers a convenient alternative to @ref enableCommands() and
+ * @ref disableCommands().
+ */
+ void setCmdState( ushort command, Boolean enable );
+ /**
+ * Sets the selection to the given offsets into the file, and redraws the
+ * view as needed.
+ *
+ * This member function will either place the cursor in front of or behind
+ * the selection, depending on the value (True or False, respectively) of
+ * `curStart'.
+ */
+ void setSelect( uint newStart, uint newEnd, Boolean curStart );
+ /**
+ * Overrides @ref TView::setState() to hide and show the indicator and
+ * scroll bars.
+ *
+ * It first calls @ref TView::setState() to enable and disable commands.
+ * If you wish to enable and disable additional commands, override
+ * @ref updateCommands() instead. This is called whenever the command
+ * states should be updated.
+ */
+ virtual void setState( ushort aState, Boolean enable );
+ /**
+ * Forces the cursor to be visible. If `center' is True, the cursor is
+ * forced to be in the center of the screen in the y (line) direction.
+ * The x (column) position is not changed.
+ */
+ void trackCursor( Boolean center );
+ /**
+ * Undoes the changes since the last cursor movement.
+ */
+ void undo();
+ /**
+ * Called whenever the commands should be updated. This is used to enable
+ * and disable commands such as cmUndo and cmCopy.
+ */
+ virtual void updateCommands();
+ /**
+ * Returns whether the view is valid for the given command. By default it
+ * returns the value of @ref isValid, which is True if @ref buffer is
+ * not 0.
+ */
+ virtual Boolean valid( ushort command );
+ /**
+ * Calculates and returns the actual cursor position by examining the
+ * characters in the buffer between `p' and `target'.
+ * Any tab codes encountered are counted as spaces modulo the tab setting.
+ * @see TEditor::charPtr
+ */
+ uint charPos( uint p, uint target );
+ /**
+ * The reverse of @ref charPos().
+ * Calculates and returns the buffer position corresponding to a cursor
+ * position.
+ */
+ uint charPtr( uint p, uint target );
+ /**
+ * Returns False if this editor has no active clipboard.
+ * Otherwise, copies the selected text from the editor to the clipboard
+ * using clipboard->insertFrom(this).
+ * @see TEditor::insertFrom
+ *
+ * The selected text is deselected (highlight removed) and the view
+ * redrawn. Returns True if all goes well.
+ */
+ Boolean clipCopy();
+ /**
+ * The same as for @ref clipCopy(), but the selected text is deleted after
+ * being copied to the clipboard.
+ */
+ void clipCut();
+ /**
+ * The reverse of @ref clipCopy(): the contents of the clipboard (if any)
+ * are copied to the current position of the editor using
+ * insertFrom(clipboard).
+ * @see TEditor::insertFrom
+ */
+ void clipPaste();
+ /**
+ * If `delSelect' is True and a current selection exists, the current
+ * selection is deleted; otherwise, the range `startPtr' to `endPtr' is
+ * selected and deleted.
+ */
+ void deleteRange( uint startPtr, uint endPtr, Boolean delSelect );
+ /**
+ * If @ref updateFlags data member is 0, nothing happens. Otherwise, the
+ * view and its scrollbars are updated and redrawn depending on the state
+ * of the @ref updateFlags bits.
+ *
+ * For example, if ufView is set, the view is redrawn with
+ * @ref drawView(). If the view is @ref sfActive, the command set is
+ * updated with @ref updateCommands().
+ * @see TView::state
+ *
+ * After these updates, @ref updateFlags is set to 0.
+ */
+ void doUpdate();
+ /**
+ * Can be used in both find and find/replace operations, depending on the
+ * state of @ref editorFlags data member bits and user-dialog box
+ * interactions.
+ *
+ * If @ref efDoReplace is not set, doSearchReplace() acts as a simple
+ * search for @ref findStr data member, with no replacement. Otherwise,
+ * this function aims at replacing occurrences of @ref findStr with
+ * @ref replaceStr data member.
+ *
+ * In all cases, if the target string is not found, an
+ * editorDialog(@ref edSearchFailed) call is invoked.
+ * @see TEditor::editorDialog
+ *
+ * If @ref efPromptOnReplace is set in @ref editorFlags, an
+ * @ref edReplacePrompt dialog box appears. Replacement then depends on
+ * the user response. If @ref efReplaceAll is set, replacement proceeds
+ * for all matching strings without prompting until a cmCancel command is
+ * detected.
+ */
+ void doSearchReplace();
+ /**
+ * Draws `count' copies of the line at `linePtr', starting at line
+ * position `y'.
+ */
+ void drawLines( int y, uint count, uint linePtr );
+ /**
+ * Formats the line at `linePtr' in the given color and sets result in
+ * `buff'. Used by @ref drawLines().
+ */
+ void formatLine(void *buff, uint linePtr, int x, ushort color);
+ /**
+ * Finds occurrences of the existing @ref findStr or a new user-supplied
+ * string. find() displays an editor dialog inviting the input of a find
+ * string or the acceptance of the existing @ref findStr.
+ *
+ * If a new find string is entered, it will replace the previous
+ * @ref findStr (unless the user cancels).
+ * find() first creates a @ref TFindDialogRec object defined as follows:
+ *
+ * <pre>
+ * struct TFindDialogRec
+ * {
+ * TFindDialogRec(const char *str, ushort flgs)
+ * {
+ * strcpy(find, str);
+ * options = flgs;
+ * }
+ * char find[80];
+ * ushort options;
+ * };
+ * </pre>
+ *
+ * The constructor is called with `str' set to the current @ref findStr,
+ * and `flgs' set to the current @ref editorFlags.
+ *
+ * The @ref edFind editor dialog then invites change or acceptance of the
+ * @ref findStr. Finally, @ref doSearchReplace() is called for a simple
+ * find-no-replace (@ref efDoReplace switched off).
+ */
+ void find();
+ /**
+ * Returns the buffer character pointer corresponding to the point `m' on
+ * the screen.
+ */
+ uint getMousePtr( TPoint m );
+ /**
+ * Returns True if a selection has been made; that is, if @ref selStart
+ * does not equal @ref selEnd. If these two data members are equal, no
+ * selection exists, and False is returned.
+ */
+ Boolean hasSelection();
+ /**
+ * Sets selecting to False and hides the current selection with
+ * setSelect(curPtr, curPtr, False).
+ * @see TEditor::curPtr
+ * @see TEditor::setSelect
+ */
+ void hideSelect();
+ /**
+ * Returns True if this editor has an attached clipboard; otherwise
+ * returns False.
+ */
+ Boolean isClipboard();
+ /**
+ * Returns the buffer pointer (offset) of the end of the line containing
+ * the given pointer `p'.
+ */
+ uint lineEnd( uint p );
+ /**
+ * Moves the line containing the pointer (offset) `p' up or down `count'
+ * lines depending on the sign of `count'.
+ */
+ uint lineMove( uint p, int count );
+ /**
+ * Returns the buffer pointer (offset) of the start of the line contaning
+ * the given pointer `p'.
+ */
+ uint lineStart( uint p );
+ /**
+ * Increments the semaphore @ref lockCount.
+ */
+ void lock();
+ /**
+ * Inserts a newline at the current pointer. If @ref autoIndent is set,
+ * appropriate tabs (if needed) are also inserted at the start of the new
+ * line.
+ */
+ void newLine();
+ /**
+ * Returns the buffer offset for the character following the one at the
+ * given offset `p'.
+ */
+ uint nextChar( uint p );
+ /**
+ * Returns the buffer offset for the start of the line following the line
+ * containing the given offset `p'.
+ */
+ uint nextLine( uint p );
+ /**
+ * Returns the buffer offset for the start of the word following the word
+ * containing the given offset `p'.
+ */
+ uint nextWord( uint p );
+ /**
+ * Returns the buffer offset for the character preceding the one at the
+ * given offset `p'.
+ */
+ uint prevChar( uint p );
+ /**
+ * Returns the buffer offset for the start of the line preceding the line
+ * containing the given offset `p'.
+ */
+ uint prevLine( uint p );
+ /**
+ * Returns the buffer offset corresponding to the start of the word
+ * preceding the word containing the given offset `p'.
+ */
+ uint prevWord( uint p );
+ /**
+ * Replaces occurrences of the existing @ref findStr (or a new
+ * user-supplied find string) with the existing @ref replaceStr (or a
+ * new user-supplied replace string).
+ *
+ * replace() displays an editor dialog inviting the input of both strings
+ * or the acceptance of the existing @ref findStr and @ref replaceStr.
+ * If new strings are entered, they will replace the previous values
+ * (unless the user cancels).
+ *
+ * replace() first creates a @ref TReplaceDialogRec object defined as
+ * follows:
+ *
+ * <pre>
+ * struct TReplaceDialogRec
+ * {
+ * TReplaceDialogRec(const char *str, const char *rep, ushort flgs)
+ * {
+ * strcpy(find, str);
+ * strcpy(replace, rep);
+ * options = flgs;
+ * }
+ * char find[80];
+ * char replace[80];
+ * ushort options;
+ * };
+ * </pre>
+ *
+ * The constructor is called with `str' and `rep' set to the current
+ * @ref findStr and @ref replaceStr, and with `flg' set to the current
+ * @ref editorFlags.
+ *
+ * The @ref edReplace editor dialog then invites change or acceptance of
+ * the two strings.
+ * @see TEditor::editorDialog
+ *
+ * Finally, @ref doSearchReplace() is called for a find-replace operation
+ * (@ref efDoReplace switched on).
+ */
+ void replace();
+ /**
+ * Sets @ref bufLen to `length', then adjusts @ref gapLen and @ref limit
+ * accordingly. @ref selStart, @ref selEnd, @ref curPtr, delta.x, delta.y,
+ * @ref drawLine, @ref drawPtr, @ref delCount, and @ref insCount are all
+ * set to 0.
+ * @see TEditor::delta
+ *
+ * @ref curPos is set to @ref delta, @ref modified is set to False, and
+ * the view is updated and redrawn as needed.
+ *
+ * The TEditor constructor calls setBufLen(0). setBufLen() is also used
+ * by @ref insertBuffer().
+ * @see TEditor::TEditor
+ */
+ void setBufLen( uint length );
+ /**
+ * Calls @ref setSelect() and repositions @ref curPtr to the offset `p'.
+ * Some adjustments may be made, depending on the value of `selectMode',
+ * if @ref curPtr is at the beginning or end of a selected text.
+ */
+ void setCurPtr( uint p, uchar selectMode );
+ /**
+ * Called by @ref handleEvent() when a Ctrl-K Ctrl-B selection is detected.
+ * Hides the previous selection and sets @ref selecting to True.
+ */
+ void startSelect();
+ /**
+ * Toggles the @ref overwrite data member from True to False and from
+ * False to True. Changes the cursor shape by calling @ref setState().
+ */
+ void toggleInsMode();
+ /**
+ * Decrements the data member @ref lockCount until it reaches the value
+ * 0, at which point a @ref doUpdate() is triggered. The lock/unlock
+ * mechanism prevents over-frequent redrawing of the view.
+ */
+ void unlock();
+ /**
+ * Sets `aFlags' in the @ref updateFlags data member. If @ref lockCount
+ * is 0, calls @ref doUpdate().
+ */
+ void update( uchar aFlags );
+ /**
+ * Called by @ref handleEvent() in response to a cmScrollBarChanged
+ * broadcast event. If the scroll bar's current value is different from
+ * `d', the scroll bar is redrawn.
+ */
+ void checkScrollBar( const TEvent& event, TScrollBar *p, int& d );
+ /**
+ * Pointer to the horizontal scroll bar; 0 if the scroll bar does not
+ * exist.
+ */
+ TScrollBar *hScrollBar;
+ /**
+ * Pointer to the vertical scroll bar; 0 if the scroll bar does not exist.
+ */
+ TScrollBar *vScrollBar;
+ /**
+ * Pointer to the indicator; 0 if the indicator does not exist.
+ */
+ TIndicator *indicator;
+ /**
+ * Pointer to the buffer used to hold the text.
+ */
+ char *buffer;
+ /**
+ * Size of the buffer (in bytes).
+ */
+ uint bufSize;
+ /**
+ * The amount of text stored between the start of the buffer and the
+ * current cursor position.
+ */
+ uint bufLen;
+ /**
+ * The size of the "gap" between the text before the cursor and the text
+ * after the cursor.
+ */
+ uint gapLen;
+ /**
+ * The offset of the start of the text selected by Ctrl-K Ctrl-B.
+ */
+ uint selStart;
+ /**
+ * The offset of the end of the text selected by Ctrl-K Ctrl-K.
+ */
+ uint selEnd;
+ /**
+ * Offset of the cursor.
+ */
+ uint curPtr;
+ /**
+ * The line/column location of the cursor in the file.
+ */
+ TPoint curPos;
+ /**
+ * The top line and leftmost column shown in the view.
+ */
+ TPoint delta;
+ /**
+ * The maximum number of columns to display, and the number of lines in
+ * the file. Records the limits of the scroll bars.
+ */
+ TPoint limit;
+ /**
+ * Column position on the screen where inserted characters are drawn.
+ * Used internally by @ref draw().
+ */
+ int drawLine;
+ /**
+ * Buffer offset corresponding to the current cursor. Used internally by
+ * @ref draw().
+ */
+ uint drawPtr;
+ /**
+ * Number of characters in the end of the gap that were deleted from the
+ * text. Used to implement @ref undo().
+ */
+ uint delCount;
+ /**
+ * Number of characters inserted into the text since the last cursor
+ * movement. Used to implement @ref undo().
+ */
+ uint insCount;
+ /**
+ * True if the view is valid. Used by the @ref valid() function.
+ */
+ Boolean isValid;
+ /**
+ * True if the editor is to support undo. Otherwise False.
+ */
+ Boolean canUndo;
+ /**
+ * True if the buffer has been modified.
+ */
+ Boolean modified;
+ /**
+ * True if the editor is in selecting mode (that is, Ctrl-K Ctrl-B has
+ * been pressed).
+ */
+ Boolean selecting;
+ /**
+ * True if in overwrite mode; otherwise the editor is in insert mode.
+ */
+ Boolean overwrite;
+ /**
+ * True if the editor is in autoindent mode.
+ */
+ Boolean autoIndent;
+ /**
+ * The TEditorDialog data type is a pointer to function returning ushort
+ * and taking one int argument and a variable number of additional
+ * arguments. It is defined in `editors.h' as follows:
+ *
+ * <pre>
+ * typedef ushort (*TEditorDialog)(int, ...);
+ * </pre>
+ *
+ * Variable editorDialog is a function pointer used by TEditor objects to
+ * display various dialog boxes.
+ *
+ * Since dialog boxes are very application-dependent, a TEditor object
+ * does not display its own dialog boxes directly. Instead it controls
+ * them through this function pointer.
+ *
+ * The various dialog values, passed in the first int argument, are
+ * self-explanatory: @ref edOutOfMemory, @ref edReadError,
+ * @ref edWriteError, @ref edCreateError, @ref edSaveModify,
+ * @ref edSaveUntitled, @ref edSaveAs, @ref edFind, @ref edSearchFailed,
+ * @ref edReplace and @ref edReplacePrompt.
+ *
+ * The default editorDialog, @ref defEditorDialog(), simply returns
+ * cmCancel.
+ */
+ static TEditorDialog editorDialog;
+ /**
+ * Variable editorFlags contains various flags for use in the editor:
+ *
+ * <pre>
+ * Name Value Description
+ *
+* @ref efCaseSensitive 0x0001 Default to case-sensitive search
+* @ref efWholeWordsOnly 0x0002 Default to whole words only search
+* @ref efPromptOnReplace 0x0004 Prompt on replace
+* @ref efReplaceAll 0x0008 Replace all occurrences
+* @ref efDoReplace 0x0010 Do replace
+* @ref efBackupFiles 0x0100 Create backup files with a trailing ~ on saves
+ * </pre>
+ *
+ * The default value is @ref efBackupFiles | @ref efPromptOnReplace.
+ */
+ static ushort editorFlags;
+ /**
+ * Stores the last string value used for a find operation.
+ */
+ static char findStr[maxFindStrLen];
+ /**
+ * Stores the last string value of a replace operation.
+ */
+ static char replaceStr[maxReplaceStrLen];
+ /**
+ * Pointer to the clipboard.
+ *
+ * Any TEditor can be the clipboard; it just needs be assigned to this
+ * variable. The clipboard should not support undo (i.e., its @ref canUndo
+ * should be false).
+ */
+ static TEditor * clipboard;
+ /**
+ * Holds the lock count semaphore that controls when a view is redrawn.
+ * lockCount is incremented by @ref lock() and decremented by
+ * @ref unlock().
+ */
+ uchar lockCount;
+ /**
+ * A set of flags indicating the state of the editor.
+ * @ref doUpdate() and other member functions examine these flags to
+ * determine whether the view needs to be redrawn.
+ */
+ uchar updateFlags;
+ /**
+ * Indicates that a special key, such as Ctrl-K, has been pressed. Used
+ * by @ref handleEvent() to keep track of "double" control keys such
+ * as Ctrl-K-H and Ctrl-K-B.
+ */
+ int keyState;
+private:
+ virtual const char *streamableName() const
+ { return name; }
+protected:
+ /**
+ * Each streamable class needs a "builder" to allocate the correct memory
+ * for its objects together with the initialized virtual table pointers.
+ *
+ * This is achieved by calling this constructor with an argument of type
+ * @ref StreamableInit.
+ */
+ TEditor( StreamableInit );
+ /**
+ * Writes to the output stream `os'.
+ */
+ virtual void write( opstream& os );
+ /**
+ * Reads an editor object from the input stream `is'.
+ */
+ virtual void *read( ipstream& is );
+public:
+ /**
+ * Undocumented.
+ */
+ static const char * const name;
+ /**
+ * Called to create an object in certain stream reading situations.
+ */
+ static TStreamable *build();
+};
+
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TEditor& cl )
+ { return is >> (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TEditor*& cl )
+ { return is >> (void *&)cl; }
+
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TEditor& cl )
+ { return os << (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TEditor* cl )
+ { return os << (TStreamable *)cl; }
+
+#endif // Uses_TEditor
+
+#if defined( Uses_TMemo ) && !defined( __TMemo )
+#define __TMemo
+
+class TEvent;
+
+/**
+ * Data structure used by @ref TMemo.
+ * @short Data structure used by TMemo
+ */
+struct TMemoData
+{
+ /**
+ * Undocumented.
+ */
+ ushort length;
+ /**
+ * Undocumented.
+ */
+ char buffer[1];
+};
+
+/**
+ * TMemo, which is derived from TEditor, is designed for insertion into a
+ * dialog or form.
+ * @short Derived from TEditor and designed for insertion into a dialog or
+ * form
+ */
+class TMemo : public TEditor
+{
+public:
+ /**
+ * Constructor.
+ * @see TEditor::TEditor
+ */
+ TMemo( const TRect& bounds, TScrollBar *aHScrollBar,
+ TScrollBar *aVScrollBar, TIndicator *aIndicator, uint aBufSize );
+ virtual void getData( void *rec );
+ virtual void setData( void *rec );
+ /**
+ * Used with @ref getData() and @ref setData(), which are inherited from
+ * TView and redefined. By default it returns (sizeof(ushort) +
+ * @ref bufSize).
+ */
+ virtual ushort dataSize();
+ /**
+ * Returns the default memo palette.
+ */
+ virtual TPalette& getPalette() const;
+ /**
+ * Prevents TMemo from handling kbTab key events; otherwise handles
+ * events the same as a @ref TEditor.
+ * @see TEditor::handleEvent
+ */
+ virtual void handleEvent( TEvent& );
+private:
+ virtual const char *streamableName() const
+ { return name; }
+protected:
+ /**
+ * Each streamable class needs a "builder" to allocate the correct memory
+ * for its objects together with the initialized virtual table pointers.
+ *
+ * This is achieved by calling this constructor with an argument of type
+ * @ref StreamableInit.
+ */
+ TMemo( StreamableInit );
+ /**
+ * Writes to the output stream `os'.
+ */
+ virtual void write( opstream& );
+ /**
+ * Reads from the input stream `is'.
+ */
+ virtual void *read( ipstream& );
+public:
+ /**
+ * Undocumented.
+ */
+ static const char * const name;
+ /**
+ * Called to create an object in certain stream-reading situations.
+ */
+ static TStreamable *build();
+};
+
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TMemo& cl )
+ { return is >> (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TMemo*& cl )
+ { return is >> (void *&)cl; }
+
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TMemo& cl )
+ { return os << (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TMemo* cl )
+ { return os << (TStreamable *)cl; }
+
+#endif // Uses_TMemo
+
+
+#if defined( Uses_TFileEditor ) && !defined( __TFileEditor )
+#define __TFileEditor
+
+#include <limits.h>
+
+class TRect;
+class TScrollBar;
+class TIndicator;
+class TEvent;
+
+/**
+ * TFileEditor is a specialized derivative of TEditor for editing the contents
+ * of a file.
+ * @short Specialized derivative of TEditor for editing the contents of a file
+ */
+class TFileEditor : public TEditor
+{
+public:
+ /**
+ * The name of the file being edited.
+ */
+ char fileName[PATH_MAX];
+ /**
+ * Creates a TFileEditor object with the given scroll bars and indicator
+ * and loads the contents of the file given in `aFileName'.
+ *
+ * If the file is not found or invalid, an error message will be displayed
+ * and the object's @ref valid() member function will return False.
+ *
+ * The @ref options variable is set to @ref ofSelectable and the
+ * @ref eventMask is set to allow the handling of broadcast events.
+ *
+ * Any of `aHScrollBar', `aVScrollBar' or `aIndicator' arguments can be
+ * set to 0 if you do not want them.
+ */
+ TFileEditor( const TRect& bounds,
+ TScrollBar *aHScrollBar,
+ TScrollBar *aVScrollBar,
+ TIndicator *aIndicator,
+ const char *aFileName
+ );
+ /**
+ * Deletes the buffer.
+ */
+ virtual void doneBuffer();
+ /**
+ * Calls @ref TEditor::handleEvent(), then handles cmSave and cmSaveAs
+ * commands.
+ *
+ * The cmSave command invokes @ref save(); the cmSaveAs command invokes
+ * @ref saveAs().
+ */
+ virtual void handleEvent( TEvent& );
+ /**
+ * Allocates @ref bufSize bytes of memory for the file editor buffer.
+ */
+ virtual void initBuffer();
+ /**
+ * Reads the @ref fileName file from disk and checks for errors.
+ *
+ * Returns True if all is well; otherwise returns False. Depending on the
+ * reason for failure, the @ref edOutOfMemory or @ref edReadError dialog
+ * box is displayed with a call to @ref editorDialog().
+ */
+ Boolean loadFile();
+ /**
+ * Calls @ref saveAs() if the file being edited is "Untitled" (that is, no
+ * @ref fileName is allocated) and returns the return value from
+ * @ref saveAs().
+ *
+ * If there is a valid @ref fileName, @ref saveFile() is invoked, and
+ * save() returns the return value of @ref saveFile().
+ */
+ Boolean save();
+ /**
+ * Invokes the @ref edSaveAs dialog, which prompts for a "save as" file
+ * name. If a valid file name is supplied, the current text will be saved
+ * with this name using the @ref saveFile() member function.
+ * @see editorDialog
+ *
+ * The file editor's owner is informed of this event via a broadcast
+ * cmUpdateTitle message. saveAs() returns True if the @ref saveFile()
+ * call is successful, otherwise False is returned.
+ *
+ * False is also returned if the @ref edSaveAs dialog is cancelled.
+ */
+ Boolean saveAs();
+ /**
+ * Saves the @ref fileName file to disk. Returns False if the save fails;
+ * otherwise returns True. If @ref editorFlags has the @ref efBackupFiles
+ * bit set, a backup file is created.
+ *
+ * The @ref edCreateError or @ref edWriteError dialog box will be
+ * displayed to indicate the reason for failure if save fails.
+ * @see editorDialog
+ */
+ Boolean saveFile();
+ /**
+ * Overrides @ref TEditor::setBufSize() to grow and shrink the buffer.
+ *
+ * Will grow and shrink the buffer in 4K byte increments. @ref gapLen
+ * data member is adjusted appropriately.
+ */
+ virtual Boolean setBufSize( uint newSize );
+ /**
+ * Undocumented.
+ */
+ virtual void shutDown();
+ /**
+ * Calls @ref TEditor::updateCommands(), then enables the cmSave and
+ * cmSaveAs commands. These commands are only valid if the selected view
+ * is an editor, otherwise they should be disabled.
+ */
+ virtual void updateCommands();
+ /**
+ * Overrides @ref TEditor::valid() to warn that the file might need saving
+ * before the program exits.
+ *
+ * The @ref edSaveUntitled or @ref edSaveModify dialogs are displayed as
+ * appropriate.
+ * @see editorDialog
+ *
+ * Returns False if the user cancels the save.
+ */
+ virtual Boolean valid( ushort );
+private:
+ static const char * backupExt;
+ virtual const char *streamableName() const
+ { return name; }
+protected:
+ /**
+ * Each streamable class needs a "builder" to allocate the correct memory
+ * for its objects together with the initialized virtual table pointers.
+ *
+ * This is achieved by calling this constructor with an argument of type
+ * @ref StreamableInit.
+ */
+ TFileEditor( StreamableInit );
+ /**
+ * Writes to the output stream `os'.
+ */
+ virtual void write( opstream& );
+ /**
+ * Reads from the input stream `is'.
+ */
+ virtual void *read( ipstream& );
+public:
+ /**
+ * Undocumented.
+ */
+ static const char * const name;
+ /**
+ * Called to create an object in certain stream-reading situations.
+ */
+ static TStreamable *build();
+};
+
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TFileEditor& cl )
+ { return is >> (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TFileEditor*& cl )
+ { return is >> (void *&)cl; }
+
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TFileEditor& cl )
+ { return os << (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TFileEditor* cl )
+ { return os << (TStreamable *)cl; }
+
+#endif // Uses_TFileEditor
+
+
+#if defined( Uses_TEditWindow ) && !defined( __TEditWindow )
+#define __TEditWindow
+
+class TFileEditor;
+
+/**
+ * TEditWindow is a window designed to hold a @ref TFileEditor or the
+ * clipboard.
+ *
+ * It will change its title to display the file name being edited and will
+ * initialize scroll bars and an indicator for the editor.
+ * @see TIndicator
+ * @short Designed to hold a TFileEditor or the clipboard
+ */
+class TEditWindow : public TWindow
+{
+public:
+ /**
+ * Creates a TEditWindow object that will edit the given file name with
+ * window number `aNumber'. Initializes a framed, tileable window with
+ * scroll bars and an indicator. If `fileName' is 0, it is assumed to be
+ * an untitled file.
+ *
+ * Note: if @ref editor data member is equal to @ref TEditor::clipboard
+ * static data member, the editor is assumed to be the clipboard.
+ */
+ TEditWindow( const TRect& bounds, const char *fileName, int aNumber );
+ /**
+ * Overrides @ref TWindow::close() to hide rather than close the window
+ * if the editor is a clipboard.
+ */
+ virtual void close();
+ /**
+ * Returns the name of the file being edited, or "Clipboard" if the editor
+ * is the clipboard.
+ */
+ virtual const char *getTitle( short );
+ /**
+ * Handles cmUpdateTitle to redraw the frame of the window. Used in
+ * @ref TFileEditor::saveAs() to change the title of the window if the
+ * file being edited changes names.
+ */
+ virtual void handleEvent( TEvent& event );
+ /**
+ * Undocumented.
+ */
+ virtual void sizeLimits( TPoint& min, TPoint& max );
+ /**
+ * Pointer to the editor associated with this window.
+ */
+ TFileEditor *editor;
+private:
+ static const char * clipboardTitle;
+ static const char * untitled;
+ virtual const char *streamableName() const
+ { return name; }
+protected:
+ /**
+ * Each streamable class needs a "builder" to allocate the correct memory
+ * for its objects together with the initialized virtual table pointers.
+ *
+ * This is achieved by calling this constructor with an argument of type
+ * @ref StreamableInit.
+ */
+ TEditWindow( StreamableInit );
+ /**
+ * Writes to the output stream `os'.
+ */
+ virtual void write( opstream& );
+ /**
+ * Reads from the input stream `is'.
+ */
+ virtual void *read( ipstream& );
+public:
+ /**
+ * Undocumented.
+ */
+ static const char * const name;
+ /**
+ * Called to create an object in certain stream-reading situations.
+ */
+ static TStreamable *build();
+};
+
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TEditWindow& cl )
+ { return is >> (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TEditWindow*& cl )
+ { return is >> (void *&)cl; }
+
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TEditWindow& cl )
+ { return os << (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TEditWindow* cl )
+ { return os << (TStreamable *)cl; }
+
+#endif // Uses_TEditWindow
+
+
+#if defined( Uses_TFindDialogRec ) && !defined( __TFindDialogRec )
+#define __TFindDialogRec
+
+#include <string.h>
+
+/**
+ * Data record used by TEditor.
+ * @see TEditor::find
+ * @see TReplaceDialogRec
+ * @see TView::dataSize
+ * @see TView::getData
+ * @see TView::setData
+ */
+struct TFindDialogRec
+{
+ /**
+ * Undocumented.
+ */
+ TFindDialogRec( const char *str, ushort flgs )
+ {
+ strcpy( find, str );
+ options = flgs;
+ }
+ /**
+ * Undocumented.
+ */
+ char find[maxFindStrLen];
+ /**
+ * Undocumented.
+ */
+ ushort options;
+};
+
+#endif // Uses_TFindDialogRec
+
+#if defined( Uses_TReplaceDialogRec ) && !defined( __TReplaceDialogRec )
+#define __TReplaceDialogRec
+
+#include <string.h>
+
+/**
+ * Data record used by TEditor.
+ * @see TEditor::replace
+ * @see TFindDialogRec
+ * @see TView::dataSize
+ * @see TView::getData
+ * @see TView::setData
+ */
+struct TReplaceDialogRec
+{
+ /**
+ * Undocumented.
+ */
+ TReplaceDialogRec( const char *str, const char *rep, ushort flgs )
+ {
+ strcpy( find, str );
+ strcpy( replace, rep );
+ options = flgs;
+ }
+ /**
+ * Undocumented.
+ */
+ char find[maxFindStrLen];
+ /**
+ * Undocumented.
+ */
+ char replace[maxReplaceStrLen];
+ /**
+ * Undocumented.
+ */
+ ushort options;
+};
+
+#endif // Uses_TReplaceDialogRec
diff --git a/freebsdtvision/lib/editstat.cc b/freebsdtvision/lib/editstat.cc
new file mode 100644
index 0000000..e8c7129
--- /dev/null
+++ b/freebsdtvision/lib/editstat.cc
@@ -0,0 +1,25 @@
+/*
+ * editstat.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#define Uses_TEditor
+#define Uses_TEditorDialog
+#include <tvision/tv.h>
+
+ushort defEditorDialog( int, ... )
+{
+ return cmCancel;
+}
+
+TEditorDialog TEditor::editorDialog = defEditorDialog;
+ushort TEditor::editorFlags = efBackupFiles | efPromptOnReplace;
+char TEditor::findStr[maxFindStrLen] = "";
+char TEditor::replaceStr[maxReplaceStrLen] = "";
+TEditor * TEditor::clipboard = 0;
diff --git a/freebsdtvision/lib/help.cc b/freebsdtvision/lib/help.cc
new file mode 100644
index 0000000..db2510f
--- /dev/null
+++ b/freebsdtvision/lib/help.cc
@@ -0,0 +1,272 @@
+/*
+ * help.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#define Uses_TStreamableClass
+#define Uses_TPoint
+#define Uses_TStreamable
+#define Uses_ipstream
+#define Uses_opstream
+#define Uses_fpstream
+#define Uses_TRect
+#define Uses_TScrollBar
+#define Uses_TScroller
+#define Uses_TDrawBuffer
+#define Uses_TEvent
+#define Uses_TWindow
+#define Uses_TKeys
+#define Uses_TPalette
+#include <tvision/tv.h>
+
+#if !defined( __HELP_H )
+#include "tvision/help.h"
+#endif // __HELP_H
+
+#if !defined( __UTIL_H )
+#include "tvision/util.h"
+#endif // __UTIL_H
+
+#include <ctype.h>
+#include <limits.h>
+#include <string.h>
+#include <sys/stat.h>
+
+// THelpViewer
+
+THelpViewer::THelpViewer( const TRect& bounds, TScrollBar* aHScrollBar,
+ TScrollBar* aVScrollBar, THelpFile *aHelpFile, ushort context )
+ : TScroller( bounds, aHScrollBar, aVScrollBar )
+{
+ options = (options | ofSelectable);
+ growMode = gfGrowHiX | gfGrowHiY;
+ hFile = aHelpFile;
+ topic = aHelpFile->getTopic(context);
+ topic->setWidth(size.x);
+ setLimit(78, topic->numLines());
+ selected = 1;
+}
+
+THelpViewer::~THelpViewer()
+{
+ delete hFile;
+ delete topic;
+}
+
+void THelpViewer::changeBounds( const TRect& bounds )
+{
+ TScroller::changeBounds(bounds);
+ topic->setWidth(size.x);
+ setLimit(limit.x, topic->numLines());
+}
+
+void THelpViewer::draw()
+{
+ TDrawBuffer b;
+ char line[256];
+ char buffer[256];
+ char *bufPtr;
+ int i, j, l;
+ int keyCount;
+ ushort normal, keyword, selKeyword, c;
+ TPoint keyPoint;
+ uchar keyLength;
+ int keyRef;
+
+ normal = getColor(1);
+ keyword = getColor(2);
+ selKeyword = getColor(3);
+ keyCount = 0;
+ keyPoint.x = 0;
+ keyPoint.y = 0;
+ topic->setWidth(size.x);
+ if (topic->getNumCrossRefs() > 0)
+ {
+ do
+ {
+ topic->getCrossRef(keyCount, keyPoint, keyLength, keyRef);
+ ++keyCount;
+ } while ( (keyCount < topic->getNumCrossRefs()) &&
+ (keyPoint.y <= delta.y));
+ }
+ for (i = 1; i <= size.y; ++i)
+ {
+ b.moveChar(0, ' ', normal, size.x);
+ strcpy(line, topic->getLine(i + delta.y, buffer, sizeof( buffer )));
+ if ((int)strlen(line) > delta.x)
+ {
+ bufPtr = line + delta.x;
+ strncpy(buffer, bufPtr, size.x);
+ buffer[size.x] = 0;
+ b.moveStr(0, buffer, normal);
+ }
+ else
+ b.moveStr(0, "", normal);
+ while (i + delta.y == keyPoint.y)
+ {
+ l = keyLength;
+ if (keyPoint.x < delta.x )
+ {
+ l -= (delta.x - keyPoint.x);
+ keyPoint.x = delta.x;
+ }
+ if (keyCount == selected)
+ c = selKeyword;
+ else
+ c = keyword;
+ for(j = 0; j < l; ++j)
+ b.putAttribute((keyPoint.x - delta.x + j),c);
+ if (keyCount < topic->getNumCrossRefs())
+ {
+ topic->getCrossRef(keyCount, keyPoint, keyLength, keyRef);
+ keyCount++;
+ }
+ else
+ keyPoint.y = 0;
+ }
+ writeLine(0, i-1, size.x, 1, b);
+ }
+}
+
+TPalette& THelpViewer::getPalette() const
+{
+ static TPalette palette( cHelpViewer, sizeof( cHelpViewer)-1 );
+ return palette;
+}
+
+void THelpViewer::makeSelectVisible( int selected, TPoint& keyPoint,
+ uchar& keyLength, int& keyRef )
+{
+ TPoint d;
+
+ topic->getCrossRef(selected, keyPoint, keyLength, keyRef);
+ d = delta;
+ if (keyPoint.x < d.x)
+ d.x = keyPoint.x;
+ if (keyPoint.x > d.x + size.x)
+ d.x = keyPoint.x - size.x;
+ if (keyPoint.y <= d.y)
+ d.y = keyPoint.y-1;
+ if (keyPoint.y > d.y + size.y)
+ d.y = keyPoint.y - size.y;
+ if ((d.x != delta.x) || (d.y != delta.y))
+ scrollTo(d.x, d.y);
+}
+
+void THelpViewer::switchToTopic( int keyRef )
+{
+ if (topic != 0)
+ delete topic;
+ topic = hFile->getTopic(keyRef);
+ topic->setWidth(size.x);
+ scrollTo(0, 0);
+ setLimit(limit.x, topic->numLines());
+ selected = 1;
+ drawView();
+}
+
+void THelpViewer::handleEvent( TEvent& event )
+{
+
+ TPoint keyPoint, mouse;
+ uchar keyLength;
+ int keyRef;
+ int keyCount;
+
+
+ TScroller::handleEvent(event);
+ switch (event.what)
+ {
+
+ case evKeyDown:
+ switch (event.keyDown.keyCode)
+ {
+ case kbTab:
+ ++selected;
+ if (selected > topic->getNumCrossRefs())
+ selected = 1;
+ if ( topic->getNumCrossRefs() != 0 )
+ makeSelectVisible(selected-1,keyPoint,keyLength,keyRef);
+ break;
+ case kbShiftTab:
+ --selected;
+ if (selected == 0)
+ selected = topic->getNumCrossRefs();
+ if ( topic->getNumCrossRefs() != 0 )
+ makeSelectVisible(selected-1,keyPoint,keyLength,keyRef);
+ break;
+ case kbEnter:
+ if (selected <= topic->getNumCrossRefs())
+ {
+ topic->getCrossRef(selected-1, keyPoint, keyLength, keyRef);
+ switchToTopic(keyRef);
+ }
+ break;
+ case kbEsc:
+ event.what = evCommand;
+ event.message.command = cmClose;
+ putEvent(event);
+ break;
+ default:
+ return;
+ }
+ drawView();
+ clearEvent(event);
+ break;
+
+ case evMouseDown:
+ mouse = makeLocal(event.mouse.where);
+ mouse.x += delta.x;
+ mouse.y += delta.y;
+ keyCount = 0;
+
+ do
+ {
+ ++keyCount;
+ if (keyCount > topic->getNumCrossRefs())
+ return;
+ topic->getCrossRef(keyCount-1, keyPoint, keyLength, keyRef);
+ } while (!((keyPoint.y == mouse.y+1) && (mouse.x >= keyPoint.x) &&
+ (mouse.x < keyPoint.x + keyLength)));
+ selected = keyCount;
+ drawView();
+ if (event.mouse.eventFlags & meDoubleClick)
+ switchToTopic(keyRef);
+ clearEvent(event);
+ break;
+
+ case evCommand:
+ if ((event.message.command == cmClose) && ((owner->state & sfModal) != 0))
+ {
+ endModal(cmClose);
+ clearEvent(event);
+ }
+ break;
+ }
+}
+
+// THelpWindow
+
+THelpWindow::THelpWindow( THelpFile *hFile, ushort context ):
+ TWindow( TRect(0,0,50,18), helpWinTitle, wnNoNumber ),
+ TWindowInit( &THelpWindow::initFrame)
+{
+ TRect r(0, 0, 50, 18);
+ options = (options | ofCentered);
+ r.grow(-2,-1);
+ insert(new THelpViewer (r,
+ standardScrollBar(sbHorizontal | sbHandleKeyboard),
+ standardScrollBar(sbVertical | sbHandleKeyboard), hFile, context));
+}
+
+TPalette& THelpWindow::getPalette() const
+{
+ static TPalette palette( cHelpWindow, sizeof(cHelpWindow)-1 );
+ return palette;
+}
diff --git a/freebsdtvision/lib/help.h b/freebsdtvision/lib/help.h
new file mode 100644
index 0000000..50cddc4
--- /dev/null
+++ b/freebsdtvision/lib/help.h
@@ -0,0 +1,117 @@
+/*
+ * help.h
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#if !defined( __HELP_H )
+#define __HELP_H
+
+/** \file help.h
+ * help.h
+ */
+
+#define Uses_TStreamable
+#define Uses_ipstream
+#define Uses_opstream
+#define Uses_fpstream
+#define Uses_TObject
+#define Uses_TPoint
+#define Uses_TRect
+#define Uses_TEvent
+#define Uses_TScroller
+#define Uses_TScrollBar
+#define Uses_TWindow
+#include <tvision/tv.h>
+
+#include <tvision/helpbase.h>
+
+// THelpViewer
+
+/**
+ * Part of the help system.
+ */
+class THelpViewer : public TScroller
+{
+public:
+ /**
+ * Undocumented.
+ */
+ THelpViewer( const TRect&, TScrollBar*, TScrollBar*, THelpFile*, ushort );
+ /**
+ * Undocumented.
+ */
+ ~THelpViewer();
+ /**
+ * Undocumented.
+ */
+ virtual void changeBounds( const TRect& );
+ /**
+ * Undocumented.
+ */
+ virtual void draw();
+ /**
+ * Undocumented.
+ */
+ virtual TPalette& getPalette() const;
+ /**
+ * Undocumented.
+ */
+ virtual void handleEvent( TEvent& );
+ /**
+ * Undocumented.
+ */
+ void makeSelectVisible( int, TPoint&, uchar&, int& );
+ /**
+ * Undocumented.
+ */
+ void switchToTopic( int );
+ /**
+ * Undocumented.
+ */
+ THelpFile *hFile;
+ /**
+ * Undocumented.
+ */
+ THelpTopic *topic;
+ /**
+ * Undocumented.
+ */
+ int selected;
+};
+
+// THelpWindow
+
+/**
+ * Part of the help system.
+ */
+class THelpWindow : public TWindow
+{
+ static const char * helpWinTitle;
+public:
+ /**
+ * Undocumented.
+ */
+ THelpWindow( THelpFile*, ushort );
+ /**
+ * Undocumented.
+ */
+ virtual TPalette& getPalette() const;
+};
+
+/**
+ * Undocumented.
+ */
+extern void notAssigned( opstream& s, int value );
+
+/**
+ * Undocumented.
+ */
+extern TCrossRefHandler crossRefHandler;
+
+#endif // __HELP_H
diff --git a/freebsdtvision/lib/helpbase.cc b/freebsdtvision/lib/helpbase.cc
new file mode 100644
index 0000000..bd3d696
--- /dev/null
+++ b/freebsdtvision/lib/helpbase.cc
@@ -0,0 +1,644 @@
+/*
+ * helpbase.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
+ */
+
+#define Uses_TStreamableClass
+#define Uses_TPoint
+#define Uses_TStreamable
+#define Uses_ipstream
+#define Uses_opstream
+#define Uses_fpstream
+#define Uses_TRect
+#include <tvision/tv.h>
+
+#if !defined( __HELP_H )
+#include "tvision/helpbase.h"
+#endif // __HELP_H
+
+#if !defined( __UTIL_H )
+#include "tvision/util.h"
+#endif // __UTIL_H
+
+#include <ctype.h>
+#include <limits.h>
+#include <string.h>
+#include <sys/stat.h>
+
+using std::streampos;
+
+TCrossRefHandler crossRefHandler = notAssigned;
+
+// THelpTopic
+
+const char * const THelpTopic::name = "THelpTopic";
+
+void THelpTopic::write( opstream& os )
+{
+ writeParagraphs( os );
+ writeCrossRefs( os );
+
+}
+
+void *THelpTopic::read( ipstream& is )
+{
+ readParagraphs( is );
+ readCrossRefs( is );
+ width = 0;
+ lastLine = INT_MAX;
+ return this;
+}
+
+TStreamable *THelpTopic::build()
+{
+ return new THelpTopic( streamableInit );
+}
+
+
+TStreamableClass RHelpTopic( THelpTopic::name,
+ THelpTopic::build,
+ __DELTA(THelpTopic)
+ );
+
+THelpTopic::THelpTopic() : TObject()
+{
+ paragraphs = 0;
+ numRefs = 0;
+ crossRefs = 0;
+ width = 0;
+ lastOffset = 0;
+ lastLine = INT_MAX;
+ lastParagraph = 0;
+};
+
+void THelpTopic::readParagraphs( ipstream& s )
+{
+ int i;
+ ushort size;
+ TParagraph **pp;
+ int temp;
+
+ s >> i;
+ pp = &paragraphs;
+ while ( i > 0)
+ {
+ s >> size;
+ *pp = new TParagraph;
+ (*pp)->text = new char[size];
+ (*pp)->size = (ushort) size;
+ s >> temp;
+ (*pp)->wrap = Boolean(temp);
+ s.readBytes((*pp)->text, (*pp)->size);
+ pp = &((*pp)->next);
+ --i;
+ }
+ *pp = 0;
+}
+
+void THelpTopic::readCrossRefs( ipstream& s )
+{
+ int i;
+ TCrossRef *crossRefPtr;
+
+ s >> numRefs;
+ crossRefs = new TCrossRef[numRefs];
+ for (i = 0; i < numRefs; ++i)
+ {
+ crossRefPtr = (TCrossRef *)crossRefs + i;
+
+ /*
+ * SS: TCrossRef size is 9 bytes (int, int, char), but
+ * sizeof(TCrossRef) is rounded to 12.
+ */
+ s >> crossRefPtr->ref; /* int */
+ s >> crossRefPtr->offset; /* int */
+ s >> crossRefPtr->length; /* char */
+// s.readBytes(crossRefPtr, sizeof(TCrossRef));
+ }
+}
+
+void THelpTopic::disposeParagraphs()
+{
+ TParagraph *p, *t;
+
+ p = paragraphs;
+ while (p != 0)
+ {
+ t = p;
+ p = p->next;
+ delete t->text;
+ delete t;
+ }
+}
+
+
+THelpTopic::~THelpTopic()
+{
+ TCrossRef *crossRefPtr;
+
+ disposeParagraphs();
+ if (crossRefs != 0)
+ {
+ crossRefPtr = (TCrossRef *)crossRefs;
+ delete [] crossRefPtr;
+ }
+}
+
+void THelpTopic::addCrossRef( TCrossRef ref )
+{
+ TCrossRef *p;
+ TCrossRef *crossRefPtr;
+
+ p = new TCrossRef[numRefs+1];
+ if (numRefs > 0)
+ {
+ crossRefPtr = crossRefs;
+ memmove(p, crossRefPtr, numRefs * sizeof(TCrossRef));
+ delete [] crossRefPtr;
+ }
+ crossRefs = p;
+ crossRefPtr = crossRefs + numRefs;
+ *crossRefPtr = ref;
+ ++numRefs;
+}
+
+
+void THelpTopic::addParagraph( TParagraph *p )
+{
+ TParagraph *pp, *back;
+
+ if (paragraphs == 0)
+ paragraphs = p;
+ else
+ {
+ pp = paragraphs;
+ back = pp;
+ while (pp != 0)
+ {
+ back = pp;
+ pp = pp->next;
+ }
+ back->next = p;
+ }
+ p->next = 0;
+}
+
+void THelpTopic::getCrossRef( int i, TPoint& loc, uchar& length,
+ int& ref )
+{
+ int oldOffset, curOffset, offset, paraOffset;
+ TParagraph *p;
+ int line;
+ TCrossRef *crossRefPtr;
+
+ paraOffset = 0;
+ curOffset = 0;
+ oldOffset = 0;
+ line = 0;
+ crossRefPtr = crossRefs + i;
+ offset = crossRefPtr->offset;
+ p = paragraphs;
+ while (paraOffset + curOffset < offset)
+ {
+ char lbuf[256];
+
+ oldOffset = paraOffset + curOffset;
+ wrapText(p->text, p->size, curOffset, p->wrap, lbuf, sizeof(lbuf));
+ ++line;
+ if (curOffset >= p->size)
+ {
+ paraOffset += p->size;
+ p = p->next;
+ curOffset = 0;
+ }
+ }
+ loc.x = offset - oldOffset - 1;
+ loc.y = line;
+ length = crossRefPtr->length;
+ ref = crossRefPtr->ref;
+}
+
+char *THelpTopic::getLine( int line, char *buffer, int buflen )
+{
+ int offset, i;
+ TParagraph *p;
+
+ if (lastLine < line)
+ {
+ i = line;
+ line -= lastLine;
+ lastLine = i;
+ offset = lastOffset;
+ p = lastParagraph;
+ }
+ else
+ {
+ p = paragraphs;
+ offset = 0;
+ lastLine = line;
+ }
+ buffer[0] = 0;
+ while (p != 0)
+ {
+ while (offset < p->size)
+ {
+ char lbuf[256];
+
+ --line;
+ strncpy(buffer, wrapText(p->text, p->size, offset, p->wrap, lbuf, sizeof(lbuf)), buflen);
+ if (line == 0)
+ {
+ lastOffset = offset;
+ lastParagraph = p;
+ return buffer;
+ }
+ }
+ p = p->next;
+ offset = 0;
+ }
+ buffer[0] = 0;
+ return buffer;
+}
+
+int THelpTopic::getNumCrossRefs()
+{
+ return numRefs;
+}
+
+int THelpTopic::numLines()
+{
+ int offset, lines;
+ TParagraph *p;
+
+ offset = 0;
+ lines = 0;
+ p = paragraphs;
+ while (p != 0)
+ {
+ offset = 0;
+ while (offset < p->size)
+ {
+ char lbuf[256];
+ ++lines;
+ wrapText(p->text, p->size, offset, p->wrap, lbuf, sizeof(lbuf));
+ }
+ p = p->next;
+ }
+ return lines;
+}
+
+void THelpTopic::setCrossRef( int i, TCrossRef& ref )
+{
+ TCrossRef *crossRefPtr;
+
+ if (i < numRefs)
+ {
+ crossRefPtr = crossRefs + i;
+ *crossRefPtr = ref;
+ }
+}
+
+
+void THelpTopic::setNumCrossRefs( int i )
+{
+ TCrossRef *p, *crossRefPtr;
+
+ if (numRefs == i)
+ return;
+ p = new TCrossRef[i];
+ if (numRefs > 0)
+ {
+ crossRefPtr = crossRefs;
+ if (i > numRefs)
+ memmove(p, crossRefPtr, numRefs * sizeof(TCrossRef));
+ else
+ memmove(p, crossRefPtr, i * sizeof(TCrossRef));
+ delete [] crossRefPtr;
+ }
+ crossRefs = p;
+ numRefs = i;
+}
+
+
+void THelpTopic::setWidth( int aWidth )
+{
+ width = aWidth;
+}
+
+void THelpTopic::writeParagraphs( opstream& s )
+{
+ int i;
+ TParagraph *p;
+ int temp;
+
+ p = paragraphs;
+ for (i = 0; p != 0; ++i)
+ p = p->next;
+ s << i;
+ for(p = paragraphs; p != 0; p = p->next)
+ {
+ s << p->size;
+ temp = int(p->wrap);
+ s << temp;
+ s.writeBytes(p->text, p->size);
+ }
+}
+
+
+void THelpTopic::writeCrossRefs( opstream& s )
+{
+ int i;
+ TCrossRef *crossRefPtr;
+
+ s << numRefs;
+ if (crossRefHandler == notAssigned)
+ {
+ for(i = 0; i < numRefs; ++i)
+ {
+ crossRefPtr = crossRefs + i;
+ s << crossRefPtr->ref << crossRefPtr->offset << crossRefPtr->length;
+ }
+ }
+ else
+ for (i = 0; i < numRefs; ++i)
+ {
+ crossRefPtr = crossRefs + i;
+ (*crossRefHandler)(s, crossRefPtr->ref);
+ s << crossRefPtr->offset << crossRefPtr->length;
+ }
+}
+
+Boolean isBlank( char ch )
+{
+ if (isspace((uchar)ch))
+ return True;
+ else
+ return False;
+}
+
+int scan( char *p, int offset, char c)
+{
+ char *temp1, *temp2;
+
+ temp1 = p + offset;
+ temp2 = strchr(temp1, c);
+ if (temp2 == 0)
+ return 256;
+ else
+ {
+ if ((int)(temp2 - temp1) <= 256 )
+ return (int) (temp2 - temp1) + 1;
+ else
+ return 256;
+ }
+}
+
+void textToLine( void *text, int offset, int length, char *line )
+{
+ strncpy(line, (char *)text+offset, length);
+ line[length] = 0;
+}
+
+char *THelpTopic::wrapText( char *text, int size, int& offset, Boolean wrap,
+ char *lineBuf, int lineBufLen )
+{
+ int i;
+
+ i = scan(text, offset, '\n');
+ if (i + offset > size )
+ i = size - offset;
+ if ((i >= width) && (wrap == True))
+ {
+ i = offset + width;
+ if (i > size)
+ i = size;
+ else
+ {
+ while((i > offset) && !(isBlank(text[i])))
+ --i;
+/*
+ if (i == offset)
+ i = offset + width;
+ else
+ ++i;
+*/
+ if( i == offset )
+ {
+ i = offset + width;
+ while( (i < size) && !isBlank(text[i]) )
+ ++i;
+ if( i < size )
+ ++i;
+ }
+ else
+ ++i;
+ }
+ if (i == offset)
+ i = offset + width;
+ i -= offset;
+ }
+ textToLine(text, offset, min(i,lineBufLen), lineBuf);
+ if (lineBuf[min(strlen(lineBuf) - 1, lineBufLen)] == '\n')
+ lineBuf[min(strlen(lineBuf) - 1, lineBufLen)] = 0;
+ offset += min(i,lineBufLen);
+ return lineBuf;
+}
+
+// THelpIndex
+
+const char * const THelpIndex::name = "THelpIndex";
+
+void THelpIndex::write( opstream& os )
+{
+ long *indexArrayPtr;
+
+ os << size;
+ for (int i = 0; i < size; ++i)
+ {
+ indexArrayPtr = index + i;
+ os << *indexArrayPtr;
+ }
+}
+
+void *THelpIndex::read( ipstream& is )
+{
+ long *indexArrayPtr;
+
+ is >> size;
+ if (size == 0)
+ index = 0;
+ else
+ {
+ index = new long[size];
+ for(int i = 0; i < size; ++i)
+ {
+ indexArrayPtr = index + i;
+ is >> *indexArrayPtr;
+ }
+ }
+ return this;
+}
+
+TStreamable *THelpIndex::build()
+{
+ return new THelpIndex( streamableInit );
+}
+
+TStreamableClass RHelpIndex( THelpIndex::name,
+ THelpIndex::build,
+ __DELTA(THelpIndex)
+ );
+
+THelpIndex::~THelpIndex()
+{
+ delete [] index;
+}
+
+
+THelpIndex::THelpIndex(void): TObject ()
+{
+ size = 0;
+ index = 0;
+}
+
+long THelpIndex::position(int i)
+{
+ long *indexArrayPtr;
+
+ if (i < size)
+ {
+ indexArrayPtr = index + i;
+ return (*indexArrayPtr);
+ }
+ else
+ return -1;
+}
+
+void THelpIndex::add( int i, long val )
+{
+ int delta = 10;
+ long *p;
+ int newSize;
+ long *indexArrayPtr;
+
+ if (i >= size)
+ {
+ newSize = (i + delta) / delta * delta;
+ p = new long[newSize];
+ if (p != 0)
+ {
+ memmove(p, index, size * sizeof(long));
+ memset(p+size, 0xFF, (newSize - size) * sizeof(long));
+ }
+ if (size > 0)
+ {
+ delete [] index;
+ }
+ index = p;
+ size = newSize;
+ }
+ indexArrayPtr = index + i;
+ *indexArrayPtr = val;
+}
+
+// THelpFile
+
+THelpFile::THelpFile( fpstream& s )
+{
+ long magic = 0;
+
+ s.seekg(0);
+ streampos size = filelength(s);
+ if (size > (long)sizeof(magic))
+ s >> magic;
+ if (magic != magicHeader)
+ {
+ indexPos = 12;
+ s.seekg(indexPos);
+ index = new THelpIndex;
+ modified = True;
+ }
+ else
+ {
+ s.seekg(8);
+ s >> indexPos;
+ s.seekg(indexPos);
+ s >> index;
+ modified = False;
+ }
+ stream = &s;
+}
+
+THelpFile::~THelpFile(void)
+{
+
+ if (modified == True)
+ {
+ stream->seekp(indexPos);
+ *stream << index;
+ long magic = magicHeader;
+ stream->seekp(0);
+ streampos size = filelength(*stream);
+ size =- 8;
+ *stream << magic;
+ *stream << size;
+ *stream << indexPos;
+ }
+ delete stream;
+ delete index;
+}
+
+THelpTopic *THelpFile::getTopic( int i )
+{
+ long pos;
+ THelpTopic *topic = 0;
+
+ pos = index->position(i);
+ if (pos > 0 )
+ {
+ stream->seekg(pos);
+ *stream >> topic;
+ return topic;
+ }
+ else return(invalidTopic());
+}
+
+THelpTopic *THelpFile::invalidTopic()
+{
+ THelpTopic *topic;
+ TParagraph *para;
+
+ topic = new THelpTopic;
+ para = new TParagraph;
+ para->text = newStr(invalidContext);
+ para->size = strlen(invalidContext);
+ para->wrap = False;
+ para->next = 0;
+ topic->addParagraph(para);
+ return topic;
+}
+
+void THelpFile::recordPositionInIndex( int i )
+{
+ index->add(i, indexPos);
+ modified = True;
+}
+
+void THelpFile::putTopic( THelpTopic *topic )
+{
+ stream->seekp(indexPos);
+ *stream << topic;
+ indexPos = stream->tellp();
+ modified = True;
+}
+
+void notAssigned( opstream& , int )
+{
+}
diff --git a/freebsdtvision/lib/helpbase.h b/freebsdtvision/lib/helpbase.h
new file mode 100644
index 0000000..7dd737e
--- /dev/null
+++ b/freebsdtvision/lib/helpbase.h
@@ -0,0 +1,341 @@
+/*
+ * helpbase.h
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+/** \file helpbase.h
+ * helpbase.h
+ */
+
+/**
+ * Undocumented.
+ */
+const long magicHeader = 0x46484246L; //"FBHF"
+
+#define cHelpViewer "\x06\x07\x08"
+#define cHelpWindow "\x80\x81\x82\x83\x84\x85\x86\x87"
+
+// TParagraph
+
+/**
+ * Part of the help system.
+ * @short Part of the help system
+ */
+class TParagraph
+{
+public:
+ /**
+ * Undocumented.
+ */
+ TParagraph() {}
+ /**
+ * Undocumented.
+ */
+ TParagraph *next;
+ /**
+ * Undocumented.
+ */
+ Boolean wrap;
+ /**
+ * Undocumented.
+ */
+ ushort size;
+ /**
+ * Undocumented.
+ */
+ char *text;
+};
+
+// TCrossRef
+
+/**
+ * Part of the help system.
+ * @short Part of the help system
+ */
+class TCrossRef
+{
+public:
+ /**
+ * Undocumented.
+ */
+ TCrossRef() {}
+ /**
+ * Undocumented.
+ */
+ int ref;
+ /**
+ * Undocumented.
+ */
+ int offset;
+ /**
+ * Undocumented.
+ */
+ uchar length;
+};
+
+/**
+ * Undocumented.
+ */
+typedef void (*TCrossRefHandler) ( opstream&, int );
+
+/**
+ * Part of the help system.
+ * @short Part of the help system
+ */
+class THelpTopic: public TObject, public TStreamable
+{
+public:
+ /**
+ * Undocumented.
+ */
+ THelpTopic();
+ /**
+ * Undocumented.
+ */
+ THelpTopic( StreamableInit ) {};
+ /**
+ * Undocumented.
+ */
+ virtual ~THelpTopic();
+ /**
+ * Undocumented.
+ */
+ void addCrossRef( TCrossRef ref );
+ /**
+ * Undocumented.
+ */
+ void addParagraph( TParagraph *p );
+ /**
+ * Undocumented.
+ */
+ void getCrossRef( int i, TPoint& loc, uchar& length, int& ref );
+ /**
+ * Undocumented.
+ */
+ char *getLine( int line, char *buffer, int buflen );
+ /**
+ * Undocumented.
+ */
+ int getNumCrossRefs();
+ /**
+ * Undocumented.
+ */
+ int numLines();
+ /**
+ * Undocumented.
+ */
+ void setCrossRef( int i, TCrossRef& ref );
+ /**
+ * Undocumented.
+ */
+ void setNumCrossRefs( int i );
+ /**
+ * Undocumented.
+ */
+ void setWidth( int aWidth );
+ /**
+ * Undocumented.
+ */
+ TParagraph *paragraphs;
+ /**
+ * Undocumented.
+ */
+ int numRefs;
+ /**
+ * Undocumented.
+ */
+ TCrossRef *crossRefs;
+private:
+ char *wrapText( char *text, int size, int& offset, Boolean wrap, char *lineBuf, int lineBufLen );
+ void readParagraphs( ipstream& s );
+ void readCrossRefs( ipstream& s );
+ void writeParagraphs( opstream& s );
+ void writeCrossRefs( opstream& s );
+ void disposeParagraphs();
+ const char *streamableName() const
+ { return name; }
+ int width;
+ int lastOffset;
+ int lastLine;
+ TParagraph *lastParagraph;
+protected:
+ virtual void write( opstream& os );
+ virtual void *read( ipstream& is );
+public:
+ /**
+ * Undocumented.
+ */
+ static const char * const name;
+ /**
+ * Undocumented.
+ */
+ static TStreamable *build();
+};
+
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, THelpTopic& cl )
+ { return is >> (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, THelpTopic*& cl )
+ { return is >> (void *&)cl; }
+
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, THelpTopic& cl )
+ { return os << (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, THelpTopic* cl )
+ { return os << (TStreamable *)cl; }
+
+
+// THelpIndex
+
+/**
+ * Part of the help system.
+ * @short Part of the help system
+ */
+class THelpIndex : public TObject, public TStreamable
+{
+public:
+ /**
+ * Undocumented.
+ */
+ THelpIndex();
+ /**
+ * Undocumented.
+ */
+ THelpIndex( StreamableInit ) {};
+ /**
+ * Undocumented.
+ */
+ virtual ~THelpIndex();
+ /**
+ * Undocumented.
+ */
+ long position( int );
+ /**
+ * Undocumented.
+ */
+ void add( int, long );
+ /**
+ * Undocumented.
+ */
+ ushort size;
+ /**
+ * Undocumented.
+ */
+ long *index;
+private:
+ const char *streamableName() const
+ { return name; }
+protected:
+ virtual void write( opstream& os );
+ virtual void *read( ipstream& is );
+public:
+ /**
+ * Undocumented.
+ */
+ static const char * const name;
+ /**
+ * Undocumented.
+ */
+ static TStreamable *build();
+};
+
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, THelpIndex& cl )
+ { return is >> (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, THelpIndex*& cl )
+ { return is >> (void *&)cl; }
+
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, THelpIndex& cl )
+ { return os << (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, THelpIndex* cl )
+ { return os << (TStreamable *)cl; }
+
+
+// THelpFile
+
+/**
+ * Part of the help system.
+ * @short Part of the help system
+ */
+class THelpFile : public TObject
+{
+ static const char * invalidContext;
+public:
+ /**
+ * Undocumented.
+ */
+ THelpFile( fpstream& s );
+ /**
+ * Undocumented.
+ */
+ virtual ~THelpFile();
+ /**
+ * Undocumented.
+ */
+ THelpTopic *getTopic( int );
+ /**
+ * Undocumented.
+ */
+ THelpTopic *invalidTopic();
+ /**
+ * Undocumented.
+ */
+ void recordPositionInIndex( int );
+ /**
+ * Undocumented.
+ */
+ void putTopic( THelpTopic* );
+ /**
+ * Undocumented.
+ */
+ fpstream *stream;
+ /**
+ * Undocumented.
+ */
+ Boolean modified;
+ /**
+ * Undocumented.
+ */
+ THelpIndex *index;
+ /**
+ * Undocumented.
+ */
+ long indexPos;
+};
+
+/**
+ * Undocumented.
+ */
+extern void notAssigned( opstream& s, int value );
+
+/**
+ * Undocumented.
+ */
+extern TCrossRefHandler crossRefHandler;
diff --git a/freebsdtvision/lib/histlist.cc b/freebsdtvision/lib/histlist.cc
new file mode 100644
index 0000000..f983642
--- /dev/null
+++ b/freebsdtvision/lib/histlist.cc
@@ -0,0 +1,190 @@
+/*
+ * histlist.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#include <tvision/tv.h>
+
+#include <stdlib.h>
+#include <string.h>
+
+class HistRec
+{
+
+public:
+
+ HistRec( uchar nId, const char *nStr );
+
+ uchar id;
+ uchar len;
+ char str[1];
+
+};
+
+inline HistRec::HistRec( uchar nId, const char *nStr ) :
+ id( nId ),
+ len( strlen( nStr ) + 3 )
+{
+ strcpy( str, nStr );
+}
+
+
+inline HistRec *advance( HistRec *ptr, size_t s )
+{
+ return (HistRec *)((char *)ptr + s);
+}
+
+inline HistRec *backup( HistRec *ptr, size_t s )
+{
+ return (HistRec *)((char *)ptr - s);
+}
+
+inline HistRec *next( HistRec *ptr )
+{
+ return advance( ptr, ptr->len );
+}
+
+inline HistRec *prev( HistRec *ptr )
+{
+ return backup( ptr, ptr->len );
+}
+
+/**
+ * Specifies the size of the history block used by the history list manager
+ * to store values entered into input lines. The size is fixed by
+ * initHistory() at program startup.
+ *
+ * The default size of the block is 1K, but may be changed before
+ * initHistory() is called. The value should not be changed after the call to
+ * initHistory().
+ * @see initHistory
+ */
+ushort historySize = 1024; // initial size of history block
+
+static uchar curId;
+static HistRec *curRec;
+
+/**
+ * Points to a buffer called the history block used to store history strings.
+ * The size of the block is defined by historySize. The pointer is 0 until set
+ * by the THistory constructor, and its value should not be altered.
+ * @see THistory
+ */
+static HistRec *historyBlock;
+
+static HistRec *lastRec;
+
+void advanceStringPointer()
+{
+ curRec = next( curRec );
+ while( curRec < lastRec && curRec->id != curId )
+ curRec = next( curRec );
+ if( curRec >= lastRec )
+ curRec = 0;
+}
+
+void deleteString()
+{
+ size_t len = curRec->len;
+
+#ifndef __UNPATCHED
+ // BUG FIX - EFW - Mon 10/30/95
+ // This insures that if n = lastRec, no bytes are copied and
+ // a GPF is prevented.
+ HistRec *n = next(curRec);
+ memcpy(curRec, n, size_t((char *)lastRec - (char *)n));
+#else
+ memcpy(curRec, next(curRec), size_t( (char *)lastRec - (char *)curRec ) );
+#endif
+ lastRec = backup( lastRec, len );
+}
+
+void insertString( uchar id, const char *str )
+{
+ ushort len = strlen( str ) + 3;
+ while( len > historySize - ( (char *)lastRec - (char *)historyBlock ) )
+ {
+ ushort firstLen = historyBlock->len;
+ HistRec *dst = historyBlock;
+ HistRec *src = next( historyBlock );
+ memcpy( dst, src, size_t( (char *)lastRec - (char *)src ) );
+ lastRec = backup( lastRec, firstLen );
+ }
+ new( lastRec ) HistRec( id, str );
+ lastRec = next( lastRec );
+}
+
+void startId( uchar id )
+{
+ curId = id;
+ curRec = historyBlock;
+}
+
+ushort historyCount( uchar id )
+{
+ startId( id );
+ ushort count = 0;
+ advanceStringPointer();
+ while( curRec != 0 )
+ {
+ count++;
+ advanceStringPointer();
+ }
+ return count;
+}
+
+void historyAdd( uchar id, const char *str )
+{
+ if( str[0] == EOS )
+ return;
+ startId( id );
+ advanceStringPointer();
+ while( curRec != 0 )
+ {
+ if( strcmp( str, curRec->str ) == 0 )
+ deleteString();
+ advanceStringPointer();
+ }
+ insertString( id, str );
+}
+
+const char *historyStr( uchar id, int index )
+{
+ startId( id );
+ for( short i = 0; i <= index; i++ )
+ advanceStringPointer();
+ if( curRec != 0 )
+ return curRec->str;
+ else
+ return 0;
+}
+
+void clearHistory()
+{
+ new (historyBlock) HistRec( 0, "" );
+ lastRec = next( historyBlock );
+}
+
+/**
+ * Called by TApplication constructor to allocate a block of memory on the
+ * heap for use by the history list manager. The size of the block is
+ * determined by the historySize variable. After initHistory() is called, the
+ * historyBlock variable points to the beginning of the block.
+ * @see TApplication
+ */
+void initHistory()
+{
+ historyBlock = (HistRec *) new char[historySize];
+ clearHistory();
+}
+
+void doneHistory()
+{
+ delete historyBlock;
+}
diff --git a/freebsdtvision/lib/menu.cc b/freebsdtvision/lib/menu.cc
new file mode 100644
index 0000000..78c9223
--- /dev/null
+++ b/freebsdtvision/lib/menu.cc
@@ -0,0 +1,77 @@
+/*
+ * menu.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#define Uses_TKeys
+#define Uses_TSubMenu
+#define Uses_TStatusDef
+#define Uses_TStatusItem
+#define Uses_TMenu
+#include <tvision/tv.h>
+
+#include <string.h>
+
+TSubMenu::TSubMenu( const char *nm, ushort key, ushort helpCtx ) :
+ TMenuItem( nm, 0, key, helpCtx )
+{
+}
+
+TSubMenu& operator + ( TSubMenu& s, TMenuItem& i )
+{
+ TSubMenu *sub = &s;
+ while( sub->next != 0 )
+ sub = (TSubMenu *)(sub->next);
+
+ if( sub->subMenu == 0 )
+ sub->subMenu = new TMenu( i );
+ else
+ {
+ TMenuItem *cur = sub->subMenu->items;
+ while( cur->next != 0 )
+ cur = cur->next;
+ cur->next = &i;
+ }
+ return s;
+}
+
+TSubMenu& operator + ( TSubMenu& s1, TSubMenu& s2 )
+{
+ TMenuItem *cur = &s1;
+ while( cur->next != 0 )
+ cur = cur->next;
+ cur->next = &s2;
+ return s1;
+}
+
+TStatusDef& operator + ( TStatusDef& s1, TStatusItem& s2 )
+{
+ TStatusDef *def = &s1;
+ while( def->next != 0 )
+ def = def->next;
+ if( def->items == 0 )
+ def->items = &s2;
+ else
+ {
+ TStatusItem *cur = def->items;
+ while( cur->next != 0 )
+ cur = cur->next;
+ cur->next = &s2;
+ }
+ return s1;
+}
+
+TStatusDef& operator + ( TStatusDef& s1, TStatusDef& s2 )
+{
+ TStatusDef *cur = &s1;
+ while( cur->next != 0 )
+ cur = cur->next;
+ cur->next = &s2;
+ return s1;
+}
diff --git a/freebsdtvision/lib/menus.h b/freebsdtvision/lib/menus.h
new file mode 100644
index 0000000..be57c6c
--- /dev/null
+++ b/freebsdtvision/lib/menus.h
@@ -0,0 +1,980 @@
+/*
+ * menus.h
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+class TSubMenu;
+class TMenuItem;
+class TStatusDef;
+class TStatusItem;
+
+/**
+ * Undocumented.
+ */
+TSubMenu& operator + ( TSubMenu& s, TMenuItem& i );
+/**
+ * Undocumented.
+ */
+TSubMenu& operator + ( TSubMenu& s1, TSubMenu& s2 );
+/**
+ * Undocumented.
+ */
+TStatusDef& operator + ( TStatusDef& s1, TStatusItem& s2 );
+/**
+ * Undocumented.
+ */
+TStatusDef& operator + ( TStatusDef& s1, TStatusDef& s2 );
+
+#if defined( Uses_TMenuItem ) && !defined( __TMenuItem )
+#define __TMenuItem
+
+/** \file menus.h
+ * menus.h
+ */
+
+class TMenu;
+
+/**
+ * Instances of TMenuItem serve as elements of a menu.
+ *
+ * They can be individual menu items that cause a command to be generated or
+ * a @ref TSubMenu pull-down menu that contains other TMenuItem instances.
+ * TMenuItem's different constructors set the data members appropriately.
+ * TMenuItem also serves as a base class for @ref TSubMenu.
+ * @short Instances of TMenuItem serve as elements of a menu
+ */
+class TMenuItem
+{
+public:
+ /**
+ * Creates an individual menu item with the given values. Data member
+ * @ref disabled is set if `aCommand' is disabled.
+ */
+ TMenuItem( const char *aName,
+ ushort aCommand,
+ ushort aKeyCode,
+ ushort aHelpCtx = hcNoContext,
+ char *p = 0,
+ TMenuItem *aNext = 0
+ );
+ /**
+ * Creates a pull-down submenu object with the given values. Data member
+ * @ref command is set to zero.
+ */
+ TMenuItem( const char *aName,
+ ushort aKeyCode,
+ TMenu *aSubMenu,
+ ushort aHelpCtx = hcNoContext,
+ TMenuItem *aNext = 0
+ );
+ /**
+ * If @ref param is used, deallocates the space used to store @ref name
+ * and @ref param. If @ref subMenu is used, deallocates space used to
+ * store @ref name and @ref subMenu.
+ */
+ ~TMenuItem();
+ /**
+ * Appends the given TMenuItem to the list of TMenuItems by setting
+ * @ref next data member to `aNext'.
+ */
+ void append( TMenuItem *aNext );
+ /**
+ * A non-zero @ref next points to the next TMenuItem object in the
+ * linked list associated with a menu. If @ref next = 0, this is the
+ * last item in the list.
+ */
+ TMenuItem *next;
+ /**
+ * The name of the item that appears in the menu box.
+ */
+ const char *name;
+ /**
+ * The command word of the event generated when this menu item is selected
+ * if there isn't a submenu item.
+ */
+ ushort command;
+ /**
+ * True if the menu item is disabled. The menu item will be drawn using
+ * the appropriate palette entry.
+ */
+ Boolean disabled;
+ /**
+ * The scan code for the associated hot key.
+ */
+ ushort keyCode;
+ /**
+ * The menu item's help context. When the menu item is selected, this
+ * data member represents the help context of the application, unless the
+ * context number is @ref hcNoContext, in which case there is no help
+ * context.
+ * @see TView::getHelpCtx
+ * @see TView::helpCtx
+ */
+ ushort helpCtx;
+ union
+ {
+ /**
+ * @ref param is used to display the hot key associated with this menu
+ * item.
+ */
+ const char *param;
+ /**
+ * @ref subMenu points to the submenu to be created when this menu
+ * item is selected, if a command is not generated.
+ */
+ TMenu *subMenu;
+ };
+};
+
+inline void TMenuItem::append( TMenuItem *aNext )
+{
+ next = aNext;
+}
+
+/**
+ * Undocumented.
+ */
+inline TMenuItem &newLine()
+{
+ return *new TMenuItem( 0, 0, 0, hcNoContext, 0, 0 );
+}
+
+#endif // Uses_TMenuItem
+
+#if defined( Uses_TSubMenu ) && !defined( __TSubMenu )
+#define __TSubMenu
+
+/**
+ * TSubMenu is a class used to differentiate between different types of
+ * @ref TMenuItem: individual menu items and submenus.
+ *
+ * TVision supplies the overloaded operator + so you can easily construct
+ * complete menus without dozens of nested parentheses. When you use
+ * TSubMenu, the compiler can distinguish between attempts to use operator +
+ * on individual menu items and their submenus.
+ * @short Used to differentiate between different types of TMenuItem:
+ * individual menu items and submenus
+ */
+class TSubMenu : public TMenuItem
+{
+public:
+ /**
+ * Calls constructor TMenuItem(nm, 0, key, helpCtx).
+ * @see TMenuItem::TMenuItem
+ */
+ TSubMenu( const char *nm, ushort key, ushort helpCtx = hcNoContext );
+};
+
+#endif // Uses_TSubMenu
+
+#if defined( Uses_TMenu ) && !defined( __TMenu )
+#define __TMenu
+
+/**
+ * TMenu serves as a "wrapper" for the various other menu classes, such as
+ * @ref TMenuItem, @ref TSubMenu and @ref TMenuView.
+ * @short A "wrapper" for the various other menu classes, such as TMenuItem,
+ * TSubMenu and TMenuView
+ */
+class TMenu
+{
+public:
+ /**
+ * Creates a TMenu object and sets both @ref deflt and @ref items data
+ * members to 0.
+ */
+ TMenu() : items(0), deflt(0) {};
+ /**
+ * Creates a TMenu object consisting of `itemList'; sets @ref items and
+ * @ref deflt data members to that item.
+ */
+ TMenu( TMenuItem& itemList )
+ { items = &itemList; deflt = &itemList; }
+ /**
+ * Creates a TMenu object; sets data members @ref items and @ref deflt
+ * to `itemList' and `TheDefault', respectively.
+ */
+ TMenu( TMenuItem& itemList, TMenuItem& TheDefault )
+ { items = &itemList; deflt = &TheDefault; }
+ /**
+ * Deletes the menu item list in @ref items.
+ */
+ ~TMenu();
+ /**
+ * Points to the list of menu items. Used by various draw member
+ * functions when parts of the menu structure need to be redrawn.
+ */
+ TMenuItem *items;
+ /**
+ * Points to the default (highlighted) menu item. Determines how to react
+ * when the user presses Enter.
+ */
+ TMenuItem *deflt;
+};
+
+#endif // Uses_TMenu
+
+/* ---------------------------------------------------------------------- */
+/* class TMenuView */
+/* */
+/* Palette layout */
+/* 1 = Normal text */
+/* 2 = Disabled text */
+/* 3 = Shortcut text */
+/* 4 = Normal selection */
+/* 5 = Disabled selection */
+/* 6 = Shortcut selection */
+/* ---------------------------------------------------------------------- */
+
+#if defined( Uses_TMenuView ) && !defined( __TMenuView )
+#define __TMenuView
+
+class TRect;
+class TMenu;
+class TEvent;
+
+/**
+ * TMenuView provides an abstract base from which menu bar and menu box
+ * classes (either pull down or pop up) are derived. You cannot instantiate a
+ * TMenuView itself.
+ * @short An abstract base from which menu bar and menu box classes (either
+ * pull down or pop up) are derived
+ */
+class TMenuView : public TView
+{
+public:
+ /**
+ * Undocumented.
+ */
+ TMenuView( const TRect& bounds, TMenu *aMenu, TMenuView *aParent = 0 );
+ /**
+ * Calls TView constructor to create a TMenuView object of size `bounds'.
+ * @see TView::TView
+ *
+ * The current @ref parentMenu and @ref menu pointers are set to 0.
+ * The default @ref eventMask is set to @ref evBroadcast.
+ */
+ TMenuView( const TRect& bounds );
+ /**
+ * Undocumented.
+ */
+ void setBounds( const TRect& bounds );
+ /**
+ * Executes a menu view until the user selects a menu item or cancels the
+ * process. Returns the command assigned to the selected menu item, or
+ * zero if the menu was canceled.
+ *
+ * Should never be called except by @ref TGroup::execView().
+ */
+ virtual ushort execute();
+ /**
+ * Returns a pointer to the menu item that has toupper(ch) as its hot key
+ * (the highlighted character). Returns 0 if no such menu item is found or
+ * if the menu item is disabled. Note that findItem() is case insensitive.
+ */
+ TMenuItem *findItem( char ch );
+ /**
+ * Classes derived from TMenuView must override this member function in
+ * order to respond to mouse events. Your overriding functions in derived
+ * classes must return the rectangle occupied by the given menu item.
+ */
+ virtual TRect getItemRect( TMenuItem *item );
+ /**
+ * By default, this member function returns the help context of the
+ * current menu selection. If this is @ref hcNoContext, the parent menu's
+ * current context is checked. If there is no parent menu, getHelpCtx()
+ * returns @ref hcNoContext.
+ * @see helpCtx
+ */
+ virtual ushort getHelpCtx();
+ /**
+ * Returns the default palette string.
+ */
+ virtual TPalette& getPalette() const;
+ /**
+ * Called whenever a menu event needs to be handled. Determines which menu
+ * item has been mouse or keyboard selected (including hot keys) and
+ * generates the appropriate command event with @ref putEvent().
+ */
+ virtual void handleEvent( TEvent& event );
+ /**
+ * Returns a pointer to the menu item associated with the hot key given
+ * by `keyCode'. Returns 0 if no such menu item exists, or if the item is
+ * disabled. hotKey() is used by @ref handleEvent() to determine whether a
+ * keystroke event selects an item in the menu.
+ */
+ TMenuItem *hotKey( ushort keyCode );
+ /**
+ * Undocumented.
+ */
+ TMenuView *newSubView( const TRect& bounds,
+ TMenu *aMenu,
+ TMenuView *aParentMenu
+ );
+protected:
+ /**
+ * A pointer to the TMenuView object (or any class derived from TMenuView)
+ * that owns this menu.
+ */
+ TMenuView *parentMenu;
+ /**
+ * A pointer to the @ref TMenu object for this menu, which provides a
+ * linked list of menu items. The menu pointer allows access to all the
+ * data members of the menu items in this menu view.
+ */
+ TMenu *menu;
+ /**
+ * A pointer to the currently selected menu item.
+ */
+ TMenuItem *current;
+private:
+ void nextItem();
+ void prevItem();
+ void trackKey( Boolean findNext );
+ Boolean mouseInOwner( TEvent& e );
+ Boolean mouseInMenus( TEvent& e );
+ void trackMouse( TEvent& e , Boolean& mouseActive);
+ TMenuView *topMenu();
+ Boolean updateMenu( TMenu *menu );
+ void do_a_select( TEvent& );
+ TMenuItem *findHotKey( TMenuItem *p, ushort keyCode );
+private:
+ virtual const char *streamableName() const
+ { return name; }
+ static void writeMenu( opstream&, TMenu * );
+ static TMenu *readMenu( ipstream& );
+protected:
+ /**
+ * Each streamable class needs a "builder" to allocate the correct memory
+ * for its objects together with the initialized virtual table pointers.
+ * This is achieved by calling this constructor with an argument of type
+ * @ref StreamableInit.
+ */
+ TMenuView( StreamableInit );
+ /**
+ * Writes to the output stream `os'.
+ */
+ virtual void write( opstream& os );
+ /**
+ * Reads from the input stream `is'.
+ */
+ virtual void *read( ipstream& is );
+public:
+ /**
+ * Undocumented.
+ */
+ static const char * const name;
+ /**
+ * Called to create an object in certain stream-reading situations.
+ */
+ static TStreamable *build();
+};
+
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TMenuView& cl )
+ { return is >> (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TMenuView*& cl )
+ { return is >> (void *&)cl; }
+
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TMenuView& cl )
+ { return os << (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TMenuView* cl )
+ { return os << (TStreamable *)cl; }
+
+inline TMenuView::TMenuView( const TRect& bounds,
+ TMenu *aMenu,
+ TMenuView *aParent
+ ) :
+ TView(bounds),
+ parentMenu( aParent ),
+ menu( aMenu ),
+ current( 0 )
+{
+ eventMask |= evBroadcast;
+}
+
+inline TMenuView::TMenuView( const TRect& bounds ) :
+ TView(bounds), parentMenu(0), menu(0), current(0)
+{
+ eventMask |= evBroadcast;
+}
+
+#endif // Uses_TMenuView
+
+/* ---------------------------------------------------------------------- */
+/* class TMenuBar */
+/* */
+/* Palette layout */
+/* 1 = Normal text */
+/* 2 = Disabled text */
+/* 3 = Shortcut text */
+/* 4 = Normal selection */
+/* 5 = Disabled selection */
+/* 6 = Shortcut selection */
+/* ---------------------------------------------------------------------- */
+
+#if defined( Uses_TMenuBar ) && !defined( __TMenuBar )
+#define __TMenuBar
+
+class TRect;
+class TMenu;
+
+/**
+ * TMenuBar objects represent the horizontal menu bars from which menu
+ * selections can be made by:
+ *
+ * -# direct clicking
+ * -# F10 selection and hot keys
+ * -# selection (highlighting) and pressing Enter
+ * -# hot keys
+ *
+ * The main menu selections are displayed in the top menu bar. This is
+ * represented by an object of type TMenuBar, usually owned by your
+ * @ref TApplication object.
+ *
+ * Submenus are displayed in objects of type @ref TMenuBox. Both TMenuBar
+ * and @ref TMenuBox are derived from @ref TMenuView (which is in turn derived
+ * from @ref TView).
+ *
+ * For most TVision applications, you will not be involved directly with menu
+ * objects. By overriding @ref TApplication::initMenuBar() with a suitable
+ * set of nested new @ref TMenuItem and new @ref TMenu calls, TVision takes
+ * care of all the standard menu mechanisms.
+ * @short The horizontal menu bar from which you make menu selections
+ */
+class TMenuBar : public TMenuView
+{
+public:
+ /**
+ * Creates a menu bar by calling TMenuView::TMenuView(bounds). The
+ * @ref growMode data member is set to @ref gfGrowHiX. The @ref options
+ * data member is set to @ref ofPreProcess to allow hot keys to operate.
+ * @see TMenuView::TMenuView
+ *
+ * The @ref menu data member is set to `aMenu', providing the menu
+ * selections.
+ */
+ TMenuBar( const TRect& bounds, TMenu *aMenu );
+ /**
+ * Undocumented.
+ */
+ TMenuBar( const TRect& bounds, TSubMenu &aMenu );
+ /**
+ * Undocumented.
+ */
+ ~TMenuBar();
+ /**
+ * Draws the menu bar with the default palette. The @ref TMenuItem::name
+ * and @ref TMenuItem::disabled data members of each @ref TMenuItem
+ * object in the menu linked list are read to give the menu legends in
+ * the correct colors.
+ * The current (selected) item is highlighted.
+ */
+ virtual void draw();
+ /**
+ * Returns the rectangle occupied by the given menu item. It can be used
+ * with @ref mouseInView() to determine if a mouse click has occurred on
+ * a given menu selection.
+ */
+ virtual TRect getItemRect( TMenuItem *item );
+private:
+ virtual const char *streamableName() const
+ { return name; }
+protected:
+ /**
+ * Each streamable class needs a "builder" to allocate the correct memory
+ * for its objects together with the initialized virtual table pointers.
+ * This is achieved by calling this constructor with an argument of type
+ * @ref StreamableInit.
+ */
+ TMenuBar( StreamableInit );
+public:
+ /**
+ * Undocumented.
+ */
+ static const char * const name;
+ /**
+ * Called to create an object in certain stream-reading situations.
+ */
+ static TStreamable *build();
+};
+
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TMenuBar& cl )
+ { return is >> (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TMenuBar*& cl )
+ { return is >> (void *&)cl; }
+
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TMenuBar& cl )
+ { return os << (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TMenuBar* cl )
+ { return os << (TStreamable *)cl; }
+
+#endif // Uses_TMenuBar
+
+/* ---------------------------------------------------------------------- */
+/* class TMenuBox */
+/* */
+/* Palette layout */
+/* 1 = Normal text */
+/* 2 = Disabled text */
+/* 3 = Shortcut text */
+/* 4 = Normal selection */
+/* 5 = Disabled selection */
+/* 6 = Shortcut selection */
+/* ---------------------------------------------------------------------- */
+
+#if defined( Uses_TMenuBox ) && !defined( __TMenuBox )
+#define __TMenuBox
+
+class TRect;
+class TMenu;
+class TMenuView;
+class TDrawBuffer;
+
+/**
+ * TMenuBox objects represent vertical menu boxes. Color coding is used to
+ * indicate disabled items. Menu boxes can be instantiated as submenus of the
+ * menu bar or other menu boxes, or can be used alone as pop-up menus.
+ * @short These objects represent vertical menu boxes
+ */
+class TMenuBox : public TMenuView
+{
+public:
+ /**
+ * Creates a TMenuBox object by calling TMenuView::TMenuView(bounds). The
+ * `bounds' parameter is then adjusted to accommodate the width and length
+ * of the items in `aMenu'.
+ * @see TMenuView::TMenuView
+ *
+ * The @ref ofPreProcess bit in the @ref options data member is set so
+ * that hot keys will operate. Data member @ref state is set to include
+ * @ref sfShadow.
+ *
+ * The @ref menu data member is set to `aMenu', which provides the menu
+ * selections. Allows an explicit `aParentMenu' which is set to
+ * @ref parentMenu.
+ */
+ TMenuBox( const TRect& bounds, TMenu *aMenu, TMenuView *aParentMenu);
+ /**
+ * Draws the framed menu box and associated menu items in the default
+ * colors.
+ */
+ virtual void draw();
+ /**
+ * Returns the rectangle occupied by the given menu item. It can be used
+ * to determine if a mouse click has occurred on a given menu selection.
+ */
+ virtual TRect getItemRect( TMenuItem *item );
+ /**
+ * Undocumented.
+ */
+ static const char * frameChars;
+private:
+ void frameLine( TDrawBuffer&, short n );
+ void drawLine( TDrawBuffer& );
+ virtual const char *streamableName() const
+ { return name; }
+protected:
+ /**
+ * Each streamable class needs a "builder" to allocate the correct memory
+ * for its objects together with the initialized virtual table pointers.
+ * This is achieved by calling this constructor with an argument of type
+ * @ref StreamableInit.
+ */
+ TMenuBox( StreamableInit );
+public:
+ /**
+ * Undocumented.
+ */
+ static const char * const name;
+ /**
+ * Called to create an object in certain stream-reading situations.
+ */
+ static TStreamable *build();
+};
+
+
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TMenuBox& cl )
+ { return is >> (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TMenuBox*& cl )
+ { return is >> (void *&)cl; }
+
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TMenuBox& cl )
+ { return os << (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TMenuBox* cl )
+ { return os << (TStreamable *)cl; }
+
+#endif // Uses_TMenuBox
+
+
+#if defined( Uses_TMenuPopup ) && !defined( __TMenuPopup )
+#define __TMenuPopup
+
+/* ---------------------------------------------------------------------- */
+/* class TMenuPopup */
+/* */
+/* Palette layout */
+/* 1 = Normal text */
+/* 2 = Disabled text */
+/* 3 = Shortcut text */
+/* 4 = Normal selection */
+/* 5 = Disabled selection */
+/* 6 = Shortcut selection */
+/* ---------------------------------------------------------------------- */
+
+/**
+ * Part of the menu system.
+ * @short Part of the menu system
+ */
+class TMenuPopup : public TMenuBox
+{
+ TMenuPopup(TRect&, TMenu*);
+ virtual void handleEvent(TEvent&);
+public:
+ static const char * const name;
+};
+
+
+#endif // Uses_TMenuPopup
+
+
+
+
+#if defined( Uses_TStatusItem ) && !defined( __TStatusItem )
+#define __TStatusItem
+
+/**
+ * A TStatusItem object is not a view but represents a component (status item)
+ * of a linked list associated with a @ref TStatusLine view.
+ *
+ * TStatusItem serves two purposes: it controls the visual appearance of the
+ * status line, and it defines hot keys by mapping key codes to commands.
+ * @short Represents a component of a linked list associated with a
+ * TStatusLine view
+ */
+class TStatusItem
+{
+public:
+ /**
+ * Creates a TStatusItem object with the given values.
+ */
+ TStatusItem( const char *aText,
+ ushort key,
+ ushort cmd,
+ TStatusItem *aNext = 0
+ );
+ /**
+ * Undocumented.
+ */
+ ~TStatusItem();
+ /**
+ * A nonzero next points to the next TStatusItem object in the linked list
+ * associated with a status line. A 0 value indicates that this is the
+ * last item in the list.
+ */
+ TStatusItem *next;
+ /**
+ * The text string to be displayed for this status item. If 0, no legend
+ * will display, meaning that the status item is intended only to define a
+ * hot key using the @ref keyCode member.
+ */
+ char *text;
+ /**
+ * This is the scan code for the associated hot key.
+ */
+ ushort keyCode;
+ /**
+ * The value of the command associated with this status item.
+ */
+ ushort command;
+};
+
+inline TStatusItem::TStatusItem( const char *aText,
+ ushort key,
+ ushort cmd,
+ TStatusItem *aNext
+ ) :
+ next( aNext ),
+ text( newStr(aText) ),
+ keyCode( key ),
+ command( cmd )
+{
+}
+
+inline TStatusItem::~TStatusItem()
+{
+ delete text;
+}
+
+#endif // Uses_TStatusItem
+
+#if defined( Uses_TStatusDef ) && !defined( __TStatusDef )
+#define __TStatusDef
+
+/**
+ * A TStatusDef object represents a status line definition used by a
+ * @ref TStatusLine view to display context-sensitive status lines.
+ * @short Represents a status line definition used by a TStatusLine view to
+ * display context-sensitive status lines
+ */
+class TStatusDef
+{
+public:
+ /**
+ * Creates a TStatusDef object with the given values.
+ */
+ TStatusDef( ushort aMin,
+ ushort aMax,
+ TStatusItem *someItems = 0,
+ TStatusDef *aNext = 0
+ );
+ /**
+ * A nonzero @ref next points to the next TStatusDef object in a list of
+ * status definitions. A 0 value indicates that this TStatusDef object is
+ * the last such in the list.
+ */
+ TStatusDef *next;
+ /**
+ * The minimum help context value for which this status definition is
+ * associated. @ref TStatusLine always displays the first status item for
+ * which the current help context value is within @ref min and @ref max.
+ */
+ ushort min;
+ /**
+ * The maximum help context value for which this status definition is
+ * associated. @ref TStatusLine always displays the first status item for
+ * which the current help context value is within @ref min and @ref max.
+ */
+ ushort max;
+ /**
+ * Points to a list of status items that make up the status line. A value
+ * of 0 indicates that there are no status items.
+ */
+ TStatusItem *items;
+};
+
+inline TStatusDef::TStatusDef( ushort aMin,
+ ushort aMax,
+ TStatusItem *someItems,
+ TStatusDef *aNext
+ ) :
+ next( aNext ),
+ min( aMin ),
+ max( aMax ),
+ items( someItems )
+{
+}
+
+#endif // Uses_TStatusDef
+
+/* ---------------------------------------------------------------------- */
+/* class TStatusLine */
+/* */
+/* Palette layout */
+/* 1 = Normal text */
+/* 2 = Disabled text */
+/* 3 = Shortcut text */
+/* 4 = Normal selection */
+/* 5 = Disabled selection */
+/* 6 = Shortcut selection */
+/* ---------------------------------------------------------------------- */
+
+#if defined( Uses_TStatusLine ) && !defined( __TStatusLine )
+#define __TStatusLine
+
+class TRect;
+class TEvent;
+class TPoint;
+
+/**
+ * The TStatusLine object is a specialized view, usually displayed at the
+ * bottom of the screen. Typical status line displays are lists of available
+ * hot keys, displays of available memory, time of day, current edit modes,
+ * and hints for users.
+ *
+ * Status line items are @ref TStatusItem objects which contain data members
+ * for a text string to be displayed on the status line, a key code to bind
+ * a hot key, and a command to be generated if the displayed text is clicked
+ * on with the mouse or the hot key is pressed.
+ * @short A specialized view, usually displayed at the bottom of the screen
+ */
+class TStatusLine : public TView
+{
+public:
+ /**
+ * Creates a TStatusLine object with the given bounds by calling
+ * TView::TView(bounds).
+ * @see TView::TView
+ *
+ * The @ref ofPreProcess bit in @ref options is set, @ref eventMask is
+ * set to include @ref evBroadcast, and @ref growMode is set to
+ * @ref gfGrowLoY | @ref gfGrowHiX | @ref gfGrowHiY.
+ *
+ * The @ref defs data member is set to `aDefs'. If `aDefs' is 0,
+ * @ref items is set to 0; otherwise, @ref items is set to aDefs->items.
+ */
+ TStatusLine( const TRect& bounds, TStatusDef& aDefs );
+ /**
+ * Disposes of all the @ref items and @ref defs in the TStatusLine
+ * object, then calls @ref TView destructor.
+ * @see TView::~TView
+ */
+ ~TStatusLine();
+ /**
+ * Draws the status line by writing the text string for each status item
+ * that has one, then any hints defined for the current help context,
+ * following a divider bar. Uses the appropriate palettes depending on
+ * each item's status.
+ */
+ virtual void draw();
+ /**
+ * Returns the default palette string.
+ */
+ virtual TPalette& getPalette() const;
+ /**
+ * Handles events sent to the status line by calling
+ * @ref TView::handleEvent(), then checking for three kinds of special
+ * events.
+ *
+ * -# Mouse clicks that fall within the rectangle occupied by any status
+ * item generate a command event, with event.what set to the command in
+ * that status item.
+ * -# Key events are checked against the keyCode data member in each
+ * item; a match causes a command event with that item's command.
+ * -# Broadcast events with the command cmCommandSetChanged cause the
+ * status line to redraw itself to reflect any hot keys that might have
+ * been enabled or disabled.
+ */
+ virtual void handleEvent( TEvent& event );
+ /**
+ * By default, hint() returns a 0 string. Override it to provide a
+ * context-sensitive hint string for the `aHelpCtx' argument. A nonzero
+ * string will be drawn on the status line after a divider bar.
+ * @see getHelpCtx
+ * @see helpCtx
+ */
+ virtual const char* hint( ushort aHelpCtx );
+ /**
+ * Updates the status line by selecting the correct items from the lists
+ * in @ref defs data member, depending on the current help context.
+ *
+ * Then calls @ref drawView() to redraw the status line if the items have
+ * changed.
+ */
+ void update();
+ /**
+ * Undocumented.
+ */
+ static const char * hintSeparator;
+protected:
+ /**
+ * A pointer to the current linked list of @ref TStatusItem records.
+ */
+ TStatusItem *items;
+ /**
+ * A pointer to the current linked list of @ref TStatusDef objects. The
+ * list to use is determined by the current help context.
+ */
+ TStatusDef *defs;
+private:
+ void drawSelect( TStatusItem *selected );
+ void findItems();
+ TStatusItem *itemMouseIsIn( TPoint );
+ void disposeItems( TStatusItem *item );
+ virtual const char *streamableName() const
+ { return name; }
+ static void writeItems( opstream&, TStatusItem * );
+ static void writeDefs( opstream&, TStatusDef * );
+ static TStatusItem *readItems( ipstream& );
+ static TStatusDef *readDefs( ipstream& );
+protected:
+ /**
+ * Each streamable class needs a "builder" to allocate the correct memory
+ * for its objects together with the initialized virtual table pointers.
+ * This is achieved by calling this constructor with an argument of type
+ * @ref StreamableInit.
+ */
+ TStatusLine( StreamableInit );
+ /**
+ * Writes to the output stream `os'.
+ */
+ virtual void write( opstream& os );
+ /**
+ * Reads from the input stream `is'.
+ */
+ virtual void *read( ipstream& is );
+public:
+ /**
+ * Undocumented.
+ */
+ static const char * const name;
+ /**
+ * Called to create an object in certain stream-reading situations.
+ */
+ static TStreamable *build();
+};
+
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TStatusLine& cl )
+ { return is >> (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TStatusLine*& cl )
+ { return is >> (void *&)cl; }
+
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TStatusLine& cl )
+ { return os << (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TStatusLine* cl )
+ { return os << (TStreamable *)cl; }
+
+#endif // Uses_TStatusLine
diff --git a/freebsdtvision/lib/misc.cc b/freebsdtvision/lib/misc.cc
new file mode 100644
index 0000000..93bffaa
--- /dev/null
+++ b/freebsdtvision/lib/misc.cc
@@ -0,0 +1,76 @@
+/*
+ * misc.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ *
+ * Little files are merged here.
+ */
+
+#define Uses_TGroup
+#define Uses_TEvent
+#define Uses_TObject
+#define Uses_TView
+#define Uses_pstream
+#include <tvision/tv.h>
+
+#include <string.h>
+
+/* from MISC.CPP */
+
+void *message( TView *receiver, ushort what, ushort command, void *infoPtr)
+{
+ if( receiver == 0 )
+ return 0;
+
+ TEvent event;
+ event.what = what;
+ event.message.command = command;
+ event.message.infoPtr = infoPtr;
+ receiver->handleEvent( event );
+ if( event.what == evNothing )
+ return event.message.infoPtr;
+ else
+ return 0;
+}
+
+/* from NEWSTR.CPP */
+
+char *newStr( const char *s )
+{
+ if( s == 0 )
+ return 0;
+ char *temp = new char[ strlen(s)+1 ];
+ strcpy( temp, s );
+ return temp;
+}
+
+/* from MAPCOLOR.CPP */
+
+uchar TView::mapColor( uchar color )
+{
+ if( color == 0 )
+ return errorAttr;
+ TView *cur = this;
+ do {
+ TPalette& p = cur->getPalette();
+ if( p[0] != 0 )
+ {
+ if( color > p[0] )
+ return errorAttr;
+ color = p[color];
+ if( color == 0 )
+ return errorAttr;
+ }
+ cur = cur->owner;
+ } while( cur != 0 );
+ return color;
+}
+
+/* from STRMSTAT.CPP */
+
+TStreamableTypes * pstream::types;
diff --git a/freebsdtvision/lib/msgbox.cc b/freebsdtvision/lib/msgbox.cc
new file mode 100644
index 0000000..db5aa02
--- /dev/null
+++ b/freebsdtvision/lib/msgbox.cc
@@ -0,0 +1,180 @@
+/*
+ * msgbox.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#define Uses_MsgBox
+#define Uses_TObject
+#define Uses_TDialog
+#define Uses_TStaticText
+#define Uses_TRect
+#define Uses_TButton
+#define Uses_TProgram
+#define Uses_TInputLine
+#define Uses_TDeskTop
+#define Uses_TLabel
+#include <tvision/tv.h>
+
+#include <stdarg.h>
+#include <stdio.h>
+#include <string.h>
+
+static const char *buttonName[] =
+{
+ MsgBoxText::yesText,
+ MsgBoxText::noText,
+ MsgBoxText::okText,
+ MsgBoxText::cancelText
+};
+
+static ushort commands[] =
+{
+ cmYes,
+ cmNo,
+ cmOK,
+ cmCancel
+};
+
+static const char *Titles[] =
+{
+ MsgBoxText::warningText,
+ MsgBoxText::errorText,
+ MsgBoxText::informationText,
+ MsgBoxText::confirmText
+};
+
+ushort messageBoxRect( const TRect &r, const char *msg, ushort aOptions )
+{
+ TDialog *dialog;
+ short i, x, buttonCount;
+ TView* buttonList[5];
+ ushort ccode;
+
+ dialog = new TDialog( r, Titles[aOptions & 0x3] );
+
+ dialog->insert(
+ new TStaticText(TRect(3, 2, dialog->size.x - 2, dialog->size.y - 3),
+ msg) );
+
+ for( i = 0, x = -2, buttonCount = 0; i < 4; i++ )
+ {
+ if( (aOptions & (0x0100 << i)) != 0)
+ {
+ buttonList[buttonCount] =
+ new TButton( TRect(0, 0, 10, 2), buttonName[i], commands[i], bfNormal );
+ x += buttonList[buttonCount++]->size.x + 2;
+ }
+ }
+
+ x = (dialog->size.x - x) / 2;
+
+ for( i = 0; i < buttonCount; i++ )
+ {
+ dialog->insert(buttonList[i]);
+ buttonList[i]->moveTo(x, dialog->size.y - 3);
+ x += buttonList[i]->size.x + 2;
+ }
+
+ dialog->selectNext(False);
+
+ ccode = TProgram::application->execView(dialog);
+
+ TObject::destroy( dialog );
+
+ return ccode;
+}
+
+ushort messageBoxRect( const TRect &r,
+ ushort aOptions,
+ const char *fmt,
+ ... )
+{
+ va_list argptr;
+ va_start( argptr, fmt );
+
+ char msg[256];
+ vsprintf( msg, fmt, argptr );
+
+ va_end( argptr );
+
+ return messageBoxRect( r, msg, aOptions );
+}
+
+static TRect makeRect()
+{
+ TRect r( 0, 0, 40, 9 );
+ r.move((TProgram::deskTop->size.x - r.b.x) / 2,
+ (TProgram::deskTop->size.y - r.b.y) / 2);
+ return r;
+}
+
+ushort messageBox( const char *msg, ushort aOptions )
+{
+ return messageBoxRect( makeRect(), msg, aOptions );
+}
+
+ushort messageBox( unsigned aOptions, const char *fmt, ... )
+{
+ va_list argptr;
+ va_start( argptr, fmt );
+
+ char msg[256];
+ vsprintf( msg, fmt, argptr );
+
+ va_end( argptr );
+
+ return messageBoxRect( makeRect(), msg, aOptions );
+}
+
+ushort inputBox( const char *Title, const char *aLabel, char *s, uchar limit )
+{
+ TRect r(0, 0, 60, 8);
+ r.move((TProgram::deskTop->size.x - r.b.x) / 2,
+ (TProgram::deskTop->size.y - r.b.y) / 2);
+ return inputBoxRect(r, Title, aLabel, s, limit);
+}
+
+ushort inputBoxRect( const TRect &bounds,
+ const char *Title,
+ const char *aLabel,
+ char *s,
+ uchar limit )
+{
+ TDialog *dialog;
+ TView* control;
+ TRect r;
+ ushort c;
+
+ dialog = new TDialog(bounds, Title);
+
+ r = TRect( 4 + strlen(aLabel), 2, dialog->size.x - 3, 3 );
+ control = new TInputLine( r, limit );
+ dialog->insert( control );
+
+ r = TRect(2, 2, 3 + strlen(aLabel), 3);
+ dialog->insert( new TLabel( r, aLabel, control ) );
+
+ r = TRect( dialog->size.x - 24, dialog->size.y - 4,
+ dialog->size.x - 14, dialog->size.y - 2);
+ dialog->insert( new TButton(r, MsgBoxText::okText, cmOK, bfDefault));
+
+ r.a.x += 12;
+ r.b.x += 12;
+ dialog->insert( new TButton(r, MsgBoxText::cancelText, cmCancel, bfNormal));
+
+ r.a.x += 12;
+ r.b.x += 12;
+ dialog->selectNext(False);
+ dialog->setData(s);
+ c = TProgram::application->execView(dialog);
+ if( c != cmCancel )
+ dialog->getData(s);
+ TObject::destroy( dialog );
+ return c;
+}
diff --git a/freebsdtvision/lib/msgbox.h b/freebsdtvision/lib/msgbox.h
new file mode 100644
index 0000000..dbe7aca
--- /dev/null
+++ b/freebsdtvision/lib/msgbox.h
@@ -0,0 +1,155 @@
+/*
+ * msgbox.h
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#if defined( Uses_MsgBox ) && !defined( __MsgBox )
+#define __MsgBox
+
+/** \file msgbox.h
+ * msgbox.h
+ */
+
+#include <stdarg.h>
+
+class TRect;
+
+/** \fn messageBox( const char *msg, ushort aOptions )
+ * Displays a message box with the given string in `msg'. `aOptions' is a
+ * combination of one or more of the following message box constants:
+ *
+ * <pre>
+ * Constant Value Meaning
+ *
+ * mfWarning 0x0000 Display a Warning box
+ * mfError 0x0001 Display a Error box
+ * mfInformation 0x0002 Display an Information Box
+ * mfConfirmation 0x0003 Display a Confirmation Box
+ * mfYesButton 0x0100 Put a Yes button into the dialog
+ * mfNoButton 0x0200 Put a No button into the dialog
+ * mfOKButton 0x0400 Put an OK button into the dialog
+ * mfCancelButton 0x0800 Put a Cancel button into the dialog
+ * </pre>
+ *
+ * The standard "Yes, No, Cancel" dialog box is defined as:
+ *
+ * <pre>
+ * mfYesNoCancel = mfYesButton | mfNoButton | mfCancelButton;
+ * </pre>
+ *
+ * The standard "OK, Cancel" dialog box is defined as:
+ *
+ * <pre>
+ * mfOKCancel = mfOKButton | mfCancelButton;
+ * </pre>
+ */
+ushort messageBox( const char *msg, ushort aOptions );
+
+/** \fn messageBox( unsigned aOptions, const char *msg, ... )
+ * Displays a message box. This form uses `msg' as a format string using the
+ * additional parameters that follow it. `aOptions' is set to one of the
+ * message box constants defined for @ref messageBox().
+ */
+ushort messageBox( unsigned aOptions, const char *msg, ... );
+
+/** \fn messageBoxRect( const TRect &r, const char *msg, ushort aOptions )
+ * Displays a message box with the given string in `msg' in the given
+ * rectangle `r'. `aOptions' is set to one of the message box constants
+ * defined for @ref messageBox().
+ */
+ushort messageBoxRect( const TRect &r, const char *msg, ushort aOptions );
+
+/** \fn messageBoxRect( const TRect &r, ushort aOptions, const char *msg, ... )
+ * Displays a message box in the given rectangle `r'. This form uses `msg' as
+ * a format string using the additional parameters that follow it. `aOptions'
+ * is set to one of the message box constants defined for @ref messageBox().
+ */
+ushort messageBoxRect( const TRect &r, ushort aOptions, const char *msg,
+ ... );
+
+/** \fn inputBox( const char *Title, const char *aLabel, char *s, uchar limit )
+ * Displays an input box with the given title `title' and label `aLabel'.
+ * Accepts input to string `s' with a maximum of `limit' characters.
+ */
+ushort inputBox( const char *Title, const char *aLabel, char *s,
+ uchar limit );
+
+/** \fn inputBoxRect( const TRect &bounds, const char *title, const char *aLabel, char *s, uchar limit )
+ * Displays an input box with the given bounds `bounds', title `title' and
+ * label `aLabel'. Accepts input to string `s' with a maximum of `limit'
+ * characters.
+ */
+ushort inputBoxRect( const TRect &bounds, const char *title,
+ const char *aLabel, char *s, uchar limit );
+
+const
+
+// Message box classes
+
+int mfWarning = 0x0000, // Display a Warning box
+ mfError = 0x0001, // Display a Error box
+ mfInformation = 0x0002, // Display an Information Box
+ mfConfirmation = 0x0003, // Display a Confirmation Box
+
+// Message box button flags
+
+ mfYesButton = 0x0100, // Put a Yes button into the dialog
+ mfNoButton = 0x0200, // Put a No button into the dialog
+ mfOKButton = 0x0400, // Put an OK button into the dialog
+ mfCancelButton = 0x0800, // Put a Cancel button into the dialog
+
+ mfYesNoCancel = mfYesButton | mfNoButton | mfCancelButton,
+ // Standard Yes, No, Cancel dialog
+ mfOKCancel = mfOKButton | mfCancelButton;
+ // Standard OK, Cancel dialog
+/**
+ * This class stores a set of standard strings used in message boxes.
+ *
+ * If you need to change them, see file `tvtext.cc'.
+ * @see messageBox
+ * @short Contains a set of standard message strings
+ */
+class MsgBoxText
+{
+public:
+ /**
+ * Standard value is "~Y~es".
+ */
+ static const char * yesText;
+ /**
+ * Standard value is "~N~o".
+ */
+ static const char * noText;
+ /**
+ * Standard value is "O~K~".
+ */
+ static const char * okText;
+ /**
+ * Standard value is "Cancel".
+ */
+ static const char * cancelText;
+ /**
+ * Standard value is "Warning".
+ */
+ static const char * warningText;
+ /**
+ * Standard value is "Error".
+ */
+ static const char * errorText;
+ /**
+ * Standard value is "Information".
+ */
+ static const char * informationText;
+ /**
+ * Standard value is "Confirm".
+ */
+ static const char * confirmText;
+};
+
+#endif // Uses_MsgBox
diff --git a/freebsdtvision/lib/myendian.h b/freebsdtvision/lib/myendian.h
new file mode 100644
index 0000000..b67401d
--- /dev/null
+++ b/freebsdtvision/lib/myendian.h
@@ -0,0 +1,55 @@
+/*
+ * myendian.h
+ *
+ * Copyright (c) 2000 Sergio Sigala, Brescia, Italy.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef _MYENDIAN_H
+#define _MYENDIAN_H 1
+
+#if defined(__FreeBSD__) || defined(__bsdi__)
+
+#include <machine/endian.h>
+
+#elif sun
+
+#define LITTLE_ENDIAN 1234
+#define BIG_ENDIAN 4321
+#define PDP_ENDIAN 3412
+
+#include <sys/isa_defs.h>
+
+#if defined(_LITTLE_ENDIAN)
+#define BYTE_ORDER LITTLE_ENDIAN
+#elif defined(_BIG_ENDIAN)
+#define BYTE_ORDER BIG_ENDIAN
+#endif
+
+#else
+
+#include <endian.h>
+
+#endif
+
+#endif /* _MYENDIAN_H */
diff --git a/freebsdtvision/lib/objects.h b/freebsdtvision/lib/objects.h
new file mode 100644
index 0000000..37555a1
--- /dev/null
+++ b/freebsdtvision/lib/objects.h
@@ -0,0 +1,531 @@
+/*
+ * objects.h
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#if defined( Uses_TPoint ) && !defined( __TPoint )
+#define __TPoint
+
+/** \file objects.h
+ * objects.h
+ */
+
+/**
+ * A screen coordinate. TPoint implements points on the screen with several
+ * overloaded operators for point manipulation.
+ *
+ * TPoint is a simple object that can be used to record a coordinate on the
+ * screen. For this, two public variables are available: `x' and `y'.
+ * @see TRect
+ * @short Two-point screen coordinate
+ */
+class TPoint
+{
+public:
+ /**
+ * Adds the coordinate of another point to this point.
+ * Returns *this.
+ */
+ TPoint& operator+=( const TPoint& adder );
+ /**
+ * Subtracts the coordinate of another point from this point.
+ * Returns *this.
+ */
+ TPoint& operator-=( const TPoint& subber );
+ /**
+ * Calculates the distance between two points.
+ * Returns a point with the resulting difference.
+ */
+ friend TPoint operator - ( const TPoint& one, const TPoint& two);
+ /**
+ * Calculates the sum of two points.
+ * Returns a point with the resulting sum.
+ */
+ friend TPoint operator +( const TPoint& one, const TPoint& two );
+ /**
+ * Returns True if two points are equal (have the same coordinate),
+ * returns False otherwise.
+ */
+ friend int operator == ( const TPoint& one, const TPoint& two);
+ /**
+ * Returns True if two points are not equal (have different coordinate),
+ * returns False otherwise.
+ */
+ friend int operator != ( const TPoint& one, const TPoint& two);
+ /**
+ * Is the screen column of the point.
+ */
+ int x;
+ /**
+ * Is the screen row of the point.
+ */
+ int y;
+};
+
+inline TPoint& TPoint::operator += ( const TPoint& adder )
+{
+ x += adder.x;
+ y += adder.y;
+ return *this;
+}
+
+inline TPoint& TPoint::operator -= ( const TPoint& subber )
+{
+ x -= subber.x;
+ y -= subber.y;
+ return *this;
+}
+
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TPoint& p )
+ { return is >> p.x >> p.y; }
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TPoint*& p )
+ { return is >> p->x >> p->y; }
+
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TPoint& p )
+ { return os << p.x << p.y; }
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TPoint* p )
+ { return os << p->x << p->y; }
+
+#endif // Uses_TPoint
+
+#if defined( Uses_TRect ) && !defined( __TRect )
+#define __TRect
+
+/**
+ * A screen rectangular area.
+ *
+ * TRect is used to hold two coordinates on the screen, which usually specify
+ * the upper left corner and the lower right corner of views. Sometimes the
+ * second coordinate speficy the size (extension) of the view. The two
+ * coordinates are named @ref a and @ref b.
+ *
+ * TRect has several inline member functions for manipulating rectangles.
+ * The operators == and != are overloaded to provide the comparison of two
+ * rectangles in a natural way.
+ * @see TPoint
+ * @see TRect::operator==
+ * @see TRect::operator!=
+ * @short Screen rectangular area
+ */
+class TRect
+{
+public:
+ /**
+ * Constructor.
+ *
+ * Initializes the rectangle coordinates using the four integer
+ * parameters.
+ */
+ TRect( int ax, int ay, int bx, int by );
+ /**
+ * Constructor.
+ *
+ * Initializes the rectangle coordinates using two points.
+ * @see TPoint
+ */
+ TRect( TPoint p1, TPoint p2 );
+ /**
+ * Constructor.
+ *
+ * Does nothing. The two coordinates are not initialized, so they contain
+ * garbage.
+ */
+ TRect();
+ /**
+ * Moves the rectangle to a new position.
+ *
+ * The two parameters are added to the two old coordinates as delta
+ * values. Both parameters can be negative or positive.
+ */
+ void move( int aDX, int aDY );
+ /**
+ * Enlarges the rectangle by a specified value.
+ *
+ * Changes the size of the calling rectangle by subtracting `aDX' from
+ * a.x, adding `aDX' to b.x, subtracting `aDY' from a.y, and adding `aDY'
+ * to b.y.
+ *
+ * The left side is left-moved by `aDX' units and the right side is
+ * right-moved by `aDX' units. In a similar way the upper side is
+ * upper-moved by `aDY' units and the bottom side is bottom-moved by `aDY'
+ * units.
+ */
+ void grow( int aDX, int aDY );
+ /**
+ * Calculates the intersection between this rectangle and the parameter
+ * rectangle.
+ *
+ * The resulting rectangle is the largest rectangle which contains both
+ * part of this rectangle and part of the parameter rectangle.
+ */
+ void intersect( const TRect& r );
+ /**
+ * Calculates the union between this rectangle and the `r' parameter
+ * rectangle.
+ *
+ * The resulting rectangle is the smallest rectangle which contains both
+ * this rectangle and the `r' rectangle.
+ */
+ void Union( const TRect& r );
+ /**
+ * Returns True if the calling rectangle (including its boundary) contains
+ * the point `p', returns False otherwise.
+ * @see TPoint
+ */
+ Boolean contains( const TPoint& p ) const;
+ /**
+ * Returns True if `r' is the same as the calling rectangle; otherwise,
+ * returns False.
+ */
+ Boolean operator == ( const TRect& r ) const;
+ /**
+ * Returns True if `r' is not the same as the calling rectangle;
+ * otherwise, returns False.
+ */
+ Boolean operator != ( const TRect& r ) const;
+ /**
+ * Checks if the rectangle is empty, i.e. if the first coordinate is
+ * greater than the second one.
+ *
+ * Empty means that (a.x >= b.x || a.y >= b.y).
+ */
+ Boolean isEmpty();
+ /**
+ * Is the point defining the top-left corner of a rectangle on the screen.
+ */
+ TPoint a;
+ /**
+ * Is the point defining the bottom-right corner of a rectangle on the
+ * screen.
+ */
+ TPoint b;
+};
+
+inline TRect::TRect( int ax, int ay, int bx, int by)
+{
+ a.x = ax;
+ a.y = ay;
+ b.x = bx;
+ b.y = by;
+}
+
+inline TRect::TRect( TPoint p1, TPoint p2 )
+{
+ a = p1;
+ b = p2;
+}
+
+inline TRect::TRect()
+{
+}
+
+inline void TRect::move( int aDX, int aDY )
+{
+ a.x += aDX;
+ a.y += aDY;
+ b.x += aDX;
+ b.y += aDY;
+}
+
+inline void TRect::grow( int aDX, int aDY )
+{
+ a.x -= aDX;
+ a.y -= aDY;
+ b.x += aDX;
+ b.y += aDY;
+}
+
+inline void TRect::intersect( const TRect& r )
+{
+ a.x = max( a.x, r.a.x );
+ a.y = max( a.y, r.a.y );
+ b.x = min( b.x, r.b.x );
+ b.y = min( b.y, r.b.y );
+}
+
+inline void TRect::Union( const TRect& r )
+{
+ a.x = min( a.x, r.a.x );
+ a.y = min( a.y, r.a.y );
+ b.x = max( b.x, r.b.x );
+ b.y = max( b.y, r.b.y );
+}
+
+inline Boolean TRect::contains( const TPoint& p ) const
+{
+ return Boolean(
+ p.x >= a.x && p.x < b.x && p.y >= a.y && p.y < b.y
+ );
+}
+
+inline Boolean TRect::operator == ( const TRect& r) const
+{
+ return Boolean( a == r.a && b == r.b );
+}
+
+inline Boolean TRect::operator != ( const TRect& r ) const
+{
+ return Boolean( !(*this == r) );
+}
+
+inline Boolean TRect::isEmpty()
+{
+ return Boolean( a.x >= b.x || a.y >= b.y );
+}
+
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TRect& r )
+ { return is >> r.a >> r.b; }
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TRect*& r )
+ { return is >> r->a >> r->b; }
+
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TRect& r )
+ { return os << r.a << r.b; }
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TRect* r )
+ { return os << r->a << r->b; }
+
+#endif // Uses_TRect
+
+#if defined( Uses_TCollection ) && !defined( __TCollection )
+#define __TCollection
+
+/**
+ * TCollection implements a streamable collection of arbitrary items,
+ * including other objects.
+ *
+ * Its main purpose is to provide a base class for more useful streamable
+ * collection classes. @ref TNSCollection (the nonstreamable collection
+ * class) is a virtual base class for TCollection, providing the functions
+ * for adding, accessing, and removing items from a collection.
+ * @ref TStreamable provides TCollection with the ability to create and name
+ * streams.
+ *
+ * Several friend functions and the overloaded operators, >> and <<, provide
+ * the ability to write and read collections to and from streams.
+ *
+ * A collection is a more general concept than the traditional array, set, or
+ * list.
+ *
+ * TCollection objects size themselves dynamically at run time and offer a
+ * base for more specialized derived classes such as @ref TSortedCollection,
+ * @ref TStringCollection, and @ref TResourceCollection.
+ *
+ * TCollection inherits from @ref TNSCollection the member functions for
+ * adding and deleting items, as well as several iterator routines that call
+ * a function for each item in the collection.
+ *
+ * Note: type ccIndex is defined in file `ttypes.h' as int.
+ * @short Streamable collection of items
+ */
+class TCollection : public virtual TNSCollection, public TStreamable
+{
+public:
+ /**
+ * Constructor.
+ *
+ * Creates a collection with limit set to `aLimit' and delta set to
+ * `aDelta'. The initial number of items will be limited to `aLimit', but
+ * the collection is allowed to grow in increments of `aDelta' until
+ * memory runs out or the number of items reaches @ref maxCollectionSize,
+ * an integer constant defined in `tvconfig.h' as follows:
+ *
+ * <pre>
+ * const int @ref maxCollectionSize = INT_MAX / sizeof(void *);
+ * </pre>
+ */
+ TCollection( ccIndex aLimit, ccIndex aDelta )
+ { delta = aDelta; setLimit( aLimit ); }
+private:
+ virtual const char *streamableName() const
+ { return name; }
+ /**
+ * Define this pure virtual function in your derived class to read and
+ * return an item from the ipstream in a type-safe manner.
+ *
+ * This is usually done with a sequence of >> operations for each data
+ * member in your derived class.
+ */
+ virtual void *readItem( ipstream& ) = 0;
+ /**
+ * Define this pure virtual function in your derived class to write an
+ * item to the opstream.
+ *
+ * This is usually done with a sequence of << operations for each data
+ * member in your derived class.
+ */
+ virtual void writeItem( void *, opstream& ) = 0;
+protected:
+ /**
+ * Constructor.
+ *
+ * Each streamable class needs a "builder" to allocate the correct memory
+ * for its objects together with the initialized vtable pointers. This is
+ * achieved by calling this constructor with an argument of type
+ * @ref StreamableInit.
+ */
+ TCollection( StreamableInit );
+ /**
+ * Reads a collection from the input stream `is' to the associated
+ * TCollection object.
+ */
+ virtual void *read( ipstream& is);
+ /**
+ * Writes the associated collection to the output stream `os'.
+ */
+ virtual void write( opstream& os );
+public:
+ /**
+ * The name of the collection class, "TCollection". Used internally by the
+ * stream manager.
+ */
+ static const char * const name;
+};
+
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TCollection& cl )
+ { return is >> (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TCollection*& cl )
+ { return is >> (void *&)cl; }
+
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TCollection& cl )
+ { return os << (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TCollection* cl )
+ { return os << (TStreamable *)cl; }
+
+#endif // Uses_TCollection
+
+#if defined( Uses_TSortedCollection ) && !defined( __TSortedCollection )
+#define __TSortedCollection
+
+/**
+ * The abstract class TSortedCollection is a specialized derivative of both
+ * @ref TCollection and @ref TNSSortedCollection. It implements streamable
+ * collections sorted by a key (with or without duplicates).
+ *
+ * No instances of TSortedCollection are allowed. It exists solely as a base
+ * for other standard or user-defined derived classes.
+ * @short Sorted, streamable collection of objects
+ */
+class TSortedCollection : public TNSSortedCollection, public TCollection
+{
+public:
+ /**
+ * Invokes the @ref TCollection constructor to set @ref count and
+ * @ref items data members to 0; calls setLimit(aLimit) to set the
+ * collection @ref limit to `aLimit', then sets @ref delta to `aDelta'.
+ * Note that ccIndex is a typedef of int.
+ *
+ * @ref duplicates is set to False. If you want to allow duplicate keys,
+ * you must set @ref duplicates True.
+ */
+ TSortedCollection( ccIndex aLimit, ccIndex aDelta) :
+ TCollection( aLimit, aDelta ) {}
+private:
+ /**
+ * compare() is a pure virtual function that must be overridden in all
+ * derived classes (or redefined as pure virtual).
+ */
+ virtual int compare( void *key1, void *key2 ) = 0;
+ virtual const char *streamableName() const
+ { return name; }
+ /**
+ * Called for each item in the collection. You'll need to override these
+ * in everything derived from @ref TCollection or TSortedCollection in
+ * order to read the items correctly. TSortedCollection overrides this
+ * function with a pure virtual function.
+ */
+ virtual void *readItem( ipstream& is ) = 0;
+ /**
+ * Called for each item in the collection. You'll need to override these
+ * in everything derived from @ref TCollection or TSortedCollection in
+ * order to write the items correctly. TSortedCollection overrides this
+ * function with a pure virtual function.
+ */
+ virtual void writeItem( void *, opstream& os ) = 0;
+protected:
+ /**
+ * Each streamable class needs a "builder" to allocate the correct memory
+ * for its objects together with the initialized vtable pointers. This is
+ * achieved by calling this constructor with an argument of type
+ * @ref StreamableInit.
+ */
+ TSortedCollection( StreamableInit );
+ /**
+ * Reads a sorted collection from the input stream `is'.
+ */
+ virtual void *read( ipstream& is );
+ /**
+ * Writes the associated TSortedCollection object to the output stream
+ * `os'.
+ */
+ virtual void write( opstream& os );
+public:
+ /**
+ * Undocumented.
+ */
+ static const char * const name;
+};
+
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TSortedCollection& cl )
+ { return is >> (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TSortedCollection*& cl )
+ { return is >> (void *&)cl; }
+
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TSortedCollection& cl )
+ { return os << (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TSortedCollection* cl )
+ { return os << (TStreamable *)cl; }
+
+#endif // Uses_TSortedCollection
diff --git a/freebsdtvision/lib/outline.h b/freebsdtvision/lib/outline.h
new file mode 100644
index 0000000..c1f4395
--- /dev/null
+++ b/freebsdtvision/lib/outline.h
@@ -0,0 +1,511 @@
+/*
+ * outline.h
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#if defined( Uses_TOutlineViewer ) && !defined( __TOutlineViewer )
+#define __TOutlineViewer
+
+/** \file outline.h
+ * outline.h
+ */
+
+const int
+ ovExpanded = 0x01,
+ ovChildren = 0x02,
+ ovLast = 0x04;
+
+const int
+ cmOutlineItemSelected = 301;
+
+/**
+ * @ref TOutline objects use records of type TNode to hold the lists of linked
+ * strings that form the outline.
+ * @see TOutlineViewer
+ * @short Implements a node of the outline
+ */
+class TNode
+{
+public:
+ /**
+ * Creates a node for an outline list.
+ */
+ inline TNode(char* aText);
+ /**
+ * Creates a node for an outline list. Sets the new node's @ref text,
+ * @ref childList, and @ref next fields to `aText', `aChildren', and
+ * `aNext', respectively.
+ */
+ inline TNode(char* aText, TNode* aChildren, TNode* aNext,
+ Boolean initialState = True);
+ /**
+ * Disposes of an outline node.
+ */
+ virtual ~TNode();
+ /**
+ * Field next points to the next node at the same outline level as the
+ * current node.
+ */
+ TNode* next;
+ /**
+ * Each node record holds the text for that item in the outline in its
+ * text field.
+ */
+ char* text;
+ /**
+ * Field childList points to the first in a list of subordinate nodes, or
+ * holds 0 if there are no items subordinate to the node.
+ */
+ TNode* childList;
+ /**
+ * Field expanded is True if the outline view shows the subordinate views
+ * listed in @ref childList or False if the subordinate nodes are hidden.
+ */
+ Boolean expanded;
+};
+
+inline TNode::TNode(char* aText) :
+ next(0), text(newStr(aText)), childList(0), expanded(True)
+{
+}
+
+inline TNode::TNode( char* aText, TNode* aChildren,
+ TNode* aNext, Boolean initialState ) :
+ next(aNext), text(newStr(aText)),
+ childList(aChildren), expanded(initialState)
+{
+}
+
+inline TNode::~TNode() {
+ delete [] text;
+}
+
+/* ------------------------------------------------------------------------*/
+/* class TOutlineViewer */
+/* */
+/* Palette layout */
+/* 1 = Normal color */
+/* 2 = Focus color */
+/* 3 = Select color */
+/* 4 = Not expanded color */
+/* ------------------------------------------------------------------------*/
+
+class TRect;
+class TScrollBar;
+class TEvent;
+
+/**
+ * The outline viewer object type provides the abstract methods for
+ * displaying, expanding, and iterating the items in an outline.
+ *
+ * TOutlineViewer, however, makes no assumptions about the actual items in the
+ * outline. Descendants of TOutlineViewer, such as @ref TOutline, display
+ * outlines of specific kinds of items.
+ * @short Implements an outline viewer
+ */
+class TOutlineViewer : public TScroller
+{
+public:
+ /**
+ * Constructs an outline viewer object by first calling the constructor
+ * inherited from @ref TScroller, passing `bounds', `aHScrollBar' and
+ * `aVScrollBar'. Sets @ref growMode to @ref gfGrowHiX + @ref gfGrowHiY
+ * and sets @ref foc data member to zero.
+ */
+ TOutlineViewer(const TRect& bounds, TScrollBar* aHScrollBar,
+ TScrollBar* aVScrollBar);
+ /**
+ * Each streamable class needs a "builder" to allocate the correct memory
+ * for its objects together with the initialized virtual table pointers.
+ * This is achieved by calling this constructor with an argument of type
+ * @ref StreamableInit.
+ */
+ TOutlineViewer(StreamableInit s);
+ /**
+ * adjust() is an abstract method that descendant outline viewer types must
+ * override to show the child nodes of `node' if `expand' is True, or hide
+ * them if `expand' is False. Called when the user expands or collapses
+ * `node'. If @ref hasChildren() returns False for `node', adjust() will
+ * never be called for that node.
+ */
+ virtual void adjust(TNode* node, Boolean expand)=0;
+ /**
+ * Called to draw the outline view. Essentially, draw() calls
+ * @ref getGraph() to get the graphical part of the outline, then appends
+ * the string returned from @ref getText(). The line containing the
+ * focused node in the outline displays in a distinct color. Nodes whose
+ * child nodes are not displayed are highlighted.
+ */
+ virtual void draw();
+ /**
+ * Called whenever a node receives focus. The `i' parameter indicates the
+ * position of the newly focused node in the outline. By default,
+ * focused() just sets @ref foc data member to `i'.
+ */
+ virtual void focused(int i);
+ /**
+ * getChild() is an abstract method (pure virtual) that descendant outline
+ * viewer types must override to return a pointer to the i-th child of the
+ * given `node'. If @ref hasChildren() returns False, indicating that
+ * `node' has no child nodes, getChild() will not be called for that
+ * node. You can safely assume that when an outline viewer calls
+ * getChild(), the given node has at least `i' child nodes.
+ */
+ virtual TNode* getChild(TNode* node, int i)=0;
+ /**
+ * Returns a string of graphics characters to display to the left of the
+ * text returned by @ref getText(). By default, getGraph() calls
+ * @ref createGraph() with the default character values. You only need to
+ * override getGraph() if you want to change the appearance of the
+ * outline. For example, instead of calling createGraph() to show the
+ * hierarchy, you might return a string of characters to merely indent
+ * the text by a given amount for each level.
+ */
+ virtual char* getGraph(int level, long lines, ushort flags);
+ /**
+ * getNumChildren() is an abstract method (pure virtual) that descendant
+ * outline viewer types must override to return the number of child nodes
+ * in `node'. If @ref hasChildren() returns False for `node',
+ * getNumChildren() will never be called.
+ */
+ virtual int getNumChildren(TNode* node)=0;
+ /**
+ * Returns a pointer to the i-th node in the outline; that is, the node
+ * shown `i' lines from the top of the complete outline.
+ */
+ virtual TNode* getNode(int i);
+ /**
+ * Returns a reference to the default outline palette.
+ */
+ virtual TPalette& getPalette() const;
+ /**
+ * getRoot() is an abstract method that descendant outline viewer types
+ * must override to return a pointer to the root node of the outline.
+ */
+ virtual TNode* getRoot()=0;
+ /**
+ * getText() is an abstract method (pure virtual) that descendant outline
+ * viewer types must override to return the text of `node'.
+ */
+ virtual char* getText(TNode* node)=0;
+ /**
+ * Handles most events for the outline viewer by calling the handleEvent()
+ * method inherited from @ref TScroller, then handles certain mouse and
+ * keyboard events.
+ * @see TScroller::handleEvent
+ */
+ virtual void handleEvent(TEvent& event);
+ /**
+ * hasChildren() is an abstract method (pure virtual) that descendant
+ * outline viewers must override to return True if the given `node' has
+ * child nodes and False if `node' has no child nodes.
+ *
+ * If hasChildren() returns False for a particular node, the following
+ * functions are never called for that node: @ref adjust(),
+ * @ref expandAll(), @ref getChild(), @ref getNumChildren() and
+ * @ref isExpanded(). Those methods can assume that if they are called,
+ * there are child nodes for them to act on.
+ */
+ virtual Boolean hasChildren(TNode* node)=0;
+ /**
+ * isExpanded() is an abstract method (pure virtual) that descendant
+ * outline viewer types must override to return True if node's child nodes
+ * should be displayed. If @ref hasChildren() returns False for `node',
+ * isExpanded() will never be called for that node.
+ */
+ virtual Boolean isExpanded(TNode* node)=0;
+ /**
+ * Returns True if node `i' is selected. By default, TOutlineViewer
+ * assumes a single-selection outline, so it returns True if that node
+ * is focused. You can override isSelected() to handle multiple
+ * selections.
+ */
+ virtual Boolean isSelected(int i);
+ /**
+ * Called whenever a node is selected by the user, either by keyboard
+ * control or by the mouse. The `i' parameter indicates the position in
+ * the outline of the newly selected node. By default, selected() does
+ * nothing; descendant types can override selected() to perform some
+ * action in response to selection.
+ */
+ virtual void selected(int i);
+ /**
+ * Sets or clears the `aState' state flags for the view by calling the
+ * setState() method inherited from @ref TScroller. If the new state
+ * includes a focus change, setState() calls @ref drawView() to redraw
+ * the outline.
+ * @see TScroller::setState
+ */
+ virtual void setState(ushort aState, Boolean enable);
+ /**
+ * Updates the limits of the outline viewer. The limit in the vertical
+ * direction is number of nodes in the outline. The limit in the
+ * horizontal direction is the length of the longest displayed line.
+ *
+ * Your program should call update() whenever the data in the outline
+ * changes. TOutlineViewer assumes that the outline is empty, so if the
+ * outline becomes non-empty during initialization, you must explicitly
+ * call update().
+ *
+ * Also, if during the operation of the outline viewer the data being
+ * displayed change, you must call update() and the inherited
+ * @ref drawView().
+ */
+ void update();
+ /**
+ * If `node' has child nodes, expandAll() recursively expands `node' by
+ * calling @ref adjust() with the expand parameter True, then expands all
+ * its child nodes by calling expandAll() for each of them.
+ */
+ void expandAll(TNode* node);
+ /**
+ * firstThat() iterates over the nodes of the outline, calling the
+ * function pointed to by `test' until `test' returns True. `test' must
+ * point to a function with the following syntax:
+ *
+ * <pre>
+ * Boolean myIter(TOutlineViewer* ov, TNode* cur, int level, int position,
+ * long lines, ushort flags);
+ * </pre>
+ *
+ * The parameters are documented in @ref forEach().
+ */
+ TNode* firstThat(Boolean (*test)(TOutlineViewer* ov, TNode* node,
+ int level, int position, long lines, ushort flags));
+ /**
+ * Iterates over all the nodes. `action' points to a function that
+ * forEach() calls for each node in the outline. The syntax for the
+ * iterator function is as follows:
+ *
+ * <pre>
+ * Boolean myIter(TOutlineViewer* ov, TNode* cur, int level, int position,
+ * long lines, ushort flags);
+ * </pre>
+ *
+ * The parameters are as follows:
+ *
+ * <pre>
+ * Name Description
+ *
+ * cur A pointer to the node being checked.
+ *
+ * level The level of the node (how many nodes are above it),
+ * zero-based. This can be used to a call to either
+ * @ref getGraph() or @ref createGraph().
+ *
+ * position The display order position of the node in the list. This can
+ * be used in a call to @ref focused() or @ref selected(). If in
+ * range, position - delta.Y is location the node is displayed
+ * on the view.
+ *
+ * lines Bits indicating the active levels. This can be used in a call
+ * to @ref getGraph() or @ref createGraph(). It dicatates which
+ * horizontal lines need to be drawn.
+ *
+ * flags Various flags for drawing. Can be used in a call to
+ * @ref getGraph() or @ref createGraph().
+ * </pre>
+ * @see TOutlineViewer::firstThat
+ */
+ TNode* forEach(Boolean (*action)(TOutlineViewer* ov, TNode* cur, int level,
+ int position, long lines, ushort flags));
+ /**
+ * Undocumented.
+ */
+ char* createGraph(int level, long lines, ushort flags, int levWidth,
+ int endWidth, const char* chars);
+ /**
+ * Indicates the item number of the focused node in the outline.
+ */
+ int foc;
+ /**
+ * Undocumented.
+ */
+ static const char* graphChars;
+protected:
+ /**
+ * Undocumented.
+ */
+ static void disposeNode(TNode* node);
+ /**
+ * Writes to the output stream `os'.
+ */
+ virtual void write( opstream& os );
+ /**
+ * Reads from the input stream `is'.
+ */
+ virtual void *read( ipstream& is );
+public:
+ /**
+ * Called to create an object in certain stream-reading situations.
+ */
+ static TStreamable *build();
+ /**
+ * Undocumented.
+ */
+ static const char * const name;
+private:
+ void adjustFocus(int newFocus);
+ TNode* iterate(Boolean (*action)(TOutlineViewer*, TNode*, int, int, long,
+ ushort), Boolean checkResult);
+};
+
+inline TOutlineViewer::TOutlineViewer( StreamableInit s) :
+ TScroller(s)
+{
+}
+
+#endif // Uses_TOutlineViewer
+
+#if defined( Uses_TOutline ) && !defined( __TOutline )
+#define __TOutline
+
+/* ------------------------------------------------------------------------*/
+/* class TOutline */
+/* */
+/* Palette layout */
+/* 1 = Normal color */
+/* 2 = Focus color */
+/* 3 = Select color */
+/* 4 = Not expanded color */
+/* ------------------------------------------------------------------------*/
+
+class TRect;
+class TScrollBar;
+class TEvent;
+
+/**
+ * TOutline implements a simple but useful type of outline viewer.
+ *
+ * It assumes that the outline is a linked list of records of type @ref TNode,
+ * so each node consists of a text string (@ref TNode::text), a pointer to
+ * any child nodes (@ref TNode::childList), and a pointer to the next node at
+ * the same level (@ref TNode::next).
+ * @short Implements a simple outline viewer
+ */
+class TOutline : public TOutlineViewer
+{
+public:
+ /**
+ * Constructs an outline view by passing `bounds', `aHScrollBar' and
+ * `aVScrollBar' to the constructor inherited from @ref TOutlineViewer.
+ *
+ * Sets @ref root to `aRoot', then calls @ref update() to set the
+ * scrolling limits of the view based on the data in the outline.
+ */
+ TOutline(const TRect& bounds, TScrollBar* aHScrollBar,
+ TScrollBar* aVScrollBar, TNode* aRoot);
+ /**
+ * Disposes of the outline view by first disposing of the @ref root node,
+ * which recursively disposes of all child nodes, then calling the
+ * destructor inherited from TView.
+ */
+ ~TOutline();
+ /**
+ * Sets the expanded field of `node' to the value passed in `expand'. If
+ * `expand' is True, this causes the child nodes linked to `node' to be
+ * displayed. If `expand' is False, node's child nodes are hidden.
+ */
+ virtual void adjust(TNode* node, Boolean expand);
+ /**
+ * Returns @ref root, which points to the top of the list of nodes for the
+ * outline.
+ */
+ virtual TNode* getRoot();
+ /**
+ * Returns the number of nodes in node's @ref TNode::childList, or zero if
+ * @ref TNode::childList is 0.
+ */
+ virtual int getNumChildren(TNode* node);
+ /**
+ * Returns a pointer to the i-th child in node's @ref TNode::childList.
+ */
+ virtual TNode* getChild(TNode* node, int i);
+ /**
+ * Returns the string pointed to by node's @ref TNode::text field.
+ */
+ virtual char* getText(TNode* node);
+ /**
+ * Returns the value of node's @ref TNode::expanded field.
+ */
+ virtual Boolean isExpanded(TNode* node);
+ /**
+ * Returns True if node's @ref TNode::childList is non-0; otherwise
+ * returns False.
+ */
+ virtual Boolean hasChildren(TNode* node);
+ /**
+ * Points to the root node of the outline tree.
+ */
+ TNode* root;
+protected:
+ /**
+ * Writes to the output stream `os'.
+ */
+ virtual void write( opstream& os );
+ /**
+ * Reads from the input stream `is'.
+ */
+ virtual void *read( ipstream& is );
+ /**
+ * Undocumented.
+ */
+ virtual void writeNode( TNode*, opstream& );
+ /**
+ * Undocumented.
+ */
+ virtual TNode* readNode( ipstream& );
+ /**
+ * Each streamable class needs a "builder" to allocate the correct memory
+ * for its objects together with the initialized virtual table pointers.
+ * This is achieved by calling this constructor with an argument of type
+ * @ref StreamableInit.
+ */
+ TOutline( StreamableInit );
+public:
+ /**
+ * Called to create an object in certain stream-reading situations.
+ */
+ static TStreamable* build();
+ /**
+ * Undocumented.
+ */
+ static const char* const name;
+private:
+ virtual const char *streamableName() const
+ { return name; }
+};
+
+inline TOutline::TOutline( StreamableInit s ) : TOutlineViewer( s )
+{
+}
+
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TOutline& o )
+ { return is >> (TStreamable&)o; }
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TOutline*& o )
+ { return is >> (void *&)o; }
+
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TOutline& o )
+ { return os << (TStreamable&)o; }
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TOutline* o )
+ { return os << (TStreamable*)o; }
+
+#endif // Uses_TOutline
diff --git a/freebsdtvision/lib/palette.cc b/freebsdtvision/lib/palette.cc
new file mode 100644
index 0000000..7268e1e
--- /dev/null
+++ b/freebsdtvision/lib/palette.cc
@@ -0,0 +1,53 @@
+/*
+ * palette.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#define Uses_TPalette
+#include <tvision/tv.h>
+
+#include <string.h>
+
+TPalette::TPalette( const char* d, ushort len ) :
+ data( new uchar[ len+1 ] )
+{
+ data[0] = len;
+ memcpy( data+1, d, len );
+}
+
+TPalette::TPalette( const TPalette& tp ) :
+ data( new uchar[ tp.data[0] + 1 ] )
+{
+ memcpy( data, tp.data, tp.data[0] + 1 );
+}
+
+TPalette::~TPalette()
+{
+ delete data;
+}
+
+TPalette& TPalette::operator = ( const TPalette& tp )
+{
+ if( data != tp.data )
+ {
+ if( data[0] != tp.data[0] )
+ {
+ delete data;
+ data = new uchar[ tp.data[0] + 1 ];
+ data[0] = tp.data[0];
+ }
+ memcpy( data+1, tp.data+1, data[0] );
+ }
+ return *this;
+}
+
+uchar& TPalette::operator[]( int index ) const
+{
+ return data[index];
+}
diff --git a/freebsdtvision/lib/resource.h b/freebsdtvision/lib/resource.h
new file mode 100644
index 0000000..68b78f8
--- /dev/null
+++ b/freebsdtvision/lib/resource.h
@@ -0,0 +1,548 @@
+/*
+ * resource.h
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#if defined( Uses_TStringCollection ) && !defined( __TStringCollection )
+#define __TStringCollection
+
+/** \file resource.h
+ * resource.h
+ */
+
+/**
+ * TStringCollection is a simple derivative of @ref TSortedCollection
+ * implementing a sorted list of ASCII strings.
+ * @short Implements a sorted list of ASCII strings
+ */
+class TStringCollection : public TSortedCollection
+{
+public:
+ /**
+ * Creates a TStringCollection object with the given values.
+ */
+ TStringCollection( short aLimit, short aDelta );
+private:
+ /**
+ * Compares the "strings" `key1' and `key2' as follows:
+ *
+ * -# return < 0 if `key1' < `key2'
+ * -# return 0 if `key1' == `key2'
+ * -# return > 0 if `key1' > `key2'
+ *
+ * compare() is overridden to provide the conventional lexicographic ASCII
+ * string ordering. You can override compare() to allow for other
+ * orderings, such as those for non-English character sets.
+ */
+ virtual int compare( void *key1, void *key2 );
+ /**
+ * Removes the string `item' from the sorted collection and disposes of
+ * the string.
+ */
+ virtual void freeItem( void *item );
+ /**
+ * Undocumented.
+ */
+ virtual const char *streamableName() const
+ { return name; }
+ /**
+ * Called for each item in the collection. You'll need to override these
+ * in everything derived from @ref TCollection or @ref TSortedCollection
+ * in order to read the items correctly.
+ */
+ virtual void *readItem( ipstream& );
+ /**
+ * Called for each item in the collection. You'll need to override these
+ * in everything derived from @ref TCollection or @ref TSortedCollection
+ * in order to write the items correctly.
+ *
+ * TSortedCollection already overrides this function.
+ */
+ virtual void writeItem( void *, opstream& );
+protected:
+ /**
+ * Each streamable class needs a "builder" to allocate the correct memory
+ * for its objects together with the initialized virtual table pointers.
+ * This is achieved by calling this constructor with an argument of type
+ * @ref StreamableInit.
+ */
+ TStringCollection( StreamableInit ) : TSortedCollection ( streamableInit ) {};
+public:
+ /**
+ * Undocumented.
+ */
+ static const char * const name;
+ /**
+ * Called to create an object in certain stream-reading situations.
+ */
+ static TStreamable *build();
+};
+
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TStringCollection& cl )
+ { return is >> (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TStringCollection*& cl )
+ { return is >> (void *&)cl; }
+
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TStringCollection& cl )
+ { return os << (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TStringCollection* cl )
+ { return os << (TStreamable *)cl; }
+
+#endif // Uses_TStringCollection
+
+#if defined( Uses_TResourceItem ) && !defined( __TResourceItem )
+#define __TResourceItem
+
+/**
+ * Internal structure use by @ref TResourceCollection and @ref TResourceFile.
+ * @short Internal structure use by TResourceCollection and TResourceFile
+ */
+struct TResourceItem
+{
+ /**
+ * Undocumented.
+ */
+ long pos;
+ /**
+ * Undocumented.
+ */
+ long size;
+ /**
+ * Undocumented.
+ */
+ char *key;
+};
+
+#endif // Uses_TResourceItem
+
+#if defined( Uses_TResourceCollection ) && !defined( __TResourceCollection )
+#define __TResourceCollection
+
+/**
+ * TResourceCollection is a derivative of @ref TStringCollection, which makes
+ * it a sorted, streamable collection. It is used with @ref TResourceFile to
+ * implement collections of resources. A resource file is a stream that is
+ * indexed by key strings. Each resource item points to an object of type
+ * @ref TResourceItem.
+ * @short Implements a sorted, streamable collection of resources
+ */
+class TResourceCollection: public TStringCollection
+{
+public:
+ /**
+ * Each streamable class needs a "builder" to allocate the correct memory
+ * for its objects together with the initialized vtable pointers. This is
+ * achieved by calling this constructor with an argument of type
+ * @ref StreamableInit.
+ */
+ TResourceCollection( StreamableInit) : TStringCollection( streamableInit )
+ {};
+ /**
+ * Creates a resource collection with initial size `aLimit' and the
+ * ability to resize by `aDelta'.
+ */
+ TResourceCollection( short aLimit, short aDelta );
+ /**
+ * Returns the key of the given item.
+ */
+ virtual void *keyOf( void *item );
+private:
+ /**
+ * Frees the given item from the collection by deleting both the key and
+ * the item.
+ */
+ virtual void freeItem( void *item );
+ /**
+ * Undocumented.
+ */
+ virtual const char *streamableName() const
+ { return name; }
+ /**
+ * Called for each item in the collection. In order to read items
+ * correctly, you'll need to override these in everything derived from
+ * @ref TCollection or @ref TSortedCollection. @ref TSortedCollection
+ * already overrides this function.
+ */
+ virtual void *readItem( ipstream& );
+ /**
+ * Called for each item in the collection. In order to write the items
+ * correctly, you'll need to override these in everything derived from
+ * @ref TCollection or @ref TSortedCollection. @ref TSortedCollection
+ * already overrides this function.
+ */
+ virtual void writeItem( void *, opstream& );
+public:
+ /**
+ * Class name used by the stream manager.
+ */
+ static const char * const name;
+ /**
+ * Called to create an object in certain stream-reading situations.
+ */
+ static TStreamable *build();
+};
+
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TResourceCollection& cl )
+ { return is >> (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TResourceCollection*& cl )
+ { return is >> (void *&)cl; }
+
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TResourceCollection& cl )
+ { return os << (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TResourceCollection* cl )
+ { return os << (TStreamable *)cl; }
+
+#endif // Uses_TResourceCollection
+
+#if defined( Uses_TResourceFile ) && !defined( __TResourceFile )
+#define __TResourceFile
+
+class TResourceCollection;
+class fpstream;
+
+/**
+ * TResourceFile implements a stream (of type @ref fpstream) that can be
+ * indexed by string keys.
+ *
+ * To provide fast and efficient access to the objects stored in a resource
+ * file, TResourceFile objects store the keys in a sorted string collection
+ * (using @ref TResourceCollection) along with the position and size of the
+ * resource data in the resource file.
+ * @short Implements a stream that can be indexed by string keys
+ */
+class TResourceFile: public TObject
+{
+public:
+ /**
+ * Initializes a resource file using the stream given by `aStream' and
+ * sets the @ref modified data member to False. The stream must have
+ * already been initialized.
+ *
+ * During initialization, the TResourceFile constructor looks for a
+ * resource file header at the current position of the stream. If a header
+ * is not found, the constructor assumes that a new resource file is being
+ * created together with a new resource collection.
+ */
+ TResourceFile( fpstream *aStream );
+ /**
+ * Flushes the resource file, using @ref flush() and then deletes
+ * @ref index and @ref stream data members.
+ */
+ ~TResourceFile();
+ /**
+ * Calls index->getCount() to return the number of resource items stored
+ * in the associated @reg TResourceCollection.
+ * @see index
+ */
+ short count();
+ /**
+ * If the resource indexed by `key' is not found, remove does nothing.
+ * Otherwise it calls index->free() to remove the resource.
+ */
+ void remove( const char *key );
+ /**
+ * If the resource file has not been modified since the last flush (that
+ * is, if @ref modified is False), flush() does nothing.
+ *
+ * Otherwise, flush() stores the updated index at the end of the stream
+ * and updates the resource header at the beginning of the stream. It then
+ * calls stream->flush() and resets @ref modified to False.
+ */
+ void flush();
+ /**
+ * Searches for the given key in the associated resource file collection
+ * (given by the pointer @ref index). Returns 0 if the key is not found.
+ */
+ void *get( const char *key );
+ /**
+ * Uses index->at(i) to return the string key of the i'th resource in the
+ * resource file.
+ * @see TNSCollection::at
+ *
+ * The index of the first resource is zero and the index of the last
+ * resource is @ref count() minus one. Using @ref count() and keyAt()
+ * you can iterate over all resources in a resource file.
+ */
+ const char *keyAt( short i );
+ /**
+ * Adds the streamable object given by `item' to the resource file with
+ * the key string given by `key' and sets @ref modified to True.
+ *
+ * If the index already contains the key, then the new object replaces the
+ * old object; otherwise, the new object is appended in the correct
+ * indexed position of the resource file.
+ */
+ void put( TStreamable *item, const char *key );
+ /**
+ * Undocumented.
+ */
+ fpstream *switchTo( fpstream *aStream, Boolean pack );
+protected:
+ /**
+ * Pointer to the file stream associated with this resource file.
+ */
+ fpstream *stream;
+ /**
+ * Set True if the resource file has been modified since the last flush
+ * call; otherwise False.
+ */
+ Boolean modified;
+ /**
+ * The base position of the stream (ignoring header information).
+ */
+ long basePos;
+ /**
+ * The current position of the stream relative to the base position.
+ */
+ long indexPos;
+ /**
+ * A pointer to the associated @ref TResourceCollection object.
+ */
+ TResourceCollection *index;
+};
+
+#endif // Uses_TResourceFile
+
+#if defined( Uses_TStrIndexRec ) && !defined( __TStrIndexRec )
+#define __TStrIndexRec
+
+/**
+ * Internal class used by @ref TStringList and @ref TStrListMaker.
+ * @short Internal class used by TStringList and TStrListMaker
+ */
+class TStrIndexRec
+{
+public:
+ /**
+ * Undocumented.
+ */
+ TStrIndexRec();
+ /**
+ * The key.
+ */
+ ushort key;
+ /**
+ * Undocumented.
+ */
+ ushort count;
+ /**
+ * Undocumented.
+ */
+ ushort offset;
+};
+
+#endif // Uses_TStrIndexRec
+
+#if defined( Uses_TStringList ) && !defined( __TStringList )
+#define __TStringList
+
+class TStrIndexRec;
+
+/**
+ * TStringList provides a mechanism for accessing strings stored on a stream.
+ * Each string in a string list is identified by a unique number (ushort
+ * @ref TStrIndexRec::key)
+ * between 0 and 65,535.
+ *
+ * String lists take up less memory than normal string literals, since the
+ * strings are stored on a stream instead of in memory. Also, string lists
+ * permit easy internationalization, as the strings are not hard-coded in your
+ * program.
+ *
+ * TStringList has member functions only for accessing strings; you must use
+ * @ref TStrListMaker to create string lists.
+ * @short A mechanism for accessing strings stored on a stream
+ */
+class TStringList : public TObject, public TStreamable
+{
+public:
+ /**
+ * Deallocates the memory allocated to the string list.
+ */
+ ~TStringList();
+ /**
+ * Returns in `dest' the string given by `key', or an empty string if
+ * there is no string with the given key.
+ */
+ void get( char *dest, ushort key );
+private:
+ ipstream *ip;
+ long basePos;
+ short indexSize;
+ TStrIndexRec *index;
+ virtual const char *streamableName() const
+ { return name; }
+protected:
+ /**
+ * Each streamable class needs a "builder" to allocate the correct memory
+ * for its objects together with the initialized virtual table pointers.
+ * This is achieved by calling this constructor with an argument of type
+ * @ref StreamableInit.
+ */
+ TStringList( StreamableInit );
+ /**
+ * Writes to the output stream `os'.
+ */
+ virtual void write( opstream& ) {}
+ /**
+ * Reads from the input stream `is'.
+ */
+ virtual void *read( ipstream& is );
+public:
+ /**
+ * Undocumented.
+ */
+ static const char * const name;
+ /**
+ * Called to create an object in certain stream-reading situations.
+ */
+ static TStreamable *build();
+};
+
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TStringList& cl )
+ { return is >> (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TStringList*& cl )
+ { return is >> (void *&)cl; }
+
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TStringList& cl )
+ { return os << (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TStringList* cl )
+ { return os << (TStreamable *)cl; }
+
+#endif // Uses_TStringList
+
+
+#if defined( Uses_TStrListMaker ) && !defined( __TStrListMaker )
+#define __TStrListMaker
+
+/**
+ * TStrListMaker is a simple object type used to create string lists for use
+ * with @ref TStringList.
+ * @short Used to create string lists for use with TStringList
+ */
+class TStrListMaker : public TObject, public TStreamable
+{
+public:
+ /**
+ * Creates an in-memory string list of size `aStrSize' with an index of
+ * `aIndexSize' elements. A string buffer and an index buffer of the
+ * specified size are allocated on the heap.
+ *
+ * `aStrSize' must be large enough to hold all strings to be added to the
+ * string list; each string occupies its length plus a final 0.
+ *
+ * As strings are added to the string list (using @ref put()), a string
+ * index is built.
+ *
+ * Strings with contiguous keys (such `as' and `sError' in the example
+ * above) are recorded in one index record, up to 16 at a time.
+ * `aIndexSize' must be large enough to allow for all index records
+ * generated as strings are added. Each index entry occupies 6 bytes.
+ */
+ TStrListMaker( ushort aStrSize, ushort aIndexSize );
+ /**
+ * Frees the memory allocated to the string list maker.
+ */
+ ~TStrListMaker();
+ /**
+ * Adds the given string `str' to the calling string list (with the given
+ * numerical key).
+ */
+ void put( ushort key, char *str );
+private:
+ ushort strPos;
+ ushort strSize;
+ char *strings;
+ ushort indexPos;
+ ushort indexSize;
+ TStrIndexRec *index;
+ TStrIndexRec cur;
+ void closeCurrent();
+ virtual const char *streamableName() const
+ { return TStringList::name; }
+protected:
+ /**
+ * Each streamable class needs a "builder" to allocate the correct memory
+ * for its objects together with the initialized virtual table pointers.
+ * This is achieved by calling this constructor with an argument of type
+ * @ref StreamableInit.
+ */
+ TStrListMaker( StreamableInit );
+ /**
+ * Writes to the output stream `os'.
+ */
+ virtual void write( opstream& os );
+ virtual void *read( ipstream& ) { return 0; }
+public:
+ /**
+ * Called to create an object in certain stream-reading situations.
+ */
+ static TStreamable *build();
+};
+
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TStrListMaker& cl )
+ { return is >> (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TStrListMaker*& cl )
+ { return is >> (void *&)cl; }
+
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TStrListMaker& cl )
+ { return os << (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TStrListMaker* cl )
+ { return os << (TStreamable *)cl; }
+
+
+#endif // Uses_TStrListMaker
diff --git a/freebsdtvision/lib/sall.cc b/freebsdtvision/lib/sall.cc
new file mode 100644
index 0000000..3da539b
--- /dev/null
+++ b/freebsdtvision/lib/sall.cc
@@ -0,0 +1,381 @@
+/*
+ * sall.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * This file written by J”rn Sierwald
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#define Uses_TBackground
+#define Uses_TButton
+#define Uses_TChDirDialog
+#define Uses_TCheckBoxes
+#define Uses_TCluster
+#define Uses_TColorDialog
+#define Uses_TColorDisplay
+#define Uses_TColorGroupList
+#define Uses_TColorItemList
+#define Uses_TColorSelector
+#define Uses_TDeskTop
+#define Uses_TDialog
+#define Uses_TDirCollection
+#define Uses_TDirEntry
+#define Uses_TDirListBox
+#define Uses_TEditor
+#define Uses_TEditWindow
+#define Uses_TFileCollection
+#define Uses_TFileDialog
+#define Uses_TFileEditor
+#define Uses_TFileInfoPane
+#define Uses_TFileInputLine
+#define Uses_TFileList
+#define Uses_TFilterValidator
+#define Uses_TFrame
+#define Uses_TGroup
+#define Uses_THistory
+#define Uses_TIndicator
+#define Uses_TInputLine
+#define Uses_TLabel
+#define Uses_TListBox
+#define Uses_TListViewer
+#define Uses_TLookupValidator
+#define Uses_TMemo
+#define Uses_TMenuBar
+#define Uses_TMenuBox
+#define Uses_TMenuPopup
+#define Uses_TMenuView
+#define Uses_TMonoSelector
+#define Uses_TMultiCheckBoxes
+#define Uses_TOutline
+#define Uses_TPXPictureValidator
+#define Uses_TParamText
+#define Uses_TRadioButtons
+#define Uses_TRangeValidator
+#define Uses_TResourceCollection
+#define Uses_TScrollBar
+#define Uses_TScroller
+#define Uses_TStaticText
+#define Uses_TStatusLine
+#define Uses_TStreamableClass
+#define Uses_TStringCollection
+#define Uses_TStringList
+#define Uses_TStringLookupValidator
+#define Uses_TValidator
+#define Uses_TView
+#define Uses_TWindow
+#include <tvision/tv.h>
+
+__link( RButton )
+__link( RCluster )
+__link( RDialog )
+__link( RDirListBox )
+__link( RFileInputLine )
+__link( RFileList )
+__link( RFrame )
+__link( RGroup )
+__link( RInputLine )
+__link( RLabel )
+__link( RListBox )
+__link( RListViewer )
+__link( RSortedListBox )
+__link( RScrollBar )
+__link( RStaticText )
+__link( RStringCollection )
+__link( RView )
+__link( RWindow )
+
+TStreamableClass RBackground( TBackground::name,
+ TBackground::build,
+ __DELTA(TBackground)
+ );
+
+TStreamableClass RButton( TButton::name,
+ TButton::build,
+ __DELTA(TButton)
+ );
+
+TStreamableClass RChDirDialog( TChDirDialog::name,
+ TChDirDialog::build,
+ __DELTA(TChDirDialog)
+ );
+
+TStreamableClass RCheckBoxes( TCheckBoxes::name,
+ TCheckBoxes::build,
+ __DELTA(TCheckBoxes)
+ );
+
+TStreamableClass RColorSelector( TColorSelector::name,
+ TColorSelector::build,
+ __DELTA(TColorSelector)
+ );
+
+TStreamableClass RMonoSelector( TMonoSelector::name,
+ TMonoSelector::build,
+ __DELTA(TMonoSelector)
+ );
+
+TStreamableClass RColorDisplay( TColorDisplay::name,
+ TColorDisplay::build,
+ __DELTA(TColorDisplay)
+ );
+
+TStreamableClass RColorGroupList( TColorGroupList::name,
+ TColorGroupList::build,
+ __DELTA(TColorGroupList)
+ );
+
+
+TStreamableClass RColorItemList( TColorItemList::name,
+ TColorItemList::build,
+ __DELTA(TColorItemList)
+ );
+
+TStreamableClass RColorDialog( TColorDialog::name,
+ TColorDialog::build,
+ __DELTA(TColorDialog)
+ );
+
+TStreamableClass RCluster( TCluster::name,
+ TCluster::build,
+ __DELTA(TCluster)
+ );
+
+TStreamableClass RDeskTop( TDeskTop::name,
+ TDeskTop::build,
+ __DELTA(TDeskTop)
+ );
+
+TStreamableClass RDialog( TDialog::name,
+ TDialog::build,
+ __DELTA(TDialog)
+ );
+
+TStreamableClass RDirCollection( TDirCollection::name,
+ TDirCollection::build,
+ __DELTA(TDirCollection)
+ );
+
+TStreamableClass RDirListBox( TDirListBox::name,
+ TDirListBox::build,
+ __DELTA(TDirListBox)
+ );
+
+TStreamableClass RIndicator( TIndicator::name,
+ TIndicator::build,
+ __DELTA(TIndicator)
+ );
+
+TStreamableClass REditor( TEditor::name,
+ TEditor::build,
+ __DELTA(TEditor)
+ );
+
+TStreamableClass RMemo( TMemo::name,
+ TMemo::build,
+ __DELTA(TMemo)
+ );
+
+TStreamableClass RFileEditor( TFileEditor::name,
+ TFileEditor::build,
+ __DELTA(TFileEditor)
+ );
+
+TStreamableClass REditWindow( TEditWindow::name,
+ TEditWindow::build,
+ __DELTA(TEditWindow)
+ );
+
+TStreamableClass RFileCollection( TFileCollection::name,
+ TFileCollection::build,
+ __DELTA(TFileCollection)
+ );
+
+TStreamableClass RFileDialog( TFileDialog::name,
+ TFileDialog::build,
+ __DELTA(TFileDialog)
+ );
+
+TStreamableClass RFileList( TFileList::name,
+ TFileList::build,
+ __DELTA(TFileList)
+ );
+
+TStreamableClass RSortedListBox( TSortedListBox::name,
+ TSortedListBox::build,
+ __DELTA( TSortedListBox )
+ );
+
+TStreamableClass RFileInfoPane( TFileInfoPane::name,
+ TFileInfoPane::build,
+ __DELTA(TFileInfoPane)
+ );
+
+TFileInputLine::TFileInputLine( StreamableInit ) :
+ TInputLine( streamableInit)
+{
+}
+
+TStreamable *TFileInputLine::build()
+{
+ return new TFileInputLine( streamableInit );
+}
+
+TStreamableClass RFileInputLine( TFileInputLine::name,
+ TFileInputLine::build,
+ __DELTA(TFileInputLine)
+ );
+
+TStreamableClass RFrame( TFrame::name,
+ TFrame::build,
+ __DELTA(TFrame)
+ );
+
+TStreamableClass RGroup( TGroup::name,
+ TGroup::build,
+ __DELTA(TGroup)
+ );
+
+TStreamableClass RHistory( THistory::name,
+ THistory::build,
+ __DELTA(THistory)
+ );
+
+TStreamableClass RInputLine( TInputLine::name,
+ TInputLine::build,
+ __DELTA(TInputLine)
+ );
+
+TStreamableClass RLabel( TLabel::name,
+ TLabel::build,
+ __DELTA(TLabel)
+ );
+
+TStreamableClass RListBox( TListBox::name,
+ TListBox::build,
+ __DELTA(TListBox)
+ );
+
+TStreamableClass RListViewer( TListViewer::name,
+ TListViewer::build,
+ __DELTA(TListViewer)
+ );
+
+TStreamableClass RMenuBar( TMenuBar::name,
+ TMenuBar::build,
+ __DELTA(TMenuBar)
+ );
+
+TStreamableClass RMenuBox( TMenuBox::name,
+ TMenuBox::build,
+ __DELTA(TMenuBox)
+ );
+
+TStreamableClass RMenuPopup( TMenuPopup::name,
+ TMenuPopup::build,
+ __DELTA(TMenuPopup)
+ );
+
+TStreamableClass RMenuView( TMenuView::name,
+ TMenuView::build,
+ __DELTA(TMenuView)
+ );
+
+TStreamableClass RMultiCheckBoxes( TMultiCheckBoxes::name,
+ TMultiCheckBoxes::build,
+ __DELTA(TMultiCheckBoxes)
+ );
+
+TStreamableClass ROutline( TOutline::name,
+ TOutline::build,
+ __DELTA(TOutline)
+ );
+
+TStreamableClass RParamText( TParamText::name,
+ TParamText::build,
+ __DELTA(TParamText)
+ );
+
+TStreamableClass RRadioButtons( TRadioButtons::name,
+ TRadioButtons::build,
+ __DELTA(TRadioButtons)
+ );
+
+TStreamableClass RResourceCollection( TResourceCollection::name,
+ TResourceCollection::build,
+ __DELTA(TResourceCollection)
+ );
+
+TStreamableClass RScrollBar( TScrollBar::name,
+ TScrollBar::build,
+ __DELTA(TScrollBar)
+ );
+
+TStreamableClass RScroller( TScroller::name,
+ TScroller::build,
+ __DELTA(TScroller)
+ );
+
+TStreamableClass RStaticText( TStaticText::name,
+ TStaticText::build,
+ __DELTA(TStaticText)
+ );
+
+TStreamableClass RStatusLine( TStatusLine::name,
+ TStatusLine::build,
+ __DELTA(TStatusLine)
+ );
+
+TStreamableClass RStringCollection( TStringCollection::name,
+ TStringCollection::build,
+ __DELTA(TStringCollection)
+ );
+
+TStreamableClass RStringList( TStringList::name,
+ TStringList::build,
+ __DELTA(TStringList)
+ );
+
+TStreamableClass RValidator( TValidator::name,
+ TValidator::build,
+ __DELTA(TValidator)
+ );
+
+TStreamableClass RFilterValidator( TFilterValidator::name,
+ TFilterValidator::build,
+ __DELTA(TFilterValidator)
+ );
+
+TStreamableClass RRangeValidator( TRangeValidator::name,
+ TRangeValidator::build,
+ __DELTA(TRangeValidator)
+ );
+
+TStreamableClass RPXPictureValidator( TPXPictureValidator::name,
+ TPXPictureValidator::build,
+ __DELTA(TPXPictureValidator)
+ );
+
+TStreamableClass RLookupValidator( TLookupValidator::name,
+ TLookupValidator::build,
+ __DELTA(TLookupValidator)
+ );
+
+TStreamableClass RStringLookupValidator( TStringLookupValidator::name,
+ TStringLookupValidator::build,
+ __DELTA(TStringLookupValidator)
+ );
+
+TStreamableClass RView( TView::name,
+ TView::build,
+ __DELTA(TView)
+ );
+
+TStreamableClass RWindow( TWindow::name,
+ TWindow::build,
+ __DELTA(TWindow)
+ );
diff --git a/freebsdtvision/lib/stddlg.cc b/freebsdtvision/lib/stddlg.cc
new file mode 100644
index 0000000..427967a
--- /dev/null
+++ b/freebsdtvision/lib/stddlg.cc
@@ -0,0 +1,324 @@
+/*
+ * stddlg.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#define Uses_MsgBox
+#define Uses_TKeys
+#define Uses_TFileInputLine
+#define Uses_TEvent
+#define Uses_TSortedListBox
+#define Uses_TSearchRec
+#define Uses_TFileInfoPane
+#define Uses_TDrawBuffer
+#define Uses_TFileDialog
+#define Uses_TSortedCollection
+#include <tvision/tv.h>
+
+#include <ctype.h>
+#include <errno.h>
+#include <limits.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+void fexpand( char * );
+
+#define cpInfoPane "\x1E"
+
+TFileInputLine::TFileInputLine( const TRect& bounds, short aMaxLen ) :
+ TInputLine( bounds, aMaxLen )
+{
+ eventMask |= evBroadcast;
+}
+
+void TFileInputLine::handleEvent( TEvent& event )
+{
+ TInputLine::handleEvent(event);
+ if( event.what == evBroadcast &&
+ event.message.command == cmFileFocused &&
+ !(state & sfSelected)
+ )
+ {
+#ifndef __UNPATCHED
+ // Prevents incorrect display in the input line if wildCard has
+ // already been expanded.
+ if( (((TSearchRec *)event.message.infoPtr)->attr & FA_DIREC) != 0 )
+ {
+ strcpy( data, ((TFileDialog *)owner)->wildCard );
+ if(!strchr(data, ':') && !strchr(data, '/'))
+ {
+ strcpy( data, ((TSearchRec *)event.message.infoPtr)->name );
+ strcat( data, "/" );
+ strcat( data, ((TFileDialog *)owner)->wildCard );
+ }
+ else
+ {
+ // Insert "<name>\\" between last name or wildcard and last '/'
+ fexpand(data); // Insure complete expansion to begin with
+ char *tmp = strrchr(data, '/') + 1;
+ char *nm = ((TSearchRec *)event.message.infoPtr)->name;
+ memmove(tmp + strlen(nm) + 1, tmp, strlen(tmp) + 1);
+ memcpy(tmp, nm, strlen(nm));
+ *(tmp + strlen(nm)) = '/';
+ fexpand(data); // Expand again incase it was '..'.
+ }
+ }
+#else
+ if( (((TSearchRec *)event.message.infoPtr)->attr & FA_DIREC) != 0 )
+ {
+ strcpy( data, ((TSearchRec *)event.message.infoPtr)->name );
+ strcat( data, "/" );
+ strcat( data, ((TFileDialog *)owner)->wildCard );
+ }
+#endif
+ else
+ strcpy( data, ((TSearchRec *)event.message.infoPtr)->name );
+ drawView();
+ }
+}
+
+TSortedListBox::TSortedListBox( const TRect& bounds,
+ ushort aNumCols,
+ TScrollBar *aScrollBar) :
+ TListBox(bounds, aNumCols, aScrollBar),
+ shiftState( 0 ),
+ searchPos( -1 )
+{
+ showCursor();
+ setCursor(1, 0);
+}
+
+static Boolean equal( const char *s1, const char *s2, ushort count)
+{
+ /* SS: use a standard function */
+
+ return Boolean( strncasecmp( s1, s2, count ) == 0 );
+}
+
+void TSortedListBox::handleEvent(TEvent& event)
+{
+ char curString[256], newString[256];
+ void* k;
+ int value;
+ short oldPos, oldValue;
+
+ oldValue = focused;
+ TListBox::handleEvent( event );
+ if( oldValue != focused ||
+ ( event.what == evBroadcast &&
+ event.message.command == cmReleasedFocus )
+ )
+ searchPos = -1;
+ if( event.what == evKeyDown )
+ {
+ if( event.keyDown.charScan.charCode != 0 )
+ {
+ value = focused;
+ if( value < range )
+ getText( curString, (short) value, 255 );
+ else
+ *curString = EOS;
+ oldPos = searchPos;
+ if( event.keyDown.keyCode == kbBack )
+ {
+ if( searchPos == -1 )
+ return;
+ searchPos--;
+ if( searchPos == -1 )
+ shiftState = (ushort) event.keyDown.controlKeyState;
+ curString[searchPos+1] = EOS;
+ }
+ else if( (event.keyDown.charScan.charCode == '.') )
+ {
+ char *loc = strchr( curString, '.' );
+ if( loc == 0 )
+ searchPos = -1;
+ else
+ searchPos = short(loc - curString);
+ }
+ else
+ {
+ searchPos++;
+ if( searchPos == 0 )
+ shiftState = (ushort) event.keyDown.controlKeyState;
+ curString[searchPos] = event.keyDown.charScan.charCode;
+ curString[searchPos+1] = EOS;
+ }
+ k = getKey(curString);
+
+ /* SS: this makes g++ happy */
+
+ ccIndex c = (ccIndex) value;
+ list()->search( k, c );
+ value = (int) c;
+
+ if( value < range )
+ {
+ getText( newString, (short) value, 255 );
+ if( equal( curString, newString, (ushort) (searchPos+1) ) )
+ {
+ if( value != oldValue )
+ {
+ focusItem( (short) value );
+ setCursor( cursor.x+searchPos+1, cursor.y );
+ }
+ else
+ setCursor(cursor.x+(searchPos-oldPos), cursor.y );
+ }
+ else
+ searchPos = oldPos;
+ }
+ else
+ searchPos = oldPos;
+ if( searchPos != oldPos ||
+ isalpha( event.keyDown.charScan.charCode )
+ )
+ clearEvent(event);
+ }
+ }
+}
+
+void* TSortedListBox::getKey( const char *s )
+{
+ return (void *)s;
+}
+
+void TSortedListBox::newList( TSortedCollection *aList )
+{
+ TListBox::newList( aList );
+ searchPos = -1;
+}
+
+TFileInfoPane::TFileInfoPane( const TRect& bounds ) :
+ TView(bounds)
+{
+ eventMask |= evBroadcast;
+}
+
+void TFileInfoPane::draw()
+{
+ Boolean PM;
+ TDrawBuffer b;
+ ushort color;
+ ftime *time;
+ char path[PATH_MAX];
+
+#ifndef __UNPATCHED
+ // Prevents incorrect directory name display in info pane if wildCard
+ // has already been expanded.
+ strcpy(path, ((TFileDialog *)owner)->wildCard );
+ if(!strchr(path, ':') && !strchr(path, '/'))
+ {
+ strcpy( path, ((TFileDialog *)owner)->directory );
+ strcat( path, ((TFileDialog *)owner)->wildCard );
+ fexpand( path );
+ }
+#else
+ strcpy( path, ((TFileDialog *)owner)->directory );
+ strcat( path, ((TFileDialog *)owner)->wildCard );
+ fexpand( path );
+#endif
+
+ color = getColor(0x01);
+ b.moveChar( 0, ' ', color, (ushort) size.x );
+ b.moveStr( 1, path, color );
+ writeLine( 0, 0, (ushort) size.x, 1, b );
+
+ b.moveChar( 0, ' ', color, (ushort) size.x );
+ b.moveStr( 1, file_block.name, color );
+
+ if( *(file_block.name) != EOS )
+ {
+
+ char buf[10];
+
+ /* SS: little fix */
+
+ sprintf(buf, "%ld", file_block.size);
+ b.moveStr( 14, buf, color );
+
+ time = (ftime *) &file_block.time;
+ b.moveStr( 25, months[time->ft_month], color );
+
+ sprintf(buf, "%02d", time->ft_day);
+ b.moveStr( 29, buf, color );
+
+ b.putChar( 31, ',' );
+
+ sprintf(buf, "%d", time->ft_year+1980);
+ b.moveStr( 32, buf, color );
+
+ PM = Boolean(time->ft_hour >= 12 );
+ time->ft_hour %= 12;
+
+ if( time->ft_hour == 0 )
+ time->ft_hour = 12;
+
+ sprintf(buf, "%02d", time->ft_hour);
+ b.moveStr( 38, buf, color );
+ b.putChar( 40, ':' );
+
+ sprintf(buf, "%02d", time->ft_min);
+ b.moveStr( 41, buf, color );
+
+ if( PM )
+ b.moveStr( 43, pmText, color );
+ else
+ b.moveStr( 43, amText, color );
+ }
+
+ writeLine(0, 1, (ushort) size.x, 1, b );
+ b.moveChar( 0, ' ', color, (ushort) size.x );
+ writeLine( 0, 2, (ushort) size.x, (ushort) (size.y-2), b);
+}
+
+TPalette& TFileInfoPane::getPalette() const
+{
+ static TPalette palette( cpInfoPane, sizeof( cpInfoPane )-1 );
+ return palette;
+}
+
+void TFileInfoPane::handleEvent( TEvent& event )
+{
+ TView::handleEvent(event);
+ if( event.what == evBroadcast && event.message.command == cmFileFocused )
+ {
+ file_block = *((TSearchRec *)(event.message.infoPtr));
+ drawView();
+ }
+}
+
+#if !defined(NO_STREAMABLE)
+
+TStreamable *TFileInfoPane::build()
+{
+ return new TFileInfoPane( streamableInit );
+}
+
+#ifndef __UNPATCHED
+TStreamable *TSortedListBox::build()
+{
+ return new TSortedListBox( streamableInit );
+}
+
+void *TSortedListBox::read( ipstream& is )
+{
+ TListBox::read(is);
+
+ // Must initialize these or serious memory overwrite
+ // problems can occur!
+ searchPos = -1;
+ shiftState = 0;
+
+ return this;
+}
+#endif
+
+#endif
diff --git a/freebsdtvision/lib/stddlg.h b/freebsdtvision/lib/stddlg.h
new file mode 100644
index 0000000..aa689d4
--- /dev/null
+++ b/freebsdtvision/lib/stddlg.h
@@ -0,0 +1,1498 @@
+/*
+ * stddlg.h
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#if !defined( __FILE_CMDS )
+#define __FILE_CMDS
+
+/** \file stddlg.h
+ * stddlg.h
+ */
+
+const
+
+// Commands
+
+int cmFileOpen = 1001, // Returned from TFileDialog when Open pressed
+ cmFileReplace = 1002, // Returned from TFileDialog when Replace pressed
+ cmFileClear = 1003, // Returned from TFileDialog when Clear pressed
+ cmFileInit = 1004, // Used by TFileDialog internally
+ cmChangeDir = 1005, //
+ cmRevert = 1006, // Used by TChDirDialog internally
+#ifndef __UNPATCHED
+ cmDirSelection= 1007, //!! New event - Used by TChDirDialog internally
+#endif
+
+// Messages
+
+ cmFileFocused = 102, // A new file was focused in the TFileList
+ cmFileDoubleClicked // A file was selected in the TFileList
+ = 103;
+
+#endif // __FILE_CMDS
+
+#if defined( Uses_TSearchRec ) && !defined( __TSearchRec )
+#define __TSearchRec
+
+#include <limits.h>
+
+/* SS: some dos stuff */
+
+#define FA_ARCH 0x01
+#define FA_DIREC 0x02
+#define FA_RDONLY 0x04
+
+/** \struct ftime
+ * Stores date and time information about a specified file.
+ * @short Stores date and time information about a specified file
+ */
+struct ftime {
+ /**
+ * Undocumented.
+ */
+ unsigned ft_tsec : 5; /* Two second interval */
+ /**
+ * Undocumented.
+ */
+ unsigned ft_min : 6; /* Minutes */
+ /**
+ * Undocumented.
+ */
+ unsigned ft_hour : 5; /* Hours */
+ /**
+ * Undocumented.
+ */
+ unsigned ft_day : 5; /* Days */
+ /**
+ * Undocumented.
+ */
+ unsigned ft_month : 4; /* Months */
+ /**
+ * Undocumented.
+ */
+ unsigned ft_year : 7; /* Year */
+};
+
+/** \struct TSearchRec
+ * Internal structure used by @ref TFileCollection.
+ * @see TFileInfoPane::file_block
+ * @short Internal structure used by TFileCollection
+ */
+struct TSearchRec
+{
+ /**
+ * Undocumented.
+ */
+ uchar attr;
+ /**
+ * Undocumented.
+ */
+ long time;
+ /**
+ * Undocumented.
+ */
+ long size;
+ /**
+ * Undocumented.
+ */
+ char name[PATH_MAX];
+};
+
+#endif // Uses_TSearchRec
+
+#if defined( Uses_TFileInputLine ) && !defined( __TFileInputLine )
+#define __TFileInputLine
+
+class TRect;
+class TEvent;
+
+/**
+ * TFileInputLine implements a specialized @ref TInputLine allowing the input
+ * and editing of file names, including optional paths and wild cards.
+ *
+ * A TFileInputLine object is associated with a file dialog box.
+ * @short Allows the input and editing of file names, including optional paths
+ * and wild cards
+ */
+class TFileInputLine : public TInputLine
+{
+public:
+ /**
+ * Calls TInputLine constructor TInputLine(bounds, aMaxLen) to create a
+ * file input line with the given bounds and maximum length `aMaxLen'.
+ *
+ * @ref evBroadcast flag is set in the @ref eventMask.
+ */
+ TFileInputLine( const TRect& bounds, short aMaxLen );
+ /**
+ * Calls @ref TInputLine::handleEvent(), then handles broadcast
+ * cmFileFocused events by copying the entered file name into the input
+ * line's @ref TInputLine::data member and redrawing the view.
+ *
+ * If the edited name is a directory, the current file name in the owning
+ * @ref TFileDialog object is appended first.
+ */
+ virtual void handleEvent( TEvent& event );
+private:
+ virtual const char *streamableName() const
+ { return name; }
+protected:
+ /**
+ * Undocumented.
+ */
+ TFileInputLine( StreamableInit );
+public:
+ /**
+ * Undocumented.
+ */
+ static const char * const name;
+ /**
+ * Called to create an object in certain stream-reading situations.
+ */
+ static TStreamable *build();
+};
+
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TFileInputLine& cl )
+ { return is >> (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TFileInputLine*& cl )
+ { return is >> (void *&)cl; }
+
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TFileInputLine& cl )
+ { return os << (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TFileInputLine* cl )
+ { return os << (TStreamable *)cl; }
+
+#endif // Uses_TFileInputLine
+
+#if defined( Uses_TFileCollection ) && !defined( __TFileCollection )
+#define __TFileCollection
+
+class TSearchRec;
+
+/**
+ * TFileCollection is a simple derivative of TSortedCollection offering a
+ * sorted collection of file names.
+ * @short Implements a sorted collection of file names
+ */
+class TFileCollection: public TSortedCollection
+{
+public:
+ /**
+ * Calls the base @ref TSortedCollection constructor to create a
+ * collection with the given limit `aLimit' and delta `aDelta'.
+ */
+ TFileCollection( ccIndex aLimit, ccIndex aDelta) :
+ TSortedCollection( aLimit, aDelta ) {}
+ /**
+ * Returns a pointer to the @ref TSearchRec object indexed by `index'
+ * in this file collection.
+ */
+ TSearchRec *at( ccIndex index )
+ { return (TSearchRec *)TSortedCollection::at( index ); }
+ /**
+ * Returns the index of the given @ref TSearchRec file `item' in this
+ * file collection.
+ */
+ virtual ccIndex indexOf( TSearchRec *item )
+ { return TSortedCollection::indexOf( item ); }
+ /**
+ * Removes (deletes) the given @ref TSearchRec file `item' from this file
+ * collection. The space in the collection is not freed.
+ */
+ void remove( TSearchRec *item )
+ { TSortedCollection::remove( item ); }
+ /**
+ * Removes (deletes) the given @ref TSearchRec file `item' from the
+ * collection and frees the space in the collection.
+ */
+ void free( TSearchRec *item )
+ { TSortedCollection::free( item ); }
+ /**
+ * Inserts the @ref TSearchRec file referenced by `item' into the
+ * collection at the given `index' and moves the following items down
+ * one position.
+ *
+ * The collection will be expanded by @ref delta if the insertion causes
+ * the @ref limit to be exceeded.
+ */
+ void atInsert( ccIndex index, TSearchRec *item )
+ { TSortedCollection::atInsert( index, item ); }
+ /**
+ * Replaces the TSearchRec file found at `index' with the given `item'.
+ */
+ void atPut( ccIndex index, TSearchRec *item )
+ { TSortedCollection::atPut( index, item ); }
+ /**
+ * Inserts the @ref TSearchRec `item' into the collection, and adjusts the
+ * other indexes if necessary.
+ *
+ * By default, insertions are made at the end of the collection. The index
+ * of the inserted `item' is returned.
+ */
+ virtual ccIndex insert( TSearchRec *item )
+ { return TSortedCollection::insert( item ); }
+ /**
+ * This iterator returns a pointer to the first @ref TSearchRec object
+ * in the collection for which the `Test' function returns True.
+ */
+ TSearchRec *firstThat( ccTestFunc Test, void *arg );
+ /**
+ * This iterator scans the collection from last item to first. It returns
+ * a pointer to the first item (that is, the nearest the end) in the
+ * collection for which the `Test' function returns True.
+ */
+ TSearchRec *lastThat( ccTestFunc Test, void *arg );
+private:
+ virtual void freeItem( void *item )
+ { delete (TSearchRec *)item; }
+ /**
+ * Performs a standard file string compare and returns a value depending
+ * on the results.
+ *
+ * -# It returns 0 if the file names at `key1' and `key2' are the same
+ * -# It returns > 0
+ * - if the `key1' name is lexicographically higher than that at `key2'
+ * - if `key1' name is the directory ".."
+ * - if `key1' is a directory and `key2' is not a directory
+ * -# It returns < 0
+ * - if the `key1' name is lexicographically lower than that at `key2'
+ * - if `key2' references the directory ".."
+ * - if `key2' is a directory and `key1' is not a directory
+ */
+ virtual int compare( void *key1, void *key2 );
+ /**
+ * Undocumented.
+ */
+ virtual const char *streamableName() const
+ { return name; }
+ /**
+ * Called for each item in the collection. You'll need to override these
+ * in order to read the items correctly.
+ */
+ virtual void *readItem( ipstream& );
+ /**
+ * Called for each item in the collection. You'll need to override these
+ * in order to write the items correctly.
+ */
+ virtual void writeItem( void *, opstream& );
+protected:
+ /**
+ * Undocumented.
+ */
+ TFileCollection( StreamableInit ) : TSortedCollection ( streamableInit ) {}
+public:
+ /**
+ * Undocumented.
+ */
+ static const char * const name;
+ /**
+ * Called to create an object in certain stream-reading situations.
+ */
+ static TStreamable *build();
+};
+
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TFileCollection& cl )
+ { return is >> (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TFileCollection*& cl )
+ { return is >> (void *&)cl; }
+
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TFileCollection& cl )
+ { return os << (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TFileCollection* cl )
+ { return os << (TStreamable *)cl; }
+
+inline TSearchRec *TFileCollection::firstThat( ccTestFunc func, void *arg )
+{
+ return (TSearchRec *)TSortedCollection::firstThat( ccTestFunc(func), arg );
+}
+
+inline TSearchRec *TFileCollection::lastThat( ccTestFunc func, void *arg )
+{
+ return (TSearchRec *)TSortedCollection::lastThat( ccTestFunc(func), arg );
+}
+
+#endif // Uses_TFileCollection
+
+
+#if defined( Uses_TSortedListBox ) && !defined( __TSortedListBox )
+#define __TSortedListBox
+
+class TRect;
+class TScrollBar;
+class TEvent;
+class TSortedCollection;
+
+/**
+ * TSortedListBox is a specialized @ref TListBox derivative that maintains its
+ * items in a sorted sequence. It is intended as a base for other list box
+ * classes.
+ * @short A base for other list box classes
+ */
+class TSortedListBox: public TListBox
+{
+public:
+ /**
+ * Calls @ref TListBox constructor to create a list box with the given
+ * size `bounds', number of columns `aNumCols', and vertical scroll bar
+ * `aScrollBar'.
+ * @see TListBox::TListBox
+ *
+ * Data member @ref shiftState is set to 0 and the cursor is set at the
+ * first item.
+ */
+ TSortedListBox( const TRect& bounds,
+ ushort aNumCols,
+ TScrollBar *aScrollBar
+ );
+ /**
+ * Calls @ref TListBox::handleEvent(), then handles the special key and
+ * mouse events used to select items from the list.
+ */
+ virtual void handleEvent( TEvent& event );
+ /**
+ * Calls @ref TListBox::newList() to delete the existing
+ * @ref TSortedCollection object associated with this list box and
+ * replace it with the collection given by `aList'.
+ *
+ * The first item of the new collection will receive the focus.
+ */
+ void newList( TSortedCollection *aList );
+#ifndef __UNPATCHED
+ void *read( ipstream& is );
+#endif
+ /**
+ * Returns a pointer to the @ref TSortedCollection object currently
+ * associated with this sorted list box. This gives access the the
+ * private @ref items data member, a pointer to the items to be listed
+ * and selected.
+ * @see TListBox::list
+ *
+ * Derived sorted list box classes will typically override list() to
+ * provide a pointer to objects of a class derived from
+ * @ref TSortedCollection.
+ */
+ TSortedCollection *list();
+protected:
+ /**
+ * Undocumented.
+ */
+ uchar shiftState;
+private:
+ /**
+ * You must define this private member function in all derived classes to
+ * provide a means of returning the key for the given string `s'. This
+ * will depend on the sorting strategy adopted in your derived class. By
+ * default, getKey() returns `s'.
+ */
+ virtual void *getKey( const char *s );
+ short searchPos;
+ virtual const char *streamableName() const
+ { return name; }
+protected:
+ /**
+ * Undocumented.
+ */
+ TSortedListBox( StreamableInit ) : TListBox ( streamableInit ) {}
+public:
+ /**
+ * Undocumented.
+ */
+ static const char * const name;
+ /**
+ * Undocumented.
+ */
+ static TStreamable *build();
+};
+
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TSortedListBox& cl )
+ { return is >> (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TSortedListBox*& cl )
+ { return is >> (void *&)cl; }
+
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TSortedListBox& cl )
+ { return os << (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TSortedListBox* cl )
+ { return os << (TStreamable *)cl; }
+
+inline TSortedCollection *TSortedListBox::list()
+{
+ return (TSortedCollection *)TListBox::list();
+}
+
+#endif // Uses_TSortedListBox
+
+#if defined( Uses_TFileList ) && !defined( __TFileList )
+#define __TFileList
+
+class TRect;
+class TScrollBar;
+class TEvent;
+
+/**
+ * TFileList implements a sorted two-column list box of file names (held in a
+ * @ref TFileCollection object). You can select (highlight) a file name by
+ * mouse or keyboard cursor actions.
+ *
+ * TFileList inherits most of its functionality from @ref TSortedListBox.
+ * The following commands are broadcast by TFileList:
+ *
+ * <pre>
+ * Constant Value Meaning
+ *
+ * cmFileFocused 102 A new file was focused in object
+ * cmFileDoubleClicked 103 A file was selected in the TFileList object
+ * </pre>
+ * @short Implements a sorted two-column list box of file names; you can
+ * select a file name by mouse or keyboard cursor actions
+ */
+class TFileList : public TSortedListBox
+{
+public:
+ /**
+ * Calls the @ref TSortedListBox constructor to create a two-column
+ * TFileList object with the given bounds and, if `aScrollBar' is
+ * non-zero, a vertical scrollbar.
+ * @see TSortedListBox::TSortedListBox
+ */
+ TFileList( const TRect& bounds,
+ TScrollBar *aScrollBar
+ );
+ /**
+ * Deletes the file list.
+ */
+ ~TFileList();
+ /**
+ * Focuses the given item in the list. Calls
+ * @ref TSortedListBox::focusItem() and broadcasts a cmFileFocused event.
+ */
+ virtual void focusItem( short item );
+ /**
+ * Undocumented.
+ */
+ virtual void selectItem( short item );
+ /**
+ * Grabs the @ref TSearchRec object at `item' and sets the file name in
+ * `dest'.
+ * "\\" is appended if the name is a directory.
+ */
+ virtual void getText( char *dest, short item, short maxLen );
+ /**
+ * Calls @ref TSortedListBox::newList() to delete the existing
+ * @ref TFileCollection object associated with this list box and replace
+ * it with the file collection given by `aList'.
+ *
+ * The first item of the new collection will receive the focus.
+ */
+ void newList( TFileCollection *aList );
+ /**
+ * Allows the separate submission of a relative or absolute path in the
+ * `dir' argument. Either "/" or "\\" can be used as subdirectory
+ * separators (but "\\" is converted to "/" for output).
+ */
+ void readDirectory( const char *dir, const char *wildCard );
+ /**
+ * Expands the `wildCard' string to generate the file collection
+ * associated with this file list. The resulting @ref TFileCollection
+ * object (a sorted set of @ref TSearchRec objects) is assigned to the
+ * private @ref items data member (accessible via the @ref list() member
+ * function).
+ *
+ * If too many files are generated, a warning message box appears.
+ * readDirectory() knows about file attributes and will not generate
+ * hidden file names.
+ */
+ void readDirectory( const char *wildCard );
+ /**
+ * Undocumented.
+ */
+ virtual ushort dataSize();
+ /**
+ * Undocumented.
+ */
+ virtual void getData( void *rec );
+ /**
+ * Undocumented.
+ */
+ virtual void setData( void *rec );
+ /**
+ * Returns the private @ref items data member, a pointer to the
+ * @ref TFileCollection object currently associated with this file list
+ * box.
+ */
+ TFileCollection *list();
+private:
+ virtual void *getKey( const char *s );
+ static const char * tooManyFiles;
+ virtual const char *streamableName() const
+ { return name; }
+protected:
+ /**
+ * Undocumented.
+ */
+ TFileList( StreamableInit ) : TSortedListBox ( streamableInit ) {}
+public:
+ /**
+ * Undocumented.
+ */
+ static const char * const name;
+ /**
+ * Called to create an object in certain stream-reading situations.
+ */
+ static TStreamable *build();
+};
+
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TFileList& cl )
+ { return is >> (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TFileList*& cl )
+ { return is >> (void *&)cl; }
+
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TFileList& cl )
+ { return os << (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TFileList* cl )
+ { return os << (TStreamable *)cl; }
+
+inline void TFileList::newList( TFileCollection *f )
+{
+ TSortedListBox::newList( f );
+}
+
+inline TFileCollection *TFileList::list()
+{
+ return (TFileCollection *)TSortedListBox::list();
+}
+
+#endif // Uses_TFileList
+
+
+#if defined( Uses_TFileInfoPane ) && !defined( __TFileInfoPane )
+#define __TFileInfoPane
+
+class TRect;
+class TEvent;
+
+/**
+ * TFileInfoPane implements a simple, streamable view for displaying file
+ * information in the owning file dialog box.
+ * @short Implements a simple, streamable view for displaying file information
+ * in the owning file dialog box
+ */
+class TFileInfoPane : public TView
+{
+public:
+ /**
+ * Calls TView constructor TView(bounds) to create a file information pane
+ * with the given bounds.
+ * @see TView::TView
+ *
+ * @ref evBroadcast flag is set in @ref TView::eventMask.
+ */
+ TFileInfoPane( const TRect& bounds );
+ /**
+ * Draws the file info pane in the default palette. The block size and
+ * date/time stamp are displayed.
+ */
+ virtual void draw();
+ /**
+ * Returns the default palette.
+ */
+ virtual TPalette& getPalette() const;
+ /**
+ * Calls @ref TView::handleEvent(), then handles broadcast cmFileFocused
+ * events (triggered when a new file is focused in a file list) by
+ * displaying the file information pane.
+ */
+ virtual void handleEvent( TEvent& event );
+private:
+ /**
+ * The file name and attributes for this info pane. @ref TSearchRec is
+ * defined as follows:
+ *
+ * <pre>
+ * struct TSearchRec
+ * {
+ * uchar attr;
+ * long time;
+ * long size;
+ * char name[MAXFILE+MAXEXT-1];
+ * };
+ * </pre>
+ *
+ * where the fields have their obvious DOS file meanings.
+ */
+ TSearchRec file_block;
+ static const char * const months[13];
+ static const char * pmText;
+ static const char * amText;
+ virtual const char *streamableName() const
+ { return name; }
+protected:
+ /**
+ * Undocumented.
+ */
+ TFileInfoPane( StreamableInit ) : TView ( streamableInit ) {}
+public:
+ /**
+ * Undocumented.
+ */
+ static const char * const name;
+ /**
+ * Called to create an object in certain stream-reading situations.
+ */
+ static TStreamable *build();
+};
+
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TFileInfoPane& cl )
+ { return is >> (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TFileInfoPane*& cl )
+ { return is >> (void *&)cl; }
+
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TFileInfoPane& cl )
+ { return os << (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TFileInfoPane* cl )
+ { return os << (TStreamable *)cl; }
+
+#endif // Uses_TFileInfoPane
+
+#if defined( Uses_TFileDialog ) && !defined( __TFileDialog )
+#define __TFileDialog
+
+const
+ int fdOKButton = 0x0001, // Put an OK button in the dialog
+ fdOpenButton = 0x0002, // Put an Open button in the dialog
+ fdReplaceButton = 0x0004, // Put a Replace button in the dialog
+ fdClearButton = 0x0008, // Put a Clear button in the dialog
+ fdHelpButton = 0x0010, // Put a Help button in the dialog
+ fdNoLoadDir = 0x0100; // Do not load the current directory
+ // contents into the dialog at Init.
+ // This means you intend to change the
+ // WildCard by using SetData or store
+ // the dialog on a stream.
+
+class TEvent;
+class TFileInputLine;
+class TFileList;
+
+/**
+ * TFileDialog implements a file dialog box, history pick list, and input line
+ * from which file names (including wildcards) can be input, edited, selected,
+ * and opened for editing.
+ *
+ * The following commands are returned by TFileDialog when executed with a
+ * call to @ref TGroup::execView():
+ *
+ * <pre>
+ * Constant Value Meaning
+ *
+ * cmFileOpen 1001 Returned when Open pressed
+ * cmFileReplace 1002 Returned when Replace pressed
+ * cmFileClear 1003 Returned when Clear pressed
+ * cmFileInit 1004 Used by @ref valid()
+ * </pre>
+ * @short Implements a file dialog box, history pick list, and input line from
+ * which file names (including wildcards) can be input, edited, selected, and
+ * opened for editing
+ */
+class TFileDialog : public TDialog
+{
+public:
+ /**
+ * Creates a fixed-size, framed dialog box with the given title `aTitle'.
+ *
+ * A @ref TFileInputLine object (referenced by the @ref fileName data
+ * member) is created and inserted, labeled with `inputName' and with its
+ * @ref TFileInputLine::data field set to `aWildCard'.
+ *
+ * The `aWildCard' argument is expanded (if necessary) to provide a
+ * @ref TFileList object, referenced by the @ref fileList data member.
+ *
+ * A @ref THistory object is created and inserted with the given history
+ * ID `histID'.
+ *
+ * A vertical scroll bar is created and inserted. Depending on the
+ * `aOptions' flags, the appropriate buttons are set up. These options
+ * perform the specified operations:
+ *
+ * <pre>
+ * Constant Value Meaning
+ *
+ * fdOKButton 0x0001 Put an OK button in the dialog
+ *
+ * fdOpenButton 0x0002 Put an Open button in the dialog
+ *
+ * fdReplaceButton 0x0004 Put a Replace button in the dialog
+ *
+ * fdClearButton 0x0008 Put a Clear button in the dialog
+ *
+ * fdHelpButton 0x0010 Put a Help button in the dialog
+ *
+ * fdNoLoadDir 0x0100 Do not load the current directory contents into
+ * the dialog when intialized. This means you
+ * intend to change the wildcard by using
+ * @ref setData() or intend to store the dialog on
+ * a stream.
+ * </pre>
+ *
+ * A @ref TFileInfoPane object is created and inserted. If the
+ * fdNoLoadDir flag is not set, the files in the current directory are
+ * loaded into the file list.
+ */
+ TFileDialog( const char *aWildCard, const char *aTitle,
+ const char *inputName, ushort aOptions, uchar histId );
+ /**
+ * Deletes directory, then destroys the file dialog.
+ */
+ ~TFileDialog();
+ /**
+ * Undocumented.
+ */
+ virtual void getData( void *rec );
+ /**
+ * Takes the fileName->data field and expands it to a full path format.
+ * The result is set in `s'.
+ * @see TFileDialog::fileName
+ * @see TFileInputLine::data
+ */
+ void getFileName( char *s );
+ /**
+ * Calls @ref TDialog::handleEvent(), then handles cmFileOpen,
+ * cmFileReplace and cmFileClear events.
+ *
+ * These all call @ref TView::endModal() and pass their commands to the
+ * view that opened the file dialog.
+ */
+ virtual void handleEvent( TEvent& event );
+ /**
+ * Undocumented.
+ */
+ virtual void setData( void *rec );
+ /**
+ * Returns True if `command' is cmValid, indicating a successful
+ * construction. Otherwise calls @ref TDialog::valid().
+ *
+ * If this returns True, the current @ref fileName is checked for
+ * validity.
+ *
+ * Valid names will return True. Invalid names invoke an
+ * "Invalid file name" message box and return False.
+ */
+ virtual Boolean valid( ushort command );
+ /**
+ * Used internally by @ref TObject::destroy() to ensure correct
+ * destruction of derived and related objects.
+ *
+ * shutDown() is overridden in many classes to ensure the proper setting
+ * of related data members when @ref destroy() is called.
+ */
+ virtual void shutDown();
+ /**
+ * Pointer to the associated input line.
+ */
+ TFileInputLine *fileName;
+ /**
+ * Pointer to the associated file list.
+ */
+ TFileList *fileList;
+ /**
+ * The current path and file name.
+ */
+ char wildCard[PATH_MAX];
+ /**
+ * The current directory.
+ */
+ const char *directory;
+private:
+ void readDirectory();
+ Boolean checkDirectory( const char * );
+ static const char * filesText;
+ static const char * openText;
+ static const char * okText;
+ static const char * replaceText;
+ static const char * clearText;
+ static const char * cancelText;
+ static const char * helpText;
+ static const char * invalidDriveText;
+ static const char * invalidFileText;
+ virtual const char *streamableName() const
+ { return name; }
+protected:
+ /**
+ * Undocumented.
+ */
+ TFileDialog( StreamableInit ) : TDialog ( streamableInit ),
+ TWindowInit( TFileDialog::initFrame ) {}
+ /**
+ * Writes to the output stream `os'.
+ */
+ virtual void write( opstream& os );
+ /**
+ * Reads from the input stream `is'.
+ */
+ virtual void *read( ipstream& is );
+public:
+ /**
+ * Undocumented.
+ */
+ static const char * const name;
+ /**
+ * Called to create an object in certain stream-reading situations.
+ */
+ static TStreamable *build();
+};
+
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TFileDialog& cl )
+ { return is >> (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TFileDialog*& cl )
+ { return is >> (void *&)cl; }
+
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TFileDialog& cl )
+ { return os << (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TFileDialog* cl )
+ { return os << (TStreamable *)cl; }
+
+#endif // Uses_TFileDialog
+
+
+#if defined( Uses_TDirEntry ) && !defined( __TDirEntry )
+#define __TDirEntry
+
+/**
+ * TDirEntry is a simple class providing directory paths and descriptions.
+ *
+ * TDirEntry objects are stored in @ref TDirCollection objects.
+ * @short Simple class providing directory paths and descriptions
+ */
+class TDirEntry
+{
+public:
+ /**
+ * Undocumented.
+ */
+ TDirEntry( const char *, const char * );
+ /**
+ * Undocumented.
+ */
+ ~TDirEntry();
+ /**
+ * Returns the current directory (the value of the private member
+ * directory).
+ */
+ char *dir() { return directory; }
+ /**
+ * Returns the current display text (the value of the private member
+ * displayText).
+ */
+ char *text() { return displayText; }
+private:
+ char *displayText;
+ char *directory;
+};
+
+inline TDirEntry::TDirEntry( const char *txt, const char *dir ) :
+ displayText( newStr( txt ) ), directory( newStr( dir ) )
+{
+}
+
+inline TDirEntry::~TDirEntry()
+{
+ delete displayText;
+ delete directory;
+}
+
+#endif // Uses_TDirEntry
+
+#if defined( Uses_TDirCollection ) && !defined( __TDirCollection )
+#define __TDirCollection
+
+class TDirEntry;
+
+/**
+ * TDirCollection is a simple @ref TCollection derivative used for storing
+ * @ref TDirEntry objects.
+ *
+ * TDirCollection is a streamable class, inheriting @ref TStreamable from
+ * its base class @ref TCollection.
+ * @short Simple TCollection derivative used for storing TDirEntry objects
+ */
+class TDirCollection : public TCollection
+{
+public:
+ /**
+ * Calls the base @ref TCollection constructor to create a directory
+ * collection with the given @ref limit `aLimit' and @ref delta `aDelta'.
+ */
+ TDirCollection( ccIndex aLimit, ccIndex aDelta) :
+ TCollection( aLimit, aDelta ) {}
+ /**
+ * Returns a pointer to the @ref TDirEntry object indexed by `index' in
+ * this directory collection.
+ * @see TCollection::at
+ */
+ TDirEntry *at( ccIndex index )
+ { return (TDirEntry *)TCollection::at( index );}
+ /**
+ * Returns the index of the given `item' in this directory collection.
+ * @see TCollection::indexOf
+ */
+ virtual ccIndex indexOf( TDirEntry *item )
+ { return TCollection::indexOf( item ); }
+ /**
+ * Removes (deletes) the given `item' from this collection. The space in
+ * the collection is not freed.
+ * @see TCollection::remove
+ */
+ void remove( TDirEntry *item )
+ { TCollection::remove( item ); }
+ /**
+ * Removes (deletes) the given `item' from the collection and frees the
+ * space in the collection.
+ * @see TCollection::free
+ */
+ void free( TDirEntry *item )
+ { TCollection::free( item ); }
+ /**
+ * Inserts the given `item' into the collection at the given `index' and
+ * moves the following items down one position. The collection will be
+ * expanded by @ref delta if the insertion causes the @ref limit to be
+ * exceeded.
+ * @see TCollection::atInsert
+ */
+ void atInsert( ccIndex index, TDirEntry *item )
+ { TCollection::atInsert( index, item ); }
+ /**
+ * Replaces the item at `index' with the given `item'.
+ * @see TCollection::atPut
+ */
+ void atPut( ccIndex index, TDirEntry *item )
+ { TCollection::atPut( index, item ); }
+ /**
+ * Inserts the `item' into the collection, and adjust the other indexes
+ * if necessary. By default, insertions are made at the end of the
+ * collection. The index of the inserted item is returned.
+ * @see TCollection::insert
+ */
+ virtual ccIndex insert( TDirEntry *item )
+ { return TCollection::insert( item ); }
+ /**
+ * This iterator returns a pointer to the first @ref TDirEntry object
+ * in the collection for which the `Test' function returns True.
+ */
+ TDirEntry *firstThat( ccTestFunc Test, void *arg );
+ /**
+ * This iterator scans the collection from the last @ref TDirEntry object
+ * to first. It returns a pointer to the first (that is, the nearest to
+ * the end) item in the collection for which the `Test' function returns
+ * True.
+ */
+ TDirEntry *lastThat( ccTestFunc Test, void *arg );
+private:
+ virtual void freeItem( void *item )
+ { delete (TDirEntry *)item; }
+ virtual const char *streamableName() const
+ { return name; }
+ /**
+ * Called for each item in the collection.
+ *
+ * You'll need to override these in everything derived from
+ * @ref TCollection or @ref TSortedCollection in order to read the items
+ * correctly.
+ *
+ * TSortedCollection already overrides this function.
+ */
+ virtual void *readItem( ipstream& );
+ /**
+ * Called for each item in the collection.
+ *
+ * You'll need to override these in everything derived from
+ * @ref TCollection or @ref TSortedCollection in order to write the
+ * items correctly.
+ *
+ * @ref TSortedCollection already overrides this function.
+ */
+ virtual void writeItem( void *, opstream& );
+protected:
+ /**
+ * Undocumented.
+ */
+ TDirCollection( StreamableInit ) : TCollection ( streamableInit ) {}
+public:
+ /**
+ * Undocumented.
+ */
+ static const char * const name;
+ /**
+ * Called to create an object in certain stream-reading situations.
+ */
+ static TStreamable *build();
+};
+
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TDirCollection& cl )
+ { return is >> (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TDirCollection*& cl )
+ { return is >> (void *&)cl; }
+
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TDirCollection& cl )
+ { return os << (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TDirCollection* cl )
+ { return os << (TStreamable *)cl; }
+
+inline TDirEntry *TDirCollection::firstThat( ccTestFunc func, void *arg )
+{
+ return (TDirEntry *)TCollection::firstThat( ccTestFunc(func), arg );
+}
+
+inline TDirEntry *TDirCollection::lastThat( ccTestFunc func, void *arg )
+{
+ return (TDirEntry *)TCollection::lastThat( ccTestFunc(func), arg );
+}
+
+#endif // Uses_TDirCollection
+
+
+#if defined( Uses_TDirListBox ) && !defined( __TDirListBox )
+#define __TDirListBox
+
+class TRect;
+class TScrollBar;
+class TEvent;
+class TDirCollection;
+
+/**
+ * TDirListBox is a specialized derivative of @ref TListBox for displaying and
+ * selecting directories stored in a @ref TDirCollection object.
+ *
+ * By default, these are displayed in a single column with an optional
+ * vertical scroll bar.
+ * @short Specialized derivative of TListBox for displaying and selecting
+ * directories stored in a TDirCollection object
+ */
+class TDirListBox : public TListBox
+{
+public:
+ /**
+ * Calls TListBox::TListBox(bounds, 1, aScrollBar) to create a
+ * single-column list box with the given bounds and vertical scroll bar.
+ * @see TListBox::TListBox
+ */
+ TDirListBox( const TRect& bounds, TScrollBar *aScrollBar );
+ /**
+ * Calls its base destructor to dispose of the list box.
+ * @see TListBox::~TListBox
+ */
+ ~TDirListBox();
+ /**
+ * Grabs the text string at index `item' and copies it to `dest'.
+ */
+ virtual void getText( char *dest, short item, short maxLen );
+ /**
+ * Handles double-click mouse events with putEvent(cmChangeDir).
+ * @see putEvent
+ *
+ * This allows a double click to change to the selected directory. Other
+ * events are handled by @ref TListBox::handleEvent().
+ */
+// virtual void handleEvent( TEvent& );
+ /**
+ * Returns True if `item' is selected, otherwise returns False.
+ */
+ virtual Boolean isSelected( short item );
+ /**
+ * Undocumented.
+ */
+ virtual void selectItem( short item );
+ /**
+ * Deletes the existing @ref TDirEntry object associated with this list
+ * box and replaces it with the file collection given by `aList'.
+ *
+ * The first item of the new collection will receive the focus.
+ */
+ void newDirectory( const char *aList );
+ /**
+ * By default, calls the ancestral @ref TListBox::setState().
+ */
+ virtual void setState( ushort aState, Boolean enable );
+ /**
+ * Returns a pointer to the @ref TDirCollection object currently
+ * associated with this directory list box.
+ */
+ TDirCollection *list();
+ /**
+ * Undocumented.
+ */
+ static const char * pathDir;
+ /**
+ * Undocumented.
+ */
+ static const char * firstDir;
+ /**
+ * Undocumented.
+ */
+ static const char * middleDir;
+ /**
+ * Undocumented.
+ */
+ static const char * lastDir;
+ /**
+ * Undocumented.
+ */
+ static const char * graphics;
+private:
+ void showDrives( TDirCollection * );
+ void showDirs( TDirCollection * );
+ char dir[PATH_MAX];
+ ushort cur;
+ static const char * drives;
+ virtual const char *streamableName() const
+ { return name; }
+protected:
+ /**
+ * Undocumented.
+ */
+ TDirListBox( StreamableInit ): TListBox( streamableInit ) {}
+public:
+ /**
+ * Undocumented.
+ */
+ static const char * const name;
+ /**
+ * Called to create an object in certain stream-reading situations.
+ */
+ static TStreamable *build();
+};
+
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TDirListBox& cl )
+ { return is >> (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TDirListBox*& cl )
+ { return is >> (void *&)cl; }
+
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TDirListBox& cl )
+ { return os << (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TDirListBox* cl )
+ { return os << (TStreamable *)cl; }
+
+inline TDirCollection *TDirListBox::list()
+{
+ return (TDirCollection *)TListBox::list();
+}
+
+#endif // Uses_TDirListBox
+
+#if defined( Uses_TChDirDialog ) && !defined( __TChDirDialog )
+#define __TChDirDialog
+
+const
+ int cdNormal = 0x0000, // Option to use dialog immediately
+ cdNoLoadDir = 0x0001, // Option to init the dialog to store on a stream
+ cdHelpButton = 0x0002; // Put a help button in the dialog
+
+class TEvent;
+class TInputLine;
+class TDirListBox;
+class TButton;
+
+/**
+ * TChDirDialog implements a dialog box labeled "Change Directory", used to
+ * change the current working directory.
+ * @see TDialog
+ *
+ * An input line is provided to accept a directory name from the user. A
+ * history window and directory list box with vertical scroll bar are
+ * available to show recent directory selections and a tree of all available
+ * directories.
+ * @see TDirListBox
+ * @see THistoryWindow
+ * @see TInputLine
+ *
+ * Mouse and keyboard selections can be made in the usual way by highlighting
+ * and clicking. The displayed options are:
+ *
+ * -# Directory name
+ * -# Directory tree
+ * -# OK (the default)
+ * -# Chdir
+ * -# Revert
+ * -# Help
+ *
+ * Method @ref TChDirDialog::handleEvent() generates the appropriate commands
+ * for these selections.
+ *
+ * Note: @ref TDirListBox is a friend of TChDirDialog, so that the member
+ * functions of @ref TDirListBox can access the private members of
+ * TChDirDialog.
+ * @short Dialog box used to change the current working directory
+ */
+class TChDirDialog : public TDialog
+{
+public:
+ friend class TDirListBox;
+ /**
+ * Constructor.
+ *
+ * Creates a change directory dialog object with the given history
+ * identifier `histId'. The `aOptions' argument is a bitmap of the
+ * following flags:
+ *
+ * <pre>
+ * Constant Value Meaning
+ *
+ * cdNormal 0x00 Option to use the dialog immediately.
+ *
+ * cdNoLoadDir 0x01 Option to initialize the dialog without loading the
+ * current directory into the dialog. Used if you
+ * intend using @ref setData() to reset the directory
+ * or prior to storage on a stream.
+ *
+ * cdHelpButton 0x02 Option to put a help button in the dialog.
+ * </pre>
+ *
+ * The constructor creates and inserts:
+ *
+ * -# a @ref TInputLine object (labeled "Directory ~n~ame")
+ * -# a @ref THistory object
+ * -# a vertical scroll bar, see @ref TScrollBar
+ * -# a TDirListBox object (labeled "Directory ~t~ree")
+ * -# three buttons "O~K~", "~C~hdir" and "~R~evert", see @ref TButton
+ *
+ * If `aOptions' has the cdHelpButton flag set, a fourth help button is
+ * created. Unless the cdNoLoadDir option is set, the dialog box is loaded
+ * with the current directory.
+ *
+ * Unsigned short `histId' is an arbitrary positive integer used to
+ * identify which history set to use. The library can use multiple history
+ * sets and all views with the same history identifier will share the same
+ * history set.
+ */
+ TChDirDialog( ushort aOptions, ushort histId );
+ /**
+ * Returns the size of the data record of this dialog.
+ *
+ * By default, dataSize() returns 0. Override to return the size (in
+ * bytes) of the data used by @ref getData() and @ref setData() to store
+ * and retrieve dialog box input data.
+ * @see TGroup::dataSize
+ */
+ virtual ushort dataSize();
+ /**
+ * Reads the data record of this dialog.
+ *
+ * By default, getData() does nothing. Override to copy @ref dataSize()
+ * bytes from the view to `rec'. Used in combination with @ref dataSize()
+ * and @ref setData() to store and retrieve dialog box input data.
+ * @see TGroup::getData
+ */
+ virtual void getData( void *rec );
+ /**
+ * Standard TChDirDialog event handler.
+ *
+ * Calls @ref TDialog::handleEvent() then processes cmRevert (restore
+ * previously current directory) and cmChangeDir (switch to selected
+ * directory) events. The dialog is redrawn if necessary.
+ */
+ virtual void handleEvent( TEvent& );
+ /**
+ * Writes the data record of this dialog.
+ *
+ * By default, setData() does nothing. Override to copy @ref dataSize()
+ * bytes from `rec' to the view. Used in combination with @ref dataSize()
+ * and @ref getData() to store and retrieve dialog box input data.
+ * @see TGroup::setData
+ */
+ virtual void setData( void *rec );
+ /**
+ * Checks if the command `command' is valid.
+ *
+ * The return value is True if `command' is not cmOK. Otherwise (the OK
+ * button was pressed) the return value depends on path existence. The
+ * function returns True if the path exists. An invalid directory invokes
+ * the "Invalid directory" message box and returns False.
+ * @see TDialog::valid
+ */
+ virtual Boolean valid( ushort command );
+ /**
+ * Releases TChDirDialog resources.
+ *
+ * Used internally by @ref TObject::destroy() to ensure correct
+ * destruction of derived and related objects. shutDown() is overridden
+ * in many classes to ensure the proper setting of related data members
+ * when @ref destroy() is called.
+ * @see TObject::shutDown
+ *
+ * This method releases all the resources allocated by the TChDirDialog
+ * dialog. It sets private pointers TChDirDialog::dirList,
+ * TChDirDialog::dirInput, TChDirDialog::okButton, and
+ * TChDirDialog::chDirButton to 0 and then calls @ref TDialog::shutDown().
+ */
+ virtual void shutDown();
+private:
+ void setUpDialog();
+ TInputLine *dirInput;
+ TDirListBox *dirList;
+ TButton *okButton;
+ TButton *chDirButton;
+ static const char * changeDirTitle;
+ static const char * dirNameText;
+ static const char * dirTreeText;
+ static const char * okText;
+ static const char * chdirText;
+ static const char * revertText;
+ static const char * helpText;
+ static const char * drivesText;
+ static const char * invalidText;
+ virtual const char *streamableName() const
+ { return name; }
+protected:
+ /**
+ * Constructor.
+ *
+ * Used to recover the view from a stream.
+ */
+ TChDirDialog( StreamableInit ) : TDialog( streamableInit ),
+ TWindowInit( TChDirDialog::initFrame ) {}
+ /**
+ * Used to store the view in a stream.
+ * Writes to the output stream `os'.
+ */
+ virtual void write( opstream& os );
+ /**
+ * Used to recover the view from a stream.
+ * Reads from the input stream `is'.
+ */
+ virtual void *read( ipstream& is );
+public:
+ /**
+ * Undocumented.
+ */
+ static const char * const name;
+ /**
+ * Creates a new TChDirDialog.
+ *
+ * Called to create an object in certain stream-reading situations.
+ */
+ static TStreamable *build();
+};
+
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TChDirDialog& cl )
+ { return is >> (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TChDirDialog*& cl )
+ { return is >> (void *&)cl; }
+
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TChDirDialog& cl )
+ { return os << (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TChDirDialog* cl )
+ { return os << (TStreamable *)cl; }
+
+#endif // Uses_TChDirDialog
diff --git a/freebsdtvision/lib/system.cc b/freebsdtvision/lib/system.cc
new file mode 100644
index 0000000..4217b3f
--- /dev/null
+++ b/freebsdtvision/lib/system.cc
@@ -0,0 +1,2379 @@
+/*
+ * system.cc
+ *
+ * Copyright (c) 1998 Sergio Sigala, Brescia, Italy.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * Modified by Sergey Clushin <serg@lamport.ru>, <Clushin@deol.ru>
+ * Modified by Dmitrij Korovkin <tkf@glasnet.ru>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
+ */
+
+#define Uses_TButton
+#define Uses_TColorSelector
+#define Uses_TDeskTop
+#define Uses_TDirListBox
+#define Uses_TDrawBuffer
+#define Uses_TEvent
+#define Uses_TEventQueue
+#define Uses_TFrame
+#define Uses_THistory
+#define Uses_TIndicator
+#define Uses_TKeys
+#define Uses_TListViewer
+#define Uses_TMenuBox
+#define Uses_TOutlineViewer
+#define Uses_TScreen
+#define Uses_TScrollBar
+#define Uses_TStatusLine
+#include <tvision/tv.h>
+
+#include <fstream>
+#include <iostream>
+
+#include <ctype.h>
+#include <fcntl.h>
+#include <signal.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/ioctl.h>
+#include <sys/stat.h>
+#include <sys/time.h>
+#include <unistd.h>
+
+#include <config.h> /* configuration file */
+
+using std::endl;
+using std::ios;
+using std::istream;
+using std::ofstream;
+using std::streambuf;
+using std::streampos;
+
+#ifdef ENABLE_FBSDM
+ /* #include <machine/console.h> */
+ #define CONS_MOUSECTL _IOWR('c', 10, mouse_info_t)
+ #define RIGHT_BUTTON 0x01
+ #define MIDDLE_BUTTON 0x02
+ #define LEFT_BUTTON 0x04
+ struct mouse_data {
+ int x;
+ int y;
+ int buttons;
+ };
+ struct mouse_mode {
+ int mode;
+ int signal;
+ };
+ #define MOUSE_SHOW 0x01
+ #define MOUSE_HIDE 0x02
+ #define MOUSE_MOVEABS 0x03
+ #define MOUSE_MOVEREL 0x04
+ #define MOUSE_GETINFO 0x05
+ #define MOUSE_MODE 0x06
+ #define MOUSE_ACTION 0x07
+ struct mouse_info {
+ int operation;
+ union {
+ struct mouse_data data;
+ struct mouse_mode mode;
+ } u;
+ };
+ typedef struct mouse_info mouse_info_t;
+#endif
+
+extern "C"
+{
+#ifdef HAVE_NCURSES_H
+#include <ncurses.h>
+#else
+#include <curses.h>
+#endif
+
+#ifdef HAVE_GPM_H
+#include <gpm.h> /* mouse stuff */
+#endif
+};
+
+#ifdef __linux__
+#include <sys/kd.h> /* keyboard stuff */
+#endif
+
+#include <term.h>
+#undef buttons /* delete this line and see what happens :-) */
+
+/*
+ * This is the delay in ms before the first evMouseAuto is generated when the
+ * user holds down a mouse button.
+ */
+#define DELAY_AUTOCLICK_FIRST 400
+
+/*
+ * This is the delay in ms between next evMouseAuto events. Must be greater
+ * than DELAY_SIGALRM (see below).
+ */
+#define DELAY_AUTOCLICK_NEXT 100
+
+/*
+ * This is the time limit in ms within button presses are recognized as
+ * double-click events. Used only under FreeBSD because Gpm has its own
+ * double-click detecting machanism.
+ */
+#define DELAY_DOUBLECLICK 300
+
+/*
+ * This is the time limit in ms within Esc-key sequences are detected as
+ * Alt-letter sequences. Useful when we can't generate Alt-letter sequences
+ * directly.
+ */
+#define DELAY_ESCAPE 400
+
+/*
+ * This is the delay in ms between consecutive SIGALRM signals. This
+ * signal is used to generate evMouseAuto and cmSysWakeup events.
+ */
+#define DELAY_SIGALRM 100
+
+/*
+ * This broadcast event is used to update the StatusLine.
+ */
+#define DELAY_WAKEUP 200
+
+/*
+ * FreeBSD mouse system only: define which signal to use.
+ */
+#define FBSDM_SIGNAL SIGUSR1
+
+/* key modifiers */
+
+#define MALT (kbLeftAlt | kbRightAlt)
+#define MCTRL (kbLeftCtrl | kbRightCtrl)
+#define MSHIFT (kbLeftShift | kbRightShift)
+
+/* key types */
+
+#define TALT 0x01 /* alt-letter key */
+
+typedef struct
+{
+ int in;
+ char type;
+ char modifiers;
+ short out;
+}
+keym_t;
+
+static keym_t keym[] =
+{
+ /* ascii codes */
+
+ { 1, 0, 0, kbCtrlA }, { 2, 0, 0, kbCtrlB }, { 3, 0, 0, kbCtrlC },
+ { 4, 0, 0, kbCtrlD }, { 5, 0, 0, kbCtrlE }, { 6, 0, 0, kbCtrlF },
+ { 7, 0, 0, kbCtrlG }, { 8, 0, 0, kbCtrlH }, { 9, 0, 0, kbCtrlI },
+ { 10, 0, 0, kbCtrlJ }, { 11, 0, 0, kbCtrlK }, { 12, 0, 0, kbCtrlL },
+ { 13, 0, 0, kbCtrlM }, { 14, 0, 0, kbCtrlN }, { 15, 0, 0, kbCtrlO },
+ { 16, 0, 0, kbCtrlP }, { 17, 0, 0, kbCtrlQ }, { 18, 0, 0, kbCtrlR },
+ { 19, 0, 0, kbCtrlS }, { 20, 0, 0, kbCtrlT }, { 21, 0, 0, kbCtrlU },
+ { 22, 0, 0, kbCtrlV }, { 23, 0, 0, kbCtrlW }, { 24, 0, 0, kbCtrlX },
+ { 25, 0, 0, kbCtrlY }, { 26, 0, 0, kbCtrlZ }, { 9, 0, 0, kbTab },
+ { 13, 0, 0, kbEnter }, { 27, 0, 0, kbEsc }, { 31, 0, 0, kbCtrlBack },
+ { 127, 0, 0, kbBack },
+ { 10, 0, 0, kbEnter }, /* I need this */
+
+ { 9, 0, MSHIFT, kbShiftTab },
+
+ /* alt-letter codes */
+
+ { 8, TALT, 0, kbAltBack }, { ' ', TALT, 0, kbAltSpace },
+ { '0', TALT, 0, kbAlt0 }, { '1', TALT, 0, kbAlt1 }, { '2', TALT, 0, kbAlt2 },
+ { '3', TALT, 0, kbAlt3 }, { '4', TALT, 0, kbAlt4 }, { '5', TALT, 0, kbAlt5 },
+ { '6', TALT, 0, kbAlt6 }, { '7', TALT, 0, kbAlt7 }, { '8', TALT, 0, kbAlt8 },
+ { '9', TALT, 0, kbAlt9 },
+ { 'A', TALT, 0, kbAltA }, { 'B', TALT, 0, kbAltB }, { 'C', TALT, 0, kbAltC },
+ { 'D', TALT, 0, kbAltD }, { 'E', TALT, 0, kbAltE }, { 'F', TALT, 0, kbAltF },
+ { 'G', TALT, 0, kbAltG }, { 'H', TALT, 0, kbAltH }, { 'I', TALT, 0, kbAltI },
+ { 'J', TALT, 0, kbAltJ }, { 'K', TALT, 0, kbAltK }, { 'L', TALT, 0, kbAltL },
+ { 'M', TALT, 0, kbAltM }, { 'N', TALT, 0, kbAltN }, { 'O', TALT, 0, kbAltO },
+ { 'P', TALT, 0, kbAltP }, { 'Q', TALT, 0, kbAltQ }, { 'R', TALT, 0, kbAltR },
+ { 'S', TALT, 0, kbAltS }, { 'T', TALT, 0, kbAltT }, { 'U', TALT, 0, kbAltU },
+ { 'V', TALT, 0, kbAltV }, { 'W', TALT, 0, kbAltW }, { 'X', TALT, 0, kbAltX },
+ { 'Y', TALT, 0, kbAltY }, { 'Z', TALT, 0, kbAltZ }, { 127, TALT, 0, kbAltBack },
+
+ /* escape codes */
+
+ { KEY_DOWN, 0, 0, kbDown }, { KEY_UP, 0, 0, kbUp }, { KEY_LEFT, 0, 0, kbLeft },
+ { KEY_RIGHT, 0, 0, kbRight }, { KEY_HOME, 0, 0, kbHome },
+ { KEY_BACKSPACE, 0, 0, kbBack }, { KEY_F(1), 0, 0, kbF1 },
+ { KEY_F(2), 0, 0, kbF2 }, { KEY_F(3), 0, 0, kbF3 }, { KEY_F(4), 0, 0, kbF4 },
+ { KEY_F(5), 0, 0, kbF5 }, { KEY_F(6), 0, 0, kbF6 }, { KEY_F(7), 0, 0, kbF7 },
+ { KEY_F(8), 0, 0, kbF8 }, { KEY_F(9), 0, 0, kbF9 }, { KEY_F(10), 0, 0, kbF10 },
+ { KEY_DC, 0, 0, kbDel }, { KEY_IC, 0, 0, kbIns }, { KEY_NPAGE, 0, 0, kbPgDn },
+ { KEY_PPAGE, 0, 0, kbPgUp }, { KEY_END, 0, 0, kbEnd },
+
+ { KEY_LEFT, 0, MCTRL, kbCtrlLeft }, { KEY_RIGHT, 0, MCTRL, kbCtrlRight },
+ { KEY_HOME, 0, MCTRL, kbCtrlHome }, { KEY_F(1), 0, MCTRL, kbCtrlF1 },
+ { KEY_F(2), 0, MCTRL, kbCtrlF2 }, { KEY_F(3), 0, MCTRL, kbCtrlF3 },
+ { KEY_F(4), 0, MCTRL, kbCtrlF4 }, { KEY_F(5), 0, MCTRL, kbCtrlF5 },
+ { KEY_F(6), 0, MCTRL, kbCtrlF6 }, { KEY_F(7), 0, MCTRL, kbCtrlF7 },
+ { KEY_F(8), 0, MCTRL, kbCtrlF8 }, { KEY_F(9), 0, MCTRL, kbCtrlF9 },
+ { KEY_F(10), 0, MCTRL, kbCtrlF10 }, { KEY_DC, 0, MCTRL, kbCtrlDel },
+ { KEY_IC, 0, MCTRL, kbCtrlIns }, { KEY_NPAGE, 0, MCTRL, kbCtrlPgDn },
+ { KEY_PPAGE, 0, MCTRL, kbCtrlPgUp }, { KEY_END, 0, MCTRL, kbCtrlEnd },
+
+ { KEY_F(1), 0, MALT, kbAltF1 }, { KEY_F(2), 0, MALT, kbAltF2 },
+ { KEY_F(3), 0, MALT, kbAltF3 }, { KEY_F(4), 0, MALT, kbAltF4 },
+ { KEY_F(5), 0, MALT, kbAltF5 }, { KEY_F(6), 0, MALT, kbAltF6 },
+ { KEY_F(7), 0, MALT, kbAltF7 }, { KEY_F(8), 0, MALT, kbAltF8 },
+ { KEY_F(9), 0, MALT, kbAltF9 }, { KEY_F(10), 0, MALT, kbAltF10 },
+
+ { KEY_F(11), 0, MSHIFT, kbShiftF1 }, { KEY_F(12), 0, MSHIFT, kbShiftF2 },
+ { KEY_F(13), 0, MSHIFT, kbShiftF3 }, { KEY_F(14), 0, MSHIFT, kbShiftF4 },
+ { KEY_F(15), 0, MSHIFT, kbShiftF5 }, { KEY_F(16), 0, MSHIFT, kbShiftF6 },
+ { KEY_F(17), 0, MSHIFT, kbShiftF7 }, { KEY_F(18), 0, MSHIFT, kbShiftF8 },
+ { KEY_F(19), 0, MSHIFT, kbShiftF9 }, { KEY_F(20), 0, MSHIFT, kbShiftF10 },
+ { KEY_DC, 0, MSHIFT, kbShiftDel }, { KEY_IC, 0, MSHIFT, kbShiftIns },
+
+ /* Shift'ed codes in xterm */
+
+ { KEY_F(13), 0, 0, kbShiftF1 }, { KEY_F(14), 0, 0, kbShiftF2 },
+ { KEY_F(15), 0, 0, kbShiftF3 }, { KEY_F(16), 0, 0, kbShiftF4 },
+ { KEY_F(17), 0, 0, kbShiftF5 }, { KEY_F(18), 0, 0, kbShiftF6 },
+ { KEY_F(19), 0, 0, kbShiftF7 }, { KEY_F(20), 0, 0, kbShiftF8 },
+ { KEY_F(21), 0, 0, kbShiftF9 }, { KEY_F(22), 0, 0, kbShiftF10 },
+
+ /* Ctrl'ed codes in xterm */
+
+ { KEY_F(25), 0, 0, kbCtrlF1 }, { KEY_F(26), 0, 0, kbCtrlF2 },
+ { KEY_F(27), 0, 0, kbCtrlF3 }, { KEY_F(28), 0, 0, kbCtrlF4 },
+ { KEY_F(29), 0, 0, kbCtrlF5 }, { KEY_F(30), 0, 0, kbCtrlF6 },
+ { KEY_F(31), 0, 0, kbCtrlF7 }, { KEY_F(32), 0, 0, kbCtrlF8 },
+ { KEY_F(33), 0, 0, kbCtrlF9 }, { KEY_F(34), 0, 0, kbCtrlF10 },
+ { KEY_LL, 0, 0, kbCtrlPgDn }, { KEY_BEG, 0, 0, kbCtrlPgUp },
+ { KEY_COPY, 0, 0, kbCtrlIns }, { KEY_SBEG, 0, 0, kbShiftIns },
+
+ /* Alt'ed (Meta'ed) codes in xterm */
+
+ { KEY_F(37), 0, 0, kbAltF1 }, { KEY_F(38), 0, 0, kbAltF2 },
+ { KEY_F(39), 0, 0, kbAltF3 }, { KEY_F(40), 0, 0, kbAltF4 },
+ { KEY_F(41), 0, 0, kbAltF5 }, { KEY_F(42), 0, 0, kbAltF6 },
+ { KEY_F(43), 0, 0, kbAltF7 }, { KEY_F(44), 0, 0, kbAltF8 },
+ { KEY_F(45), 0, 0, kbAltF9 }, { KEY_F(46), 0, 0, kbAltF10 }
+};
+
+#ifdef ENABLE_VCS
+/* lookup table for KOI8-R to CP866 encoding */
+#if 0
+static unsigned char cyrillicTable[128] =
+{
+ 176, 177, 178, 179, 180, 181, 182, 183, /* 0x80 - 0x87 */
+ 184, 185, 250, 187, 188, 189, 190, 191, /* 0x88 - 0x8f */
+ 192, 193, 194, 195, 196, 197, 198, 199, /* 0x90 - 0x97 */
+ 200, 201, 202, 255, 204, 205, 206, 207, /* 0x98 - 0x9f */
+ 208, 209, 210, 241, 212, 213, 214, 215, /* 0xa0 - 0xa7 */
+ 216, 217, 218, 219, 220, 221, 222, 223, /* 0xa8 - 0xaf */
+ 211, 243, 242, 240, 244, 245, 246, 247, /* 0xb0 - 0xb7 */
+ 248, 249, 186, 251, 252, 253, 254, 203, /* 0xb8 - 0xbf */
+ 238, 160, 161, 230, 164, 165, 228, 163, /* 0xc0 - 0xc7 */
+ 229, 168, 169, 170, 171, 172, 173, 174, /* 0xc8 - 0xcf */
+ 175, 239, 224, 225, 226, 227, 166, 162, /* 0xd0 - 0xd7 */
+ 236, 235, 167, 232, 237, 233, 231, 234, /* 0xd8 - 0xdf */
+ 158, 128, 129, 150, 132, 133, 148, 131, /* 0xe0 - 0xe7 */
+ 149, 136, 137, 138, 139, 140, 141, 142, /* 0xe8 - 0xef */
+ 143, 159, 144, 145, 146, 147, 134, 130, /* 0xf0 - 0xf7 */
+ 156, 155, 135, 152, 157, 153, 151, 154 /* 0xf8 - 0xff */
+};
+#else
+static unsigned char cyrillicTable[128] =
+{
+ 192, 193, 194, 195, 196, 197, 198, 199, /* 0x80 - 0x87 */
+ 200, 201, 202, 203, 204, 205 ,206, 207, /* 0x88 - 0x8f */
+ 208, 209, 210, 211, 212, 213, 214, 215, /* 0x90 - 0x97 */
+ 216, 217, 218, 219, 220, 221, 222, 223, /* 0x98 - 0x9f */
+ 240, 241, 242, 243, 244, 245, 246, 247, /* 0xa0 - 0xa7 */
+ 248, 249, 250, 251, 252, 253, 254, 255, /* 0xa8 - 0xaf */
+ 176, 177, 178, 179, 180, 181, 182, 183, /* 0xb0 - 0xb7 */
+ 184, 185, 186, 187, 188, 189, 190, 191, /* 0xb8 - 0xbf */
+ 238, 160, 161, 230, 164, 165, 228, 163, /* 0xc0 - 0xc7 */
+ 229, 168, 169, 170, 171, 172, 173, 174, /* 0xc8 - 0xcf */
+ 175, 239, 224, 225, 226, 227, 166, 162, /* 0xd0 - 0xd7 */
+ 236, 235, 167, 232, 237, 233, 231, 234, /* 0xd8 - 0xdf */
+ 158, 128, 129, 150, 132, 133, 148, 131, /* 0xe0 - 0xe7 */
+ 149, 136, 137, 138, 139, 140, 141, 142, /* 0xe8 - 0xef */
+ 143, 159, 144, 145, 146, 147, 134, 130, /* 0xf0 - 0xf7 */
+ 156, 155, 135, 152, 157, 153, 151, 154 /* 0xf8 - 0xff */
+};
+#endif
+
+/* lookup table for LATIN1 to CP437 enconding */
+
+static unsigned char latinTable[128] =
+{
+ 199, 252, 233, 226, 228, 224, 229, 231, /* 0x80 - 0x87 */
+ 234, 235, 232, 239, 238, 236, 196, 197, /* 0x88 - 0x8f */
+ 201, 230, 198, 244, 247, 242, 251, 183, /* 0x90 - 0x97 */
+ 225, 214, 220, 243, 250, 209, 158, 159, /* 0x98 - 0x9f */
+ 255, 173, 155, 156, 177, 157, 188, 186, /* 0xa0 - 0xa7 */
+ 191, 169, 166, 174, 170, 237, 189, 187, /* 0xa8 - 0xaf */
+ 176, 241, 253, 179, 180, 181, 182, 249, /* 0xb0 - 0xb7 */
+ 184, 185, 167, 175, 172, 171, 190, 168, /* 0xb8 - 0xbf */
+ 192, 193, 194, 195, 142, 143, 146, 128, /* 0xc0 - 0xc7 */
+ 200, 144, 202, 203, 204, 205, 206, 207, /* 0xc8 - 0xcf */
+ 208, 165, 210, 211, 212, 213, 153, 215, /* 0xd0 - 0xd7 */
+ 216, 217, 218, 219, 154, 221, 222, 223, /* 0xd8 - 0xdf */
+ 133, 160, 131, 227, 132, 134, 145, 135, /* 0xe0 - 0xe7 */
+ 138, 130, 136, 137, 141, 161, 140, 139, /* 0xe8 - 0xef */
+ 240, 164, 149, 162, 147, 245, 148, 246, /* 0xf0 - 0xf7 */
+ 248, 151, 163, 150, 129, 178, 254, 152, /* 0xf8 - 0xff */
+};
+#endif /* ENABLE_VCS */
+
+/* lookup table to translate characters from pc set to standard ascii */
+
+static unsigned pcToAscii[256] =
+{
+ /* first block of non-ascii characters from 0 to 31 */
+
+ 32, /* 0 */
+ 79, /* 1 */
+ 79, /* 2 */
+ 111, /* 3 */
+ 111, /* 4 */
+ 111, /* 5 */
+ 111, /* 6 */
+ 111, /* 7 */
+ 111, /* 8 */
+ 111, /* 9 */
+ 111, /* 10 */
+ 111, /* 11 */
+ 33, /* 12 */
+ 33, /* 13 */
+ 33, /* 14 */
+ 42, /* 15 */
+ 62, /* 16 */
+ 60, /* 17 */
+ 124, /* 18 */
+ 33, /* 19 */
+ 33, /* 20 */
+ 79, /* 21 */
+ 95, /* 22 */
+ 124, /* 23 */
+ 94, /* 24 */
+ 86, /* 25 */
+ 62, /* 26 */
+ 60, /* 27 */
+ 45, /* 28 */
+ 45, /* 29 */
+ 94, /* 30 */
+ 86, /* 31 */
+
+ /* ascii characters from 32 to 126 */
+
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
+ 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
+ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
+ 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
+
+ /* second block of non-ascii characters from 127 to 255 */
+
+#ifdef DISABLE_8BIT_CHARS
+ 100, /* 127 */
+ 99, /* 128 */
+ 117, /* 129 */
+ 101, /* 130 */
+ 97, /* 131 */
+ 97, /* 132 */
+ 97, /* 133 */
+ 97, /* 134 */
+ 99, /* 135 */
+ 101, /* 136 */
+ 101, /* 137 */
+ 101, /* 138 */
+ 105, /* 139 */
+ 105, /* 140 */
+ 105, /* 141 */
+ 97, /* 142 */
+ 97, /* 143 */
+ 101, /* 144 */
+ 97, /* 145 */
+ 102, /* 146 */
+ 111, /* 147 */
+ 111, /* 148 */
+ 111, /* 149 */
+ 117, /* 150 */
+ 117, /* 151 */
+ 121, /* 152 */
+ 79, /* 153 */
+ 85, /* 154 */
+ 99, /* 155 */
+ 76, /* 156 */
+ 89, /* 157 */
+ 80, /* 158 */
+ 102, /* 159 */
+ 97, /* 160 */
+ 105, /* 161 */
+ 111, /* 162 */
+ 117, /* 163 */
+ 110, /* 164 */
+ 78, /* 165 */
+ 45, /* 166 */
+ 45, /* 167 */
+ 63, /* 168 */
+ 45, /* 169 */
+ 45, /* 170 */
+ 47, /* 171 */
+ 47, /* 172 */
+ 33, /* 173 */
+ 60, /* 174 */
+ 62, /* 175 */
+ 58, /* 176 */
+ 37, /* 177 */
+ 37, /* 178 */
+ 124, /* 179 */
+ 123, /* 180 */
+ 43, /* 181 */
+ 43, /* 182 */
+ 43, /* 183 */
+ 43, /* 184 */
+ 43, /* 185 */
+ 73, /* 186 */
+ 43, /* 187 */
+ 39, /* 188 */
+ 43, /* 189 */
+ 43, /* 190 */
+ 46, /* 191 */
+ 96, /* 192 */
+ 43, /* 193 */
+ 43, /* 194 */
+ 125, /* 195 */
+ 45, /* 196 */
+ 43, /* 197 */
+ 43, /* 198 */
+ 43, /* 199 */
+ 96, /* 200 */
+ 46, /* 201 */
+ 43, /* 202 */
+ 43, /* 203 */
+ 43, /* 204 */
+ 61, /* 205 */
+ 43, /* 206 */
+ 43, /* 207 */
+ 43, /* 208 */
+ 43, /* 209 */
+ 43, /* 210 */
+ 43, /* 211 */
+ 43, /* 212 */
+ 43, /* 213 */
+ 43, /* 214 */
+ 43, /* 215 */
+ 43, /* 216 */
+ 39, /* 217 */
+ 46, /* 218 */
+ 124, /* 219 */
+ 45, /* 220 */
+ 124, /* 221 */
+ 124, /* 222 */
+ 45, /* 223 */
+ 97, /* 224 */
+ 98, /* 225 */
+ 105, /* 226 */
+ 112, /* 227 */
+ 101, /* 228 */
+ 111, /* 229 */
+ 117, /* 230 */
+ 121, /* 231 */
+ 111, /* 232 */
+ 111, /* 233 */
+ 111, /* 234 */
+ 111, /* 235 */
+ 111, /* 236 */
+ 111, /* 237 */
+ 69, /* 238 */
+ 110, /* 239 */
+ 61, /* 240 */
+ 43, /* 241 */
+ 62, /* 242 */
+ 60, /* 243 */
+ 40, /* 244 */
+ 41, /* 245 */
+ 45, /* 246 */
+ 61, /* 247 */
+ 111, /* 248 */
+ 46, /* 249 */
+ 46, /* 250 */
+ 86, /* 251 */
+ 110, /* 252 */
+ 50, /* 253 */
+ 88, /* 254 */
+ 32 /* 255 */
+ /*
+ * Added as a plug for compatibility with the old applications.
+ */
+#elif defined(ENABLE_RUSSIAN_CHARSET)
+ 32,
+ 225, 226, 247, 231, 228, 229, 246, 250, 233,
+ 234, 235, 236, 237, 238, 239, 240, 242, 243,
+ 244, 245, 230, 232, 227, 254, 251, 253, 223,
+ 249, 248, 252, 224, 241, 193, 194, 215, 199,
+ 196, 197, 214, 218, 201, 202, 203, 204, 205,
+ 206, 207, 208, 177, 177, 178, 179, 180, 181,
+ 182, 183, 184, 185, 186, 187, 188, 189, 190,
+ 191, 192, 193, 194, 195, 196, 197, 198, 199,
+ 200, 201, 202, 203, 204, 205, 206, 207, 208,
+ 209, 210, 211, 212, 213, 214, 215, 216, 217,
+ 218, 219, 220, 221, 222, 223, 210, 211, 212,
+ 213, 198, 200, 195, 222, 219, 221, 223, 217,
+ 216, 220, 192, 209, 160, 161, 162, 163 ,164,
+ 165, 166, 167, 168, 169, 170, 171, 172 ,173,
+ 174, 174
+#else
+ 32,
+ 128, 129, 130, 131, 132, 133, 134, 135,
+ 136, 137, 138, 139, 140, 141, 142, 143,
+ 144, 145, 146, 147, 148, 149, 150, 151,
+ 152, 153, 154, 155, 156, 157, 158, 159,
+ 160, 161, 162, 163, 164, 165, 166, 167,
+ 168, 169, 170, 171, 172, 173, 174, 175,
+ 176, 177, 178, 179, 180, 181, 182, 183,
+ 184, 185, 186, 187, 188, 189, 190, 191,
+ 192, 193, 194, 195, 196, 197, 198, 199,
+ 200, 201, 202, 203, 204, 205, 206, 207,
+ 208, 209, 210, 211, 212, 213, 214, 215,
+ 216, 217, 218, 219, 220, 221, 222, 223,
+ 224, 225, 226, 227, 228, 229, 230, 231,
+ 232, 233, 234, 235, 236, 237, 238, 239,
+ 240, 241, 242, 243, 244, 245, 246, 247,
+ 248, 249, 250, 251, 252, 253, 254, 255
+#endif
+};
+
+/* this array stores the corresponding ncurses attribute for each TV color */
+
+static unsigned attributeMap[256];
+
+ushort TEventQueue::doubleDelay = 8;
+Boolean TEventQueue::mouseReverse = False;
+
+ushort TScreen::screenMode;
+uchar TScreen::screenWidth;
+uchar TScreen::screenHeight;
+ushort *TScreen::screenBuffer;
+fd_set TScreen::fdSetRead;
+fd_set TScreen::fdSetWrite;
+fd_set TScreen::fdSetExcept;
+fd_set TScreen::fdActualRead;
+fd_set TScreen::fdActualWrite;
+fd_set TScreen::fdActualExcept;
+
+static TEvent *evIn; /* message queue system */
+static TEvent *evOut;
+static TEvent evQueue[eventQSize];
+static TPoint msWhere; /* mouse coordinates */
+static char env[PATH_MAX]; /* value of the TVOPT environment variable */
+static int curX, curY; /* current cursor coordinates */
+static int currentTime; /* current timer value */
+static int doRepaint; /* should redraw the screen ? */
+static int doResize; /* resize screen ? */
+static int evLength; /* number of events in the queue */
+static int msOldButtons; /* mouse button status */
+static ofstream xlog; /* a logging file */
+
+/*
+ * A simple class which implements a timer.
+ */
+
+class Timer
+{
+ int limit;
+public:
+ Timer() { limit = -1; }
+ int isExpired() { return limit != -1 && currentTime >= limit; }
+ int isRunning() { return limit != -1; }
+ void start(int timeout) { limit = currentTime + timeout; }
+ void stop() { limit = -1; }
+};
+
+static Timer kbEscTimer; /* time limit to detect Esc-key sequences */
+static Timer msAutoTimer; /* time when generate next cmMouseAuto */
+static Timer wakeupTimer; /* time when generate next cmWakeup */
+
+#ifdef ENABLE_FBSDM
+static Timer msDoubleTimer; /* time limit to detect double-click events */
+static int msFlag; /* set if there are mouse events */
+static int msUseArrow; /* use arrow pointer */
+#endif
+
+#ifdef ENABLE_GPM
+static int msFd; /* mouse file descriptor */
+#endif
+
+#ifdef ENABLE_VCS
+int vcsFd; /* virtual console system descriptor */
+unsigned char *vcsMap; /* define which character table to use */
+#endif
+
+/*
+ * GENERAL FUNCTIONS
+ */
+
+#define LOG(s) xlog << s << endl
+
+inline int range(int test, int min, int max)
+{
+ return test < min ? min : test > max ? max : test;
+}
+
+/*
+ * KEYBOARD FUNCTIONS
+ */
+
+/*
+ * Builds a keycode from code and modifiers.
+ */
+
+static int kbMapKey(int code, int type, int modifiers)
+{
+ keym_t *best = NULL, *p;
+
+ for (p = keym; p < keym + sizeof(keym) / sizeof(keym_t); p++)
+ {
+ /* code and type must match */
+
+ if (p->in == code && p->type == type)
+ {
+ /*
+ * now get the best keycode we have, modifier keys
+ * may differ
+ */
+ if (best == NULL || p->modifiers == modifiers)
+ {
+ best = p;
+ }
+ }
+ }
+ if (best != NULL) return best->out; /* keycode found */
+ if (code <= 255) return code; /* it is an ascii character */
+ return kbNoKey; /* unknown code */
+}
+
+/*
+ * Gets information about modifier keys (Alt, Ctrl and Shift). This can
+ * be done only if the program runs on the system console.
+ */
+
+static int kbReadShiftState()
+{
+#ifdef __linux__
+ unsigned char arg = 6; /* TIOCLINUX function #6 */
+ int shift = 0;
+
+ if (ioctl(STDIN_FILENO, TIOCLINUX, &arg) != -1)
+ {
+ if (arg & (2 | 8)) shift |= kbLeftAlt | kbRightAlt;
+ if (arg & 4) shift |= kbLeftCtrl | kbRightCtrl;
+ if (arg & 1) shift |= kbLeftShift | kbRightShift;
+ }
+ return shift;
+#else
+ return 0;
+#endif
+}
+
+/*
+ * Reads a key from the keyboard.
+ */
+#ifdef NCURSES_MOUSE_VERSION
+static void msHandle();
+#endif
+
+static void kbHandle()
+{
+ int code, type = 0;
+ sigset_t alarmBlock, normalMask;
+
+ sigemptyset(&alarmBlock);
+ sigaddset(&alarmBlock, SIGALRM);
+
+ /* see if there is data available */
+
+ sigprocmask(SIG_BLOCK, &alarmBlock, &normalMask);
+ code = getch();
+ sigprocmask(SIG_SETMASK, &normalMask, NULL);
+
+#ifdef NCURSES_MOUSE_VERSION
+ if (code == KEY_MOUSE) /* was it a mouse event ? */
+ {
+ msHandle();
+ return;
+ }
+ else
+#endif
+ if (code != ERR) /* was it a key press ? */
+ {
+ /* grab the escape key and start the timer */
+
+ if (code == 27 && !kbEscTimer.isRunning())
+ {
+ kbEscTimer.start(DELAY_ESCAPE);
+ return;
+ }
+
+ /* key pressed within time limit */
+
+ if (kbEscTimer.isRunning() && !kbEscTimer.isExpired())
+ {
+ kbEscTimer.stop();
+ if (code != 27) /* simulate Alt-letter code */
+ {
+ code = toupper(code);
+ type = TALT;
+ }
+ }
+ }
+ else if (kbEscTimer.isExpired()) /* an Escape key timeout ? */
+ {
+ /* timeout condition: generate standard Esc code */
+
+ kbEscTimer.stop();
+ code = 27;
+ }
+ else return; /* nothing to do */
+
+ int modifiers = kbReadShiftState();
+ if ((code = kbMapKey(code, type, modifiers)) != kbNoKey)
+ {
+ TEvent event;
+
+ event.what = evKeyDown;
+ event.keyDown.keyCode = code;
+ event.keyDown.controlKeyState = modifiers;
+ TScreen::putEvent(event);
+ }
+}
+
+/*
+ * MOUSE FUNCTIONS
+ */
+
+/**
+ * This function inserts a mouse event in the event queue after adjusting the
+ * `event.mouse.buttons' field.
+ */
+static void
+msPutEvent(TEvent &event, int buttons, int flags, int what)
+{
+ event.mouse.buttons = 0;
+ event.mouse.eventFlags = flags;
+ event.what = what;
+ if (TEventQueue::mouseReverse) /* swap buttons ? */
+ {
+ if (buttons & mbLeftButton) event.mouse.buttons |=
+ mbRightButton;
+ if (buttons & mbRightButton) event.mouse.buttons |=
+ mbLeftButton;
+ }
+ else event.mouse.buttons = buttons; /* no swapping */
+ TScreen::putEvent(event);
+}
+
+/*
+ * Initializes the FreeBSD mouse. The mouse is handled by the kernel. We
+ * control it with ioctl(...) calls.
+ */
+
+#ifdef ENABLE_FBSDM
+static void fbsdmInit()
+{
+ mouse_info_t mi;
+
+ msAutoTimer.stop();
+ msDoubleTimer.stop();
+ msFlag = msOldButtons = 0;
+ msUseArrow = strstr(env, "noarrow") == NULL;
+ if (!msUseArrow) LOG("arrow pointer suppressed");
+ mi.operation = MOUSE_MODE;
+ mi.u.mode.signal = FBSDM_SIGNAL;
+ if (ioctl(STDOUT_FILENO, CONS_MOUSECTL, &mi) < 0)
+ {
+ LOG("unable to use the mouse");
+ }
+ mi.operation = MOUSE_GETINFO;
+ ioctl(STDOUT_FILENO, CONS_MOUSECTL, &mi);
+ msWhere.x = range(mi.u.data.x / 8, 0, TScreen::screenWidth - 1);
+ msWhere.y = range(mi.u.data.y / 16, 0, TScreen::screenHeight - 1);
+}
+
+/*
+ * Closes the FreeBSD mouse.
+ */
+
+static void fbsdmClose()
+{
+ mouse_info_t mi;
+
+ mi.operation = MOUSE_MODE;
+ mi.u.mode.signal = 0;
+ ioctl(STDOUT_FILENO, CONS_MOUSECTL, &mi);
+}
+
+/*
+ * Checks the status of every button and generates the related event.
+ */
+
+static void fbsdmProcessButton(TEvent &event, int buttons, int mask)
+{
+ if (buttons & mask) /* is button pressed ? */
+ {
+ msAutoTimer.start(DELAY_AUTOCLICK_FIRST);
+ if (msDoubleTimer.isRunning() && !msDoubleTimer.isExpired())
+ {
+ msDoubleTimer.stop();
+ msPutEvent(event, mask, meDoubleClick, evMouseDown);
+ }
+ else
+ {
+ msDoubleTimer.start(DELAY_DOUBLECLICK);
+ msPutEvent(event, mask, 0, evMouseDown);
+ }
+ }
+ else /* button is released */
+ {
+ msAutoTimer.stop();
+ msPutEvent(event, mask, 0, evMouseUp);
+ }
+}
+
+/*
+ * Handles events from the FreeBSD mouse driver.
+ */
+
+static void fbsdmHandle()
+{
+ TEvent event;
+ mouse_info_t mi;
+ int heightDivider = 16;
+
+ mi.operation = MOUSE_GETINFO;
+ ioctl(STDOUT_FILENO, CONS_MOUSECTL, &mi);
+
+ if (TScreen::screenHeight > 25)
+ heightDivider = 8;
+
+ event.mouse.controlKeyState = kbReadShiftState();
+ event.mouse.where.x = range(mi.u.data.x / 8, 0,
+ TScreen::screenWidth - 1);
+ event.mouse.where.y = range(mi.u.data.y / heightDivider, 0,
+ TScreen::screenHeight - 1);
+
+ /* convert button bits to TV standard */
+
+ int buttons = 0;
+ if (mi.u.data.buttons & LEFT_BUTTON) buttons |= mbLeftButton;
+ if (mi.u.data.buttons & RIGHT_BUTTON) buttons |= mbRightButton;
+
+ /* is mouse moved ? */
+
+ if (event.mouse.where != msWhere)
+ {
+ msAutoTimer.stop();
+ msDoubleTimer.stop();
+ msPutEvent(event, buttons, meMouseMoved, evMouseMove);
+ msOldButtons = buttons;
+
+ /* redraw the mouse in the new place */
+
+ if (msUseArrow) msWhere = event.mouse.where;
+ else
+ {
+ TScreen::drawMouse(0);
+ msWhere = event.mouse.where;
+ TScreen::drawMouse(1);
+ }
+ }
+ if (buttons != msOldButtons) /* is button state changed ? */
+ {
+ int changed = buttons ^ msOldButtons;
+ int i;
+ static int mask[] = { mbLeftButton, mbRightButton };
+
+ /* check for pressed or released buttons */
+
+ for (i = 0; i < 2; i++) if (changed & mask[i])
+ {
+ fbsdmProcessButton(event, buttons, mask[i]);
+ }
+ msOldButtons = buttons;
+ }
+}
+#endif
+
+/*
+ * Opens the connection.
+ */
+
+#ifdef ENABLE_GPM
+static void gpmInit()
+{
+ msAutoTimer.stop();
+ msFd = -1;
+ msOldButtons = msWhere.x = msWhere.y = 0;
+ if (strstr(env, "nogpm") != NULL) LOG("gpm support disabled");
+ else
+ {
+ Gpm_Connect conn;
+
+ conn.eventMask = ~0; /* I want all events */
+ conn.defaultMask = 0; /* no default treatment */
+ conn.maxMod = ~0;
+ conn.minMod = 0;
+ gpm_zerobased = 1; /* coordinates start from zero */
+
+ int testFd = Gpm_Open(&conn, 0);
+ /*
+ * The return value is either -1 or the file descriptor used
+ * to communicate with the server. When run under xterm, a
+ * gpm client gets event through stdin, and the return value
+ * for Gpm_Open() will be -2. This value is always available
+ * within gpm_fd.
+ */
+ if (testFd == -2 && mousemask(ALL_MOUSE_EVENTS |
+ REPORT_MOUSE_POSITION, NULL) != 0)
+ {
+ msFd = testFd;
+ LOG("gpm server " << Gpm_GetServerVersion(NULL));
+ LOG("gpm will send messages through ncurses");
+ }
+ else if (testFd >= 0)
+ {
+ msFd = testFd;
+ FD_SET(msFd, &TScreen::fdSetRead);
+ LOG("gpm server " << Gpm_GetServerVersion(NULL));
+ LOG("gpm will send messages directly");
+ }
+ else LOG("no working gpm, running without mouse");
+ }
+}
+
+/*
+ * Closes the connection.
+ */
+
+static void gpmClose()
+{
+ if (msFd != -1)
+ {
+ Gpm_Close();
+ if (msFd == -2) mousemask(0, NULL);
+ else if (msFd >= 0) FD_CLR(msFd, &TScreen::fdSetRead);
+ msFd = -1;
+ }
+}
+
+/*
+ * Suspend connection, see Open and Close in `info gpm' for details.
+ */
+
+static void gpmSuspend()
+{
+ if (msFd == -2) mousemask(0, NULL);
+ else if (msFd >= 0)
+ {
+ Gpm_Connect conn;
+
+ /*
+ * Multiple opens are allowed, and a stack of Gpm_Connect
+ * structures is managed by the library. You can, thus,
+ * re-open the connection in order to temporarily change the
+ * range of events you're interested in. When you invoke an
+ * external program, for example, you should re-open the
+ * connection with eventMask zeroed, and defaultMask, minMod
+ * and maxMod all equal to ~0.
+ */
+ conn.eventMask = 0;
+ conn.defaultMask = ~0;
+ conn.maxMod = ~0;
+ conn.minMod = ~0;
+ gpm_zerobased = 0;
+ Gpm_Open(&conn, 0);
+ }
+}
+
+/*
+ * Resume connection, see Open and Close in `info gpm' for details.
+ */
+
+static void gpmResume()
+{
+ if (msFd == -2) mousemask(ALL_MOUSE_EVENTS | REPORT_MOUSE_POSITION,
+ NULL);
+ else if (msFd >= 0)
+ {
+ /*
+ * Pops the connection stack. It is used to restore the
+ * previous situation after a change in the connection masks.
+ * Closes the actual connection when the stack gets empty. On
+ * last close it returns 0, -1 otherwise.
+ */
+ Gpm_Close();
+ gpm_zerobased = 1;
+ }
+}
+
+/*
+ * Handles mouse events.
+ */
+
+static void gpmHandle()
+{
+ Gpm_Event me;
+ TEvent event;
+
+ /*
+ * Reads an event form gpm_fd. It should be called only when the
+ * gpm_fd descriptor is reported as readable by a select() system
+ * call, or it will block until an event arrives (unless you put the
+ * mouse file in non-blocking mode). It returns 1 on success, -1 on
+ * failure, and 0 after closing the connection. Failure can happen if
+ * a signal interrupted the read system call. This function doesn't
+ * work with xterm mouse reporting and is meant for internal use by
+ * the library.
+ */
+ Gpm_GetEvent(&me);
+ event.mouse.controlKeyState = kbReadShiftState();
+ event.mouse.where.x = range(me.x, 0, TScreen::screenWidth - 1);
+ event.mouse.where.y = range(me.y, 0, TScreen::screenHeight - 1);
+
+ /* convert button bits to TV standard */
+
+ int buttons = 0;
+ if (me.buttons & GPM_B_LEFT) buttons |= mbLeftButton;
+ if (me.buttons & GPM_B_RIGHT) buttons |= mbRightButton;
+
+ /* is any button double-clicked ? */
+
+ if (me.type & GPM_DOUBLE)
+ {
+ if (me.type & GPM_DOWN) return;
+ if (me.type & GPM_UP)
+ {
+ msAutoTimer.stop();
+ msPutEvent(event, buttons, meDoubleClick,
+ evMouseDown);
+ msOldButtons &= ~buttons;
+ }
+ }
+
+ /* is mouse moved ? */
+
+ if (me.type & (GPM_DRAG | GPM_MOVE) && event.mouse.where != msWhere)
+ {
+ /*
+ * Each bit set in buttons means the relative button is
+ * down.
+ */
+ msAutoTimer.stop();
+ msPutEvent(event, buttons, meMouseMoved, evMouseMove);
+ msOldButtons = buttons;
+
+ /* redraw the mouse in the new place */
+
+ TScreen::drawMouse(0);
+ msWhere = event.mouse.where;
+ TScreen::drawMouse(1);
+ }
+ if (me.type & GPM_DOWN) /* is any button pressed ? */
+ {
+ /*
+ * Each bit in buttons reports the actual state of the
+ * relative button. We need to determine which button was
+ * pressed.
+ */
+ msAutoTimer.start(DELAY_AUTOCLICK_FIRST);
+ msPutEvent(event, buttons & ~msOldButtons, 0, evMouseDown);
+ msOldButtons = buttons;
+ }
+ if (me.type & GPM_UP) /* is any button released ? */
+ {
+ /*
+ * Each bit set in buttons means the relative button was
+ * released.
+ */
+ msAutoTimer.stop();
+ msPutEvent(event, buttons, 0, evMouseUp);
+ msOldButtons &= ~buttons;
+ }
+}
+#endif
+
+/*
+ * Handles mouse events.
+ *
+ * This function was changed to fit the message handling of the ncurses mouse
+ * support that differs from the gpm by the following:
+ *
+ * - sends mouse clicks, double clicks, etc;
+ * - sends the message only once: we needn't lock messages;
+ * - doesn't send mouse drag and mouse move messages (or may be I couldn't
+ * find the way to get them).
+ */
+
+#ifdef NCURSES_MOUSE_VERSION
+static void msHandle()
+{
+ TEvent event;
+ MEVENT me;
+/*
+ BUTTON1_PRESSED mouse button 1 down
+ BUTTON1_RELEASED mouse button 1 up
+ BUTTON1_CLICKED mouse button 1 clicked
+ BUTTON1_DOUBLE_CLICKED mouse button 1 double clicked
+ BUTTON1_TRIPLE_CLICKED mouse button 1 triple clicked
+ BUTTON2_PRESSED mouse button 2 down
+ BUTTON2_RELEASED mouse button 2 up
+ BUTTON2_CLICKED mouse button 2 clicked
+ BUTTON2_DOUBLE_CLICKED mouse button 2 double clicked
+ BUTTON2_TRIPLE_CLICKED mouse button 2 triple clicked
+ BUTTON3_PRESSED mouse button 3 down
+ BUTTON3_RELEASED mouse button 3 up
+ BUTTON3_CLICKED mouse button 3 clicked
+ BUTTON3_DOUBLE_CLICKED mouse button 3 double clicked
+ BUTTON3_TRIPLE_CLICKED mouse button 3 triple clicked
+ BUTTON4_PRESSED mouse button 4 down
+ BUTTON4_RELEASED mouse button 4 up
+ BUTTON4_CLICKED mouse button 4 clicked
+ BUTTON4_DOUBLE_CLICKED mouse button 4 double clicked
+ BUTTON4_TRIPLE_CLICKED mouse button 4 triple clicked
+ BUTTON_SHIFT shift was down during button state change
+ BUTTON_CTRL control was down during button state change
+ BUTTON_ALT alt was down during button state change
+*/
+#define BUTTON_PRESSED (BUTTON1_PRESSED | BUTTON2_PRESSED | BUTTON3_PRESSED)
+#define BUTTON_RELEASED (BUTTON1_RELEASED | BUTTON2_RELEASED | BUTTON3_RELEASED)
+#define BUTTON_DOUBLE_CLICKED (BUTTON1_DOUBLE_CLICKED | BUTTON2_DOUBLE_CLICKED | BUTTON3_DOUBLE_CLICKED)
+#define BUTTON_CLICKED (BUTTON1_CLICKED | BUTTON2_CLICKED | BUTTON3_CLICKED)
+#define BUTTON1 (BUTTON1_PRESSED | BUTTON1_RELEASED | BUTTON1_CLICKED | BUTTON1_DOUBLE_CLICKED | BUTTON1_TRIPLE_CLICKED)
+#define BUTTON2 (BUTTON2_PRESSED | BUTTON2_RELEASED | BUTTON2_CLICKED | BUTTON2_DOUBLE_CLICKED | BUTTON2_TRIPLE_CLICKED)
+#define BUTTON3 (BUTTON3_PRESSED | BUTTON3_RELEASED | BUTTON3_CLICKED | BUTTON3_DOUBLE_CLICKED | BUTTON3_TRIPLE_CLICKED)
+#define BUTTON4 (BUTTON4_PRESSED | BUTTON4_RELEASED | BUTTON4_CLICKED | BUTTON4_DOUBLE_CLICKED | BUTTON4_TRIPLE_CLICKED)
+
+ if (getmouse(&me) != OK) return; /* exit if no event */
+
+ event.mouse.controlKeyState = 0;
+ if (me.bstate & BUTTON_SHIFT)
+ event.mouse.controlKeyState |= kbLeftShift | kbRightShift;
+ if (me.bstate & BUTTON_CTRL)
+ event.mouse.controlKeyState |= kbLeftCtrl | kbRightCtrl;
+ if (me.bstate & BUTTON_ALT)
+ event.mouse.controlKeyState |= kbLeftAlt | kbRightAlt;
+ me.x = (unsigned char) me.x;
+ me.y = (unsigned char) me.y;
+ event.mouse.where.x = range(me.x, 0, TScreen::screenWidth - 1);
+ event.mouse.where.y = range(me.y, 0, TScreen::screenHeight - 1);
+
+ /* convert button bits to TV standard */
+
+ int buttons = mbLeftButton;
+ if (me.bstate & BUTTON1) buttons = mbLeftButton;
+ else if (me.bstate & BUTTON3) buttons = mbRightButton;
+
+ if (me.bstate & BUTTON_CLICKED) /* is any button clicked ? */
+ {
+ /* first generate a mouse down event */
+
+ msPutEvent(event, buttons, 0, evMouseDown);
+ msOldButtons = buttons;
+
+ /* then generate a mouse up event */
+
+ msAutoTimer.stop();
+ msPutEvent(event, buttons, 0, evMouseUp);
+ msOldButtons &= ~buttons;
+ }
+ if (me.bstate & BUTTON_DOUBLE_CLICKED) /* any double-click ? */
+ {
+ msAutoTimer.stop();
+ msPutEvent(event, buttons, meDoubleClick, evMouseDown);
+ msOldButtons &= ~buttons;
+ }
+ if (event.mouse.where != msWhere) /* is mouse moved ? */
+ {
+ if (me.bstate & BUTTON_PRESSED)
+ {
+ /* first generate a mouse move event */
+
+ msPutEvent(event, buttons, meMouseMoved, evMouseMove);
+ msWhere = event.mouse.where;
+
+ /* then generate a mouse down event */
+
+ msAutoTimer.start(DELAY_AUTOCLICK_FIRST);
+ msPutEvent(event, buttons, 0, evMouseDown);
+ msOldButtons = buttons;
+ }
+ if (me.bstate & BUTTON_RELEASED)
+ {
+ /* first generate a mouse move event */
+
+ msPutEvent(event, buttons, meMouseMoved, evMouseMove);
+ msWhere = event.mouse.where;
+
+ /* then generate a mouse up event */
+
+ msAutoTimer.stop();
+ msPutEvent(event, buttons, 0, evMouseUp);
+ msOldButtons &= ~buttons;
+ }
+ }
+ else /* mouse is not moved */
+ {
+ if (me.bstate & BUTTON_PRESSED)
+ {
+ /* generate a mouse down event */
+
+ msAutoTimer.start(DELAY_AUTOCLICK_FIRST);
+ msPutEvent(event, buttons, 0, evMouseDown);
+ msOldButtons = buttons;
+ }
+ if (me.bstate & BUTTON_RELEASED)
+ {
+ /* generate a mouse up event */
+
+ msAutoTimer.stop();
+ msPutEvent(event, buttons, 0, evMouseUp);
+ msOldButtons &= ~buttons;
+ }
+ }
+}
+#endif
+
+/*
+ * VCS FUNCTIONS
+ */
+
+/*
+ * Initializes the vcs.
+ */
+
+#ifdef ENABLE_VCS
+static void vcsInit()
+{
+ vcsFd = -1;
+ vcsMap = NULL; /* default is no character mapping */
+ if (strstr(env, "novcs") != NULL) LOG("vcs support disabled");
+ else
+ {
+ if (strstr(env, "cyrillic") != NULL)
+ {
+ /*
+ * The cyrillic support was at half overwritten. I did
+ * the following:
+ *
+ * - the translation table was changed to strictly
+ * convert koi8 to cp866;
+ * - the following pseudographic symbols was changed
+ * to fit the koi8 table;
+ * - the pcToAscii table was changed to fit the koi8
+ * table when "cyrillic" enabled.
+ */
+ LOG("using cyrillic character set");
+ vcsMap = cyrillicTable;
+ TMenuBox::frameChars = " \x9A\x84\xBF \x80\x84\x99"
+ " \xB3 \xB3 \x83\x84\xB4 ";
+ memcpy(TFrame::frameChars,
+ " \x80 \xB3\x9A\x83 \x99\x84\x81\xBF\xB4"
+ "\x82\x85 \x88 \xBA\x89\x87 \xBC\x8D\x8F"
+ "\xBB\xB6\x91 ", 33);
+ TFrame::closeIcon = "[~\x04~]";
+ TFrame::dragIcon = "~\x84\x99~";
+ TIndicator::dragFrame = '\x8D';
+ TIndicator::normalFrame = '\x84';
+ THistory::icon = "\x9E~\x19~\x9D";
+ TColorSelector::icon = '\x9B';
+ TStatusLine::hintSeparator = "\xB3 ";
+ TScrollChars vc = {'\x1E', '\x1F',
+ '\xB1', '\x9B', '\xB2'};
+ memcpy(TScrollBar::vChars, vc, sizeof(vc));
+ TScrollChars hc = {'\x11', '\x10',
+ '\xB1', '\x9B', '\xB2'};
+ memcpy(TScrollBar::hChars, hc, sizeof(hc));
+ TButton::shadows = "\x9D\x9B\x9F";
+ TDirListBox::pathDir = "\x80\x84\x82";
+ TDirListBox::firstDir = "\x90\x82\x84";
+ TDirListBox::middleDir = " \x83\x84";
+ TDirListBox::lastDir = " \x80\x84";
+ TDirListBox::graphics = "\x80\x83\x84";
+ TDeskTop::defaultBkgrnd = '\xB1';
+ TListViewer::separatorChar = '\xB3';
+ TOutlineViewer::graphChars = "\x20\xB3\x83\x80\x84"
+ "\x84+\x84";
+ }
+ else if (strstr(env, "latin") != NULL)
+ {
+ LOG("using latin character set");
+ vcsMap = latinTable;
+ }
+ else
+ {
+#ifdef ENABLE_RUSSIAN_CHARSET
+ LOG("wrong Russian character set");
+ TFrame::closeIcon = "[~\x04~]";
+#else
+ LOG("using IBM PC character set");
+#endif
+ }
+
+ /*
+ * This approach was suggested by:
+ * Martynas Kunigelis <algikun@santaka.sc-uni.ktu.lt>
+ * Date: Mon, 20 Jan 1997 15:55:14 +0000 (EET)
+ */
+ FILE *statfile;
+ char path[PATH_MAX];
+
+ if ((statfile = fopen("/proc/self/stat", "r")) != NULL)
+ {
+ int dev;
+
+ /* TTYs have 4 as major number */
+ /* virtual consoles have minor numbers <= 63 */
+
+ fscanf(statfile, "%*d %*s %*c %*d %*d %*d %d", &dev);
+ if ((dev & 0xff00) == 0x0400 && (dev & 0xff) <= 63)
+ {
+ LOG("virtual console detected");
+ sprintf(path, "/dev/vcsa%d", dev & 0xff);
+ if ((vcsFd = open(path, O_WRONLY)) < 0)
+ {
+ LOG("unable to open " << path <<
+ ", running in stdout mode");
+ }
+ }
+ fclose(statfile);
+ }
+ }
+}
+
+/*
+ * Closes the vcs device.
+ */
+
+static void vcsClose()
+{
+ if (vcsFd >= 0) close(vcsFd);
+}
+#endif
+
+/*
+ * OTHER LOCAL FUNCTIONS
+ */
+
+/*
+ * Select the best palette we can use.
+ */
+
+static void selectPalette()
+{
+#ifdef ENABLE_VCS
+ if (vcsFd >= 0) TScreen::screenMode = TScreen::smCO80;
+ else
+#endif
+ {
+ if (has_colors()) TScreen::screenMode = TScreen::smCO80;
+ else TScreen::screenMode = TScreen::smMono;
+ }
+ /*
+ * This sets the standard attribute mapping to have 16 foreground
+ * colors and 8 background colors.
+ */
+ if (TScreen::screenMode == TScreen::smCO80)
+ {
+ int back, fore, bold, i;
+ /*
+ * This loop allocates all the available color pair entries in
+ * the following order:
+ *
+ * 7/0 7/1 7/2 ... ... 7/7
+ * 6/0 6/1 6/2 6/7
+ * 5/0 5/1 5/2 5/7
+ * ... ...
+ * ... ...
+ * 0/0 0/1 0/2 ... ... 0/7
+ *
+ * The first color pair must be 7/0 because it was hardcoded
+ * to WHITE foreground on BLACK background in the ncurses
+ * library.
+ */
+ i = 0;
+ for (fore = COLORS - 1; fore >= 0; fore--)
+ {
+ for (back = 0; back < COLORS; back++)
+ {
+ /*
+ * The first entry is hardcoded to WHITE on
+ * BLACK, so it does not allow redefinition.
+ */
+ if (i != 0) init_pair(i, fore, back);
+ i++;
+ }
+ }
+ /*
+ * Now we map each possible physical color in a corresponding
+ * attribute.
+ */
+ for (i = 0; i < 256; i++)
+ {
+ /*
+ * The following table allows conversion from TV
+ * colors indices to curses color indices.
+ */
+ static char map[] = {0, 4, 2, 6, 1, 5, 3, 7};
+ /*
+ * graphic card color curses color
+ * ---------------------------------
+ * 0 black 0 black
+ * 1 blue 1 red
+ * 2 green 2 green
+ * 3 cyan 3 brown
+ * 4 red 4 blue
+ * 5 magenta 5 magenta
+ * 6 brown 6 cyan
+ * 7 white 7 white
+ * 8 gray 0 black + A_BOLD
+ * 9 light blue 1 red + A_BOLD
+ * 10 light green 2 green + A_BOLD
+ * 11 light cyan 3 brown + A_BOLD
+ * 12 light red 4 blue + A_BOLD
+ * 13 light magenta 5 magenta + A_BOLD
+ * 14 yellow 6 cyan + A_BOLD
+ * 15 light white 7 white + A_BOLD
+ */
+ /*
+ * Extract color informations.
+ *
+ * - Bit 7 is set if blink is enabled.
+ * - The background color is stored in the bits 6, 5
+ * and 4.
+ * - Bit 3 is set if the foreground color is
+ * highlight.
+ * - The foreground color is stored in the 3 lower
+ * bits (2, 1 and 0).
+ */
+ back = (i >> 4) & 0x07;
+ bold = i & 0x08;
+ fore = i & 0x07;
+ /*
+ * Now build the attribute value.
+ */
+ attributeMap[i] = COLOR_PAIR((7 - map[fore]) * 8 +
+ map[back]);
+ if (bold != 0) attributeMap[i] |= A_BOLD;
+ }
+ }
+ /*
+ * This sets the standard attribute mapping for a monochrome output.
+ */
+ else if (TScreen::screenMode == TScreen::smMono)
+ {
+ attributeMap[0x07] = A_NORMAL;
+ attributeMap[0x0f] = A_BOLD;
+ attributeMap[0x70] = A_REVERSE;
+ }
+}
+
+static void
+startcurses()
+{
+ initscr(); /* initialize the curses library */
+ keypad(stdscr, TRUE); /* enable keyboard mapping */
+ cbreak(); /* do not wait for \n */
+ noecho(); /* do not echo input */
+ if (has_colors()) start_color();
+ timeout(0); /* set getch() in non-blocking mode */
+ refresh(); /* fix for new ncurses packages */
+ selectPalette(); /* select the more appropiate palette */
+ TScreen::drawCursor(0); /* hide the cursor */
+ TScreen::drawMouse(1); /* draw the mouse pointer */
+
+ /* if possible we should use curses semigraphical characters */
+
+#ifndef DISABLE_ACS
+ if (strstr(env, "cyrillic") != NULL)
+ {
+ /*
+ * The pcToAscii table was changed to fit the koi8 table that
+ * differs from the IBM table.
+ */
+ pcToAscii[4] = ACS_DIAMOND; /* 4 */
+ pcToAscii[16] = ACS_RARROW; /* 16 */
+ pcToAscii[17] = ACS_LARROW; /* 17 */
+ pcToAscii[24] = ACS_UARROW; /* 24 */
+ pcToAscii[25] = ACS_DARROW; /* 25 */
+ pcToAscii[26] = ACS_RARROW; /* 26 */
+ pcToAscii[27] = ACS_LARROW; /* 27 */
+ pcToAscii[28] = ACS_LLCORNER; /* 28 */
+ pcToAscii[30] = ACS_UARROW; /* 30 */
+ pcToAscii[31] = ACS_DARROW; /* 31 */
+ #ifdef ACS_STERLING
+ pcToAscii[166] = ACS_STERLING; /* 156 */
+ #endif
+ pcToAscii[176] = ACS_BOARD; /* 176 */
+ pcToAscii[177] = ACS_CKBOARD; /* 177 */
+ pcToAscii[178] = ACS_CKBOARD; /* 178 */
+ pcToAscii[179] = ACS_VLINE; /* 179 */
+ pcToAscii[180] = ACS_RTEE; /* 180 */
+ pcToAscii[181] = ACS_RTEE; /* 181 */
+ pcToAscii[182] = ACS_RTEE; /* 182 */
+ pcToAscii[183] = ACS_URCORNER; /* 183 */
+ pcToAscii[184] = ACS_URCORNER; /* 184 */
+ pcToAscii[185] = ACS_RTEE; /* 185 */
+ pcToAscii[186] = ACS_VLINE; /* 186 */
+ pcToAscii[187] = ACS_URCORNER; /* 187 */
+ pcToAscii[188] = ACS_LRCORNER; /* 188 */
+ pcToAscii[189] = ACS_LRCORNER; /* 189 */
+ pcToAscii[190] = ACS_LRCORNER; /* 190 */
+ pcToAscii[191] = ACS_URCORNER; /* 191 */
+ pcToAscii[128] = ACS_LLCORNER; /* 192 */
+ pcToAscii[129] = ACS_BTEE; /* 193 */
+ pcToAscii[130] = ACS_TTEE; /* 194 */
+ pcToAscii[131] = ACS_LTEE; /* 195 */
+ pcToAscii[132] = ACS_HLINE; /* 196 */
+ pcToAscii[133] = ACS_PLUS; /* 197 */
+ pcToAscii[134] = ACS_LTEE; /* 198 */
+ pcToAscii[135] = ACS_LTEE; /* 199 */
+ pcToAscii[136] = ACS_LLCORNER; /* 200 */
+ pcToAscii[137] = ACS_ULCORNER; /* 201 */
+ pcToAscii[138] = ACS_BTEE; /* 202 */
+ pcToAscii[139] = ACS_TTEE; /* 203 */
+ pcToAscii[140] = ACS_LTEE; /* 204 */
+ pcToAscii[141] = ACS_HLINE; /* 205 */
+ pcToAscii[142] = ACS_PLUS; /* 206 */
+ pcToAscii[143] = ACS_BTEE; /* 207 */
+ pcToAscii[144] = ACS_BTEE; /* 208 */
+ pcToAscii[145] = ACS_TTEE; /* 209 */
+ pcToAscii[146] = ACS_TTEE; /* 210 */
+ pcToAscii[147] = ACS_LLCORNER; /* 211 */
+ pcToAscii[148] = ACS_LLCORNER; /* 212 */
+ pcToAscii[149] = ACS_ULCORNER; /* 213 */
+ pcToAscii[150] = ACS_ULCORNER; /* 214 */
+ pcToAscii[151] = ACS_PLUS; /* 215 */
+ pcToAscii[152] = ACS_PLUS; /* 216 */
+ pcToAscii[153] = ACS_LRCORNER; /* 217 */
+ pcToAscii[154] = ACS_ULCORNER; /* 218 */
+ pcToAscii[155] = ACS_BLOCK; /* 219 */
+ pcToAscii[156] = ACS_BLOCK; /* 220 */
+ pcToAscii[157] = ACS_BLOCK; /* 221 */
+ pcToAscii[158] = ACS_BLOCK; /* 222 */
+ pcToAscii[159] = ACS_BLOCK; /* 223 */
+ #ifdef ACS_PI
+ pcToAscii[164] = ACS_PI; /* 227 */
+ #endif
+ pcToAscii[161] = ACS_PLMINUS; /* 241 */
+ #ifdef ACS_GEQUAL
+ pcToAscii[162] = ACS_GEQUAL; /* 242 */
+ #endif
+ #ifdef ACS_LEQUAL
+ pcToAscii[163] = ACS_LEQUAL; /* 243 */
+ #endif
+ pcToAscii[167] = ACS_DEGREE; /* 248 */
+ pcToAscii[255] = ACS_BULLET; /* 254 */
+ }
+ else
+ {
+ pcToAscii[4] = ACS_DIAMOND; /* 4 */
+ pcToAscii[24] = ACS_UARROW; /* 24 */
+ pcToAscii[26] = ACS_RARROW; /* 26 */
+ pcToAscii[27] = ACS_LARROW; /* 27 */
+ pcToAscii[28] = ACS_LLCORNER; /* 28 */
+ /*
+ * And here is the one more plug that was written for the
+ * backward compatibility.
+ */
+#ifdef ENABLE_RUSSIAN_CHARSET
+ pcToAscii[176] = ACS_CKBOARD; /* 176 */
+#else
+ pcToAscii[16] = ACS_RARROW; /* 16 */
+ pcToAscii[17] = ACS_LARROW; /* 17 */
+ pcToAscii[25] = ACS_DARROW; /* 25 */
+ pcToAscii[30] = ACS_UARROW; /* 30 */
+ pcToAscii[31] = ACS_DARROW; /* 31 */
+ #ifdef ACS_STERLING
+ pcToAscii[156] = ACS_STERLING; /* 156 */
+ #endif
+ pcToAscii[169] = ACS_ULCORNER; /* 169 */
+ pcToAscii[170] = ACS_URCORNER; /* 170 */
+ pcToAscii[174] = ACS_LARROW; /* 174 */
+ pcToAscii[175] = ACS_RARROW; /* 175 */
+ pcToAscii[176] = ACS_BOARD; /* 176 */
+#endif
+ pcToAscii[177] = ACS_CKBOARD; /* 177 */
+ pcToAscii[178] = ACS_CKBOARD; /* 178 */
+ pcToAscii[179] = ACS_VLINE; /* 179 */
+ pcToAscii[180] = ACS_RTEE; /* 180 */
+ pcToAscii[181] = ACS_RTEE; /* 181 */
+ pcToAscii[182] = ACS_RTEE; /* 182 */
+ pcToAscii[183] = ACS_URCORNER; /* 183 */
+ pcToAscii[184] = ACS_URCORNER; /* 184 */
+ pcToAscii[185] = ACS_RTEE; /* 185 */
+ pcToAscii[186] = ACS_VLINE; /* 186 */
+ pcToAscii[187] = ACS_URCORNER; /* 187 */
+ pcToAscii[188] = ACS_LRCORNER; /* 188 */
+ pcToAscii[189] = ACS_LRCORNER; /* 189 */
+ pcToAscii[190] = ACS_LRCORNER; /* 190 */
+ pcToAscii[191] = ACS_URCORNER; /* 191 */
+ pcToAscii[192] = ACS_LLCORNER; /* 192 */
+ pcToAscii[193] = ACS_BTEE; /* 193 */
+ pcToAscii[194] = ACS_TTEE; /* 194 */
+ pcToAscii[195] = ACS_LTEE; /* 195 */
+ pcToAscii[196] = ACS_HLINE; /* 196 */
+ pcToAscii[197] = ACS_PLUS; /* 197 */
+ pcToAscii[198] = ACS_LTEE; /* 198 */
+ pcToAscii[199] = ACS_LTEE; /* 199 */
+ pcToAscii[200] = ACS_LLCORNER; /* 200 */
+ pcToAscii[201] = ACS_ULCORNER; /* 201 */
+ pcToAscii[202] = ACS_BTEE; /* 202 */
+ pcToAscii[203] = ACS_TTEE; /* 203 */
+ pcToAscii[204] = ACS_LTEE; /* 204 */
+ pcToAscii[205] = ACS_HLINE; /* 205 */
+ pcToAscii[206] = ACS_PLUS; /* 206 */
+ pcToAscii[207] = ACS_BTEE; /* 207 */
+ pcToAscii[208] = ACS_BTEE; /* 208 */
+ pcToAscii[209] = ACS_TTEE; /* 209 */
+ pcToAscii[210] = ACS_TTEE; /* 210 */
+ pcToAscii[211] = ACS_LLCORNER; /* 211 */
+ pcToAscii[212] = ACS_LLCORNER; /* 212 */
+ pcToAscii[213] = ACS_ULCORNER; /* 213 */
+ pcToAscii[214] = ACS_ULCORNER; /* 214 */
+ pcToAscii[215] = ACS_PLUS; /* 215 */
+ pcToAscii[216] = ACS_PLUS; /* 216 */
+ pcToAscii[217] = ACS_LRCORNER; /* 217 */
+ pcToAscii[218] = ACS_ULCORNER; /* 218 */
+ pcToAscii[219] = ACS_BLOCK; /* 219 */
+ pcToAscii[220] = ACS_BLOCK; /* 220 */
+ pcToAscii[221] = ACS_BLOCK; /* 221 */
+ pcToAscii[222] = ACS_BLOCK; /* 222 */
+ pcToAscii[223] = ACS_BLOCK; /* 223 */
+ #ifdef ACS_PI
+ pcToAscii[245] = ACS_PI; /* 227 */
+ #endif
+ pcToAscii[241] = ACS_PLMINUS; /* 241 */
+ #ifdef ACS_GEQUAL
+ pcToAscii[242] = ACS_GEQUAL; /* 242 */
+ #endif
+ #ifdef ACS_LEQUAL
+ pcToAscii[243] = ACS_LEQUAL; /* 243 */
+ #endif
+ pcToAscii[248] = ACS_DEGREE; /* 248 */
+ pcToAscii[254] = ACS_BULLET; /* 254 */
+ }
+#endif
+}
+
+static void stopcurses()
+{
+ /*
+ * The erase and werase routines copy blanks to every position in the
+ * window, clearing the screen. The clear and wclear routines are
+ * like erase and werase, but they also call clearok, so that the
+ * screen is cleared completely on the next call to wrefresh for that
+ * window and repainted from scratch.
+ */
+ clear(); /* blank the screen */
+ refresh(); /* this is necessary */
+ keypad(stdscr, FALSE); /* disable keyboard mapping */
+ nocbreak(); /* wait for \n */
+ echo(); /* echo input */
+ endwin(); /* close the curses library */
+}
+
+/*
+ * Show a warning message.
+ */
+
+static int confirmExit()
+{
+ /* we need the buffer address */
+
+ class MyBuffer: public TDrawBuffer
+ {
+ public:
+ ushort *getBufAddr() { return data; }
+ };
+ MyBuffer b;
+ static char msg[] = "Warning: are you sure you want to quit ?";
+
+ b.moveChar(0, ' ', 0x4f, TScreen::screenWidth);
+ b.moveStr(max((TScreen::screenWidth - (int) (sizeof(msg) - 1)) / 2,
+ 0), msg, 0x4f);
+ TScreen::writeRow(0, b.getBufAddr(), TScreen::screenWidth);
+
+ timeout(-1); /* set getch() in blocking mode */
+ int key = getch();
+ timeout(0); /* set getch() in non-blocking mode */
+ return toupper(key) == 'Y';
+}
+
+static void freeResources()
+{
+ TScreen::drawMouse(0);
+#ifdef ENABLE_GPM
+ gpmClose();
+#endif
+ stopcurses();
+#ifdef ENABLE_VCS
+ vcsClose();
+#endif
+#ifdef ENABLE_FBSDM
+ fbsdmClose();
+#endif
+ delete[] TScreen::screenBuffer;
+ LOG("terminated");
+}
+
+/*
+ * General signal handler.
+ */
+
+static void sigHandler(int signo)
+{
+ struct sigaction dfl_handler;
+
+ sigemptyset(&dfl_handler.sa_mask);
+ dfl_handler.sa_flags = SA_RESTART;
+ switch (signo)
+ {
+#ifdef ENABLE_FBSDM
+ case FBSDM_SIGNAL:
+ msFlag++;
+ break;
+#endif
+ case SIGALRM:
+ /*
+ * called every DELAY_SIGALRM ms
+ */
+ currentTime += DELAY_SIGALRM;
+ break;
+ case SIGCONT:
+ /*
+ * called when the user restart the process after a ctrl-z
+ */
+ LOG("continuing process");
+ TScreen::resume();
+
+ /* re-enable SIGTSTP */
+
+ dfl_handler.sa_handler = sigHandler;
+ sigaction(SIGTSTP, &dfl_handler, NULL);
+ break;
+ case SIGINT:
+ case SIGQUIT:
+ /*
+ * These signals are now trapped.
+ * Date: Wed, 12 Feb 1997 10:45:55 +0100 (MET)
+ *
+ * Ignore SIGINT and SIGQUIT to avoid recursive calls.
+ */
+ dfl_handler.sa_handler = SIG_IGN;
+ sigaction(SIGINT, &dfl_handler, NULL);
+ sigaction(SIGQUIT, &dfl_handler, NULL);
+
+ /* ask the user what to do */
+
+ if (confirmExit())
+ {
+ freeResources(); /* do a nice exit */
+ exit(EXIT_FAILURE);
+ }
+ doRepaint++;
+
+ /* re-enable SIGINT and SIGQUIT */
+
+ dfl_handler.sa_handler = sigHandler;
+ sigaction(SIGINT, &dfl_handler, NULL);
+ sigaction(SIGQUIT, &dfl_handler, NULL);
+ break;
+ case SIGTSTP:
+ /*
+ * called when the user presses ctrl-z
+ */
+ TScreen::suspend();
+ LOG("process stopped");
+
+ /* use the default handler for SIGTSTP */
+
+ dfl_handler.sa_handler = SIG_DFL;
+ sigaction(SIGTSTP, &dfl_handler, NULL);
+ raise(SIGTSTP); /* stop the process */
+ break;
+ case SIGWINCH:
+ doResize++;
+ }
+}
+
+/*
+ * CLASS FUNCTIONS
+ */
+
+/*
+ * TScreen constructor.
+ */
+
+TScreen::TScreen()
+{
+ char *p = getenv("TVLOG");
+ if (p != NULL && *p != '\0')
+ {
+ xlog.open(p);
+ LOG("using environment variable TVLOG=" << p);
+ }
+ else xlog.open("/dev/null");
+ env[0] = '\0';
+ if ((p = getenv("TVOPT")) != NULL)
+ {
+ LOG("using environment variable TVOPT=" << p);
+ for (char *d = env; *p != '\0'; p++) *d++ = tolower(*p);
+ }
+
+ /* acquire screen size */
+
+ winsize win;
+ ioctl(STDIN_FILENO, TIOCGWINSZ, &win);
+ if (win.ws_col > 0 && win.ws_row > 0)
+ {
+ screenWidth = range(win.ws_col, 4, maxViewWidth);
+ screenHeight = range(win.ws_row, 4, 80);
+ }
+ else
+ {
+ LOG("unable to detect screen size, using 80x25");
+ screenWidth = 80;
+ screenHeight = 25;
+ }
+#ifdef __FreeBSD__
+ /*
+ * Kludge: until we find a right way to fix the "last-line" display
+ * problem, this is a solution.
+ */
+ screenHeight--;
+#endif
+ LOG("screen size is " << (int) screenWidth << "x" <<
+ (int) screenHeight);
+ screenBuffer = new ushort[screenWidth * screenHeight];
+
+ /* internal stuff */
+
+ curX = curY = 0;
+ currentTime = doRepaint = doResize = evLength = 0;
+ evIn = evOut = &evQueue[0];
+ kbEscTimer.stop();
+ msAutoTimer.stop();
+ msOldButtons = msWhere.x = msWhere.y = 0;
+ wakeupTimer.start(DELAY_WAKEUP);
+
+ /* setup file descriptors */
+
+ FD_ZERO(&fdSetRead);
+ FD_ZERO(&fdSetWrite);
+ FD_ZERO(&fdSetExcept);
+ FD_SET(STDIN_FILENO, &fdSetRead);
+
+#ifdef ENABLE_FBSDM
+ fbsdmInit();
+#endif
+#ifdef ENABLE_VCS
+ vcsInit();
+#endif
+ /*
+ * We have to call startcurses() before the gpmInit(), otherwise we
+ * shall not have the mouse (see the curs_mouse manual page for more
+ * details).
+ */
+ startcurses(); /* curses stuff */
+#ifdef ENABLE_GPM
+ gpmInit();
+#endif
+ /* catch useful signals */
+
+ struct sigaction dfl_handler;
+
+ dfl_handler.sa_handler = sigHandler;
+ sigemptyset(&dfl_handler.sa_mask);
+ dfl_handler.sa_flags = SA_RESTART;
+
+#ifdef ENABLE_FBSDM
+ sigaction(FBSDM_SIGNAL, &dfl_handler, NULL);
+#endif
+ sigaction(SIGALRM, &dfl_handler, NULL);
+ sigaction(SIGCONT, &dfl_handler, NULL);
+ sigaction(SIGINT, &dfl_handler, NULL);
+ sigaction(SIGQUIT, &dfl_handler, NULL);
+ sigaction(SIGTSTP, &dfl_handler, NULL);
+ sigaction(SIGWINCH, &dfl_handler, NULL);
+
+ /* generates a SIGALRM signal every DELAY_SIGALRM ms */
+
+ struct itimerval timer;
+ timer.it_interval.tv_usec = timer.it_value.tv_usec =
+ DELAY_SIGALRM * 1000;
+ timer.it_interval.tv_sec = timer.it_value.tv_sec = 0;
+ setitimer(ITIMER_REAL, &timer, NULL);
+}
+
+/*
+ * TScreen destructor.
+ */
+
+TScreen::~TScreen()
+{
+ freeResources();
+}
+
+void
+TScreen::resume()
+{
+ startcurses();
+#ifdef ENABLE_GPM
+ gpmResume();
+#endif
+ doRepaint++;
+}
+
+void TScreen::suspend()
+{
+#ifdef ENABLE_GPM
+ gpmSuspend();
+#endif
+ stopcurses();
+}
+
+/*
+ * Gets an event from the queue.
+ */
+
+void TScreen::getEvent(TEvent &event)
+{
+ event.what = evNothing;
+ if (doRepaint > 0)
+ {
+ doRepaint = 0;
+ event.message.command = cmSysRepaint;
+ event.what = evCommand;
+ }
+ else if (doResize > 0)
+ {
+ /*
+ * wresize(...) generates a segmentation fault. Any idea ?
+ *
+ * Added the gpmSuspend and gpmResume function calls,
+ * otherwise we loose mouse.
+ */
+#ifdef ENABLE_GPM
+ gpmSuspend();
+#endif
+ clear(); /* blank the screen */
+ refresh(); /* this is necessary */
+ stopcurses();
+ startcurses();
+#ifdef ENABLE_GPM
+ gpmResume();
+#endif
+ doResize = 0;
+ winsize win;
+ ioctl(STDIN_FILENO, TIOCGWINSZ, &win);
+ if (win.ws_col > 0 && win.ws_row > 0)
+ {
+ screenWidth = range(win.ws_col, 4, maxViewWidth);
+ screenHeight = range(win.ws_row, 4, 80);
+ delete[] screenBuffer;
+ screenBuffer = new ushort[screenWidth * screenHeight];
+ LOG("screen resized to " << (int) screenWidth << "x"
+ << (int) screenHeight);
+ }
+ event.message.command = cmSysResize;
+ event.what = evCommand;
+ }
+ else if (evLength > 0) /* handles pending events */
+ {
+ evLength--;
+ event = *evOut;
+ if (++evOut >= &evQueue[eventQSize]) evOut = &evQueue[0];
+ }
+#ifdef ENABLE_FBSDM
+ else if (msFlag > 0)
+ {
+ msFlag--;
+ fbsdmHandle();
+ }
+#endif
+ else if (msAutoTimer.isExpired())
+ {
+ /*
+ * Now evMouseAuto works well.
+ * Date: Tue, 28 Jan 1997 19:35:31 +0100 (MET)
+ */
+ msAutoTimer.start(DELAY_AUTOCLICK_NEXT);
+ event.mouse.buttons = msOldButtons;
+ event.mouse.where = msWhere;
+ event.what = evMouseAuto;
+ }
+ else if (wakeupTimer.isExpired())
+ {
+ wakeupTimer.start(DELAY_WAKEUP);
+ event.message.command = cmSysWakeup;
+ event.what = evCommand;
+ }
+ else
+ {
+ fdActualRead = fdSetRead;
+ fdActualWrite = fdSetWrite;
+ fdActualExcept = fdSetExcept;
+ int kbReady = 0;
+ int msReady = 0;
+
+#ifdef ENABLE_GPM
+ if (msFd >= 0 && !gpm_flag) /* check if mouse is alive */
+ {
+ LOG("lost connection to gpm server");
+ drawMouse(0);
+ gpmClose();
+ }
+#endif
+ /*
+ * suspend until there is a signal or some data in file
+ * descriptors
+ */
+ if (select(FD_SETSIZE, &fdActualRead, &fdActualWrite,
+ &fdActualExcept, NULL) > 0)
+ {
+ kbReady = FD_ISSET(STDIN_FILENO, &fdActualRead);
+#ifdef ENABLE_GPM
+ msReady = msFd >= 0 && FD_ISSET(msFd, &fdActualRead);
+#endif
+ }
+ if (kbReady || kbEscTimer.isRunning()) kbHandle();
+#ifdef ENABLE_GPM
+ if (msReady) gpmHandle();
+#endif
+ if (!(kbReady || msReady))
+ {
+ /*
+ * We are here because something (neither mouse nor
+ * stdin) triggered select(). It should be a user
+ * defined file descriptor so we must respond with
+ * a call to TProgram::idle(). The user can redefine
+ * TProgram::idle() to check its own file descriptors.
+ */
+ wakeupTimer.start(DELAY_WAKEUP);
+ event.message.command = cmSysWakeup;
+ event.what = evCommand;
+ }
+ }
+}
+
+/*
+ * Generates a beep.
+ */
+void
+TScreen::makeBeep()
+{
+#ifdef ENABLE_VCS
+ /*
+ * We can't call refresh() when using VCS, otherwise it will clear the
+ * screen.
+ */
+ if (vcsFd >= 0)
+ {
+ /*
+ * high word = clock ticks
+ * low word = counter value (1193180 / frequency)
+ */
+ ioctl(STDIN_FILENO, KDMKTONE, 0x005004a9);
+ }
+ else
+#endif
+ {
+ beep();
+ refresh();
+ }
+}
+
+/*
+ * Puts an event in the queue. If the queue is full the event will be
+ * discarded.
+ */
+
+void TScreen::putEvent(TEvent &event)
+{
+ if (evLength < eventQSize)
+ {
+ evLength++;
+ *evIn = event;
+ if (++evIn >= &evQueue[eventQSize]) evIn = &evQueue[0];
+ }
+}
+
+/*
+ * Hides or shows the cursor.
+ */
+
+void TScreen::drawCursor(int show)
+{
+ if (show) moveCursor(curX, curY);
+ else moveCursor(screenWidth - 1, screenHeight - 1);
+#ifdef NCURSES_VERSION
+#ifdef ENABLE_VCS
+ if (vcsFd < 0)
+ {
+#endif
+ if (show) curs_set(1); /* cursor normal */
+ else curs_set(0); /* cursor invisible */
+#ifdef ENABLE_VCS
+ }
+#endif
+#endif
+}
+
+/*
+ * Hides or shows the mouse pointer.
+ */
+
+void TScreen::drawMouse(int show)
+{
+#if defined(ENABLE_FBSDM) || defined(ENABLE_GPM)
+#ifdef ENABLE_FBSDM
+ if (msUseArrow)
+ {
+ mouse_info_t mi;
+
+ mi.operation = MOUSE_HIDE;
+ ioctl(STDOUT_FILENO, CONS_MOUSECTL, &mi);
+ if (show)
+ {
+ mi.operation = MOUSE_SHOW;
+ ioctl(STDOUT_FILENO, CONS_MOUSECTL, &mi);
+ }
+ }
+ else
+#endif
+ {
+#ifdef ENABLE_GPM
+ if (msFd < 0) return;
+#endif
+ int addr = screenWidth * msWhere.y + msWhere.x;
+ ushort cell = screenBuffer[addr];
+#ifdef ENABLE_VCS
+ if (vcsFd >= 0) /* use vcs */
+ {
+ if (show) cell ^= 0x7f00;
+
+ /* map IBM PC character set to another code page ? */
+
+ if (vcsMap != NULL)
+ {
+ if ((cell & 0x00ff) >= 0x80)
+ cell = (cell & 0xff00) |
+ vcsMap[(cell & 0x00ff) - 0x80];
+ }
+ lseek(vcsFd, addr * sizeof(ushort) + 4, SEEK_SET);
+ write(vcsFd, &cell, sizeof(ushort));
+ }
+ else /* standard out */
+#endif
+ {
+ int code = cell & 0xff;
+ int color = (cell & 0xff00) >> 8;
+
+ if (screenMode == smCO80)
+ {
+ /* invert the colors */
+
+ if (show) color ^= 0x7f;
+ }
+ else if (screenMode == smMono)
+ {
+ /* rotate the colors */
+
+ if (show) switch (color)
+ {
+ case 0x07: color = 0x70; break;
+ case 0x0f: color = 0x70; break;
+ case 0x70: color = 0x0f;
+ }
+ }
+ move(msWhere.y, msWhere.x);
+ attrset(attributeMap[color]);
+ addch(pcToAscii[code]);
+ move(curY, curX);
+ refresh(); /* this is necessary */
+ }
+ }
+#endif
+}
+
+/*
+ * Moves the cursor to another place.
+ */
+
+void
+TScreen::moveCursor(int x, int y)
+{
+#ifdef ENABLE_VCS
+ if (vcsFd >= 0) /* use vcs */
+ {
+ unsigned char where[2] = {x, y};
+
+ lseek(vcsFd, 2, SEEK_SET);
+ write(vcsFd, where, sizeof(where));
+ }
+ else /* standard out */
+#endif
+ {
+ move(y, x);
+ refresh(); /* this is necessary */
+ }
+ curX = x;
+ curY = y;
+}
+
+/*
+ * Draws a line of text on the screen.
+ */
+
+void
+TScreen::writeRow(int dst, ushort *src, int len)
+{
+#ifdef ENABLE_VCS
+ if (vcsFd >= 0) /* use vcs */
+ {
+ lseek(vcsFd, dst * sizeof(ushort) + 4, SEEK_SET);
+
+ /* map IBM PC character set to another code page ? */
+
+ if (vcsMap != NULL)
+ {
+ int i = len;
+ ushort buf[maxViewWidth];
+ ushort *from = src;
+ ushort *to = buf;
+
+ while (i-- > 0)
+ {
+ /* extract character and attribute pair */
+
+ ushort pair = *from++;
+
+ /* map the character */
+
+ if ((pair & 0x00ff) >= 0x80)
+ pair = (pair & 0xff00) |
+ vcsMap[(pair & 0x00ff) - 0x80];
+ *to++ = pair;
+ }
+ write(vcsFd, buf, len * sizeof(ushort));
+ }
+ else write(vcsFd, src, len * sizeof(ushort));
+ }
+ else /* standard out */
+#endif
+ {
+ int x = dst % TScreen::screenWidth;
+ int y = dst / TScreen::screenWidth;
+
+ move(y, x);
+ while (len-- > 0)
+ {
+ int code = *src & 0xff; /* character code */
+ int color = (*src & 0xff00) >> 8; /* color code */
+
+ attrset(attributeMap[color]);
+ addch(pcToAscii[code]);
+ src++;
+ }
+ move(curY, curX);
+ /* refresh(); */ /* not really necessary */
+ }
+}
+
+/**
+ * Returns the length of the file associated with the stream.
+ */
+streampos
+filelength(istream &s)
+{
+ /*
+ * First get curent position, then get position after seeking
+ * from begining to the end, finally seek back to original
+ * position.
+ */
+ streampos curpos = s.tellg();
+
+ s.seekg(0, ios::end);
+ streampos size = s.tellg();
+
+ s.seekg(curpos);
+ return size;
+}
+
+/**
+ * Splits a path into its directory and file components.
+ */
+void
+expandPath(const char path[], char *dir, char *file)
+{
+ char *tag = strrchr(path, '/');
+
+ /* the path is in the form /dir1/dir2/file ? */
+
+ if (tag == NULL) {
+ /* there is only the file name */
+ strcpy(file, path);
+ dir[0] = '\0';
+ } else {
+ strcpy(file, tag + 1);
+ strncpy(dir, path, tag - path + 1);
+ dir[tag - path + 1] = '\0';
+ }
+}
+
+/**
+ * Undocumented.
+ */
+void
+fexpand(char path[])
+{
+ char dir[PATH_MAX];
+ char file[PATH_MAX];
+ char oldPath[PATH_MAX];
+
+ expandPath(path, dir, file);
+ getcwd(oldPath, sizeof(oldPath));
+ chdir(dir);
+ getcwd(dir, sizeof(dir));
+ chdir(oldPath);
+
+ if (strcmp(dir, "/") == 0)
+ sprintf(path, "/%s", file);
+ else
+ sprintf(path, "%s/%s", dir, file);
+}
diff --git a/freebsdtvision/lib/system.h b/freebsdtvision/lib/system.h
new file mode 100644
index 0000000..b1e8f26
--- /dev/null
+++ b/freebsdtvision/lib/system.h
@@ -0,0 +1,622 @@
+/**
+ * @file system.h
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#if !defined( __EVENT_CODES )
+#define __EVENT_CODES
+
+/* Event codes */
+
+/** \var evMouseDown
+ * Mouse button pressed.
+ * @see TEvent::what
+ */
+const int evMouseDown = 0x0001;
+
+/** \var evMouseUp
+ * Mouse button released.
+ * @see TEvent::what
+ */
+const int evMouseUp = 0x0002;
+
+/** \var evMouseMove
+ * Mouse changed location.
+ * @see TEvent::what
+ */
+const int evMouseMove = 0x0004;
+
+/** \var evMouseAuto
+ * Periodic event while mouse button held down.
+ * @see TEvent::what
+ */
+const int evMouseAuto = 0x0008;
+
+/** \var evKeyDown
+ * Key pressed.
+ * @see TEvent::what
+ */
+const int evKeyDown = 0x0010;
+
+/** \var evCommand
+ * Command event.
+ * @see TEvent::what
+ */
+const int evCommand = 0x0100;
+
+/** \var evBroadcast
+ * Broadcast event.
+ * @see TEvent::what
+ */
+const int evBroadcast = 0x0200;
+
+/* Event masks */
+
+/** \var evNothing
+ * Event already handled.
+ * @see TEvent::what
+ */
+const int evNothing = 0x0000;
+
+/** \var evMouse
+ * Mouse event.
+ * @see TEvent::what
+ */
+const int evMouse = 0x000f;
+
+/** \var evKeyboard
+ * Keyboard event.
+ * @see TEvent::what
+ */
+const int evKeyboard = 0x0010;
+
+/** \var evMessage
+ * Message (command, broadcast, or user-defined) event.
+ * @see TEvent::what
+ */
+const int evMessage = 0xFF00;
+
+/* Mouse button state masks */
+
+const int mbLeftButton = 0x01;
+const int mbRightButton = 0x02;
+
+/* Mouse event flags */
+
+const int meMouseMoved = 0x01;
+const int meDoubleClick = 0x02;
+
+#endif // __EVENT_CODES
+
+#if defined( Uses_TEvent ) && !defined( __TEvent )
+#define __TEvent
+
+/**
+ * Stores mouse events.
+ *
+ * This structure holds the data that characterizes a mouse event: button
+ * number, whether double-clicked, and the coordinates of the point where the
+ * click was detected.
+ * @see TEvent
+ * @see TEventQueue
+ * @short Information about mouse events
+ */
+struct MouseEventType
+{
+ /**
+ * This is the position where the event happened.
+ */
+ TPoint where;
+ /**
+ * Helps to specify the event.
+ *
+ * This bitmap variable is set to meDoubleClick if a double-click event
+ * happened. If the mouse is simply moved its value is meMouseMoved.
+ * Otherwise its value is 0.
+ *
+ * <pre>
+ * Flag Value Meaning
+ *
+ * meMouseMoved 0x01 Set if mouse is moved
+ * meDoubleClick 0x02 Set if a button was double clicked
+ * </pre>
+ */
+ ulong eventFlags; // Replacement for doubleClick.
+ /**
+ * This bitmap variable stores the status of the control keys when the
+ * event happened. The following values define keyboard states, and can be
+ * used when examining the keyboard shift state:
+ *
+ * <pre>
+ * Flag Value Meaning
+ *
+ * kbRightShift 0x0001 Set if the Right Shift key is currently down
+ * kbLeftShift 0x0002 Set if the Left Shift key is currently down
+ * kbCtrlShift 0x0004 Set if the Ctrl key is currently down
+ * kbAltShift 0x0008 Set if the Alt key is currently down
+ * kbScrollState 0x0010 Set if the keyboard is in the Scroll Lock state
+ * kbNumState 0x0020 Set if the keyboard is in the Num Lock state
+ * kbCapsState 0x0040 Set if the keyboard is in the Caps Lock state
+ * kbInsState 0x0080 Set if the keyboard is in the Ins Lock state
+ * </pre>
+ *
+ * Its value is 0 if none of these keys was pressed. Warning: this
+ * information is not reliable. Its value depends on your operating system
+ * and libraries (gpm, ncurses). Usually only a subset of these flags are
+ * detected. See file `system.cc' for details.
+ */
+ ulong controlKeyState;
+ /**
+ * This variable reports the status of the mouse buttons when the event
+ * happened. It's a combination of the following constants:
+ *
+ * <pre>
+ * Flag Value Meaning
+ *
+ * mbLeftButton 0x01 Set if left button was pressed
+ * mbRightButton 0x02 Set if right button was pressed
+ * </pre>
+ *
+ * These constants are useful when examining the buttons data member. For
+ * example:
+ *
+ * <pre>
+ * if ((event.what == @ref evMouseDown) && (event.buttons == mbLeftButton))
+ * doLeftButtonDownAction();
+ * </pre>
+ *
+ * Note: you can swap left and right buttons by setting variable
+ * @ref TEventQueue::mouseReverse to True. See the `demo' program for more
+ * information.
+ */
+ uchar buttons;
+};
+
+#include <tvision/myendian.h>
+
+/**
+ * This structure stores information about a key.
+ * @see KeyDownEvent
+ * @see TEvent
+ * @short Information about a key
+ */
+struct CharScanType
+{
+#if (BYTE_ORDER == LITTLE_ENDIAN)
+ /**
+ * This is the character code.
+ *
+ * Its value is non-zero if the key has a standard code, like ASCII
+ * characters. The value is zero if the key falls in the special key
+ * class, like arrows, page up, etc.
+ */
+ uchar charCode;
+ /**
+ * This is the scan code.
+ *
+ * Its value is non-zero if the key falls in the special key class. The
+ * value is zero if the key is an ASCII character.
+ */
+ uchar scanCode;
+#elif (BYTE_ORDER == BIG_ENDIAN)
+ /**
+ * @internal
+ */
+ uchar scanCode;
+ /**
+ * @internal
+ */
+ uchar charCode;
+#else
+ #error architecture not supported by this library
+#endif
+};
+
+/**
+ * This structure stores information about key presses.
+ *
+ * The KeyDownEvent structure is a union of keyCode (a ushort) and charScan
+ * (of type struct @ref CharScanType). These two members represent two ways of
+ * viewing the same data: either as a scan code or as a key code.
+ *
+ * Scan codes are what your program receives from the keyboard, while key
+ * codes are usually needed in a switch statement.
+ *
+ * See file `tkeys.h' for a list of keycodes.
+ * @see TEvent
+ * @short Information about key presses
+ */
+struct KeyDownEvent
+{
+ union //____keyUnion
+ {
+ /**
+ * This is the key code.
+ *
+ * It is the concatenation of the scan code and the character code.
+ * @see CharScanType
+ */
+ ushort keyCode;
+ /**
+ * The same as above, but splitted in its two components.
+ * @see CharScanType
+ */
+ CharScanType charScan;
+ };
+ /**
+ * Stores the status of the control keys when the event happened. The
+ * following values define keyboard states, and can be used when
+ * examining the keyboard shift state:
+ *
+ * <pre>
+ * Constant Value Meaning
+ *
+ * kbRightShift 0x0001 Set if the Right Shift key is currently down
+ * kbLeftShift 0x0002 Set if the Left Shift key is currently down
+ * kbCtrlShift 0x0004 Set if the Ctrl key is currently down
+ * kbAltShift 0x0008 Set if the Alt key is currently down
+ * kbScrollState 0x0010 Set if the keyboard is in the Scroll Lock state
+ * kbNumState 0x0020 Set if the keyboard is in the Num Lock state
+ * kbCapsState 0x0040 Set if the keyboard is in the Caps Lock state
+ * kbInsState 0x0080 Set if the keyboard is in the Ins Lock state
+ * </pre>
+ *
+ * Its value is 0 if none of these keys was pressed. Warning: this
+ * information is not reliable. Its value depends on your operating system
+ * and libraries (gpm, ncurses). Usually only a subset of these flags are
+ * detected. See file `system.cc' for details.
+ */
+ ulong controlKeyState;
+};
+
+/**
+ * This structure stores information about message events.
+ *
+ * A message event is a command, specified by the command field, together with
+ * one of several additional pieces of information, ranging from a single byte
+ * of data to a generic pointer.
+ *
+ * This arrangement allows for great flexibility when TVision objects need to
+ * transmit and receive messages to and from other TVision objects.
+ * @see TEvent
+ * @short Information about message events
+ */
+struct MessageEvent
+{
+ /**
+ * Is the code of the command.
+ *
+ * See `views.h' for a list of standard commands. Other commands are
+ * defined in `colorsel.h', `dialogs.h', `editors.h', `outline.h' and
+ * `stddlg.h'.
+ */
+ ushort command;
+ union //____pointerUnion
+ {
+ /**
+ * A generic pointer.
+ *
+ * I suggest you to pay attention to these fields. Use always the same
+ * type in the sender and in the receivers of the message. Otherwise
+ * you may experiment portability problems.
+ */
+ void *infoPtr;
+ /**
+ * A signed long.
+ */
+ long infoLong;
+ /**
+ * An unsigned short.
+ */
+ ushort infoWord;
+ /**
+ * A signed short.
+ */
+ short infoInt;
+ /**
+ * An unsigned byte.
+ */
+ uchar infoByte;
+ /**
+ * A signed character.
+ */
+ char infoChar;
+ };
+};
+
+/**
+ * TEvent holds a union of objects of type:
+ *
+ * @ref KeyDownEvent
+ * @ref MessageEvent
+ * @ref MouseEventType
+ *
+ * keyed by the what field. The @ref TView::handleEvent() member functions and
+ * its derived classes take a TEvent object as argument and respond with the
+ * appropriate action.
+ * @short Information about events
+ */
+struct TEvent
+{
+ /**
+ * This field reports the event's type. Some mnemonics are defined to
+ * indicate types of events to TVision event handlers. The following
+ * evXXXX constants are used in several places: in the what data member
+ * of an TEvent structure, in the @ref TView::eventMask data member of a
+ * view object, and in the @ref positionalEvents and @ref focusedEvents
+ * variables.
+ *
+ * The following event values designate standard event types:
+ *
+ * <pre>
+ * Constant Value Meaning
+ *
+* @ref evMouseDown 0x0001 Mouse button pressed
+* @ref evMouseUp 0x0002 Mouse button released
+* @ref evMouseMove 0x0004 Mouse changed location
+* @ref evMouseAuto 0x0008 Periodic event while mouse button held down
+* @ref evKeyDown 0x0010 Key pressed
+* @ref evCommand 0x0100 Command event
+* @ref evBroadcast 0x0200 Broadcast event
+ * </pre>
+ *
+ * The following constants can be used to mask types of events:
+ *
+ * <pre>
+ * Constant Value Meaning
+ *
+* @ref evNothing 0x0000 Event already handled
+* @ref evMouse 0x000F Mouse event
+* @ref evKeyboard 0x0010 Keyboard event
+* @ref evMessage 0xFF00 Message (command, broadcast, or user-defined) event
+ * </pre>
+ *
+ * The above standard event masks can be used to determine whether an
+ * event belongs to a particular "family" of events. For example:
+ *
+ * <pre>
+ * if ((event.what & @ref evMouse) != 0) doMouseEvent();
+ * </pre>
+ */
+ ushort what;
+ union //____eventUnion
+ {
+ /**
+ * Undocumented.
+ */
+ MouseEventType mouse;
+ /**
+ * Undocumented.
+ */
+ KeyDownEvent keyDown;
+ /**
+ * Undocumented.
+ */
+ MessageEvent message;
+ };
+};
+
+#endif // Uses_TEvent
+
+#if defined( Uses_TEventQueue ) && !defined( __TEventQueue )
+#define __TEventQueue
+
+/**
+ * Stores some information about mouse.
+ *
+ * The inner details will seldom be of interest in normal applications. It
+ * will usually be sufficient to know how the TEvent structure interacts with
+ * @ref TView::handleEvent() and its derivatives.
+ *
+ * Some old stuff is removed.
+ * @see MouseEventType
+ * @short Information about mouse
+ */
+class TEventQueue
+{
+public:
+ /**
+ * In this time interval button presses are recognized as double-click
+ * events.
+ *
+ * Not used in this port. It is still here only for backward compatibility
+ * (the `demo' program uses it). See `system.cc' for details.
+ */
+ static ushort doubleDelay;
+ /**
+ * If set to True left and right mouse buttons are swapped. See the `demo'
+ * program for more information.
+ */
+ static Boolean mouseReverse;
+};
+
+#endif // Uses_TEventQueue
+
+#if defined( Uses_TScreen ) && !defined( __TScreen )
+#define __TScreen
+
+/**
+ * TDisplay provides low-level video functions for its derived class TScreen.
+ *
+ * These, and the other system classes in `system.h', are used
+ * internally by TVision and you would not need to use them explicitly
+ * for normal applications.
+ */
+class TDisplay {
+public:
+ /**
+ * Mnemonics for the video modes used by TDisplay.
+ *
+ * This port uses smCO80 and smMono only.
+ */
+ enum videoModes {
+ smBW80 = 0x0002,
+ smCO80 = 0x0003,
+ smMono = 0x0007,
+ smFont8x8 = 0x0100
+ };
+};
+
+#include <sys/types.h>
+
+/**
+ * A low-level class used to interface to the system.
+ *
+ * TScreen provides low-level video attributes and functions. This class is
+ * used internally by TVision. You do not need to use it explicitly for normal
+ * applications.
+ *
+ * Since this class was rewritten in the porting process, it is not a standard
+ * class and you should not use it. Otherwise you may end with a non-portable
+ * program.
+ * @short The interface to the system
+ */
+class TScreen: public TDisplay {
+public:
+ /**
+ * Constructor.
+ *
+ * Reads enviroment variables, acquires screen size, opens mouse and
+ * screen devices, catches some useful signals and starts an interval
+ * timer.
+ */
+ TScreen();
+ /**
+ * Destructor.
+ *
+ * Releases the resources allocated by the constructor.
+ */
+ ~TScreen();
+ /**
+ * Returns the first available event.
+ */
+ static void getEvent(TEvent &event);
+
+ static void makeBeep();
+
+ /**
+ * Puts an event in the event queue.
+ *
+ * Do not use it, use @ref TProgram::putEvent() if you need.
+ */
+ static void putEvent(TEvent &event);
+ /**
+ * Recovers the execution of the application.
+ *
+ * Resumes the execution of the process after the user stopped it.
+ * Called by @ref TApplication::resume(). You should call the latter
+ * method.
+ */
+ static void resume();
+ /**
+ * Stops the execution of the application.
+ *
+ * Suspends execution of the process.
+ * Called by @ref TApplication::suspend(). You should call the latter
+ * method.
+ */
+ static void suspend();
+ /**
+ * Shows or hides the cursor.
+ *
+ * Flag `show' specifies the operation to perform.
+ */
+ static void drawCursor(int show);
+ /**
+ * Shows or hides the mouse pointer.
+ *
+ * Flag `show' specifies the operation to perform.
+ */
+ static void drawMouse(int show);
+ /**
+ * Moves the cursor to another place.
+ *
+ * Parameters `x' and `y' are 0-based.
+ */
+ static void moveCursor(int x, int y);
+ /**
+ * Writes a row of character & attribute pairs on the screen.
+ *
+ * `dst' is the destination position, `src' is a pointer to the source
+ * buffer and `len' is the size of the buffer expressed as the number
+ * of pairs.
+ */
+ static void writeRow(int dst, ushort *src, int len);
+ /**
+ * Holds the current screen mode.
+ *
+ * It is initialized by the constructor if this class. It is read by
+ * @ref TProgram::initScreen().
+ * @see TDisplay
+ */
+ static ushort screenMode;
+ /**
+ * Holds the current screen width.
+ *
+ * It is initialized by the constructor of this class.
+ */
+ static uchar screenWidth;
+ /**
+ * Holds the current screen height.
+ *
+ * It is initialized by the constructor of this class.
+ */
+ static uchar screenHeight;
+ /**
+ * Holds the current screen buffer address.
+ *
+ * It is initialized by the constructor of this class.
+ */
+ static ushort *screenBuffer;
+ /**
+ * File descriptor set to watch for read operations.
+ *
+ * This set is used to watch for incoming mouse and keyboard data.
+ * Do not FD_ZERO() it in your program. However, FD_SET() and FD_CLR()
+ * are OK.
+ */
+ static fd_set fdSetRead;
+ /**
+ * File descriptor set to watch for write operations.
+ *
+ * This set is used in @ref select() within getEvent(). It is empty by
+ * default and can be used freely.
+ */
+ static fd_set fdSetWrite;
+ /**
+ * File descriptor set to watch for I/O exceptions.
+ *
+ * This set is used in select() within @ref getEvent(). It is empty by
+ * default and can be used freely.
+ */
+ static fd_set fdSetExcept;
+ /**
+ * File descriptor set to indicate read() availability.
+ *
+ * This set is returned by select() within @ref getEvent(). It can be
+ * tested to handle operations on files mentioned in @ref fdSetRead.
+ */
+ static fd_set fdActualRead;
+ /**
+ * File descriptor set to indicate write() completion.
+ *
+ * This set is returned by select() within @ref getEvent(). It can be
+ * tested to handle operations on files mentioned in @ref fdSetWrite.
+ */
+ static fd_set fdActualWrite;
+ /**
+ * File descriptor set to indicate I/O exceptions.
+ *
+ * This set is returned by select() within @ref getEvent(). It can be
+ * tested to handle exceptions on files mentioned in @ref fdSetExcept.
+ */
+ static fd_set fdActualExcept;
+};
+
+#endif // Uses_TScreen
diff --git a/freebsdtvision/lib/textview.cc b/freebsdtvision/lib/textview.cc
new file mode 100644
index 0000000..d3e345d
--- /dev/null
+++ b/freebsdtvision/lib/textview.cc
@@ -0,0 +1,313 @@
+/*
+ * textview.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
+ */
+
+#define Uses_TTextDevice
+#define Uses_TTerminal
+#define Uses_otstream
+#include <tvision/tv.h>
+
+#include <string.h>
+
+using std::ostream;
+using std::streamsize;
+
+TTextDevice::TTextDevice( const TRect& bounds,
+ TScrollBar *aHScrollBar,
+ TScrollBar *aVScrollBar) :
+ TScroller(bounds,aHScrollBar,aVScrollBar)
+{
+}
+
+TTerminal::TTerminal( const TRect& bounds,
+ TScrollBar *aHScrollBar,
+ TScrollBar *aVScrollBar,
+ ushort aBufSize ) :
+ TTextDevice(bounds, aHScrollBar, aVScrollBar),
+ queFront( 0 ),
+#ifndef __UNPATCHED
+ queBack( 0 ),
+ curLineWidth( 0 ) // Added for horizontal cursor tracking.
+#else
+ queBack( 0 )
+#endif
+{
+ growMode = gfGrowHiX + gfGrowHiY;
+ bufSize = min( 32000U, aBufSize );
+ buffer = new char[ bufSize ];
+ setLimit( 0, 1 );
+ setCursor( 0, 0 );
+ showCursor();
+}
+
+
+TTerminal::~TTerminal()
+{
+ delete buffer;
+}
+
+void TTerminal::bufDec( ushort& val )
+{
+ if (val == 0)
+ val = bufSize - 1;
+ else
+ val--;
+}
+
+void TTerminal::bufInc( ushort& val )
+{
+ if( ++val >= bufSize )
+ val = 0;
+}
+
+Boolean TTerminal::canInsert( ushort amount )
+{
+ long T = (queFront < queBack) ?
+ ( queFront + amount ) :
+ ( long(queFront) - bufSize + amount); // cast needed so we get
+ // signed comparison
+ return Boolean( queBack > T );
+}
+
+void TTerminal::draw()
+{
+ short i;
+ ushort begLine, endLine;
+#ifndef __UNPATCHED
+ char s[ maxViewWidth+1 ]; // KRW: Bug Fix/Enhancement: 95/01/05
+ // Do *NOT* attempt to display more
+ // than maxViewWidth chars
+ // ** assume size.x <= maxViewWidth **
+#else
+ char s[256];
+#endif
+ ushort bottomLine;
+
+ bottomLine = size.y + delta.y;
+ if( limit.y > bottomLine )
+ {
+ endLine = prevLines( queFront, limit.y - bottomLine );
+ bufDec( endLine );
+ }
+ else
+ endLine = queFront;
+
+ if( limit.y > size.y )
+ i = size.y - 1;
+ else
+ {
+ for( i = limit.y; i <= size.y - 1; i++ )
+ writeChar(0, i, ' ', 1, size.x);
+ i = limit.y - 1;
+ }
+
+ for( ; i >= 0; i-- )
+ {
+#ifndef __UNPATCHED
+ // KRW: Bug fix/enhancement - handle any length line by only copying
+ // to s those characters to be displayed, which we assume will
+ // be < maxViewWidth
+ // This whole block rewritten
+ memset( s, ' ', size.x ); // must display blanks if no characters!
+ begLine = prevLines(endLine, 1);
+ if (endLine >= begLine)
+ {
+ // Entire string to be displayed is in one fragment, not
+ // wrapped around the end of the buffer
+ int fragmentLength = int( endLine - begLine );
+ if (fragmentLength > delta.x)
+ {
+ fragmentLength -= delta.x;
+ fragmentLength = min( size.x, fragmentLength );
+ memcpy( s, &buffer[begLine+delta.x], fragmentLength );
+ }
+ }
+ else
+ {
+ // Extract first fragment into s
+ int deltaLeft = delta.x;
+ int firstFragmentLength = int( bufSize - begLine );
+ if (firstFragmentLength > delta.x)
+ {
+ deltaLeft = 0;
+ firstFragmentLength -= delta.x;
+ firstFragmentLength = min( size.x, firstFragmentLength );
+ memcpy( s, &buffer[begLine+delta.x], firstFragmentLength );
+ }
+ else
+ {
+ deltaLeft -= firstFragmentLength;
+ firstFragmentLength = 0;
+ }
+ // Extract second fragment into s
+ if ((endLine > deltaLeft) && (firstFragmentLength < size.x))
+ {
+ int secondFragmentLength = endLine - deltaLeft;
+ secondFragmentLength =
+ min(size.x-firstFragmentLength,secondFragmentLength);
+ memcpy( &s[ firstFragmentLength ], &buffer[ deltaLeft ],
+ secondFragmentLength );
+ }
+ }
+
+ s[ size.x ] = EOS;
+ writeStr( 0, i, s, 1 );
+
+ endLine = begLine;
+ bufDec( endLine );
+#else
+ begLine = prevLines(endLine, 1);
+ if (endLine >= begLine)
+ {
+ int T = int( endLine - begLine );
+ memcpy( s, &buffer[begLine], T );
+ s[T] = EOS;
+ }
+ else
+ {
+ int T = int( bufSize - begLine);
+ memcpy( s, &buffer[begLine], T );
+ memcpy( s+T, buffer, endLine );
+ s[T+endLine] = EOS;
+ }
+ if( delta.x >= strlen(s) )
+ *s = EOS;
+ else
+ strcpy( s, &s[delta.x] );
+
+ writeStr( 0, i, s, 1 );
+ writeChar( strlen(s), i, ' ', 1, size.x );
+ endLine = begLine;
+ bufDec( endLine );
+#endif
+ }
+}
+
+ushort TTerminal::nextLine( ushort pos )
+{
+ if( pos != queFront )
+ {
+ while( buffer[pos] != '\n' && pos != queFront )
+ bufInc(pos);
+ if( pos != queFront )
+ bufInc( pos );
+ }
+ return pos;
+}
+
+int TTerminal::do_sputn( const char *s, int count )
+{
+#ifndef __UNPATCHED
+ ushort screenWidth = limit.x;
+ ushort screenLines = limit.y;
+
+ // BUG FIX - Mon 07/25/94 - EFW: Made TTerminal adjust horizontal
+ // scrollbar limit too.
+
+ /* SS: stupid thing */
+
+ ushort i;
+ for(i = 0; i < count; i++, curLineWidth++)
+ if(s[i] == '\n')
+ {
+ screenLines++;
+
+ // Check width when an LF is seen.
+ if(curLineWidth > screenWidth)
+ screenWidth = curLineWidth;
+
+ // Reset width for the next line.
+ curLineWidth = 0;
+ }
+
+ // One last check for width for cases where whole lines aren't
+ // received, maybe just a character or two.
+ if(curLineWidth > screenWidth)
+ screenWidth = curLineWidth;
+#else
+ ushort screenLines = limit.y;
+ for( ushort i = 0; i < count; i++ )
+ if( s[i] == '\n' )
+ screenLines++;
+#endif
+
+ while( !canInsert( count ) )
+ {
+ queBack = nextLine( queBack );
+ screenLines--;
+ }
+
+ if( queFront + count >= bufSize )
+ {
+ i = bufSize - queFront;
+ memcpy( &buffer[queFront], s, i );
+ memcpy( buffer, &s[i], count - i );
+ queFront = count - i;
+ }
+ else
+ {
+ memcpy( &buffer[queFront], s, count );
+ queFront += count;
+ }
+
+#ifndef __UNPATCHED
+ setLimit( screenWidth, screenLines );
+#else
+ setLimit( limit.x, screenLines );
+#endif
+ scrollTo( 0, screenLines + 1 );
+ i = prevLines( queFront, 1 );
+ if( i <= queFront )
+ i = queFront - i;
+ else
+ i = bufSize - (i - queFront);
+ setCursor( i, screenLines - delta.y - 1 );
+ drawView();
+ return count;
+}
+
+Boolean TTerminal::queEmpty()
+{
+ return Boolean( queBack == queFront );
+}
+
+TerminalBuf::TerminalBuf(TTerminal *tt): term(tt)
+{
+}
+
+int TerminalBuf::overflow(int c)
+{
+ streamsize n = pptr() - pbase();
+
+ if (n > 0 && sync() == EOF) return EOF;
+ if (c != EOF)
+ {
+ char b = c;
+
+ term->do_sputn(&b, sizeof(b));
+ }
+ pbump(-n);
+ return 0;
+}
+
+int TerminalBuf::sync()
+{
+ streamsize n = pptr() - pbase();
+
+ if (n > 0) term->do_sputn(pbase(), n);
+ return 0;
+}
+
+otstream::otstream( TTerminal *tt ):
+ ostream(&buf),
+ buf(tt)
+{
+}
diff --git a/freebsdtvision/lib/textview.h b/freebsdtvision/lib/textview.h
new file mode 100644
index 0000000..02ab08c
--- /dev/null
+++ b/freebsdtvision/lib/textview.h
@@ -0,0 +1,224 @@
+/*
+ * textview.h
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
+ */
+
+#if defined( Uses_TTextDevice ) && !defined( __TTextDevice )
+#define __TTextDevice
+
+/** \file textview.h
+ * textview.h
+ */
+
+#include <iostream>
+
+class TRect;
+class TScrollBar;
+
+/**
+ * TTextDevice is a scrollable TTY-type text viewer/device driver.
+ *
+ * Apart from the data members and member functions inherited from
+ * @ref TScroller, TTextDevice defines virtual member functions for reading
+ * and writing strings from and to the device.
+ *
+ * TTextDevice exists solely as a base type for deriving real terminal
+ * drivers. TTextDevice uses TScroller's destructor.
+ * @short Scrollable TTY-type text viewer/device driver
+ */
+class TTextDevice : public TScroller
+{
+public:
+ /**
+ * Creates a TTextDevice object with the given bounds, horizontal and
+ * vertical scroll bars by calling @ref TScroller constructor with the
+ * `bounds' and scroller arguments.
+ * @see TScroller::TScroller
+ */
+ TTextDevice( const TRect& bounds,
+ TScrollBar *aHScrollBar,
+ TScrollBar *aVScrollBar
+ );
+ /**
+ * Overrides the corresponding function in class streambuf.
+ *
+ * This is an internal function that is called whenever a character string
+ * is to be inserted into the internal buffer.
+ */
+ virtual int do_sputn( const char *s, int count ) = 0;
+};
+
+#endif // Uses_TTextDevice
+
+#if defined( Uses_TTerminal ) && !defined( __TTerminal )
+#define __TTerminal
+
+class TRect;
+class TScrollBar;
+
+/**
+ * TTerminal implements a "dumb" terminal with buffered string reads and
+ * writes. The default is a cyclic buffer of 64K bytes.
+ * @short Implements a "dumb" terminal with buffered string reads and writes
+ */
+class TTerminal: public TTextDevice
+{
+public:
+ /**
+ * Creates a TTerminal object with the given bounds, horizontal and
+ * vertical scroll bars, and buffer by calling @ref TTextDevice constructor
+ * with the bounds and scroller arguments, then creating a buffer
+ * (pointed to by buffer) with @ref bufSize equal to `aBufSize'.
+ * @see TTextDevice::TTextDevice
+ *
+ * @ref growMode is set to @ref gfGrowHiX | @ref gfGrowHiY. @ref queFront
+ * and @ref queBack are both initialized to 0, indicating an empty buffer.
+ * The cursor is shown at the view's origin, (0,0).
+ */
+ TTerminal( const TRect& bounds,
+ TScrollBar *aHScrollBar,
+ TScrollBar *aVScrollBar,
+ ushort aBufSize
+ );
+ /**
+ * Deallocates the buffer and calls ~TTextDevice().
+ */
+ ~TTerminal();
+ /**
+ * Overrides the corresponding function in class streambuf.
+ *
+ * This is an internal function that is called whenever a character string
+ * is to be inserted into the internal buffer.
+ */
+ virtual int do_sputn( const char *s, int count );
+ /**
+ * Used to manipulate a queue offsets with wrap around: increments `val'
+ * by 1, then if `val' >= @ref bufSize, `val' is set to zero.
+ */
+ void bufInc( ushort& val );
+ /**
+ * Returns True if the number of bytes given in amount can be inserted
+ * into the terminal buffer without having to discard the top line.
+ * Otherwise, returns False.
+ */
+ Boolean canInsert( ushort amount );
+ /**
+ * Undocumented.
+ */
+ short calcWidth();
+ /**
+ * Called whenever the TTerminal scroller needs to be redrawn; for
+ * example, when the scroll bars are clicked on, the view is unhidden or
+ * resized, the delta values are changed, or when added text forces a
+ * scroll.
+ */
+ virtual void draw();
+ /**
+ * Returns the buffer offset of the start of the line that follows the
+ * position given by `pos'.
+ */
+ ushort nextLine( ushort pos );
+ /**
+ * Returns the offset of the start of the line that is `lines' lines
+ * previous to the position given by `pos'.
+ */
+ ushort prevLines( ushort pos, ushort lines );
+ /**
+ * Returns True if @ref queFront is equal to @ref queBack.
+ */
+ Boolean queEmpty();
+protected:
+ /**
+ * The size of the terminal's buffer in bytes.
+ */
+ ushort bufSize;
+ /**
+ * Pointer to the first byte of the terminal's buffer.
+ */
+ char *buffer;
+ /**
+ * Offset (in bytes) of the first byte stored in the terminal buffer.
+ */
+ ushort queFront;
+ /**
+ * Offset (in bytes) of the last byte stored in the terminal buffer.
+ */
+ ushort queBack;
+ /**
+ * Used to manipulate queue offsets with wrap around: if `val' is zero,
+ * `val' is set to (bufSize - 1); otherwise, `val' is decremented.
+ */
+ void bufDec(ushort& val);
+#ifndef __UNPATCHED
+ /**
+ * Undocumented.
+ */
+ ushort curLineWidth; // Added horizontal cursor tracking
+#endif
+};
+
+#endif // Uses_TTerminal
+
+#if defined( Uses_otstream ) && !defined( __otstream )
+#define __otstream
+
+#include <iostream>
+
+/**
+ * Undocumented.
+ */
+class TerminalBuf: public std::streambuf
+{
+protected:
+ /**
+ * Undocumented.
+ */
+ TTerminal *term;
+public:
+ /**
+ * Undocumented.
+ */
+ TerminalBuf(TTerminal *tt);
+ /**
+ * Overrides the corresponding function in class streambuf.
+ *
+ * When the internal buffer in a streambuf is full and the iostream
+ * associated with that streambuf tries to put another character into the
+ * buffer, overflow() is called. Its argument `c' is the character that
+ * caused the overflow.
+ *
+ * In TerminalBuf the underlying streambuf has no buffer, so every
+ * character results in an overflow() call.
+ */
+ virtual int overflow( int c = EOF );
+ /**
+ * Undocumented.
+ */
+ virtual int sync();
+};
+
+/**
+ * Undocumented.
+ */
+class otstream : public std::ostream
+{
+protected:
+ /**
+ * Undocumented.
+ */
+ TerminalBuf buf;
+public:
+ /**
+ * Undocumented.
+ */
+ otstream( TTerminal *tt );
+};
+
+#endif
diff --git a/freebsdtvision/lib/tkeys.h b/freebsdtvision/lib/tkeys.h
new file mode 100644
index 0000000..4f96228
--- /dev/null
+++ b/freebsdtvision/lib/tkeys.h
@@ -0,0 +1,93 @@
+/*
+ * tkeys.h
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#if !defined( __TKEYS_H )
+#define __TKEYS_H
+
+/** \file tkeys.h
+ * tkeys.h
+ */
+
+const ushort
+
+// Control keys
+//
+// NOTE: these Control key definitions are intended only to provide
+// mnemonic names for the ASCII control codes. They cannot be used
+// to define menu hotkeys, etc., which require scan codes.
+
+ kbCtrlA = 0x0001, kbCtrlB = 0x0002, kbCtrlC = 0x0003,
+ kbCtrlD = 0x0004, kbCtrlE = 0x0005, kbCtrlF = 0x0006,
+ kbCtrlG = 0x0007, kbCtrlH = 0x0008, kbCtrlI = 0x0009,
+ kbCtrlJ = 0x000a, kbCtrlK = 0x000b, kbCtrlL = 0x000c,
+ kbCtrlM = 0x000d, kbCtrlN = 0x000e, kbCtrlO = 0x000f,
+ kbCtrlP = 0x0010, kbCtrlQ = 0x0011, kbCtrlR = 0x0012,
+ kbCtrlS = 0x0013, kbCtrlT = 0x0014, kbCtrlU = 0x0015,
+ kbCtrlV = 0x0016, kbCtrlW = 0x0017, kbCtrlX = 0x0018,
+ kbCtrlY = 0x0019, kbCtrlZ = 0x001a,
+
+// Extended key codes
+
+ kbEsc = 0x011b, kbAltSpace = 0x0200, kbCtrlIns = 0x0400,
+ kbShiftIns = 0x0500, kbCtrlDel = 0x0600, kbShiftDel = 0x0700,
+ kbBack = 0x0e08, kbCtrlBack = 0x0e7f, kbShiftTab = 0x0f00,
+ kbTab = 0x0f09, kbAltQ = 0x1000, kbAltW = 0x1100,
+ kbAltE = 0x1200, kbAltR = 0x1300, kbAltT = 0x1400,
+ kbAltY = 0x1500, kbAltU = 0x1600, kbAltI = 0x1700,
+ kbAltO = 0x1800, kbAltP = 0x1900, kbCtrlEnter = 0x1c0a,
+ kbEnter = 0x1c0d, kbAltA = 0x1e00, kbAltS = 0x1f00,
+ kbAltD = 0x2000, kbAltF = 0x2100, kbAltG = 0x2200,
+ kbAltH = 0x2300, kbAltJ = 0x2400, kbAltK = 0x2500,
+ kbAltL = 0x2600, kbAltZ = 0x2c00, kbAltX = 0x2d00,
+ kbAltC = 0x2e00, kbAltV = 0x2f00, kbAltB = 0x3000,
+ kbAltN = 0x3100, kbAltM = 0x3200, kbF1 = 0x3b00,
+ kbF2 = 0x3c00, kbF3 = 0x3d00, kbF4 = 0x3e00,
+ kbF5 = 0x3f00, kbF6 = 0x4000, kbF7 = 0x4100,
+ kbF8 = 0x4200, kbF9 = 0x4300, kbF10 = 0x4400,
+ kbHome = 0x4700, kbUp = 0x4800, kbPgUp = 0x4900,
+ kbGrayMinus = 0x4a2d, kbLeft = 0x4b00, kbRight = 0x4d00,
+ kbGrayPlus = 0x4e2b, kbEnd = 0x4f00, kbDown = 0x5000,
+ kbPgDn = 0x5100, kbIns = 0x5200, kbDel = 0x5300,
+ kbShiftF1 = 0x5400, kbShiftF2 = 0x5500, kbShiftF3 = 0x5600,
+ kbShiftF4 = 0x5700, kbShiftF5 = 0x5800, kbShiftF6 = 0x5900,
+ kbShiftF7 = 0x5a00, kbShiftF8 = 0x5b00, kbShiftF9 = 0x5c00,
+ kbShiftF10 = 0x5d00, kbCtrlF1 = 0x5e00, kbCtrlF2 = 0x5f00,
+ kbCtrlF3 = 0x6000, kbCtrlF4 = 0x6100, kbCtrlF5 = 0x6200,
+ kbCtrlF6 = 0x6300, kbCtrlF7 = 0x6400, kbCtrlF8 = 0x6500,
+ kbCtrlF9 = 0x6600, kbCtrlF10 = 0x6700, kbAltF1 = 0x6800,
+ kbAltF2 = 0x6900, kbAltF3 = 0x6a00, kbAltF4 = 0x6b00,
+ kbAltF5 = 0x6c00, kbAltF6 = 0x6d00, kbAltF7 = 0x6e00,
+ kbAltF8 = 0x6f00, kbAltF9 = 0x7000, kbAltF10 = 0x7100,
+ kbCtrlPrtSc = 0x7200, kbCtrlLeft = 0x7300, kbCtrlRight = 0x7400,
+ kbCtrlEnd = 0x7500, kbCtrlPgDn = 0x7600, kbCtrlHome = 0x7700,
+ kbAlt1 = 0x7800, kbAlt2 = 0x7900, kbAlt3 = 0x7a00,
+ kbAlt4 = 0x7b00, kbAlt5 = 0x7c00, kbAlt6 = 0x7d00,
+ kbAlt7 = 0x7e00, kbAlt8 = 0x7f00, kbAlt9 = 0x8000,
+ kbAlt0 = 0x8100, kbAltMinus = 0x8200, kbAltEqual = 0x8300,
+ kbCtrlPgUp = 0x8400, kbAltBack = 0x0800, kbNoKey = 0x0000,
+
+// Keyboard state and shift masks
+
+ kbLeftShift = 0x0001,
+ kbRightShift = 0x0002,
+ kbShift = kbLeftShift | kbRightShift,
+ kbLeftCtrl = 0x0004,
+ kbRightCtrl = 0x0004,
+ kbCtrlShift = kbLeftCtrl | kbRightCtrl,
+ kbLeftAlt = 0x0008,
+ kbRightAlt = 0x0008,
+ kbAltShift = kbLeftAlt | kbRightAlt,
+ kbScrollState = 0x0010,
+ kbNumState = 0x0020,
+ kbCapsState = 0x0040,
+ kbInsState = 0x0080;
+
+#endif // __TKEYS_H
diff --git a/freebsdtvision/lib/tobjstrm.cc b/freebsdtvision/lib/tobjstrm.cc
new file mode 100644
index 0000000..87c8ce1
--- /dev/null
+++ b/freebsdtvision/lib/tobjstrm.cc
@@ -0,0 +1,1024 @@
+/**
+ * @file tobjstrm.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
+ */
+
+#define Uses_TStreamable
+#define Uses_TStreamableClass
+#define Uses_TStreamableTypes
+#define Uses_TPWrittenObjects
+#define Uses_TPReadObjects
+#define Uses_pstream
+#define Uses_ipstream
+#define Uses_opstream
+#define Uses_iopstream
+#define Uses_ifpstream
+#define Uses_ofpstream
+#define Uses_fpstream
+#include <tvision/tv.h>
+
+#include <fstream>
+#include <ios>
+
+#include <assert.h>
+#include <fcntl.h>
+#include <limits.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/stat.h>
+
+extern "C" {
+ #include <sys/param.h>
+}
+
+const uchar nullStringLen = UCHAR_MAX;
+
+TStreamableClass::TStreamableClass(const char *n, BUILDER b, int d ) :
+ name( n ),
+ build( b ),
+ delta( d )
+{
+ pstream::initTypes();
+ pstream::registerType( this );
+}
+
+TStreamableTypes::TStreamableTypes() : TNSSortedCollection( 5, 5 )
+{
+}
+
+TStreamableTypes::~TStreamableTypes()
+{
+}
+
+void
+TStreamableTypes::registerType(const TStreamableClass *d )
+{
+ insert( (void *)d );
+}
+
+const TStreamableClass *TStreamableTypes::lookup(const char name[] )
+{
+ ccIndex loc;
+ if( search( (void *)name, loc ) )
+ return (TStreamableClass *)at( loc );
+ else
+ return 0;
+}
+
+void *
+TStreamableTypes::keyOf( void *d )
+{
+ return (void *)((TStreamableClass *)d)->name;
+}
+
+int TStreamableTypes::compare( void *d1, void *d2 )
+{
+ return strcmp( (char *)d1, (char *)d2 );
+}
+
+TPWrittenObjects::TPWrittenObjects() : TNSSortedCollection( 5, 5 ), curId( 0 )
+{
+}
+
+TPWrittenObjects::~TPWrittenObjects()
+{
+}
+
+void
+TPWrittenObjects::registerObject(const void *adr )
+{
+ TPWObj *o = new TPWObj( adr, curId++ );
+ insert( o );
+}
+
+P_id_type TPWrittenObjects::find(const void *d )
+{
+ ccIndex loc;
+ if( search( (void *)d, loc ) )
+ return ((TPWObj *)at( loc ))->ident;
+ else
+ return P_id_notFound;
+}
+
+void *
+TPWrittenObjects::keyOf( void *d )
+{
+ return (void *)((TPWObj *)d)->address;
+}
+
+int TPWrittenObjects::compare( void *o1, void *o2 )
+{
+ if( o1 == o2 )
+ return 0;
+ else if( ((char *)o1)+1 < ((char *)o2)+1 ) // force normalization
+ return -1;
+ else
+ return 1;
+}
+
+TPWObj::TPWObj(const void *adr, P_id_type id ) : address( adr ), ident( id )
+{
+}
+
+TPReadObjects::TPReadObjects() : TNSCollection( 5, 5 ), curId( 0 )
+{
+}
+
+TPReadObjects::~TPReadObjects()
+{
+}
+
+void
+TPReadObjects::registerObject(const void *adr )
+{
+ ccIndex loc = insert( (void *)adr );
+#ifndef __UNPATCHED
+ assert( loc == (ccIndex)curId ); // to be sure that TNSCollection
+#else
+ assert( loc == curId++ ); // to be sure that TNSCollection
+#endif
+ // continues to work the way
+ // it does now...
+#ifndef __UNPATCHED
+ curId++; // Move the increment OUTSIDE the assertion.
+#endif
+}
+
+const void *TPReadObjects::find( P_id_type id )
+{
+ return at( id );
+}
+
+/*---------------------------------------------------------------------------*
+ *
+ *---------------------------------------------------------------------------*/
+
+/**
+ * This form allocates a default buffer.
+ */
+pstream::pstream()
+{
+}
+
+/**
+ * Destroys the pstream object.
+ */
+pstream::~pstream()
+{
+}
+
+/**
+ * Creates the associated @ref TStreamableTypes object types. Called by the
+ * @ref TStreamableClass constructor.
+ */
+void
+pstream::initTypes()
+{
+ if (types == 0)
+ types = new TStreamableTypes;
+}
+
+/**
+ * Undocumented.
+ */
+void
+pstream::registerType(TStreamableClass *ts)
+{
+ types->registerType(ts);
+}
+
+/**
+ * Sets the given error condition, where StreamableError is defined as
+ * follows:
+ *
+ * <pre>
+ * enum StreamableError { peNotRegistered, peInvalidType };
+ * </pre>
+ */
+void
+pstream::error(StreamableError)
+{
+ abort();
+}
+
+/**
+ * Sets the given error condition, where StreamableError is defined as
+ * follows:
+ *
+ * <pre>
+ * enum StreamableError { peNotRegistered, peInvalidType };
+ * </pre>
+ */
+void
+pstream::error(StreamableError, const TStreamable&)
+{
+ abort();
+}
+
+/*---------------------------------------------------------------------------*
+ *
+ *---------------------------------------------------------------------------*/
+
+/**
+ * This form creates a buffered ipstream with the given buffer.
+ */
+ipstream::ipstream(std::streambuf *sb)
+ : std::istream(sb)
+{
+}
+
+/**
+ * Destroys the ipstream object.
+ */
+ipstream::~ipstream()
+{
+ objs.shouldDelete = False;
+ objs.shutDown();
+}
+
+/**
+ * This form moves the stream's current position to the absolute
+ * position given by `pos'.
+ */
+ipstream &
+ipstream::seekg(std::streampos pos)
+{
+ objs.removeAll();
+ std::istream::seekg(pos);
+ return *this;
+}
+
+/**
+ * This form moves to a position relative to the current position by an
+ * offset `off' (+ or -) starting at `dir'. Parameter `dir' can be set to:
+ *
+ * <pre>
+ * beg (start of stream)
+ *
+ * cur (current stream position)
+ *
+ * end (end of stream)
+ * </pre>
+ */
+ipstream &
+ipstream::seekg(std::streamoff off, std::ios::seekdir dir)
+{
+ objs.removeAll();
+ std::istream::seekg(off, dir);
+ return *this;
+}
+
+/**
+ * Returns the word at the current stream position.
+ */
+uchar
+ipstream::readByte()
+{
+ uchar val;
+
+ read((char *)&val, 1);
+ return val;
+}
+
+/**
+ * Returns the word at the current stream position.
+ */
+ushort
+ipstream::readWord()
+{
+ /* SS: words are stored in little endian format (LSB first) */
+ ushort val;
+
+ read((char *)&val, 2);
+ val = ntohs(val);
+ return val;
+}
+
+/**
+ * Returns the long at the current stream position.
+ */
+ulong
+ipstream::readLong()
+{
+ /* SS: ints are stored in little endian format (LSB first) */
+ ulong val;
+
+ read((char *)&val, 4);
+ val = ntohl(val);
+ return val;
+}
+
+/**
+ * Reads `sz' bytes from current stream position, and writes them to
+ * the address given in `data'.
+ */
+void
+ipstream::readBytes(void *data, std::streamsize sz)
+{
+ read((char *)data, sz);
+}
+
+/**
+ * Returns a string read from the current stream position.
+ */
+char *
+ipstream::readString()
+{
+ int ch = get();
+ if (ch == EOF) {
+ return NULL;
+ }
+
+ uchar len = ch;
+ if (len == nullStringLen) {
+ return NULL;
+ }
+
+ char *buf = new char[len+1];
+
+ read(buf, len);
+ buf[len] = EOS;
+
+ return buf;
+}
+
+/**
+ * Returns a string read from the current stream position.
+ */
+char *
+ipstream::readString(char *buf, unsigned maxLen)
+{
+ assert(buf != NULL);
+
+ int len = get();
+ if (len == EOF) {
+ return NULL;
+ }
+
+ assert(len < maxLen);
+
+ read(buf, len);
+ buf[len] = EOS;
+
+ return buf;
+}
+
+ipstream &
+ipstream::operator>>(char &ch)
+{
+ int c = get();
+ if (c != EOF) {
+ ch = (char)c;
+ }
+ return *this;
+}
+
+
+ipstream &
+ipstream::operator>>(signed char &ch)
+{
+ int c = get();
+ if (c != EOF) {
+ ch = (signed char)c;
+ }
+ return *this;
+}
+
+ipstream &
+ipstream::operator>>(unsigned char &ch)
+{
+ int c = get();
+ if (c != EOF) {
+ ch = (unsigned char)c;
+ }
+ return *this;
+}
+
+ipstream &
+ipstream::operator>>(signed short &sh)
+{
+ sh = readWord();
+ return *this;
+}
+
+ipstream &
+ipstream::operator>>(unsigned short &sh)
+{
+ sh = readWord();
+ return *this;
+}
+
+ipstream &
+ipstream::operator>>(signed int &i)
+{
+ i = readLong();
+ return *this;
+}
+
+ipstream &
+ipstream::operator>>(unsigned int &i)
+{
+ i = readLong();
+ return *this;
+}
+
+ipstream &
+ipstream::operator>>(signed long &l)
+{
+ l = readLong();
+ return *this;
+}
+
+ipstream &
+ipstream::operator>>(unsigned long &l)
+{
+ l = readLong();
+ return *this;
+}
+
+ipstream &
+ipstream::operator>>(float &f)
+{
+ read((char *)&f, sizeof(f));
+ return *this;
+}
+
+ipstream &
+ipstream::operator>>(double &d)
+{
+ read((char *)&d, sizeof(d));
+ return *this;
+}
+
+ipstream &
+ipstream::operator>>(long double &ld)
+{
+ read((char *)&ld, sizeof(ld));
+ return *this;
+}
+
+ipstream &
+ipstream::operator>>(TStreamable& t)
+{
+ const TStreamableClass *pc = readPrefix();
+ readData(pc, &t);
+ readSuffix();
+ return *this;
+}
+
+ipstream &
+ipstream::operator>>(void *&t)
+{
+ int ch = get();
+ switch (ch) {
+ case pstream::ptNull:
+ {
+ t = 0;
+ break;
+ }
+ case pstream::ptIndexed:
+ {
+ P_id_type index = readWord();
+ t = (void *)find(index);
+ assert(t != 0);
+ break;
+ }
+ case pstream::ptObject:
+ {
+ const TStreamableClass *pc = readPrefix();
+ t = readData(pc, 0);
+ readSuffix();
+ break;
+ }
+ default:
+ error(pstream::peInvalidType);
+ break;
+ }
+ return *this;
+}
+
+/**
+ * Returns the @ref TStreamableClass object corresponding to the class
+ * name stored at the current position.
+ */
+const TStreamableClass *
+ipstream::readPrefix()
+{
+ int ch = get();
+ assert(ch == '['); // don't combine this with the previous line!
+ // We must always do the read, even if we're
+ // not checking assertions
+
+ char name[128];
+ readString(name, sizeof name);
+ return types->lookup(name);
+}
+
+/**
+ * Invokes the appropriate read function to read from the stream to the
+ * object `mem'. If `mem' is 0, the appropriate build function is called
+ * first.
+ */
+void *
+ipstream::readData(const TStreamableClass *c, TStreamable *mem)
+{
+ if (mem == 0)
+ mem = c->build();
+
+ /*
+ * Register the actual address of the object, not the address
+ * of the TStreamable sub-object
+ */
+ registerObject((char *)mem - c->delta);
+ return mem->read(*this);
+}
+
+/**
+ * Reads and checks the final byte of an object's name field.
+ */
+void
+ipstream::readSuffix()
+{
+ int ch = get();
+
+ /*
+ * Don't combine this with the previous line!
+ * We must always do the write, even if we're
+ * not checking assertions
+ */
+ assert(ch == ']');
+}
+
+/**
+ * Returns a pointer to the object corresponding to `id'.
+ */
+const void *
+ipstream::find(P_id_type id)
+{
+ return objs.find(id);
+}
+
+/**
+ * Registers the class of the object pointed by `adr'.
+ */
+void
+ipstream::registerObject(const void *adr)
+{
+ objs.registerObject(adr);
+}
+
+/*---------------------------------------------------------------------------*
+ *
+ *---------------------------------------------------------------------------*/
+
+/**
+ * This form creates a buffered opstream with the given buffer.
+ */
+opstream::opstream(std::streambuf *sb)
+ : std::ostream(sb)
+{
+}
+
+/**
+ * Destroys the opstream object.
+ */
+opstream::~opstream()
+{
+ objs.shutDown();
+}
+
+/**
+ * This form moves the stream's current position to the absolute
+ * position given by `pos'.
+ */
+opstream &
+opstream::seekp(std::streampos pos)
+{
+#ifndef __UNPATCHED
+ objs.freeAll(); // CMF 07.11.92 --- delete the TPWObj's
+#endif
+ objs.removeAll();
+ std::ostream::seekp(pos);
+ return *this;
+}
+
+/**
+ * This form moves to a position relative to the current position by an
+ * offset `off' (+ or -) starting at `dir'. Parameter `dir' can be set to:
+ *
+ * <pre>
+ * beg (start of stream)
+ *
+ * cur (current stream position)
+ *
+ * end (end of stream)
+ * </pre>
+ */
+opstream &
+opstream::seekp(std::streamoff off, std::ios::seekdir dir)
+{
+#ifndef __UNPATCHED
+ objs.freeAll(); // CMF 07.11.92 ... s.a.
+#endif
+ objs.removeAll();
+ std::ostream::seekp(off, dir);
+ return *this;
+}
+
+/**
+ * Writes character `ch' to the stream.
+ */
+void
+opstream::writeByte(uchar ch)
+{
+ write((char *)&ch, 1);
+}
+
+/**
+ * Writes `sz' bytes from `data' buffer to the stream.
+ */
+void
+opstream::writeBytes(const void *data, std::streamsize sz)
+{
+ write((char *)data, sz);
+}
+
+/**
+ * Writes the word `us' to the stream.
+ */
+void
+opstream::writeWord( ushort sh )
+{
+ /* SS: words are stored in little endian format (LSB first) */
+ writeByte(sh & 0xff);
+ writeByte((sh >> 8) & 0xff);
+}
+
+/**
+ * Writes `str' to the stream (together with a leading length byte).
+ */
+void
+opstream::writeString(const char *str )
+{
+ if (str == 0 )
+ {
+ writeByte( nullStringLen );
+ return;
+ }
+ int len = strlen( str );
+ writeByte( (uchar)len );
+ writeBytes( str, len );
+}
+
+opstream &
+opstream::operator<<(char ch)
+{
+ writeByte( ch );
+ return *this;
+}
+
+opstream &
+opstream::operator<<(signed char ch)
+{
+ writeByte( ch );
+ return *this;
+}
+
+opstream &
+opstream::operator<<(unsigned char ch)
+{
+ writeByte( ch );
+ return *this;
+}
+
+opstream &
+opstream::operator<<(signed short sh)
+{
+ writeWord( sh );
+ return *this;
+}
+
+opstream &
+opstream::operator<<(unsigned short sh)
+{
+ writeWord( sh );
+ return *this;
+}
+
+opstream &
+opstream::operator<<(signed int i)
+{
+ /* SS: ints are stored in little endian format (LSB first) */
+ writeByte(i & 0xff);
+ writeByte((i >> 8) & 0xff);
+ writeByte((i >> 16) & 0xff);
+ writeByte((i >> 24) & 0xff);
+ return *this;
+}
+
+opstream &
+opstream::operator<<(unsigned int i)
+{
+ /* SS: ints are stored in little endian format (LSB first) */
+ writeByte(i & 0xff);
+ writeByte((i >> 8) & 0xff);
+ writeByte((i >> 16) & 0xff);
+ writeByte((i >> 24) & 0xff);
+ return *this;
+}
+opstream &
+opstream::operator<<(signed long l)
+{
+ /* SS: longs are stored in little endian format (LSB first) */
+ writeByte(l & 0xff);
+ writeByte((l >> 8) & 0xff);
+ writeByte((l >> 16) & 0xff);
+ writeByte((l >> 24) & 0xff);
+ return *this;
+}
+
+opstream &
+opstream::operator<<(unsigned long l)
+{
+ /* SS: longs are stored in little endian format (LSB first) */
+ writeByte(l & 0xff);
+ writeByte((l >> 8) & 0xff);
+ writeByte((l >> 16) & 0xff);
+ writeByte((l >> 24) & 0xff);
+ return *this;
+}
+
+opstream &
+opstream::operator<<(float f )
+{
+ writeBytes( &f, sizeof(f) );
+ return *this;
+}
+
+opstream &
+opstream::operator<<(double d )
+{
+ writeBytes( &d, sizeof(d) );
+ return *this;
+}
+
+opstream &
+opstream::operator<<(long double ld )
+{
+ writeBytes( &ld, sizeof(ld) );
+ return *this;
+}
+
+opstream &
+opstream::operator<<(TStreamable &t)
+{
+ writePrefix( t );
+ writeData( t );
+ writeSuffix( t );
+ return *this;
+}
+
+opstream &
+opstream::operator<<(TStreamable *t)
+{
+ P_id_type index;
+ if (t == 0 )
+ writeByte( pstream::ptNull );
+ else if ((index = find( t )) != P_id_notFound )
+ {
+ writeByte( pstream::ptIndexed );
+ writeWord( index );
+ }
+ else
+ {
+ writeByte( pstream::ptObject );
+ *this << *t;
+ }
+ return *this;
+}
+
+/**
+ * Writes the class name prefix to the stream.
+ *
+ * The << operator uses this function to write a prefix and suffix around
+ * the data written with @ref writeData(). The prefix/suffix is used to
+ * ensure type-safe stream I/O.
+ */
+void
+opstream::writePrefix(const TStreamable& t )
+{
+ writeByte( '[' );
+ writeString( t.streamableName() );
+}
+
+/**
+ * Writes data to the stream by calling the appropriate class's write
+ * member function for the object being written.
+ */
+void
+opstream::writeData( TStreamable& t )
+{
+ if (types->lookup( t.streamableName() ) == 0 )
+ error( peNotRegistered, t );
+ else
+ {
+ registerObject( &t );
+ t.write( *this );
+ }
+}
+
+/**
+ * Writes the class name suffix to the stream.
+ *
+ * The << operator uses this function to write a prefix and suffix around
+ * the data written with @ref writeData(). The prefix/suffix is used to
+ * ensure type-safe stream I/O.
+ */
+void
+opstream::writeSuffix(const TStreamable &)
+{
+ writeByte(']');
+}
+
+/**
+ * Returns the type ID for the object ad address `adr'.
+ */
+P_id_type
+opstream::find(const void *adr)
+{
+ return objs.find(adr);
+}
+
+/**
+ * Registers the class of the object pointed by `adr'.
+ */
+void
+opstream::registerObject(const void *adr)
+{
+ objs.registerObject(adr);
+}
+
+/*---------------------------------------------------------------------------*
+ *
+ *---------------------------------------------------------------------------*/
+
+/**
+ * This form creates a buffered iopstream with the given buffer.
+ */
+iopstream::iopstream(std::streambuf *sb)
+ : ipstream(sb), opstream(sb)
+{
+}
+
+/**
+ * Destroys the iopstream object.
+ */
+iopstream::~iopstream()
+{
+}
+
+/*---------------------------------------------------------------------------*
+ *
+ *---------------------------------------------------------------------------*/
+
+/**
+ * Creates a buffered ifpstream object.
+ */
+ifpstream::ifpstream()
+ : ipstream(NULL), buf()
+{
+ init(&buf);
+}
+
+/**
+ * Creates a buffered ifpstream object. You can open a file and attach it
+ * to the stream by specifying the `name' and `omode' arguments.
+ */
+ifpstream::ifpstream(const char name[], std::ios::openmode omode)
+ : ipstream(NULL), buf()
+{
+ init(&buf);
+ open(name, omode);
+}
+
+/**
+ * Destroys the ifpstream object.
+ */
+ifpstream::~ifpstream()
+{
+}
+
+/**
+ * Opens the the named file in the given mode (app, ate, in, out, binary,
+ * trunc, nocreate, or noreplace) and protection. The opened file is
+ * attached to this stream.
+ */
+void
+ifpstream::open(const char name[], std::ios::openmode omode)
+{
+ using std::ios;
+
+ if (!buf.open(name, omode | ios::in | ios::binary)) {
+ this->setstate(ios_base::failbit);
+ }
+}
+
+/*---------------------------------------------------------------------------*
+ *
+ *---------------------------------------------------------------------------*/
+
+/**
+ * Creates a buffered ofpstream object.
+ */
+ofpstream::ofpstream()
+ : opstream(NULL), buf()
+{
+ init(&buf);
+}
+
+/**
+ * Creates a buffered ofpstream object. You can open a file and attach it
+ * to the stream by specifying the `name' and `omode' arguments.
+ */
+ofpstream::ofpstream(const char name[], std::ios::openmode omode)
+ : opstream(NULL), buf()
+{
+ init(&buf);
+ open(name, omode);
+}
+
+/**
+ * Destroys the ofpstream object.
+ */
+ofpstream::~ofpstream()
+{
+}
+
+/**
+ * Opens the the named file in the given mode (app, ate, in, out, binary,
+ * trunc, nocreate, or noreplace) and protection. The opened file is
+ * attached to this stream.
+ */
+void
+ofpstream::open(const char name[], std::ios::openmode omode)
+{
+ using std::ios;
+
+ if (!buf.open(name, omode | ios::out | ios::binary)) {
+ this->setstate(ios_base::failbit);
+ }
+}
+
+/*---------------------------------------------------------------------------*
+ *
+ *---------------------------------------------------------------------------*/
+
+/**
+ * Creates a buffered fpstream object.
+ */
+fpstream::fpstream()
+ : iopstream(NULL), buf()
+{
+ init(&buf);
+}
+
+/**
+ * Creates a buffered fpstream object. You can open a file and attach it
+ * to the stream by specifying the `name' and `omode' arguments.
+ */
+fpstream::fpstream(const char name[], std::ios::openmode omode)
+ : iopstream(NULL), buf()
+{
+ init(&buf);
+ open(name, omode);
+}
+
+/**
+ * Destroys the fpstream object.
+ */
+fpstream::~fpstream()
+{
+}
+
+/**
+ * Opens the named file in the given mode (app, ate, in, out, binary,
+ * trunc, nocreate, noreplace) and protection. The opened file is
+ * attatched to this stream.
+ */
+void
+fpstream::open(const char name[], std::ios::openmode omode)
+{
+ using std::ios;
+
+ if (!buf.open(name, omode | ios::in | ios::out | ios::binary)) {
+ this->setstate(ios_base::failbit);
+ }
+}
+
diff --git a/freebsdtvision/lib/tobjstrm.h b/freebsdtvision/lib/tobjstrm.h
new file mode 100644
index 0000000..5d7dbca
--- /dev/null
+++ b/freebsdtvision/lib/tobjstrm.h
@@ -0,0 +1,640 @@
+/**
+ * @file tobjstrm.h
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
+ */
+
+#include <ios>
+#include <iostream>
+#include <fstream>
+
+#include <limits.h>
+
+/**
+ * Undocumented.
+ */
+typedef unsigned P_id_type;
+
+/* ------------------------------------------------------------------------*/
+/* class TStreamable */
+/* */
+/* This is the base class for all storable objects. It provides */
+/* three member functions, streamableName(), read(), and write(), which */
+/* must be overridden in every derived class. */
+/* ------------------------------------------------------------------------*/
+
+#if !defined( __fLink_def )
+#define __fLink_def
+/**
+ * Internal structure.
+ * @short Internal structure
+ */
+struct fLink
+{
+ /**
+ * Undocumented.
+ */
+ fLink *f;
+ /**
+ * Undocumented.
+ */
+ class TStreamableClass *t;
+};
+#endif
+
+#define __link( s ) \
+ extern TStreamableClass s; \
+ static fLink force ## s = \
+ { (fLink *)&force ## s, (TStreamableClass *)&s };
+
+#if defined( Uses_TStreamable ) && !defined( __TStreamable )
+#define __TStreamable
+
+/**
+ * Gives the streamable property to a class.
+ *
+ * @ref TView has two base classes, @ref TObject and the abstract class
+ * TStreamable. All the viewable classes, derived ultimately from @ref TView,
+ * therefore also inherit from TStreamable.
+ *
+ * Several non-view classes, such as @ref TCollection, @ref TStrListMaker and
+ * @ref TStringList, also have TStreamable as a base class. Such classes are
+ * known as streamable, meaning that their objects can be written to and read
+ * from streams using the TVision stream manager.
+ *
+ * If you want to develop your own streamable classes, make sure that
+ * TStreamable is somewhere in their ancestry. Using an existing streamable
+ * class as a base class, of course, is an obvious way of achieving this.
+ *
+ * Since TStreamable is an abstract class, no objects of this class can be
+ * instantiated. Before a streamable class can be used with streams, the class
+ * must override the three pure virtual functions @ref streamableName(),
+ * @ref read(), and @ref write().
+ * @short Gives the streamable property to a class
+ */
+class TStreamable
+{
+ friend class opstream;
+ friend class ipstream;
+private:
+ /**
+ * Class TStreamable has no constructor. This function must be overridden
+ * (or redeclared as pure virtual) by every derived class. Its purpose is
+ * to return the name of the streamable class of the object that invokes
+ * it.
+ *
+ * This name is used in the registering of streams by the stream manager.
+ * The name returned must be a unique, 0-terminated string, so the safest
+ * strategy is to use the name of the streamable class.
+ */
+ virtual const char *streamableName() const = 0;
+protected:
+ /**
+ * This pure virtual function must be overridden (or redeclared as pure
+ * virtual) in every derived class. The overriding read() function for
+ * each streamable class must read the necessary data members from the
+ * @ref ipstream object `is'. read() is usually implemented by calling
+ * the base class's read() (if any), then extracting any additional data
+ * members for the derived class.
+ */
+ virtual void *read( ipstream& is ) = 0;
+ /**
+ * This pure virtual function must be overridden (or redeclared as pure
+ * virtual) in every derived class. The overriding write() function for
+ * each streamable class must write the necessary data members to the
+ * @ref opstream object `os'. write() is usually implemented by calling
+ * the base class's write() (if any), then inserting any additional data
+ * members for the derived class.
+ */
+ virtual void write( opstream& os ) = 0;
+};
+
+#endif // Uses_TStreamable
+
+/* ------------------------------------------------------------------------*/
+/* class TStreamableClass */
+/* ------------------------------------------------------------------------*/
+
+#if defined( Uses_TStreamableClass ) && !defined( __TStreamableClass )
+#define __TStreamableClass
+
+/**
+ * Undocumented.
+ */
+const P_id_type P_id_notFound = UINT_MAX;
+
+/** \enum BUILDER
+ * Each streamable class has a builder function of type BUILDER. The builder
+ * provides raw memory of the correct size and initializes the virtual table
+ * pointers when objects are created by certain stream read operations.
+ * The read() function of the streamable class reads data from the stream into
+ * the raw object provided by the builder.
+ * @see TStreamable::read
+ */
+typedef TStreamable *(*BUILDER)();
+
+#define __DELTA( d ) ((int)(TStreamable*)(d*)1-1 )
+
+/**
+ * TStreamableClass is used by @ref TStreamableTypes and @ref pstream in the
+ * registration of streamable classes.
+ * @short TStreamableClass is used by TStreamableTypes and pstream in the
+ * registration of streamable classes
+ */
+class TStreamableClass
+{
+ friend class TStreamableTypes;
+ friend class opstream;
+ friend class ipstream;
+public:
+ /**
+ * Creates a TStreamable object with the given name and the given builder
+ * function, then calls @ref pstream::registerTypes().
+ *
+ * Each streamable class TClassName has a build member function. There are
+ * also the familiar non-member overloaded >> and << operators for stream
+ * I/O associated with each streamable class.
+ *
+ * For type-safe object-stream I/O, the stream manager needs to access the
+ * names and the type information for each class.
+ *
+ * To ensure that the appropriate functions are linked into any
+ * application using the stream manager, you must provide an extern
+ * reference such as this:
+ *
+ * <pre>
+ * extern TStreamableClass registerTClassName;
+ * </pre>
+ *
+ * where TClassName is the name of the class for which objects need to be
+ * streamed. @ref BUILDER is typedefed as follows:
+ *
+ * <pre>
+ * typedef TStreamable *(*BUILDER)();
+ * </pre>
+ */
+ TStreamableClass(const char *aName, BUILDER aBuild, int aDelta );
+private:
+ const char *name;
+ BUILDER build;
+ int delta;
+};
+
+#endif // Uses_TStreamableClass
+
+/* ------------------------------------------------------------------------*/
+/* class TStreamableTypes */
+/* ------------------------------------------------------------------------*/
+
+#if defined( Uses_TStreamableTypes ) && !defined( __TStreamableTypes )
+#define __TStreamableTypes
+
+/**
+ * TStreamableTypes, derived privately from @ref TNSSortedCollection,
+ * maintains a database of all registered streamable types used in an
+ * application.
+ *
+ * Classes @ref opstream and @ref ipstream use this database to determine the
+ * correct @ref read() and @ref write() functions for particular objects.
+ * Because of the private derivation, all the inherited members are private
+ * within TStreamableTypes.
+ * @short Maintains a database of all registered streamable types used in an
+ * application
+ */
+class TStreamableTypes : private TNSSortedCollection
+{
+public:
+ /**
+ * Calls the base @ref TNSSortedCollection constructor to create a
+ * TStreamableTypes collection.
+ * @see TNSSortedCollection::TNSSortedCollection
+ */
+ TStreamableTypes();
+ /**
+ * Sets the collection @ref limit to 0 without destroying the collection
+ * (since the @ref shouldDelete data member is set to False).
+ */
+ ~TStreamableTypes();
+ /**
+ * Registers the argument class by inserting `d' in the collection.
+ */
+ void registerType(const TStreamableClass *d );
+ /**
+ * Returns a pointer to the class in the collection corresponding to the
+ * argument `name', or returns 0 if no match.
+ */
+ const TStreamableClass *lookup(const char name[]);
+private:
+ /**
+ * Undocumented.
+ */
+ virtual void *keyOf( void * );
+ /**
+ * Undocumented.
+ */
+ int compare( void *, void * );
+};
+
+#endif // Uses_TStreamableTypes
+
+/* ------------------------------------------------------------------------*/
+/* class TPWrittenObjects */
+/* ------------------------------------------------------------------------*/
+
+#if defined( Uses_TPWrittenObjects ) && !defined( __TPWrittenObjects )
+#define __TPWrittenObjects
+
+/**
+ * TPWrittenObjects maintains a database of all objects that have been written
+ * to the current object stream. This is used by @ref opstream when it writes a
+ * pointer onto a stream.
+ * @short Maintains a database of all objects that have been written to the
+ * current object stream
+ */
+class TPWrittenObjects : public TNSSortedCollection
+{
+ friend class opstream;
+public:
+ /**
+ * Undocumented.
+ */
+ void removeAll() { curId = 0; TNSSortedCollection::freeAll(); }
+private:
+ /**
+ * This private constructor creates a non-streamable collection by calling
+ * the base @ref TNSSortedCollection constructor. It is accessible only
+ * by the member functions and friends.
+ */
+ TPWrittenObjects();
+ /**
+ * Sets the collection @ref limit to 0 without destroying the collection.
+ */
+ ~TPWrittenObjects();
+ /**
+ * Undocumented.
+ */
+ void registerObject(const void *adr );
+ /**
+ * Undocumented.
+ */
+ P_id_type find(const void *adr );
+ /**
+ * Undocumented.
+ */
+ void *keyOf( void * );
+ /**
+ * Undocumented.
+ */
+ int compare( void *, void * );
+ /**
+ * Undocumented.
+ */
+ P_id_type curId;
+};
+
+/* ------------------------------------------------------------------------*/
+/* class TPWObj */
+/* ------------------------------------------------------------------------*/
+
+/**
+ * TPWObj is used internally by @ref TPWrittenObjects. The class
+ * TPWrittenObjects is a friend of TPWobj, so all its member functions can
+ * access the private members of TPWObj.
+ * @short Used internally by TPWrittenObjects
+ */
+class TPWObj
+{
+ friend class TPWrittenObjects;
+private:
+ TPWObj(const void *adr, P_id_type id );
+ const void *address;
+ P_id_type ident;
+};
+
+#endif // Uses_TPWrittenObjects
+
+/* ------------------------------------------------------------------------*/
+/* class TPReadObjects */
+/* ------------------------------------------------------------------------*/
+
+#if defined( Uses_TPReadObjects ) && !defined( __TPReadObjects )
+#define __TPReadObjects
+
+/**
+ * TPReadObjects maintains a database of all objects that have been read from
+ * the current object stream. This is used by @ref ipstream when it reads a
+ * pointer from a stream to determine if other addresses for that objects
+ * exist.
+ * @short Maintains a database of all objects that have been read from the
+ * current object stream
+ */
+class TPReadObjects : public TNSCollection
+{
+ friend class ipstream;
+public:
+ /**
+ * Undocumented.
+ */
+ void removeAll() { curId = 0; TNSCollection::removeAll(); }
+private:
+ /**
+ * This private constructor creates a non-streamable collection by calling
+ * the base @ref TNSCollection constructor. It is accessible only by
+ * member functions and friends.
+ * @see TNSCollection::TNSCollection
+ */
+ TPReadObjects();
+ /**
+ * Sets the collection @ref limit to 0 without destroying the collection.
+ */
+ ~TPReadObjects();
+ void registerObject(const void *adr );
+ const void *find( P_id_type id );
+ P_id_type curId;
+};
+
+#endif // Uses_TPReadObjects
+
+/* ------------------------------------------------------------------------*/
+/* class pstream */
+/* ------------------------------------------------------------------------*/
+
+#if defined( Uses_pstream ) && !defined( __pstream )
+#define __pstream
+
+class TStreamableTypes;
+
+/**
+ * pstream is the base class for handling streamable objects.
+ * @short The base class for handling streamable objects
+ */
+class pstream {
+protected:
+ /**
+ * Pointer to the @ref TStreamableTypes data base of all registered types
+ * in this application.
+ */
+ static TStreamableTypes *types;
+
+public:
+ pstream();
+ virtual ~pstream();
+
+ /**
+ * Undocumented.
+ */
+ enum StreamableError { peNotRegistered, peInvalidType };
+
+ /**
+ * Undocumented.
+ */
+ enum PointerTypes { ptNull, ptIndexed, ptObject };
+
+ void error(StreamableError);
+ void error(StreamableError, const TStreamable &);
+
+ static void initTypes();
+ static void registerType(TStreamableClass *ts);
+};
+
+#endif // Uses_pstream
+
+/* ------------------------------------------------------------------------*/
+/* class ipstream */
+/* ------------------------------------------------------------------------*/
+
+#if defined( Uses_ipstream ) && !defined( __ipstream )
+#define __ipstream
+
+class TStreamableClass;
+
+/**
+ * ipstream, a specialized input stream derivative of @ref pstream, is the
+ * base class for reading (extracting) streamable objects. ipstream is
+ * analogous to istream, defined in `iostream' for the standard C++ stream
+ * library. ipstream is a friend class of @ref TPReadObjects.
+ *
+ * The overloaded operators >> extract (read) from the given ipstream object
+ * to the given argument. A reference to the stream is returned, allowing you
+ * to chain >> operations in the usual way. The data type of the argument
+ * determines how the read is performed. For example, reading a signed char
+ * is implemented using @ref readByte().
+ *
+ * @see opstream
+ *
+ * @short The base class for reading (extracting) streamable objects from
+ * streams
+ */
+class ipstream : virtual public pstream, public std::istream {
+private:
+ TPReadObjects objs;
+
+protected:
+ const TStreamableClass *readPrefix();
+ void *readData(const TStreamableClass *c, TStreamable *mem);
+ void readSuffix();
+ const void *find(P_id_type id);
+ void registerObject(const void *adr);
+
+ ushort readWord();
+ ulong readLong();
+
+public:
+ ipstream(std::streambuf *buf);
+ ~ipstream();
+
+ ipstream &seekg(std::streampos pos);
+ ipstream &seekg(std::streamoff off, std::ios::seekdir dir);
+
+ uchar readByte();
+ void readBytes(void *data, std::streamsize sz);
+ char *readString();
+ char *readString(char *buf, unsigned maxLen);
+
+ ipstream &operator>>(char &);
+ ipstream &operator>>(signed char &);
+ ipstream &operator>>(unsigned char &);
+ ipstream &operator>>(signed short &);
+ ipstream &operator>>(unsigned short &);
+ ipstream &operator>>(signed int &);
+ ipstream &operator>>(unsigned int &);
+ ipstream &operator>>(signed long &);
+ ipstream &operator>>(unsigned long &);
+ ipstream &operator>>(float &);
+ ipstream &operator>>(double &);
+ ipstream &operator>>(long double &);
+ ipstream &operator>>(TStreamable &);
+ ipstream &operator>>(void *&);
+};
+
+#endif // Uses_ipstream
+
+/* ------------------------------------------------------------------------*/
+/* class opstream */
+/* ------------------------------------------------------------------------*/
+
+#if defined( Uses_opstream ) && !defined( __opstream )
+#define __opstream
+
+class TStreamableClass;
+
+/**
+ * opstream, a specialized output stream derivative of @ref pstream, is the
+ * base class for writing (inserting) streamable objects. opstream is
+ * analogous to ostream, defined in `iostream' for the standard C++ stream
+ * library. opstream is a friend class of @ref TPWrittenObjects.
+ *
+ * The overloaded operators << insert (write) the given argument to the given
+ * opstream object. A reference to the stream is returned, allowing you
+ * to chain << operations in the usual way. The data type of the argument
+ * determines the form of write operation employed. For example, writing a
+ * signed char is implemented using @ref writeByte().
+ *
+ * @see ipstream
+ *
+ * @short The base class for writing (inserting) streamable objects into
+ * streams
+ */
+class opstream : virtual public pstream, public std::ostream {
+ TPWrittenObjects objs;
+
+protected:
+ void writePrefix(const TStreamable &);
+ void writeData(TStreamable &);
+ void writeSuffix(const TStreamable &);
+ P_id_type find(const void *adr);
+ void registerObject(const void *adr);
+
+public:
+ opstream(std::streambuf *buf);
+ ~opstream();
+ opstream& seekp(std::streampos pos);
+ opstream& seekp(std::streamoff off, std::ios::seekdir dir);
+ opstream& flush();
+
+ void writeByte(uchar ch);
+ void writeBytes(const void *data, std::streamsize sz);
+ void writeWord(ushort us);
+ void writeString(const char *str);
+
+ opstream &operator<<(char);
+ opstream &operator<<(signed char);
+ opstream &operator<<(unsigned char);
+ opstream &operator<<(signed short);
+ opstream &operator<<(unsigned short);
+ opstream &operator<<(signed int);
+ opstream &operator<<(unsigned int);
+ opstream &operator<<(signed long);
+ opstream &operator<<(unsigned long);
+ opstream &operator<<(float);
+ opstream &operator<<(double);
+ opstream &operator<<(long double);
+ opstream &operator<<(TStreamable &);
+ opstream &operator<<(TStreamable *);
+};
+
+#endif // Uses_opstream
+
+/* ------------------------------------------------------------------------*/
+/* class iopstream */
+/* ------------------------------------------------------------------------*/
+
+#if defined( Uses_iopstream ) && !defined( __iopstream )
+#define __iopstream
+
+/**
+ * Class iopstream is a simple "mix" of its bases, @ref opstream and
+ * @ref ipstream. It provides the base class for simultaneous writing and
+ * reading streamable objects.
+ *
+ * @short The base class for simultaneous writing and reading streamable
+ * objects to and from streams
+ */
+class iopstream : public ipstream, public opstream {
+public:
+ iopstream(std::streambuf *buf);
+ ~iopstream();
+};
+
+#endif // Uses_iopstream
+
+/* ------------------------------------------------------------------------*/
+/* class ifpstream */
+/* ------------------------------------------------------------------------*/
+
+#if defined( Uses_ifpstream ) && !defined( __ifpstream )
+#define __ifpstream
+
+/**
+ * ifpstream provides the base class for reading (extracting)
+ * streamable objects from file streams.
+ *
+ * @short The base class for reading (extracting) streamable objects
+ * from file streams.
+ */
+class ifpstream : public ipstream {
+ std::filebuf buf;
+public:
+ ifpstream();
+ ifpstream(const char name[], std::ios::openmode omode = std::ios::in);
+ ~ifpstream();
+ void open(const char name[], std::ios::openmode omode = std::ios::in);
+};
+
+#endif // Uses_ifpstream
+
+/* ------------------------------------------------------------------------*/
+/* class ofpstream */
+/* ------------------------------------------------------------------------*/
+
+#if defined( Uses_ofpstream ) && !defined( __ofpstream )
+#define __ofpstream
+
+/**
+ * ofpstream provides the base class for writing (inserting)
+ * streamable objects to file streams.
+ *
+ * @short The base class for writing (inserting) streamable objects
+ * to file streams.
+ */
+class ofpstream : public opstream {
+ std::filebuf buf;
+public:
+ ofpstream();
+ ofpstream(const char name[], std::ios::openmode omode = std::ios::out);
+ ~ofpstream();
+ void open(const char name[], std::ios::openmode omode = std::ios::out);
+};
+
+#endif // Uses_ofpstream
+
+/* ------------------------------------------------------------------------*/
+/* class fpstream */
+/* ------------------------------------------------------------------------*/
+
+#if defined( Uses_fpstream ) && !defined( __fpstream )
+#define __fpstream
+
+/**
+ * fpstream provides the base class for simultaneous writing and
+ * reading streamable objects to bidirectional file streams.
+ *
+ * @short The base class for simultaneous writing and reading
+ * streamable objects to bidirectional file streams.
+ */
+class fpstream : public iopstream {
+ std::filebuf buf;
+public:
+ fpstream();
+ fpstream(const char name[], std::ios::openmode omode);
+ ~fpstream();
+ void open(const char name[], std::ios::openmode omode);
+};
+
+#endif // Uses_fpstream
diff --git a/freebsdtvision/lib/ttypes.h b/freebsdtvision/lib/ttypes.h
new file mode 100644
index 0000000..2909e54
--- /dev/null
+++ b/freebsdtvision/lib/ttypes.h
@@ -0,0 +1,100 @@
+/*
+ * ttypes.h
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#if !defined( __TTYPES_H )
+#define __TTYPES_H
+
+/** \file ttypes.h
+ * ttypes.h
+ */
+
+/** \enum Boolean
+ * Assigns the integer values 0 to False and 1 to True. Note that the tests
+ *
+ * if (tesfunc()) {...}
+ *
+ * and
+ *
+ * if (testfunc() == True) {...}
+ *
+ * may not be equivalent.
+ */
+enum Boolean { False, True };
+
+/** \var ushort
+ * Provides a synonym for unsigned short.
+ */
+typedef unsigned short ushort;
+
+/** \var uchar
+ * Provides a synonym for unsigned char.
+ */
+typedef unsigned char uchar;
+
+/** \var uint
+ * Provides a synonym for unsigned int.
+ */
+typedef unsigned int uint;
+
+/** \var ulong
+ * Provides a synonym for unsigned long.
+ */
+typedef unsigned long ulong;
+
+/** \var EOS
+ * A synonym for the end-of-string null character.
+ */
+const char EOS = '\0';
+
+/** \enum StreamableInit
+ * Each streamable class has a special "builder" constructor that takes
+ * argument streamableInit. This is defined in this enumeration to provide a
+ * unique data type for the constructor argument.
+ */
+enum StreamableInit { streamableInit };
+
+class ipstream;
+class opstream;
+class TStreamable;
+class TStreamableTypes;
+
+/** \enum ccIndex
+ * Used to index and count the items in a collection.
+ */
+typedef int ccIndex;
+
+/** \enum ccTestFunc
+ * Used in iterator functions to provide a test function and argument list to
+ * be applied to a range of items in a collection.
+ */
+typedef Boolean (*ccTestFunc)( void *item, void *arg );
+
+/** \enum ccAppFunc
+ * Used in iterator functions to provide an action function and argument list
+ * to be applied to a range of items in a collection.
+ */
+typedef void (*ccAppFunc)( void *item, void *arg );
+
+/** \var ccNotFound
+ * The ccIndex value returned by various collection-search functions if the
+ * search fails.
+ */
+const int ccNotFound = -1;
+
+/** \var specialChars
+ * Defines the indicator characters used to highlight the focused view in
+ * monochrome video mode. These characters are displayed if the showMarkers
+ * variable is True.
+ * @see TView::showMarkers
+ */
+extern const uchar specialChars[];
+
+#endif // __TTYPES_H
diff --git a/freebsdtvision/lib/tv.h b/freebsdtvision/lib/tv.h
new file mode 100644
index 0000000..4d26b90
--- /dev/null
+++ b/freebsdtvision/lib/tv.h
@@ -0,0 +1,694 @@
+/**
+ * @file tv.h
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1991, 1994 by Borland International
+ * All Rights Reserved.
+ *
+
+DISCLAIMER AND LIMITATION OF LIABILITY: Borland does not make or give any
+representation or warranty with respect to the usefulness or the efficiency
+of this software, it being understood that the degree of success with which
+equipment, software, modifications, and other materials can be applied to
+data processing is dependent upon many factors, many of which are not under
+Borland's control. ACCORDINGLY, THIS SOFTWARE IS PROVIDED 'AS IS' WITHOUT
+EXPRESS OR IMPLIED WARRANTIES, INCLUDING NO WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE, OR NONINFRINGEMENT. THIS SOFTWARE IS
+PROVIDED GRATUITOUSLY AND, ACCORDINGLY, BORLAND SHALL NOT BE LIABLE UNDER
+ANY THEORY FOR ANY DAMAGES SUFFERED BY YOU OR ANY USER OF THE SOFTWARE.
+BORLAND WILL NOT SUPPORT THIS SOFTWARE AND IS UNDER NO OBLIGATION TO ISSUE
+UPDATES TO THIS SOFTWARE.
+
+WITHOUT LIMITING THE GENERALITY OF THE FOREGOING, NEITHER BORLAND NOR ITS
+SUPPLIERS SHALL BE LIABLE FOR (a) INCIDENTAL, CONSEQUENTIAL, SPECIAL OR
+INDIRECT DAMAGES OF ANY SORT, WHETHER ARISING IN TORT, CONTRACT OR OTHERWISE,
+EVEN IF BORLAND HAS BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES, OR (b)
+FOR ANY CLAIM BY ANY OTHER PARTY. SOME STATES DO NOT ALLOW THE EXCLUSION OR
+LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS LIMITATION AND
+EXCLUSION MAY NOT APPLY TO YOU. Use, duplication or disclosure by the
+Government is subject to restrictions set forth in subparagraphs (a) through
+(d) of the Commercial Computer-Restricted Rights clause at FAR 52.227-19 when
+applicable, or in subparagraph (c) (1) (ii) of the Rights in Technical Data
+and Computer Software clause at DFARS 252.227-7013, and in similar clauses in
+the NASA AR Supplement. Contractor/ manufacturer is Borland International,
+Inc., 100 Borland Way, Scotts Valley, CA 95066.
+
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
+ */
+
+
+#define _TV_VERSION 0x0200
+
+#define Uses_EventCodes
+#define Uses_ViewCommands
+#define Uses_ipstream
+#define Uses_opstream
+#define __INC_STDDLG_H
+
+#if defined( Uses_TApplication )
+#define Uses_TProgram
+#define Uses_TScreen
+#define Uses_TEventQueue
+#define __INC_APP_H
+#endif
+
+#if defined( Uses_TProgram )
+#define Uses_TEvent
+#define Uses_TGroup
+#define __INC_APP_H
+#endif
+
+#if defined( Uses_TDeskTop )
+#define Uses_TGroup
+#define __INC_APP_H
+#endif
+
+#if defined( Uses_TBackground )
+#define Uses_TView
+#define __INC_APP_H
+#endif
+
+#if defined( Uses_TReplaceDialogRec )
+#define __INC_EDITORS_H
+#endif
+
+#if defined( Uses_TFindDialogRec )
+#define __INC_EDITORS_H
+#endif
+
+#if defined( Uses_TEditWindow )
+#define Uses_TWindow
+#define __INC_EDITORS_H
+#endif
+
+#if defined( Uses_TFileEditor )
+#define Uses_TEditor
+#define __INC_EDITORS_H
+#endif
+
+#if defined( Uses_TMemo )
+#define Uses_TEditor
+#define __INC_EDITORS_H
+#endif
+
+#if defined( Uses_TEditor )
+#define Uses_TView
+#define Uses_TPoint
+#define __INC_EDITORS_H
+#endif
+
+#if defined( Uses_TIndicator )
+#define Uses_TView
+#define Uses_TPoint
+#define __INC_EDITORS_H
+#endif
+
+#if defined( Uses_TTerminal )
+#define Uses_TTextDevice
+#define __INC_TEXTVIEW_H
+#endif
+
+#if defined( Uses_TOutline )
+#define Uses_TOutlineViewer
+#endif
+
+#if defined( Uses_TOutlineViewer )
+#define Uses_TScroller
+#define Uses_TScrollBar
+#define __INC_OUTLINE_H
+#endif
+
+#if defined( Uses_TTextDevice )
+#define Uses_TScroller
+#define __INC_TEXTVIEW_H
+#endif
+
+#if defined( Uses_TStatusLine )
+#define Uses_TView
+#define __INC_MENUS_H
+#endif
+
+#if defined( Uses_TStatusDef )
+#define __INC_MENUS_H
+#endif
+
+#if defined( Uses_TStatusItem )
+#define __INC_MENUS_H
+#endif
+
+#if defined( Uses_TMenuPopup )
+#define Uses_TMenuBox
+#define __INC_MENUS_H
+#endif
+
+#if defined( Uses_TMenuBox )
+#define Uses_TMenuView
+#define __INC_MENUS_H
+#endif
+
+#if defined( Uses_TMenuBar )
+#define Uses_TMenuView
+#define __INC_MENUS_H
+#endif
+
+#if defined( Uses_TMenuView )
+#define Uses_TView
+#define __INC_MENUS_H
+#endif
+
+#if defined( Uses_TMenu )
+#define __INC_MENUS_H
+#endif
+
+#if defined( Uses_TSubMenu )
+#define Uses_TMenuItem
+#define __INC_MENUS_H
+#endif
+
+#if defined( Uses_TMenuItem )
+#define __INC_MENUS_H
+#endif
+
+#if defined( Uses_TColorDialog )
+#define Uses_TColorGroup
+#define Uses_TDialog
+#define __INC_COLORSEL_H
+#endif
+
+#if defined( Uses_TColorItemList )
+#define Uses_TListViewer
+#define __INC_COLORSEL_H
+#endif
+
+#if defined( Uses_TColorGroupList )
+#define Uses_TListViewer
+#define __INC_COLORSEL_H
+#endif
+
+#if defined( Uses_TColorDisplay )
+#define Uses_TView
+#define __INC_COLORSEL_H
+#endif
+
+#if defined( Uses_TMonoSelector )
+#define __INC_COLORSEL_H
+#endif
+
+#if defined( Uses_TMonoSelector )
+#define Uses_TCluster
+#define __INC_COLORSEL_H
+#endif
+
+#if defined( Uses_TColorSelector )
+#define Uses_TView
+#define __INC_COLORSEL_H
+#endif
+
+#if defined( Uses_TColorGroup )
+#define __INC_COLORSEL_H
+#endif
+
+#if defined( Uses_TColorItem )
+#define __INC_COLORSEL_H
+#endif
+
+#if defined( Uses_TChDirDialog )
+#define Uses_TDialog
+#define __INC_STDDLG_H
+#endif
+
+#if defined( Uses_TDirListBox )
+#define Uses_TListBox
+#define __INC_STDDLG_H
+#endif
+
+#if defined( Uses_TDirCollection )
+#define Uses_TCollection
+#define Uses_TDirEntry
+#define __INC_STDDLG_H
+#endif
+
+#if defined ( Uses_TRangeValidator )
+#define Uses_TFilterValidator
+#endif
+
+#if defined ( Uses_TFilterValidator )
+#define Uses_TValidator
+#endif
+
+#if defined ( Uses_TStringLookupValidator )
+#define Uses_TLookupValidator
+#define Uses_TStringCollection
+#endif
+
+#if defined ( Uses_TLookupValidator )
+#define Uses_TValidator
+#endif
+
+#if defined ( Uses_TPXPictureValidator )
+#define Uses_TValidator
+#endif
+
+#if defined ( Uses_TValidator )
+#define Uses_TObject
+#define Uses_TStreamable
+#define __INC_VALIDATOR_H
+#endif
+
+#if defined( Uses_TDirEntry )
+#define __INC_STDDLG_H
+#endif
+
+#if defined( Uses_TFileDialog )
+#define Uses_TDialog
+#define __INC_STDDLG_H
+#endif
+
+#if defined( Uses_TFileInfoPane )
+#define Uses_TView
+#define Uses_TSearchRec
+#define __INC_STDDLG_H
+#endif
+
+#if defined( Uses_TFileList )
+#define Uses_TSortedListBox
+#define Uses_TFileCollection
+#define Uses_TSearchRec
+#define __INC_STDDLG_H
+#endif
+
+#if defined( Uses_TSortedListBox )
+#define Uses_TListBox
+#define __INC_STDDLG_H
+#endif
+
+#if defined( Uses_TFileCollection )
+#define Uses_TSortedCollection
+#define Uses_TSearchRec
+#define __INC_STDDLG_H
+#endif
+
+#if defined( Uses_TFileInputLine )
+#define Uses_TInputLine
+#define __INC_STDDLG_H
+#endif
+
+#if defined( Uses_TSearchRec )
+#define __INC_STDDLG_H
+#endif
+
+#if defined( Uses_THistory )
+#define Uses_TView
+#define __INC_DIALOGS_H
+#endif
+
+#if defined( Uses_THistoryWindow )
+#define Uses_TWindow
+#define __INC_DIALOGS_H
+#endif
+
+#if defined( Uses_THistoryViewer )
+#define Uses_TListViewer
+#define __INC_DIALOGS_H
+#endif
+
+#if defined( Uses_TLabel )
+#define Uses_TStaticText
+#define __INC_DIALOGS_H
+#endif
+
+#if defined( Uses_TParamText )
+#define Uses_TStaticText
+#define __INC_DIALOGS_H
+#endif
+
+#if defined( Uses_TStaticText )
+#define Uses_TView
+#define __INC_DIALOGS_H
+#endif
+
+#if defined( Uses_TListBox )
+#define Uses_TListViewer
+#define __INC_DIALOGS_H
+#endif
+
+#if defined( Uses_TCheckBoxes )
+#define Uses_TCluster
+#define __INC_DIALOGS_H
+#endif
+
+#if defined( Uses_TMultiCheckBoxes )
+#define Uses_TCluster
+#define __INC_DIALOGS_H
+#endif
+
+#if defined( Uses_TRadioButtons )
+#define Uses_TCluster
+#define __INC_DIALOGS_H
+#endif
+
+#if defined( Uses_TCluster )
+#define Uses_TView
+#define __INC_DIALOGS_H
+#endif
+
+#if defined( Uses_TSItem )
+#define __INC_DIALOGS_H
+#endif
+
+#if defined( Uses_TButton )
+#define Uses_TView
+#define __INC_DIALOGS_H
+#endif
+
+#if defined( Uses_TInputLine )
+#define Uses_TView
+#define Uses_TValidator
+#define __INC_DIALOGS_H
+#endif
+
+#if defined( Uses_TDialog )
+#define Uses_TWindow
+#define __INC_DIALOGS_H
+#endif
+
+#if defined( Uses_TWindow )
+#define Uses_TGroup
+#define __INC_VIEWS_H
+#endif
+
+#if defined( Uses_TGroup )
+#define Uses_TView
+#define Uses_TRect
+#define __INC_VIEWS_H
+#endif
+
+#if defined( Uses_TListViewer )
+#define Uses_TView
+#define __INC_VIEWS_H
+#endif
+
+#if defined( Uses_TScroller )
+#define Uses_TView
+#define Uses_TPoint
+#define __INC_VIEWS_H
+#endif
+
+#if defined( Uses_TScrollBar )
+#define Uses_TView
+#define __INC_VIEWS_H
+#endif
+
+#if defined( Uses_TFrame )
+#define Uses_TView
+#define __INC_VIEWS_H
+#endif
+
+#if defined( Uses_TView )
+#define Uses_TObject
+#define Uses_TStreamable
+#define Uses_TCommandSet
+#define Uses_TPoint
+#define Uses_TDrawBuffer
+#define Uses_TPalette
+#define __INC_VIEWS_H
+#endif
+
+#if defined( Uses_TPalette )
+#define __INC_VIEWS_H
+#endif
+
+#if defined( Uses_TCommandSet )
+#define __INC_VIEWS_H
+#endif
+
+#if defined( Uses_ViewCommands )
+#define __INC_VIEWS_H
+#endif
+
+#if defined( Uses_TStrListMaker )
+#define Uses_TObject
+#define Uses_TStreamable
+#define Uses_TStrIndexRec
+#define __INC_RESOURCE_H
+#endif
+
+#if defined( Uses_TStringList )
+#define Uses_TObject
+#define Uses_TStreamable
+#define __INC_RESOURCE_H
+#endif
+
+#if defined( Uses_TStrIndexRec )
+#define __INC_RESOURCE_H
+#endif
+
+#if defined( Uses_TResourceFile )
+#define Uses_TObject
+#define __INC_RESOURCE_H
+#endif
+
+#if defined( Uses_TResourceItem )
+#define __INC_RESOURCE_H
+#endif
+
+#if defined( Uses_TResourceCollection )
+#define Uses_TStringCollection
+#define __INC_RESOURCE_H
+#endif
+
+#if defined( Uses_TStringCollection )
+#define Uses_TSortedCollection
+#define __INC_RESOURCE_H
+#endif
+
+#if defined( Uses_MsgBox )
+#define __INC_MSGBOX_H
+#endif
+
+#if defined( Uses_TSystemError )
+#define __INC_SYSTEM_H
+#endif
+
+#if defined( Uses_TScreen )
+#define __INC_SYSTEM_H
+#endif
+
+#if defined( Uses_TEventQueue )
+#define Uses_TEvent
+#define __INC_SYSTEM_H
+#endif
+
+#if defined( Uses_TEvent )
+#define Uses_TPoint
+#define __INC_SYSTEM_H
+#endif
+
+#if defined( Uses_THardwareInfo )
+#define __INC_HARDWARE_H
+#endif
+
+#if defined( Uses_EventCodes )
+#define __INC_SYSTEM_H
+#endif
+
+#if defined( Uses_TSortedCollection )
+#define Uses_TNSSortedCollection
+#define Uses_TCollection
+#define __INC_OBJECTS_H
+#endif
+
+#if defined( Uses_TCollection )
+#define Uses_TNSCollection
+#define Uses_TStreamable
+#define __INC_OBJECTS_H
+#endif
+
+#if defined( Uses_TRect )
+#define Uses_TPoint
+#define Uses_ipstream
+#define Uses_opstream
+#define __INC_OBJECTS_H
+#endif
+
+#if defined( Uses_TPoint )
+#define __INC_OBJECTS_H
+#endif
+
+#if defined( Uses_TDrawBuffer )
+#define __INC_DRAWBUF_H
+#endif
+
+#if defined( Uses_fpstream )
+#define Uses_fpbase
+#define Uses_iopstream
+#define __INC_TOBJSTRM_H
+#endif
+
+#if defined( Uses_ofpstream )
+#define Uses_fpbase
+#define Uses_opstream
+#define __INC_TOBJSTRM_H
+#endif
+
+#if defined( Uses_ifpstream )
+#define Uses_fpbase
+#define Uses_ipstream
+#define __INC_TOBJSTRM_H
+#endif
+
+#if defined( Uses_fpbase )
+#define Uses_pstream
+#define __INC_TOBJSTRM_H
+#endif
+
+#if defined( Uses_iopstream )
+#define Uses_ipstream
+#define Uses_opstream
+#define __INC_TOBJSTRM_H
+#endif
+
+#if defined( Uses_opstream )
+#define Uses_pstream
+#define Uses_TPWrittenObjects
+#define __INC_TOBJSTRM_H
+#endif
+
+#if defined( Uses_ipstream )
+#define Uses_pstream
+#define Uses_TPReadObjects
+#define __INC_TOBJSTRM_H
+#endif
+
+#if defined( Uses_pstream )
+#define __INC_TOBJSTRM_H
+#endif
+
+#if defined( Uses_TPReadObjects )
+#define Uses_TNSCollection
+#define __INC_TOBJSTRM_H
+#endif
+
+#if defined( Uses_TPWrittenObjects )
+#define Uses_TNSSortedCollection
+#define __INC_TOBJSTRM_H
+#endif
+
+#if defined( Uses_TStreamableTypes )
+#define Uses_TNSSortedCollection
+#define __INC_TOBJSTRM_H
+#endif
+
+#if defined( Uses_TStreamableClass )
+#define __INC_TOBJSTRM_H
+#endif
+
+#if defined( Uses_TStreamable )
+#define __INC_TOBJSTRM_H
+#endif
+
+#if defined( Uses_TNSSortedCollection )
+#define Uses_TNSCollection
+#define __INC_TVOBJS_H
+#endif
+
+#if defined( Uses_TNSCollection )
+#define Uses_TObject
+#define __INC_TVOBJS_H
+#endif
+
+#if defined( Uses_TObject )
+#define __INC_TVOBJS_H
+#endif
+
+#if defined( Uses_TKeys )
+#define __INC_TKEYS_H
+#endif
+
+#include <tvision/tvconfig.h>
+#include <tvision/ttypes.h>
+
+//#if defined( __INC_HARDWARE_H )
+//#include <tvision/hardware.h>
+//#endif
+
+#if defined( __INC_TKEYS_H )
+#include <tvision/tkeys.h>
+#endif
+
+#include <tvision/util.h>
+
+#if defined( __INC_TVOBJS_H )
+#include <tvision/tvobjs.h>
+#endif
+
+#if defined( __INC_TOBJSTRM_H )
+#include <tvision/tobjstrm.h>
+#endif
+
+#if defined( __INC_DRAWBUF_H )
+#include <tvision/drawbuf.h>
+#endif
+
+#if defined( __INC_OBJECTS_H )
+#include <tvision/objects.h>
+#endif
+
+#if defined( __INC_SYSTEM_H )
+#include <tvision/system.h>
+#endif
+
+#if defined( __INC_MSGBOX_H )
+#include <tvision/msgbox.h>
+#endif
+
+#if defined( __INC_RESOURCE_H )
+#include <tvision/resource.h>
+#endif
+
+#if defined( __INC_VIEWS_H )
+#include <tvision/views.h>
+#endif
+
+#if defined( __INC_BUFFERS_H )
+#include <tvision/buffers.h>
+#endif
+
+#if defined( __INC_DIALOGS_H )
+#include <tvision/dialogs.h>
+#endif
+
+#if defined( __INC_VALIDATOR_H )
+#include <tvision/validate.h>
+#endif
+
+#if defined( __INC_STDDLG_H )
+#include <tvision/stddlg.h>
+#endif
+
+#if defined( __INC_COLORSEL_H )
+#include <tvision/colorsel.h>
+#endif
+
+#if defined( __INC_MENUS_H )
+#include <tvision/menus.h>
+#endif
+
+#if defined( __INC_TEXTVIEW_H )
+#include <tvision/textview.h>
+#endif
+
+#if defined( __INC_EDITORS_H )
+#include <tvision/editors.h>
+#endif
+
+#if defined( __INC_OUTLINE_H )
+#include <tvision/outline.h>
+#endif
+
+#if defined( __INC_APP_H )
+#include <tvision/app.h>
+#endif
diff --git a/freebsdtvision/lib/tvconfig.h b/freebsdtvision/lib/tvconfig.h
new file mode 100644
index 0000000..ba654be
--- /dev/null
+++ b/freebsdtvision/lib/tvconfig.h
@@ -0,0 +1,50 @@
+/*
+ * tvconfig.h
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#if !defined( __CONFIG_H )
+#define __CONFIG_H
+
+#include <limits.h>
+
+/** \file tvconfig.h
+ * tvconfig.h
+ */
+
+/** \var eventQSize
+ * Specifies the size of the event queue.
+ */
+const int eventQSize = 16;
+
+/** \var maxCollectionSize
+ * maxCollectionSize determines the maximum number of elements that may be
+ * contained in a collection, which is essentially the number of pointers that
+ * can fit in INT_MAX (= 2^31-1) bytes.
+ */
+const int maxCollectionSize = INT_MAX / sizeof(void *);
+
+/** \var maxViewWidth
+ * Sets the maximum width of a view.
+ */
+const int maxViewWidth = 132;
+
+/** \var maxFindStrLen
+ * Gives the maximum length for a find string in TEditor applications.
+ * @see TEditor
+ */
+const int maxFindStrLen = 80;
+
+/** \var maxReplaceStrLen
+ * Gives the maximum length for a replacement string in TEditor applications.
+ * @see TEditor
+ */
+const int maxReplaceStrLen = 80;
+
+#endif // __CONFIG_H
diff --git a/freebsdtvision/lib/tvobjs.h b/freebsdtvision/lib/tvobjs.h
new file mode 100644
index 0000000..e6c6904
--- /dev/null
+++ b/freebsdtvision/lib/tvobjs.h
@@ -0,0 +1,436 @@
+/**
+ * @file tvobjs.h
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#if defined( Uses_TObject ) && !defined( __TObject )
+#define __TObject
+
+#include <stddef.h>
+
+/**
+ * TObject is the starting point for much of TVision's class hierarchy. It has
+ * no parents but many descendants. Apart from @ref TPoint and @ref TRect,
+ * most of TVision's standard classes are ultimately derived from TObject.
+ *
+ * Any object that uses TVision's stream facilities must trace its ancestry
+ * back to TObject.
+ * @see TView
+ * @short The fundamental class
+ */
+class TObject {
+public:
+ virtual ~TObject();
+ static void destroy(TObject *o);
+ virtual void shutDown();
+};
+
+#endif // Uses_TObject
+
+#if defined( Uses_TNSCollection ) && !defined( __TNSCollection )
+#define __TNSCollection
+
+/**
+ * TNSCollection implements a nonstreamable collection of items. It provides
+ * a base class for the streamable collection class, @ref TCollection.
+ * TNSCollection provides @ref TCollection with the functions for adding,
+ * accessing, and removing items from a collection.
+ *
+ * This class stores an array of pointers to generic objects. This array may
+ * grow or shrink at run-time.
+ *
+ * Note: type ccIndex is defined in file `ttypes.h' as int.
+ * @short Handles a non-streamable collection of objects
+ */
+class TNSCollection : public TObject
+{
+public:
+ /**
+ * Constructor.
+ *
+ * Creates a collection with @ref limit set to `aLimit' and @ref delta
+ * set to `aDelta'. @ref count and @ref items data members are both set
+ * to 0.
+ * @ref shouldDelete is set True.
+ *
+ * The initial number of items will be limited to `aLimit', but the
+ * collection is allowed to grow in increments of `aDelta' until memory
+ * runs out or the number of items reaches @ref maxCollectionSize.
+ *
+ * @ref maxCollectionSize is defined in `tvconfig.h' as:
+ *
+ * <pre>
+ * const int maxCollectionSize = INT_MAX / sizeof(void *);
+ * </pre>
+ * @see maxCollectionSize
+ */
+ TNSCollection( ccIndex aLimit, ccIndex aDelta );
+ /**
+ * Destructor.
+ *
+ * If @ref shouldDelete is True, the destructor removes and destroys all
+ * items in the collection by calling @ref freeAll and setting @ref limit
+ * to 0.
+ *
+ * If @ref shouldDelete is False, the destructor sets @ref limit to 0 but
+ * does not destroy the collection.
+ */
+ ~TNSCollection();
+ /**
+ * Releases all the resources allocated by this class.
+ *
+ * If class flag @ref shouldDelete is True the function @ref freeAll() is
+ * called. This will delete each object of the array.
+ */
+ virtual void shutDown();
+ /**
+ * Returns a pointer to the item indexed by `index' in the collection. If
+ * `index' is less than 0 or greater than or equal to count, @ref error()
+ * is called with an argument of coIndexError, and 0 is then returned.
+ */
+ void *at( ccIndex index );
+ /**
+ * Returns the index of the given item; that is, the converse operation
+ * to @ref at(). If the item is not in the collection, @ref indexOf()
+ * calls @ref error().
+ *
+ * The address of the item is passed in the `item' parameter.
+ */
+ virtual ccIndex indexOf( void *item );
+ /**
+ * Removes the object at position `index' from the array.
+ *
+ * Then calls delete on the object.
+ */
+ void atFree( ccIndex index );
+ /**
+ * Removes the object at position `index' from the array.
+ *
+ * Removes the item at the position `index' by moving the following items
+ * up by one position. @ref count is decremented by 1, but the memory
+ * allocated to the collection is not reduced. If `index' is greater than
+ * or equal to @ref count, @ref error() is called.
+ *
+ * The item itself is not destroyed.
+ */
+ void atRemove( ccIndex index );
+ /**
+ * Removes the item given by `item' from the collection.
+ *
+ * Equivalent to `atRemove(indexOf(item))'. Does not call delete on the
+ * object.
+ * @see TNSCollection::atRemove
+ * @see TNSCollection::indexOf
+ */
+ void remove( void *item );
+ /**
+ * Removes all items from the collection by just setting @ref count to 0.
+ * @see TNSCollection::count
+ */
+ void removeAll();
+ /**
+ * Removes and destroys the given item.
+ *
+ * It just does `atRemove(indexOf(item))'. Then calls delete on the
+ * object.
+ * @see TNSCollection::atRemove
+ * @see TNSCollection::indexOf
+ */
+ void free( void *item );
+ /**
+ * Removes and destroys all items in the collection and sets @ref count
+ * to 0.
+ *
+ * The array is cleared out but not deleted.
+ */
+ void freeAll();
+ /**
+ * Inserts a new object at position `index'.
+ *
+ * Moves the following items down by one position, then inserts `item' at
+ * the `index' position. If `index' is less than 0 or greater than
+ * @ref count data member, @ref error() is called with an argument of
+ * coIndexError and the new item is not inserted.
+ *
+ * If @ref count is equal to @ref limit data member before the call to
+ * atInsert(), the allocated size of the collection is expanded by
+ * @ref delta items using a call to @ref setLimit().
+ *
+ * If the @ref setLimit() call fails to expand the collection, the
+ * @ref error() member function is called with an argument of coOverflow
+ * and the new item is not inserted.
+ */
+ void atInsert( ccIndex index, void *item );
+ /**
+ * Replaces the object at position `index'.
+ *
+ * Replaces the item at position `index' with the given `item'. If `index'
+ * is less than 0 or greater than or equal to @ref count,
+ * @ref error() is called with an argument of coIndexError.
+ *
+ * Old object is lost.
+ */
+ void atPut( ccIndex index, void *item );
+ /**
+ * Inserts `item' into the collection, and adjusts other indexes if
+ * necessary. By default, insertions are made at the end of the collection
+ * by calling @ref atInsert().
+ */
+ virtual ccIndex insert( void *item );
+#ifndef __UNPATCHED
+ /**
+ * This function is called on error conditions.
+ *
+ * By default calls function exit() to terminate the program.
+ */
+ virtual void error( ccIndex code, ccIndex info );
+#else
+ /**
+ * Called whenever a collection error is encountered. By default, this
+ * member function produces a run-time error of (212 - `code').
+ */
+ static void error( ccIndex code, ccIndex info );
+#endif
+ /**
+ * firstThat() applies a @ref Boolean function `Test', along with an
+ * argument list given by `arg' to each item in the collection until the
+ * tested function returns True.
+ * The result is the item pointer for which the call returns True, or 0 if
+ * the call returned False for all items.
+ *
+ * `Test' is a pointer to a function whose type ccTestFunc is defined
+ * as:
+ *
+ * <pre>
+ * typedef Boolean (*ccTestFunc)(void *, void *)
+ * </pre>
+ *
+ * This method returns when one object of the array passes the test or
+ * when each object is tested without success. In the first case it
+ * returns the address of the object. In the latter case it returns 0.
+ * `arg' stores the argument of the function (if any).
+ *
+ * This method scans the array forward. This is an example:
+ *
+ * <pre>
+ * #define Uses_TNSCollection
+ *
+ * #include "tv.h"
+ *
+ * class XObject {
+ * int value;
+ * public:
+ * XObject(int aValue): value(aValue) {}
+ * int getValue() { return value; }
+ * };
+ *
+ * Boolean matchTest(void *obj, void *value)
+ * {
+ * if (((XObject *) obj)->getValue() == *((int *) value)) return True;
+ * return False;
+ * }
+ *
+ * void main()
+ * {
+ * TNSCollection array(10, 5);
+ * array.insert(new XObject(14));
+ * array.insert(new XObject(32));
+ * array.insert(new XObject(23));
+ * array.insert(new XObject(41));
+ * int find = 23;
+ * XObject *p = (XObject *) array.firstThat(&matchTest, &find);
+ * if (p != 0) array.free(p);
+ * }
+ * </pre>
+ * @see TNSCollection::forEach
+ * @see TNSCollection::lastThat
+ */
+ void *firstThat( ccTestFunc Test, void *arg );
+ /**
+ * lastThat() applies the @ref Boolean function `Test', together with
+ * the `arg' argument list to each item in the collection, starting at
+ * the last item, and scanning in reverse order until the tested function
+ * returns True.
+ * The result is the item pointer for which the call returns True, or 0 if
+ * the call returned False for all items.
+ *
+ * This method scans the array backward.
+ * @see TNSCollection::firstThat
+ * @see TNSCollection::forEach
+ */
+ void *lastThat( ccTestFunc Test, void *arg );
+ /**
+ * The forEach() iterator applies an action, given by the function
+ * `action', to each item in the collection. The `arg' pointer can be used
+ * to pass additional arguments to the action.
+ *
+ * `action' is a pointer to a function whose type ccAppFunc is defined as:
+ *
+ * <pre>
+ * typedef void (*ccAppFunc)(void *, void *);
+ * </pre>
+ *
+ * This method scans the array forward.
+ * @see TNSCollection::firstThat
+ * @see TNSCollection::lastThat
+ */
+ void forEach( ccAppFunc action, void *arg );
+ /**
+ * Packs the array by removing null pointers from it.
+ *
+ * Deletes all null pointers in the collection and moves items up to fill
+ * any gaps.
+ */
+ void pack();
+ /**
+ * Expands or shrinks the collection by changing the allocated size to
+ * `aLimit'.
+ *
+ * -# If `aLimit' is less than @ref count, it is set to @ref count.
+ * -# if `aLimit' is greater than @ref maxCollectionSize, it is set to
+ * @ref maxCollectionSize. Integer constant maxCollectionSize is
+ * defined in file `tvconfig.h' as:
+ *
+ * <pre>
+ * const int maxCollectionSize = INT_MAX / sizeof(void *);
+ * </pre>
+ *
+ * Then, if `aLimit' is different from the current @ref limit, a new items
+ * array of `aLimit' elements is allocated, the old @ref items array is
+ * copied into the new array, and the old array is deleted.
+ */
+ virtual void setLimit( ccIndex aLimit );
+ /**
+ * Returns the number of items stored in the collection, up to
+ * @ref maxCollectionSize.
+ */
+ ccIndex getCount()
+ { return count; }
+protected:
+ /**
+ * Constructor.
+ *
+ * This constructor sets variable @ref shouldDelete to True and variables
+ * @ref count, @ref limit and @ref delta to 0.
+ */
+ TNSCollection();
+ /**
+ * A pointer to an array of generic item pointers.
+ * This variable stores the array starting address.
+ */
+ void **items;
+ /**
+ * This variable stores the number of objects in the array.
+ * @see TNSCollection::items
+ * @see TNSCollection::limit
+ */
+ ccIndex count;
+ /**
+ * The currently allocated size (in elements) of the @ref items list.
+ * Current size of the array. Greater or equal than @ref count.
+ */
+ ccIndex limit;
+ /**
+ * This value is used every time the array must be enlarged. In this case
+ * a number of delta pointers will be added to the array.
+ *
+ * delta is the number of items by which to increase the @ref items list
+ * whenever it becomes full. If delta is zero, the collection cannot grow
+ * beyond the size set by @ref limit.
+ */
+ ccIndex delta;
+ /**
+ * If set True (the default), the TNSCollection destructor will call
+ * @ref freeAll() before setting @ref limit to 0. All objects will be
+ * deleted when method @ref shutDown() is called.
+ *
+ * If set False, the destructor simply sets @ref limit to 0.
+ */
+ Boolean shouldDelete;
+private:
+ /**
+ * Undocumented.
+ */
+ virtual void freeItem( void *item );
+};
+
+#endif // Uses_TNSCollection
+
+#if defined( Uses_TNSSortedCollection ) && !defined( __TNSSortedCollection )
+#define __TNSSortedCollection
+
+/**
+ * The abstract class TNSSortedCollection is a specialized derivative of
+ * @ref TNSCollection implementing non-streamable collections sorted by a
+ * key (with or without duplicates). No instances of TNSSortedCollection are
+ * allowed. It exists solely as a base for other standard or user-defined
+ * derived classes.
+ * @short Handles a non-streamable collection sorted by a key (with or without
+ * duplicates)
+ */
+class TNSSortedCollection: public virtual TNSCollection
+{
+public:
+ /**
+ * Invokes the TNSCollection constructor to set @ref count, @ref items
+ * and @ref limit to 0; calls setLimit(aLimit) to set the collection
+ * @ref limit to `aLimit', then sets @ref delta to `aDelta'.
+ * @see TNSCollection::setLimit
+ *
+ * Sets @ref duplicates data member to False. If you want to allow
+ * duplicate keys, you must set @ref duplicates to True.
+ */
+ TNSSortedCollection( ccIndex aLimit, ccIndex aDelta) :
+ TNSCollection( aLimit, aDelta ), duplicates(False)
+ { delta = aDelta; setLimit( aLimit ); }
+ /**
+ * Returns True if the item identified by `key' is found in the sorted
+ * collection. If the item is found, `index' is set to the found index;
+ * otherwise `index' is set to the index where the item would be placed if
+ * inserted and False is returned.
+ */
+ virtual Boolean search( void *key, ccIndex& index );
+ virtual ccIndex indexOf( void *item );
+ /**
+ * If @ref duplicates data member is False, insert works as follows: if
+ * the target item is not found in the sorted collection, it is inserted
+ * at the correct index position. Calls @ref search() to determine if the
+ * item exists, and if not, where to insert it.
+ *
+ * If @ref duplicates is True, the item is inserted ahead of any items
+ * (if any) with the same key.
+ */
+ virtual ccIndex insert( void *item );
+ /**
+ * Set to True if duplicate indexes are allowed; otherwise set to False.
+ * The default is False.
+ *
+ * If @ref duplicates data member is True methods @ref search(),
+ * @ref insert() and @ref indexOf() work differently.
+ */
+ Boolean duplicates;
+ /**
+ * Undocumented.
+ */
+ virtual void *keyOf( void *item );
+protected:
+ /**
+ * Undocumented.
+ */
+ TNSSortedCollection() : duplicates(False) {}
+private:
+ /**
+ * compare() is a pure virtual function that must be overridden in all
+ * derived classes. compare() should compare the two key values, and
+ * return a result.
+ */
+ virtual int compare( void *key1, void *key2 ) = 0;
+};
+
+#endif // Uses_TNSSortedCollection
diff --git a/freebsdtvision/lib/tvtext.cc b/freebsdtvision/lib/tvtext.cc
new file mode 100644
index 0000000..2a5b052
--- /dev/null
+++ b/freebsdtvision/lib/tvtext.cc
@@ -0,0 +1,237 @@
+/*
+ * tvtext.cc
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#define Uses_TKeys
+#define Uses_TScreen
+#define Uses_TRadioButtons
+#define Uses_TMenuBox
+#define Uses_TFrame
+#define Uses_TIndicator
+#define Uses_THistory
+#define Uses_TColorSelector
+#define Uses_TMonoSelector
+#define Uses_TColorDialog
+#define Uses_TInputLine
+#define Uses_TStatusLine
+#define Uses_TCheckBoxes
+#define Uses_TScrollBar
+#define Uses_TButton
+#define Uses_TDirListBox
+#define Uses_TFileEditor
+#define Uses_TEditWindow
+#define Uses_TFileList
+#define Uses_TProgram
+#define Uses_MsgBox
+#define Uses_TChDirDialog
+#define Uses_TFileDialog
+#define Uses_TFileInfoPane
+#define Uses_TDeskTop
+#define Uses_TPXPictureValidator
+#define Uses_TFilterValidator
+#define Uses_TRangeValidator
+#define Uses_TStringLookupValidator
+#define Uses_TListViewer
+#define Uses_TOutlineViewer
+#include <tvision/tv.h>
+#include <tvision/help.h>
+
+#include <ctype.h>
+
+const uchar specialChars[] =
+{
+ 175, 174, 26, 27, ' ', ' '
+};
+
+static const char altCodes1[] =
+ "QWERTYUIOP\0\0\0\0ASDFGHJKL\0\0\0\0\0ZXCVBNM";
+static const char altCodes2[] = "1234567890-=";
+
+char getAltChar(ushort keyCode)
+{
+ if ((keyCode & 0xff) == 0)
+ {
+ ushort tmp = (keyCode >> 8);
+
+ if( tmp == 2 )
+ return '\xF0'; // special case to handle alt-Space
+
+ else if( tmp >= 0x10 && tmp <= 0x32 )
+ return altCodes1[tmp-0x10]; // alt-letter
+
+ else if( tmp >= 0x78 && tmp <= 0x83 )
+ return altCodes2[tmp - 0x78]; // alt-number
+
+ }
+ return 0;
+}
+
+ushort getAltCode(char c)
+{
+ if( c == 0 )
+ return 0;
+
+ c = toupper(c);
+
+ /* SS: this makes g++ happy */
+
+ if( (unsigned char) c == 0xf0)
+ return 0x200; // special case to handle alt-Space
+
+ int i;
+ for( i = 0; i < (int)sizeof( altCodes1 ); i++)
+ if( altCodes1[i] == c )
+ return (i+0x10) << 8;
+
+ for( i = 0; i < (int)sizeof( altCodes2); i++)
+ if (altCodes2[i] == c)
+ return (i+0x78) << 8;
+
+ return 0;
+}
+
+inline uchar lo(ushort w) { return w & 0xff; }
+inline uchar hi(ushort w) { return w >> 8; }
+
+char getCtrlChar(ushort keyCode)
+{
+ if ( (lo(keyCode)!= 0) && (lo(keyCode) <= ('Z'-'A'+1)))
+ return lo(keyCode) + 'A' - 1;
+ else
+ return 0;
+}
+
+ushort getCtrlCode(uchar ch)
+{
+ return getAltCode(ch)|(((('a'<=ch)&&(ch<='z'))?(ch&~0x20):ch)-'A'+1);
+}
+
+const char * TRadioButtons::button = " ( ) ";
+
+const char * TMenuBox::frameChars = " \332\304\277 \300\304\331 \263 \263 \303\304\264 ";
+
+const char TFrame::initFrame[19] =
+ "\x06\x0A\x0C\x05\x00\x05\x03\x0A\x09\x16\x1A\x1C\x15\x00\x15\x13\x1A\x19";
+
+char TFrame::frameChars[33] =
+ " À ³Úà ÙÄÁ¿´ÂÅ È ºÉÇ ¼ÍÏ»¶Ñ "; // for UnitedStates code page
+
+const char * TFrame::closeIcon = "[~\xFE~]";
+const char * TFrame::zoomIcon = "[~\x18~]";
+const char * TFrame::unZoomIcon = "[~\x12~]";
+const char * TFrame::dragIcon = "~ÄÙ~";
+
+char TIndicator::dragFrame = '\xCD';
+char TIndicator::normalFrame = '\xC4';
+
+const char * THistory::icon = "\xDE~\x19~\xDD";
+
+char TColorSelector::icon = '\xDB';
+
+const char * TMonoSelector::button = " ( ) ";
+const char * TMonoSelector::normal = "Normal";
+const char * TMonoSelector::highlight = "Highlight";
+const char * TMonoSelector::underline = "Underline";
+const char * TMonoSelector::inverse = "Inverse";
+
+const char * TColorDialog::colors = "Colors";
+const char * TColorDialog::groupText = "~G~roup";
+const char * TColorDialog::itemText = "~I~tem";
+const char * TColorDialog::forText = "~F~oreground";
+const char * TColorDialog::bakText = "~B~ackground";
+const char * TColorDialog::textText = "Text ";
+const char * TColorDialog::colorText = "Color";
+const char * TColorDialog::okText = "O~K~";
+const char * TColorDialog::cancelText = "Cancel";
+
+const char TInputLine::rightArrow = '\x10';
+const char TInputLine::leftArrow = '\x11';
+
+const char * TStatusLine::hintSeparator = "\xB3 ";
+
+const char * TCheckBoxes::button = " [ ] ";
+
+TScrollChars TScrollBar::vChars = {'\x1E', '\x1F', '\xB1', '\xFE', '\xB2'};
+TScrollChars TScrollBar::hChars = {'\x11', '\x10', '\xB1', '\xFE', '\xB2'};
+
+const char * TButton::shadows = "\xDC\xDB\xDF";
+const char * TButton::markers = "[]";
+
+const char * TDirListBox::pathDir = "ÀÄÂ";
+const char * TDirListBox::firstDir = "ÀÂÄ";
+const char * TDirListBox::middleDir = " ÃÄ";
+const char * TDirListBox::lastDir = " ÀÄ";
+const char * TDirListBox::drives = "Drives";
+const char * TDirListBox::graphics = "ÀÃÄ";
+
+const char * TFileEditor::backupExt = "~";
+
+const char * TPXPictureValidator::errorMsg = "Error in picture format.\n %s";
+const char * TFilterValidator::errorMsg = "Invalid character in input";
+const char * TRangeValidator::errorMsg = "Value not in the range %ld to %ld";
+const char * TStringLookupValidator::errorMsg = "Input is not in list of valid strings";
+
+const char * TRangeValidator::validUnsignedChars = "+0123456789";
+const char * TRangeValidator::validSignedChars = "+-0123456789";
+
+const char * TListViewer::emptyText = "<empty>";
+
+const char * THelpWindow::helpWinTitle = "Help";
+const char * THelpFile::invalidContext =
+ "\n No help available in this context.";
+
+const char * TEditWindow::clipboardTitle = "Clipboard";
+const char * TEditWindow::untitled = "Untitled";
+
+const char * TFileList::tooManyFiles = "Too many files.";
+
+const char * TProgram::exitText = "~Alt-X~ Exit";
+
+const char * MsgBoxText::yesText = "~Y~es";
+const char * MsgBoxText::noText = "~N~o";
+const char * MsgBoxText::okText = "O~K~";
+const char * MsgBoxText::cancelText = "Cancel";
+const char * MsgBoxText::warningText = "Warning";
+const char * MsgBoxText::errorText = "Error";
+const char * MsgBoxText::informationText = "Information";
+const char * MsgBoxText::confirmText = "Confirm";
+
+const char * TChDirDialog::changeDirTitle = "Change Directory";
+const char * TChDirDialog::dirNameText = "Directory ~n~ame";
+const char * TChDirDialog::dirTreeText = "Directory ~t~ree";
+const char * TChDirDialog::okText = "O~K~";
+const char * TChDirDialog::chdirText = "~C~hdir";
+const char * TChDirDialog::revertText = "~R~evert";
+const char * TChDirDialog::helpText = "Help";
+const char * TChDirDialog::drivesText = "Drives";
+const char * TChDirDialog::invalidText = "Invalid directory";
+
+const char * TFileDialog::filesText = "~F~iles";
+const char * TFileDialog::openText = "~O~pen";
+const char * TFileDialog::okText = "O~K~";
+const char * TFileDialog::replaceText = "~R~eplace";
+const char * TFileDialog::clearText = "~C~lear";
+const char * TFileDialog::cancelText = "Cancel";
+const char * TFileDialog::helpText = "~H~elp";
+const char * TFileDialog::invalidDriveText = "Invalid drive or directory";
+const char * TFileDialog::invalidFileText = "Invalid file name.";
+
+const char * TFileInfoPane::pmText = "p";
+const char * TFileInfoPane::amText = "a";
+const char * const TFileInfoPane::months[] =
+ {
+ "","Jan","Feb","Mar","Apr","May","Jun",
+ "Jul","Aug","Sep","Oct","Nov","Dec"
+ };
+
+char TDeskTop::defaultBkgrnd = '\xB0';
+
+char TListViewer::separatorChar = '\xB3';
+const char* TOutlineViewer::graphChars = "\x20\xB3\xC3\xC0\xC4\xC4+\xC4";
diff --git a/freebsdtvision/lib/util.h b/freebsdtvision/lib/util.h
new file mode 100644
index 0000000..2a00f49
--- /dev/null
+++ b/freebsdtvision/lib/util.h
@@ -0,0 +1,201 @@
+/*
+ * @file util.h
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
+ */
+
+#if !defined( __UTIL_H )
+#define __UTIL_H
+
+#include <streambuf>
+
+/**
+ * Undocumented.
+ */
+inline int min( int a, int b )
+{
+ return (a>b) ? b : a;
+}
+
+/**
+ * Undocumented.
+ */
+inline int max( int a, int b )
+{
+ return (a<b) ? b : a;
+}
+
+
+/**
+ * Undocumented.
+ */
+char hotKey( const char *s );
+
+/** \fn ctrlToArrow( ushort keyCode )
+ * Converts a WordStar-compatible control key code to the corresponding cursor
+ * key code. If the low byte of `keyCode' matches one of the following key
+ * values, the result is the corresponding constant. Otherwise, `keyCode' is
+ * returned unchanged.
+ *
+ * <pre>
+ * Keystroke Lo(keyCode) Result
+ *
+ * Ctrl-A 0x01 kbHome
+ * Ctrl-C 0x03 kbPgDn
+ * Ctrl-D 0x04 kbRight
+ * Ctrl-E 0x05 kbUp
+ * Ctrl-F 0x06 kbEnd
+ * Ctrl-G 0x07 kbDel
+ * Ctrl-H 0x08 kbBack
+ * Ctrl-R 0x12 kbPgUp
+ * Ctrl-S 0x13 kbLeft
+ * Ctrl-V 0x16 kbIns
+ * Ctrl-X 0x18 kbDown
+ * </pre>
+ */
+ushort ctrlToArrow( ushort keyCode );
+
+/** \fn getAltChar( ushort keyCode )
+ * Returns the character ch for which Alt-ch produces the 2-byte scan code
+ * given by the argument `keyCode'. This function gives the reverse mapping to
+ * getAltCode().
+ * @see getAltCode
+ */
+char getAltChar( ushort keyCode );
+
+/** \fn getAltCode( char ch )
+ * Returns the 2-byte scan code (key code) corresponding to Alt-ch. This
+ * function gives the reverse mapping to getAltChar().
+ * @see getAltChar
+ */
+ushort getAltCode( char ch );
+
+/** \fn getCtrlChar( ushort keyCode )
+ * Returns the character, ch, for which Ctrl+ch produces the 2-byte scan code
+ * given by the argument `keyCode'. Gives the reverse mapping to
+ * getCtrlCode().
+ * @see getCtrlCode
+ */
+char getCtrlChar( ushort keyCode );
+
+/** \fn getCtrlCode( uchar ch )
+ * Returns the 2-byte scan code (keycode) corresponding to Ctrl+ch, where `ch'
+ * is the argument. This function gives the reverse mapping to getCtrlChar().
+ * @see getCtrlChar
+ */
+ushort getCtrlCode( uchar ch );
+
+/** \fn historyCount( uchar id )
+ * Returns the number of strings in the history list corresponding to ID
+ * number `id'.
+ * @see THistInit
+ * @see THistory
+ * @see THistoryViewer
+ * @see THistoryWindow
+ * @see historyAdd
+ * @see historyStr
+ */
+ushort historyCount( uchar id );
+
+/** \fn historyStr( uchar id, int index )
+ * Returns the index'th string in the history list corresponding to ID number
+ * `id'.
+ * @see THistInit
+ * @see THistory
+ * @see THistoryViewer
+ * @see THistoryWindow
+ * @see historyAdd
+ * @see historyCount
+ */
+const char *historyStr( uchar id, int index );
+
+/** \fn historyAdd( uchar id, const char *str )
+ * Adds the string `str' to the history list indicated by `id'.
+ * @see THistInit
+ * @see THistory
+ * @see THistoryViewer
+ * @see THistoryWindow
+ * @see historyCount
+ * @see historyStr
+ */
+void historyAdd( uchar id, const char *str );
+
+/** \fn cstrlen( const char *s )
+ * Returns the length of string `s', where `s' is a control string using tilde
+ * characters (`~') to designate hot keys. The tildes are excluded from the
+ * length of the string, as they will not appear on the screen. For example,
+ * given the argument "~B~roccoli", cstrlen() returns 8.
+ */
+int cstrlen( const char *s );
+
+class TView;
+
+/** \fn message( TView *receiver, ushort what, ushort command, void *infoPtr )
+ * message() sets up a command event with the arguments `event', `command',
+ * and `infoPtr', and then, if possible, invokes receiver->handleEvent() to
+ * handle this event.
+ * @see TView::handleEvent
+ *
+ * message() returns 0 if receiver is 0, or if the event is not handled
+ * successfully. If the event is handled successfully (that is, if
+ * @ref TView::handleEvent() returns event.what as evNothing), the function
+ * returns event.infoPtr.
+ *
+ * The latter can be used to determine which view actually handled the
+ * dispatched event. The event argument is usually set to evBroadcast.
+ *
+ * For example, the default @ref TScrollBar::scrollDraw() sends the following
+ * message to the scroll bar's owner:
+ *
+ * <pre>
+ * message(owner, @ref evBroadcast, cmScrollBarChanged, this);
+ * </pre>
+ *
+ * The above message ensures that the appropriate views are redrawn whenever
+ * the scroll bar's value changes.
+ */
+void *message( TView *receiver, ushort what, ushort command, void *infoPtr );
+
+/** \fn newStr( const char *s )
+ * Dynamic string creation. If `s' is a null pointer, newStr() returns a 0
+ * pointer; otherwise, strlen(s)+ 1 bytes are allocated, containing a copy of
+ * `s' (with a terminating '\0'), and a pointer to the first byte is returned.
+ *
+ * You can use delete to dispose of such strings.
+ */
+char *newStr( const char *s );
+
+/**
+ * Undocumented.
+ */
+Boolean isDir( const char *str );
+/**
+ * Undocumented.
+ */
+Boolean pathValid( const char *path );
+/**
+ * Undocumented.
+ */
+Boolean validFileName( const char *fileName );
+/**
+ * Undocumented.
+ */
+void getCurDir( char *dir );
+/**
+ * Undocumented.
+ */
+Boolean isWild( const char *f );
+
+//from system.cc
+
+extern std::streampos filelength(std::istream &s);
+extern void expandPath(const char path[], char dir[], char file[]);
+extern void fexpand(char path[]);
+
+#endif // __UTIL_H
diff --git a/freebsdtvision/lib/validate.h b/freebsdtvision/lib/validate.h
new file mode 100644
index 0000000..124c410
--- /dev/null
+++ b/freebsdtvision/lib/validate.h
@@ -0,0 +1,933 @@
+/*
+ * validate.h
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#if defined(Uses_TValidator) && !defined(__TValidator)
+#define __TValidator
+
+// TValidator Status constants
+
+/** \file validate.h
+ * validate.h
+ */
+
+static const int
+ vsOk = 0,
+ vsSyntax = 1, // Error in the syntax of either a TPXPictureValidator
+ // or a TDBPictureValidator
+
+// Validator option flags
+ voFill = 0x0001,
+ voTransfer = 0x0002,
+ voReserved = 0x00FC;
+
+// TVTransfer constants
+
+enum TVTransfer {vtDataSize, vtSetData, vtGetData};
+
+// Abstract TValidator object
+
+/**
+ * TValidator defines an abstract data validation object. You will never
+ * actually create an instance of TValidator, but it provides much of the
+ * abstract functions for the other data validation objects.
+ * @see TObject
+ * @see TStreamable
+ * @short Implements an abstract data validation object
+ */
+class TValidator : public TObject, public TStreamable
+{
+public:
+ /**
+ * Undocumented.
+ */
+ TValidator();
+ /**
+ * This is an abstract method called by @ref validate() when it detects
+ * that the user has entered invalid information. By default, error() does
+ * nothing, but descendant types can override it to provide feedback to
+ * the user.
+ */
+ virtual void error();
+ /**
+ * If an input line has an associated validator object, it calls
+ * isValidInput() after processing each keyboard event. This gives
+ * validators such as filter validators an opportunity to catch errors
+ * before the user fills the entire item or screen.
+ *
+ * By default, isValidInput() returns True. Descendant data validators can
+ * override isValidInput() to validate data as the user types it,
+ * returning True if `s' holds valid data and False otherwise.
+ *
+ * `s' is the current input string. `suppressFill' determines whether the
+ * validator should automatically format the string before validating it.
+ *
+ * If `suppressFill' is True, validation takes place on the unmodified
+ * string `s'. If `suppressFill' is False, the validator should apply any
+ * filling or padding before validating data.
+ *
+ * Of the standard validator objects, only @ref TPXPictureValidator checks
+ * `suppressFill'. Because `s' is passed by pointer, isValidInput() can
+ * modify the contents of the input string, such as forcing characters to
+ * uppercase or inserting literal characters from a format picture.
+ *
+ * isValidInput() should not, however, delete invalid characters from the
+ * string. By returning False, isValidInput() indicates that the input
+ * line should erase the offending characters.
+ */
+ virtual Boolean isValidInput(char* s, Boolean suppressFill);
+ /**
+ * By default, isValid() returns True. Descendant validator types can
+ * override isValid() to validate data for a completed input line.
+ *
+ * If an input line has an associated validator object, its
+ * @ref TInputLine::valid() method calls the validator object's
+ * @ref validate()
+ * method, which in turn calls @ref isValid() to determine whether the
+ * contents of the input line are valid.
+ */
+ virtual Boolean isValid(const char* s);
+ /**
+ * transfer() allows a validator to take over setting and reading the
+ * values of its associated input line, which is mostly useful for
+ * validators that check non-string data, such as numeric values.
+ *
+ * For example, @ref TRangeValidator uses transfer() to read and write
+ * long int type values to a data record, rather than transferring an
+ * entire string.
+ *
+ * By default, input lines with validators give the validator the first
+ * chance to respond to @ref TInputLine::dataSize(),
+ * @ref TInputLine::getData(), and @TInputLine::setData() by calling the
+ * validator's transfer() method.
+ *
+ * If transfer() returns anything other than 0, it indicates to the input
+ * line that it has handled the appropriate transfer.
+ * The default action of transfer() is to return 0 always. If you want the
+ * validator to transfer data, you need to override its transfer() method.
+ *
+ * transfer()'s first two parameters are the associated input line's text
+ * string and the @ref getData() or @ref setData() data record.
+ * Depending on the value of `flag', transfer() can set `s' from `buffer'
+ * or read the data from `s' into `buffer'. The return value is always the
+ * number of bytes transferred.
+ *
+ * If `flag' is vtDataSize, transfer() doesn't change either `s' or
+ * `buffer', but just returns the data size. If `flag' is vtSetData,
+ * Transfer reads the appropriate number of bytes from `buffer', converts
+ * them into the proper string form, and sets them into `s', returning the
+ * number of bytes read.
+ *
+ * If `flag' is vtGetData, transfer() converts `s' into the appropriate
+ * data type and writes the value into `buffer', returning the number of
+ * bytes written.
+ *
+ * <pre>
+ * enum TVTransfer {vtDataSize, vtSetData, vtGetData};
+ * </pre>
+ *
+ * Validator objects use parameters of type TVTransfer in their transfer()
+ * methods to control data transfer when setting or reading the value of
+ * the associated input line.
+ */
+ virtual ushort transfer(char *s, void* buffer, TVTransfer flag);
+ /**
+ * Returns True if @ref isValid(s) returns True. Otherwise calls
+ * @ref error() and returns False. A validator's validate() method is
+ * called by the @ref TInputLine::valid() method of its associated
+ * input line.
+ *
+ * Input lines with associated validator objects call the validator's
+ * validate() method under two conditions: either the input line has its
+ * @ref ofValidate option set, in which case it calls validate() when it
+ * loses focus, or the dialog box that contains the input line calls
+ * validate() for all its controls, usually because the user requested to
+ * close the dialog box or accept an entry screen.
+ */
+ Boolean validate(const char* s);
+ /**
+ * Indicates the status of the validator object. If status is vsOK, the
+ * validator object constructed correctly. Any value other than vsOK
+ * indicates that an error occurred.
+ *
+ * Input line objects use vsOK to check that their associated validator
+ * objects were constructed properly. When called with a command parameter
+ * of cmValid, an input line object's @ref TInputLine::valid() method
+ * checks its validator's status field.
+ *
+ * If status data member is vsOK, the input line's valid() returns True,
+ * indicating that the validator object is ready to use. The only value
+ * defined for status other than vsOK is vsSyntax, used by
+ * @ref TPXPictureValidator to indicate that it could not interpret the
+ * picture string passed to it. If you create your own validator objects,
+ * you can define error codes and pass them in the status field.
+ *
+ * <pre>
+ * Constant Value Meaning
+ *
+ * vsOK 0 Validator constructed properly
+ * vsSyntax 1 Error in the syntax of a picture validator's picture
+ * </pre>
+ */
+ ushort status;
+ /**
+ * This is a bitmapped field used to control options for various
+ * descendants of TValidator. By default, TValidator constructor clears
+ * all the bits in options.
+ *
+ * Constants voXXXX represent the bits in the bitmapped options word in
+ * validator objects.
+ *
+ * <pre>
+ * Constant Value Meaning
+ *
+ * voFill 0x0001 Used by picture validators to indicate whether to fill
+ * in literal characters as the user types
+ *
+ * voTransfer 0x0002 The validator handles data transfer for the input
+ * line; currently only used by range validators
+ *
+ * voReserved 0x00fc The bits in this mask are reserved by Borland
+ * </pre>
+ */
+ ushort options;
+protected:
+ /**
+ * Each streamable class needs a "builder" to allocate the correct memory
+ * for its objects together with the initialized virtual table pointers.
+ * This is achieved by calling this constructor with an argument of type
+ * @ref StreamableInit.
+ */
+ TValidator( StreamableInit );
+ /**
+ * Writes to the output stream `os'.
+ */
+ virtual void write( opstream& os );
+ /**
+ * Reads from the input stream `is'.
+ */
+ virtual void* read( ipstream& is );
+private:
+ virtual const char *streamableName() const {return name;};
+public:
+ /**
+ * Called to create an object in certain stream-reading situations.
+ */
+ static TStreamable *build();
+ /**
+ * Undocumented.
+ */
+ static const char * const name;
+};
+
+#endif
+
+
+#if defined(Uses_TPXPictureValidator) && !defined(__TPXPictureValidator)
+#define __TPXPictureValidator
+
+// TPXPictureValidator result type
+
+enum TPicResult {prComplete, prIncomplete, prEmpty, prError, prSyntax,
+ prAmbiguous, prIncompNoFill};
+
+// TPXPictureValidator
+
+/**
+ * Picture validator objects compare user input with a picture of a data
+ * format to determine the validity of entered data. The pictures are
+ * compatible with the pictures Borland's Paradox relational database uses to
+ * control data entry.
+ *
+ * For a complete description of picture specifiers see method
+ * @ref TPXPictureValidator::picture()
+ * @short Compare user input with a picture of a data format to determine the
+ * validity of entered data
+ */
+class TPXPictureValidator : public TValidator
+{
+ static const char * errorMsg;
+public:
+ /**
+ * Constructs a picture validator object by first calling the constructor
+ * inherited from TValidator, then allocating a copy of `aPic' on the heap
+ * and setting @ref pic data member to point to it, then setting the
+ * voFill bit in @ref TValidator::options data member if `autoFill' is
+ * True.
+ */
+ TPXPictureValidator(const char* aPic, Boolean autoFill);
+ /**
+ * Disposes of the string pointed to by @ref pic data member, then
+ * disposes of the picture validator object by calling the destructor
+ * inherited from @ref TValidator.
+ */
+ ~TPXPictureValidator();
+ /**
+ * Displays a message box indicating an error in the picture format,
+ * displaying the string pointed to by @ref pic data member.
+ */
+ virtual void error();
+ /**
+ * Checks the string passed in `s' against the format picture specified in
+ * @ref pic data member and returns True if @ref pic is null or
+ * @ref picture() does not return prError for `s'; otherwise returns
+ * False.
+ *
+ * The `suppressFill' parameter overrides the value in voFill for the
+ * duration of the call to isValidInput().
+ *
+ * `s' is a pointer to string, so isValidInput() can modify its value. For
+ * example, if `suppressFill' is False and voFill is set, the call to
+ * @ref picture() returns a filled string based on `s', so the image in
+ * the input line automatically reflects the format specified in pic.
+ */
+ virtual Boolean isValidInput(char* s, Boolean suppressFill);
+ /**
+ * Compares the string passed in `s' with the format picture specified in
+ * @ref pic data member and returns True if @ref pic is null or if
+ * @ref picture() returns prComplete for `s', indicating that `s' needs
+ * no further input to meet the specified format.
+ */
+ virtual Boolean isValid(const char* s);
+ /**
+ * Formats the string passed in `input' according to the format specified
+ * by the picture string pointed to by @ref pic data member. Returns
+ * prError if there is an error in the picture string or if `input'
+ * contains data that cannot fit the specified picture.
+ *
+ * Returns prComplete if `input' can fully satisfy the specifed picture.
+ * Returns prIncomplete if `input' contains data that fits the specified
+ * picture but not completely.
+ *
+ * The following table shows the characters used in creating format
+ * pictures.
+ *
+ * <pre>
+ * Type of character Character Description
+ *
+ * Special # Accept only a digit
+ * ? Accept only a letter (case-insensitive)
+ * & Accept only a letter, force to uppercase
+ * @ Accept any character
+ * ! Accept any character, force to uppercase
+ *
+ * Match ; Take next character literally
+ * * Repetition count
+ * [] Option
+ * {} Grouping operators
+ * , Set of alternatives
+ *
+ * All others Taken literally
+ * </pre>
+ *
+ * Here are some advanced pictures, which show the power of TPXPictureValidator;
+ * these examples come from an old Pascal FAQ written by Berend de Boer,
+ * <berend@beard.nest.nl>.
+ *
+ * <pre>
+ * Name Value Description
+ *
+ * UnsignedPic1 #[#][#]*{[;,]###} unsigned int with optional commas
+ * UnsignedPic2 #[#][#]*{;,###} unsigned int with commas
+ * SignedPic1 [-]#[#][#]*{[;,]###} signed int with optional commas
+ * SignedPic2 [-]#[#][#]*{;,###} signed int with commas
+ * MoneyPic1 [$]*#.{##,00} dollars, with comma and optinal dollar sign
+ * MoneyPic2 $*#{.##,.00} dollars, with comma and dollar sign
+ * DatePic1 #[#]/#[#]/## date with 2 digit year (dd/mm/yy or mm/dd/yy)
+ * DatePic2 #[#]/#[#]/##[##] date with 2 or 4 digit year (mm/dd/yy or mm/dd/yyyy)
+ * DatePic3 #[#]/#[#]/#### date with 4 digit year (mm/dd/yyyy)
+ * TimePic1 {##}:{##}[:{##}] HH:MM:SS with optional seconds
+ * TimePic2 {##}:{##}:{##} HH:MM:SS
+ * PhonePic1 [(###) ]###-#### phone number with optional area code
+ * PhonePic2 (###) ###-#### phone number with area code
+ * SSNPic ###-##-####
+ * FirstCharUpPic *{&*? } uppercase the first char of every word
+ * FilenamePic {&*7[&]}.{*3[&]} filename (no path) with extension
+ * </pre>
+ *
+ * Note the *7 and *3 in this last example. A number after a `*' says
+ * how many times the next sequence should be repeated; uncovered in
+ * the manuals. But this example is not completely correct (is this a
+ * bug?), because the `*' is interpreted as that there should be exactly 8
+ * characters! No more, no less. Correct is:
+ *
+ * <pre>
+ * FilenamePic {&[&][&][&][&][&][&][&]}.{[&][&][&]}
+ * </pre>
+ *
+ * The following examples were given by Sean Wenzel in the Borland Turbo Vision forum
+ * on CompuServe:
+ *
+ * - US Phone with optional area code: [(*3{#})]*3{#}-*4{#}
+ *
+ * - Colors with autofill-in: {Red,Gr{ay,een},B{l{ack,ue},rown},White,Yellow}
+ *
+ * - A date in the format "Jan, 31, 1999" with auto fill-in:
+ * {J{AN ,U{N ,L }},FEB ,MA{R ,Y },A{PR ,UG },SEP ,OCT ,NOV ,DEC} {1[#],2[#],30,31,#};, 19##
+ *
+ * Finally, here my solution for a real validator, for the format "1.234E-6" or "3.14159":
+ *
+ * [-]#[*#][[.]#[*#]][E[-]#[#]]
+ */
+ virtual TPicResult picture(char* input, Boolean autoFill);
+protected:
+ /**
+ * Each streamable class needs a "builder" to allocate the correct memory
+ * for its objects together with the initialized virtual table pointers.
+ * This is achieved by calling this constructor with an argument of type
+ * @ref StreamableInit.
+ */
+ TPXPictureValidator( StreamableInit );
+ /**
+ * Writes to the output stream `os'.
+ */
+ virtual void write( opstream& os );
+ /**
+ * Reads from the input stream `is'.
+ */
+ virtual void* read( ipstream& is );
+ /**
+ * Points to a string containing the picture that specifies the format for
+ * data in the associated input line. The constructor sets pic to the
+ * string passed as one of its parameters.
+ */
+ char* pic;
+private:
+ /**
+ * Undocumented.
+ */
+ void consume(char ch, char* input);
+ /**
+ * Undocumented.
+ */
+ void toGroupEnd(int& i, int termCh);
+ /**
+ * Undocumented.
+ */
+ Boolean skipToComma(int termCh);
+ /**
+ * Undocumented.
+ */
+ int calcTerm(int);
+ /**
+ * Undocumented.
+ */
+ TPicResult iteration(char* input, int termCh);
+ /**
+ * Undocumented.
+ */
+ TPicResult group(char* input, int termCh);
+ /**
+ * Undocumented.
+ */
+ TPicResult checkComplete(TPicResult rslt, int termCh);
+ /**
+ * Undocumented.
+ */
+ TPicResult scan(char* input, int termCh);
+ /**
+ * Undocumented.
+ */
+ TPicResult process(char* input, int termCh);
+ /**
+ * Undocumented.
+ */
+ Boolean syntaxCheck();
+ /**
+ * Undocumented.
+ */
+ virtual const char *streamableName() const {return name;};
+ /**
+ * Undocumented.
+ */
+ int index, jndex;
+public:
+ /**
+ * Called to create an object in certain stream-reading situations.
+ */
+ static TStreamable *build();
+ /**
+ * Undocumented.
+ */
+ static const char * const name;
+};
+
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TValidator& v )
+ { return is >> (TStreamable&)v; }
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TValidator*& v )
+ { return is >> (void *&)v; }
+
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TValidator& v )
+ { return os << (TStreamable&)v; }
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TValidator* v )
+ { return os << (TStreamable *)v; }
+
+#endif
+
+
+#if defined(Uses_TFilterValidator) && !defined(__TFilterValidator)
+#define __TFilterValidator
+
+// TFilterValidator
+
+/**
+ * Filter validator objects check an input field as the user types into it.
+ * The validator holds a set of allowed characters. If the user types one of
+ * the legal characters, the filter validator indicates that the character is
+ * valid.
+ *
+ * If the user types any other character, the validator indicates that the
+ * input is invalid.
+ * @short Check an input field as the user types into it
+ */
+class TFilterValidator : public TValidator
+{
+ static const char * errorMsg;
+public:
+ /**
+ * Constructs a filter validator object by first calling the constructor
+ * inherited from @ref TValidator, then setting @ref validChars data
+ * member to `aValidChars'.
+ */
+ TFilterValidator(const char* aValidChars);
+ /**
+ * Undocumented.
+ */
+ ~TFilterValidator();
+ /**
+ * Undocumented.
+ */
+ virtual void error();
+ /**
+ * Checks each character in the string `s' to make sure it is in the set
+ * of allowed characters, @ref validChars. Returns True if all characters
+ * in `s' are valid; otherwise returns False.
+ */
+ virtual Boolean isValidInput(char* s, Boolean suppressFill);
+ /**
+ * Checks each character in the string `s' to make sure it is in the set
+ * of allowed characters, @ref validChars. Returns True if all characters
+ * in `s' are valid; otherwise returns False.
+ */
+ virtual Boolean isValid(const char* s);
+protected:
+ /**
+ * Each streamable class needs a "builder" to allocate the correct memory
+ * for its objects together with the initialized virtual table pointers.
+ * This is achieved by calling this constructor with an argument of type
+ * @ref StreamableInit.
+ */
+ TFilterValidator( StreamableInit );
+ /**
+ * Writes to the output stream `os'.
+ */
+ virtual void write( opstream& os);
+ /**
+ * Reads from the input stream `is'.
+ */
+ virtual void* read( ipstream& is );
+ /**
+ * Contains the set of all characters the user can type. For example, to
+ * allow only numeric digits, set validChars to ['0'..'9']. validChars is
+ * set by the `aValidChars' parameter passed to the constructor.
+ */
+ char* validChars;
+private:
+ /**
+ * Undocumented.
+ */
+ virtual const char *streamableName() const {return name;};
+public:
+ /**
+ * Called to create an object in certain stream-reading situations.
+ */
+ static TStreamable *build();
+ /**
+ * Undocumented.
+ */
+ static const char * const name;
+};
+
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TFilterValidator& v )
+ { return is >> (TStreamable&)v; }
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TFilterValidator*& v )
+ { return is >> (void *&)v; }
+
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TFilterValidator& v )
+ { return os << (TStreamable&)v; }
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TFilterValidator* v )
+ { return os << (TStreamable *)v; }
+
+#endif
+
+
+#if defined(Uses_TRangeValidator) && !defined(__TRangeValidator)
+#define __TRangeValidator
+
+// TRangeValidator
+
+/**
+ * A range validator object determines whether the data typed by a user falls
+ * within a designated range of integers.
+ * @short Determines whether the data typed by a user falls within a
+ * designated range of integers
+ */
+class TRangeValidator : public TFilterValidator
+{
+ /**
+ * Undocumented.
+ */
+ static const char * validUnsignedChars;
+ /**
+ * Undocumented.
+ */
+ static const char * validSignedChars;
+ /**
+ * Undocumented.
+ */
+ static const char * errorMsg;
+public:
+ /**
+ * Constructs a range validator object by first calling the constructor
+ * inherited from @ref TFilterValidator, passing a set of characters
+ * containing the digits '0'..'9' and the characters '+' and '-'.
+ *
+ * Sets @ref min to `aMin' and @ref max to `aMax', establishing the range
+ * of acceptable long integer values.
+ */
+ TRangeValidator(long aMin, long aMax);
+ /**
+ * Displays a message box indicating that the entered value did not fall
+ * in the specified range.
+ */
+ virtual void error();
+ /**
+ * Converts the string `s' into an integer number and returns True if the
+ * result meets all three of these conditions:
+ *
+ * -# it is a valid integer number
+ * -# it value is greater than or equal to @ref min
+ * -# it value is less than or equal to @ref max
+ *
+ * If any of those tests fails, isValid() returns False.
+ */
+ virtual Boolean isValid(const char* s);
+ /**
+ * Incorporates the three functions @ref TInputLine::dataSize(),
+ * @ref TInputLine::getData(), and @ref TInputLine::setData() that a
+ * range validator can handle for its associated input line.
+ *
+ * Instead of setting and reading the value of the numeric input line by
+ * passing a string representation of the number, transfer() can use a
+ * long int as its data record, which keeps your application from having
+ * to handle the conversion.
+ *
+ * `s' is the input line's string value, and `buffer' is the data record
+ * passed to the input line.
+ *
+ * Depending on the value of `flag', transfer either sets `s' from the
+ * number in `buffer' or sets the number at `buffer' to the value of the
+ * string `s'. If `flag' is vtSetData, transfer() sets `s' from `buffer'.
+ *
+ * If `flag' is vtGetData, transfer() sets `buffer' from `s'. If `flag' is
+ * vtDataSize, transfer() neither sets nor reads data.
+ *
+ * transfer() always returns the size of the data transferred, in this
+ * case the size of a long int.
+ * @see TValidator::transfer
+ */
+ virtual ushort transfer(char* s, void* buffer, TVTransfer flag);
+protected:
+ /**
+ * min is the lowest valid long integer value for the input line.
+ */
+ long min;
+ /**
+ * max is the highest valid long integer value for the input line.
+ */
+ long max;
+ /**
+ * Each streamable class needs a "builder" to allocate the correct memory
+ * for its objects together with the initialized virtual table pointers.
+ * This is achieved by calling this constructor with an argument of type
+ * @ref StreamableInit.
+ */
+ TRangeValidator( StreamableInit );
+ /**
+ * Writes to the output stream `os'.
+ */
+ virtual void write( opstream& os );
+ /**
+ * Reads from the input stream `is'.
+ */
+ virtual void* read( ipstream& is );
+private:
+ /**
+ * Undocumented.
+ */
+ virtual const char *streamableName() const {return name;};
+public:
+ /**
+ * Called to create an object in certain stream-reading situations.
+ */
+ static TStreamable *build();
+ /**
+ * Undocumented.
+ */
+ static const char * const name;
+};
+
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TRangeValidator& v )
+ { return is >> (TStreamable&)v; }
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TRangeValidator*& v )
+ { return is >> (void *&)v; }
+
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TRangeValidator& v )
+ { return os << (TStreamable&)v; }
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TRangeValidator* v )
+ { return os << (TStreamable *)v; }
+
+#endif
+
+#if defined(Uses_TLookupValidator) && !defined(__TLookupValidator)
+#define __TLookupValidator
+
+// TLookupValidator
+
+/**
+ * A lookup validator compares the string typed by a user with a list of
+ * acceptable values. TLookupValidator is an abstract validator type from
+ * which you can derive useful lookup validators. You will never create an
+ * instance of TLookupValidator.
+ *
+ * When you create a lookup validator type, you need to specify a list of
+ * valid items and override the @ref lookup() method to return True only if
+ * the user input matches an item in that list. One example of a working
+ * descendant of TLookupValidator is @ref TStringLookupValidator.
+ * @short Compares the string typed by a user with a list of acceptable values
+ */
+class TLookupValidator : public TValidator
+{
+public:
+ /**
+ * Undocumented.
+ */
+ TLookupValidator() {};
+ /**
+ * Calls @ref lookup() to find the string `s' in the list of valid input
+ * items. Returns True if @ref lookup() returns True, meaning
+ * @ref lookup() found `s' in its list; otherwise returns False.
+ */
+ virtual Boolean isValid(const char* s);
+ /**
+ * Searches for the string `s' in the list of valid entries and returns
+ * True if it finds `s'; otherwise returns False. TLookupValidator's
+ * lookup() is an abstract method that always returns False.
+ *
+ * Descendant lookup validator types must override lookup() to perform a
+ * search based on the actual list of acceptable items.
+ */
+ virtual Boolean lookup(const char* s);
+ /**
+ * Called to create an object in certain stream-reading situations.
+ */
+ static TStreamable *build();
+ /**
+ * Undocumented.
+ */
+ static const char * const name;
+protected:
+ /**
+ * Each streamable class needs a "builder" to allocate the correct memory
+ * for its objects together with the initialized virtual table pointers.
+ * This is achieved by calling this constructor with an argument of type
+ * @ref StreamableInit.
+ */
+ TLookupValidator( StreamableInit );
+private:
+ /**
+ * Undocumented.
+ */
+ virtual const char *streamableName() const {return name;};
+};
+
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TLookupValidator& v )
+ { return is >> (TStreamable&)v; }
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TLookupValidator*& v )
+ { return is >> (void *&)v; }
+
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TLookupValidator& v )
+ { return os << (TStreamable&)v; }
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TLookupValidator* v )
+ { return os << (TStreamable *)v; }
+
+#endif
+
+
+#if defined(Uses_TStringLookupValidator) && !defined(__TStringLookupValidator)
+#define __TStringLookupValidator
+
+// TStringLookupValidator
+
+/**
+ * A string lookup validator object verifies the data in its associated input
+ * line by searching through a collection of valid strings. Use string lookup
+ * validators when your input line needs to accept only members of a certain
+ * set of strings.
+ * @short Verifies the data in its associated input line by searching through
+ * a collection of valid strings
+ */
+class TStringLookupValidator : public TLookupValidator
+{
+ static const char * errorMsg;
+public:
+ /**
+ * Constructs a string lookup validator object by first calling the
+ * constructor inherited from @ref TLookupValidator, then setting
+ * @ref strings data member to `aStrings'.
+ */
+ TStringLookupValidator(TStringCollection* aStrings);
+ /**
+ * Disposes of the list of valid strings by calling newStringList(0),
+ * then disposes of the string lookup object by calling the destructor
+ * inherited from @ref TLookupValidator.
+ * @see newStringList
+ */
+ ~TStringLookupValidator();
+ /**
+ * Displays a message box indicating that the typed string does not match
+ * an entry in the string list.
+ */
+ virtual void error();
+ /**
+ * Returns True if the string passed in `s' matches any of the strings in
+ * strings data member. Uses the strcmp() function to determine if `s' is
+ * present.
+ */
+ virtual Boolean lookup(const char* s);
+protected:
+ /**
+ * Each streamable class needs a "builder" to allocate the correct memory
+ * for its objects together with the initialized virtual table pointers.
+ * This is achieved by calling this constructor with an argument of type
+ * @ref StreamableInit.
+ */
+ TStringLookupValidator( StreamableInit );
+ /**
+ * Writes to the output stream `os'.
+ */
+ virtual void write( opstream& os );
+ /**
+ * Reads from the input stream `is'.
+ */
+ virtual void* read( ipstream& is );
+ /**
+ * Points to a string collection containing all the valid strings the user
+ * can type. If strings data member is 0, all input will be invalid.
+ */
+ TStringCollection* strings;
+private:
+ /**
+ * Undocumented.
+ */
+ virtual const char *streamableName() const {return name;};
+public:
+ /**
+ * Sets the list of valid input strings for the string lookup validator.
+ * Disposes of any existing string list, then sets @ref strings data
+ * member to `aStrings'.
+ *
+ * Passing 0 in `aStrings' disposes of the existing list without assigning
+ * a new one.
+ */
+ void newStringList(TStringCollection* aStrings);
+ /**
+ * Called to create an object in certain stream-reading situations.
+ */
+ static TStreamable *build();
+ /**
+ * Undocumented.
+ */
+ static const char * const name;
+};
+
+
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TStringLookupValidator& v )
+ { return is >> (TStreamable&)v; }
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TStringLookupValidator*& v )
+ { return is >> (void *&)v; }
+
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TStringLookupValidator& v )
+ { return os << (TStreamable&)v; }
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TStringLookupValidator* v )
+ { return os << (TStreamable *)v; }
+
+
+#endif
diff --git a/freebsdtvision/lib/views.h b/freebsdtvision/lib/views.h
new file mode 100644
index 0000000..d903eb1
--- /dev/null
+++ b/freebsdtvision/lib/views.h
@@ -0,0 +1,3320 @@
+/*
+ * views.h
+ *
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ */
+
+#if !defined( __COMMAND_CODES )
+#define __COMMAND_CODES
+
+ /** \file views.h
+ * views.h
+ */
+
+const ushort
+
+// Standard command codes
+
+ cmValid = 0,
+ cmQuit = 1,
+ cmError = 2,
+ cmMenu = 3,
+ cmClose = 4,
+ cmZoom = 5,
+ cmResize = 6,
+ cmNext = 7,
+ cmPrev = 8,
+ cmHelp = 9,
+
+// TDialog standard commands
+
+ cmOK = 10,
+ cmCancel = 11,
+ cmYes = 12,
+ cmNo = 13,
+ cmDefault = 14,
+
+// Standard application commands
+
+ cmNew = 30,
+ cmOpen = 31,
+ cmSave = 32,
+ cmSaveAs = 33,
+ cmSaveAll = 34,
+ cmChDir = 35,
+ cmDosShell = 36,
+ cmCloseAll = 37,
+
+ // SS: some new internal commands.
+
+ cmSysRepaint = 38,
+ cmSysResize = 39,
+ cmSysWakeup = 40,
+
+// TView State masks
+
+ /** \var sfVisible
+ * Set if the view is visible on its owner. Views are by default
+ * sfVisible. Use @ref TView::show() and @ref TView::hide() to modify
+ * sfVisible. An sfVisible view is not necessarily visible on the screen,
+ * since its owner might not be visible. To test for visibility on the
+ * screen, examine the @ref sfExposed bit or call @ref TView::exposed().
+ * @see TView::state
+ */
+ sfVisible = 0x001,
+
+ /** \var sfCursorVis
+ * Set if a view's cursor is visible. Clear is the default. You can
+ * use @ref TView::showCursor() and @ref TView::hideCursor() to modify
+ * sfCursorVis.
+ * @see TView::state
+ */
+ sfCursorVis = 0x002,
+
+ /** \var sfCursorIns
+ * Set if the view's cursor is a solid block; clear if the view's cursor
+ * is an underline (the default). Use @ref TView::blockCursor() and
+ * @ref TView::normalCursor() to modify this bit.
+ * @see TView::state
+ */
+ sfCursorIns = 0x004,
+
+ /** \var sfShadow
+ * Set if the view has a shadow.
+ * @see TView::state
+ */
+ sfShadow = 0x008,
+
+ /** \var sfActive
+ * Set if the view is the active window or a subview in the active window.
+ * @see TView::state
+ */
+ sfActive = 0x010,
+
+ /** \var sfSelected
+ * Set if the view is the currently selected subview within its owner.
+ * Each @ref TGroup object has a @ref TGroup::current data member that
+ * points to the currently selected subview (or is 0 if no subview is
+ * selected). There can be only one currently selected subview in a
+ * @ref TGroup.
+ * @see TView::state
+ */
+ sfSelected = 0x020,
+
+ /** \var sfFocused
+ * Set if the view is focused. A view is focused if it is selected and
+ * all owners above it are also selected. The last view on the focused
+ * chain is the final target of all focused events.
+ * @see TView::state
+ */
+ sfFocused = 0x040,
+
+ /** \var sfDragging
+ * Set if the view is being dragged.
+ * @see TView::state
+ */
+ sfDragging = 0x080,
+
+ /** \var sfDisabled
+ * Set if the view is disabled. A disabled view will ignore all events
+ * sent to it.
+ * @see TView::state
+ */
+ sfDisabled = 0x100,
+
+ /** \var sfModal
+ * Set if the view is modal. There is always exactly one modal view in
+ * a running TVision application, usually a @ref TApplication or
+ * @ref TDialog object. When a view starts executing (through an
+ * @ref TGroup::execView() call), that view becomes modal. The modal
+ * view represents the apex (root) of the active event tree, getting
+ * and handling events until its @ref TView::endModal() method is called.
+ * During this "local" event loop, events are passed down to lower
+ * subviews in the view tree. Events from these lower views pass back
+ * up the tree, but go no further than the modal view. See also
+ * @ref TView::setState(), @ref TView::handleEvent() and
+ * @ref TGroup::execView().
+ * @see TView::state
+ */
+ sfModal = 0x200,
+
+ /** \var sfDefault
+ * This is a spare flag, available to specify some user-defined default
+ * state.
+ * @see TView::state
+ */
+ sfDefault = 0x400,
+
+ /** \var sfExposed
+ * Set if the view is owned directly or indirectly by the application
+ * object, and therefore possibly visible on the. @ref TView::exposed()
+ * uses this flag in combination with further clipping calculations to
+ * determine whether any part of the view is actually visible on the
+ * screen.
+ * @see TView::state
+ */
+ sfExposed = 0x800,
+
+// TView Option masks
+
+ /** \var ofSelectable
+ * Set if the view should select itself automatically (see
+ * @ref sfSelected); for example, by a mouse click in the view, or a Tab
+ * in a dialog box.
+ * @see TView::options
+ */
+ ofSelectable = 0x001,
+
+ /** \var ofTopSelect
+ * Set if the view should move in front of all other peer views when
+ * selected. When the ofTopSelect bit is set, a call to
+ * @ref TView::select() corresponds to a call to @ref TView::makeFirst().
+ * @ref TWindow and descendants by default have the ofTopSelect bit set,
+ * which causes them to move in front of all other windows on the desktop
+ * when selected.
+ * @see TView::options
+ */
+ ofTopSelect = 0x002,
+
+ /** \var ofFirstClick
+ * If clear, a mouse click that selects a view will have no further
+ * effect. If set, such a mouse click is processed as a normal mouse
+ * click after selecting the view. Has no effect unless @ref ofSelectable
+ * is also set. See also @ref TView::handleEvent(), @ref sfSelected and
+ * @ref ofSelectable.
+ * @see TView::options
+ */
+ ofFirstClick = 0x004,
+
+ /** \var ofFramed
+ * Set if the view should have a frame drawn around it. A @ref TWindow
+ * and any class derived from @ref TWindow, has a @ref TFrame as its last
+ * subview. When drawing itself, the @ref TFrame will also draw a frame
+ * around any other subviews that have the ofFramed bit set.
+ * @see TView::options
+ */
+ ofFramed = 0x008,
+
+ /** \var ofPreProcess
+ * Set if the view should receive focused events before they are sent to
+ * the focused view. Otherwise clear. See also @ref sfFocused,
+ * @ref ofPostProcess, and @ref TGroup::phase.
+ * @see TView::options
+ */
+ ofPreProcess = 0x010,
+
+ /** \var ofPostProcess
+ * Set if the view should receive focused events whenever the focused
+ * view fails to handle them. Otherwise clear. See also @ref sfFocused,
+ * @ref ofPreProcess and @ref TGroup::phase.
+ * @see TView::options
+ */
+ ofPostProcess = 0x020,
+
+ /** \var ofBuffered
+ * Used for @ref TGroup objects and classes derived from @ref TGroup
+ * only. Set if a cache buffer should be allocated if sufficient memory
+ * is available. The group buffer holds a screen image of the whole
+ * group so that group redraws can be speeded up. In the absence of a
+ * buffer, @ref TGroup::draw() calls on each subview's
+ * @ref TView::drawView() method. If subsequent memory allocation calls
+ * fail, group buffers will be deallocated to make memory available.
+ * @see TView::options
+ */
+ ofBuffered = 0x040,
+
+ /** \var ofTileable
+ * Set if the desktop can tile (or cascade) this view. Usually used
+ * only with @ref TWindow objects.
+ * @see TView::options
+ */
+ ofTileable = 0x080,
+
+ /** \var ofCenterX
+ * Set if the view should be centered on the x-axis of its owner when
+ * inserted in a group using @ref TGroup::insert().
+ * @see TView::options
+ */
+ ofCenterX = 0x100,
+
+ /** \var ofCenterY
+ * Set if the view should be centered on the y-axis of its owner when
+ * inserted in a group using @ref TGroup::insert().
+ * @see TView::options
+ */
+ ofCenterY = 0x200,
+
+ /** \var ofCentered
+ * Set if the view should be centered on both axes of its owner when
+ * inserted in a group using @ref TGroup::insert().
+ * @see TView::options
+ */
+ ofCentered = 0x300,
+
+ /** \var ofValidate
+ * Undocumented.
+ * @see TView::options
+ */
+ ofValidate = 0x400,
+
+// TView GrowMode masks
+
+ /** \var gfGrowLoX
+ * If set, the left-hand side of the view will maintain a constant
+ * distance from its owner's right-hand side. If not set, the movement
+ * indicated won't occur.
+ * @see TView::growMode
+ */
+ gfGrowLoX = 0x01,
+
+ /** \var gfGrowLoY
+ * If set, the top of the view will maintain a constant distance from
+ * the bottom of its owner.
+ * @see TView::growMode
+ */
+ gfGrowLoY = 0x02,
+
+ /** \var gfGrowHiX
+ * If set, the right-hand side of the view will maintain a constant
+ * distance from its owner's right side.
+ * @see TView::growMode
+ */
+ gfGrowHiX = 0x04,
+
+ /** \var gfGrowHiY
+ * If set, the bottom of the view will maintain a constant distance
+ * from the bottom of its owner's.
+ * @see TView::growMode
+ */
+ gfGrowHiY = 0x08,
+
+ /** \var gfGrowAll
+ * If set, the view will move with the lower-right corner of its owner.
+ * @see TView::growMode
+ */
+ gfGrowAll = 0x0f,
+
+ /** \var gfGrowRel
+ * For use with @ref TWindow objects that are in the desktop. The view
+ * will change size relative to the owner's size, maintaining that
+ * relative size with respect to the owner even when screen is resized.
+ * @see TView::growMode
+ */
+ gfGrowRel = 0x10,
+
+ /** \var gfFixed
+ * Undocumented.
+ * @see TView::growMode
+ */
+ gfFixed = 0x20,
+
+// TView DragMode masks
+
+ /** \var dmDragMove
+ * Allow the view to move.
+ * @see TView::dragMode
+ */
+ dmDragMove = 0x01,
+
+ /** \var dmDragGrow
+ * Allow the view to change size.
+ * @see TView::dragMode
+ */
+ dmDragGrow = 0x02,
+
+ /** \var dmLimitLoX
+ * The view's left-hand side cannot move outside limits.
+ * @see TView::dragMode
+ */
+ dmLimitLoX = 0x10,
+
+ /** \var dmLimitLoY
+ * The view's top side cannot move outside limits.
+ * @see TView::dragMode
+ */
+ dmLimitLoY = 0x20,
+
+ /** \var dmLimitHiX
+ * The view's right-hand side cannot move outside limits.
+ * @see TView::dragMode
+ */
+ dmLimitHiX = 0x40,
+
+ /** \var dmLimitHiY
+ * The view's bottom side cannot move outside limits.
+ * @see TView::dragMode
+ */
+ dmLimitHiY = 0x80,
+
+ /** \var dmLimitAll
+ * No part of the view can move outside limits.
+ * @see TView::dragMode
+ */
+ dmLimitAll = dmLimitLoX | dmLimitLoY | dmLimitHiX | dmLimitHiY,
+
+// TView Help context codes
+
+ /** \var hcNoContext
+ * No context specified.
+ * @see TView::helpCtx
+ */
+ hcNoContext = 0,
+
+ /** \var hcDragging
+ * Object is being dragged.
+ * @see TView::helpCtx
+ */
+ hcDragging = 1,
+
+// TScrollBar part codes
+
+ /** \var sbLeftArrow
+ * Left arrow of horizontal scroll bar.
+ * @see TScrollBar::scrollStep
+ */
+ sbLeftArrow = 0,
+
+ /** \var sbRightArrow
+ * Right arrow of horizontal scroll bar.
+ * @see TScrollBar::scrollStep
+ */
+ sbRightArrow = 1,
+
+ /** \var sbPageLeft
+ * Left paging area of horizontal scroll bar.
+ * @see TScrollBar::scrollStep
+ */
+ sbPageLeft = 2,
+
+ /** \var sbPageRight
+ * Right paging area of horizontal scroll bar.
+ * @see TScrollBar::scrollStep
+ */
+ sbPageRight = 3,
+
+ /** \var sbUpArrow
+ * Top arrow of vertical scroll bar.
+ * @see TScrollBar::scrollStep
+ */
+ sbUpArrow = 4,
+
+ /** \var sbDownArrow
+ * Bottom arrow of vertical scroll bar.
+ * @see TScrollBar::scrollStep
+ */
+ sbDownArrow = 5,
+
+ /** \var sbPageUp
+ * Upper paging area of vertical scroll bar.
+ * @see TScrollBar::scrollStep
+ */
+ sbPageUp = 6,
+
+ /** \var sbPageDown
+ * Lower paging area of vertical scroll bar.
+ * @see TScrollBar::scrollStep
+ */
+ sbPageDown = 7,
+
+ /** \var sbIndicator
+ * Position indicator on scroll bar.
+ * @see TScrollBar::scrollStep
+ */
+ sbIndicator = 8,
+
+// TScrollBar options for TWindow.StandardScrollBar
+
+ /** \var sbHorizontal
+ * The scroll bar is horizontal.
+ * @see TWindow::standardScrollBar
+ */
+ sbHorizontal = 0x000,
+
+ /** \var sbVertical
+ * The scroll bar is vertical.
+ * @see TWindow::standardScrollBar
+ */
+ sbVertical = 0x001,
+
+ /** \var sbHandleKeyboard
+ * The scroll bar responds to keyboard commands.
+ * @see TWindow::standardScrollBar
+ */
+ sbHandleKeyboard = 0x002,
+
+// TWindow Flags masks
+
+ /** \var wfMove
+ * Window can be moved.
+ * @see TWindow::flags.
+ */
+ wfMove = 0x01,
+
+ /** \var wfGrow
+ * Window can be resized and has a grow icon in the lower-right corner.
+ * @see TWindow::flags.
+ */
+ wfGrow = 0x02,
+
+ /** \var wfClose
+ * Window frame has a close icon that can be mouse-clicked to close the
+ * window.
+ * @see TWindow::flags.
+ */
+ wfClose = 0x04,
+
+ /** \var wfZoom
+ * Window frame has a zoom icon that can be mouse-clicked.
+ * @see TWindow::flags.
+ */
+ wfZoom = 0x08,
+
+// TView inhibit flags
+
+ noMenuBar = 0x0001,
+ noDeskTop = 0x0002,
+ noStatusLine = 0x0004,
+ noBackground = 0x0008,
+ noFrame = 0x0010,
+ noViewer = 0x0020,
+ noHistory = 0x0040,
+
+// TWindow number constants
+
+ /** \var wnNoNumber
+ * Use the constant wnNoNumber to indicate that the window is not to be
+ * numbered and cannot be selected via the Alt+number key.
+ * @see TWindow::TWindow
+ */
+ wnNoNumber = 0,
+
+// TWindow palette entries
+
+ /** \var wpBlueWindow
+ * Window text is yellow on blue.
+ * @see TWindow::palette
+ */
+ wpBlueWindow = 0,
+
+ /** \var wpCyanWindow
+ * Window text is blue on cyan.
+ * @see TWindow::palette
+ */
+ wpCyanWindow = 1,
+
+ /** \var wpGrayWindow
+ * Window text is black on gray.
+ * @see TWindow::palette
+ */
+ wpGrayWindow = 2,
+
+// Application command codes
+
+ cmCut = 20,
+ cmCopy = 21,
+ cmPaste = 22,
+ cmUndo = 23,
+ cmClear = 24,
+ cmTile = 25,
+ cmCascade = 26,
+
+// Standard messages
+
+ cmReceivedFocus = 50,
+ cmReleasedFocus = 51,
+ cmCommandSetChanged = 52,
+
+// TScrollBar messages
+
+ cmScrollBarChanged = 53,
+ cmScrollBarClicked = 54,
+
+// TWindow select messages
+
+ cmSelectWindowNum = 55,
+
+// TListViewer messages
+
+ cmListItemSelected = 56,
+
+// Event masks
+
+ /** \var positionalEvents
+ * Defines the event classes that are positional events.
+ * The focusedEvents and positionalEvents masks are used by
+ * @ref TGroup::handleEvent() to determine how to dispatch an event to the
+ * group's subviews. If an event class isn't contained in
+ * @ref focusedEvents or positionalEvents, it is treated as a broadcast
+ * event.
+ */
+ positionalEvents = evMouse,
+
+ /** \var focusedEvents
+ * Defines the event classes that are focused events.
+ * The focusedEvents and positionalEvents values are used by
+ * @ref TGroup::handleEvent() to determine how to dispatch an event to the
+ * group's subviews. If an event class isn't contained in
+ * focusedEvents or @ref positionalEvents, it is treated as a broadcast
+ * event.
+ */
+ focusedEvents = evKeyboard | evCommand;
+
+#endif // __COMMAND_CODES
+
+#if defined( Uses_TCommandSet ) && !defined( __TCommandSet )
+#define __TCommandSet
+
+/**
+ * TCommandSet is a non-view class for handling command sets.
+ *
+ * Member functions are provided for enabling and disabling commands and for
+ * testing for the presence of a given command.
+ * Several operators are overloaded to allow natural testing for equality and
+ * so on.
+ *
+ * Note: this object can only handle commands whose code is within 0 and 255.
+ * Only commands in this range may be disabled.
+ * @short Implements a non-view class for handling command sets
+ */
+class TCommandSet
+{
+public:
+ /**
+ * Constructor.
+ *
+ * Creates and clears a command set.
+ */
+ TCommandSet();
+ /**
+ * Constructor.
+ *
+ * This form creates a command set and initializes it from the `tc'
+ * argument.
+ */
+ TCommandSet( const TCommandSet& tc );
+ /**
+ * Returns True if command `cmd' is in the set.
+ */
+ Boolean has( int cmd );
+ /**
+ * Removes command `cmd' from the set.
+ */
+ void disableCmd( int cmd );
+ /**
+ * Adds command `cmd' to the set.
+ */
+ void enableCmd( int cmd );
+ /**
+ * Adds command `cmd' to the set.
+ */
+ void operator += ( int cmd );
+ /**
+ * Removes command `cmd' from the set.
+ */
+ void operator -= ( int cmd );
+ /**
+ * Removes all commands in set `tc' from this command set.
+ */
+ void disableCmd( const TCommandSet& tc );
+ /**
+ * Adds all commands in set `tc' to this command set.
+ */
+ void enableCmd( const TCommandSet& tc );
+ /**
+ * Adds all commands in set `tc' to this command set.
+ */
+ void operator += ( const TCommandSet& tc );
+ /**
+ * Removes all commands in set `tc' from this command set.
+ */
+ void operator -= ( const TCommandSet& tc );
+ /**
+ * Returns True if the command set is empty.
+ */
+ Boolean isEmpty();
+ /**
+ * Calculates the intersection of this set and the `tc' set.
+ *
+ * The resulting set is the largest set which contains commands present in
+ * both sets. Returns a reference to this object.
+ */
+ TCommandSet& operator &= ( const TCommandSet& tc);
+ /**
+ * Calculates the union of this set and the `tc' set.
+ *
+ * The resulting set is the smallest set which contains commands present
+ * in either sets. Returns a reference to this object.
+ */
+ TCommandSet& operator |= ( const TCommandSet& tc);
+ /**
+ * Calculates the intersection of this set and the `tc' set.
+ *
+ * The resulting set is the largest set which contains commands present in
+ * both sets. Returns the resulting set.
+ */
+ friend TCommandSet operator & ( const TCommandSet&, const TCommandSet& );
+ /**
+ * Calculates the union of this set and the `tc' set.
+ *
+ * The resulting set is the smallest set which contains commands present
+ * in either sets. Returns the resulting set.
+ */
+ friend TCommandSet operator | ( const TCommandSet&, const TCommandSet& );
+ /**
+ * Returns 1 if the sets `tc1' and `tc2' are equal.
+ *
+ * Otherwise returns 0.
+ */
+ friend int operator == ( const TCommandSet& tc1, const TCommandSet& tc2 );
+ /**
+ * Returns 1 if the sets `tc1' and `tc2' are not equal.
+ *
+ * Otherwise returns 0.
+ */
+ friend int operator != ( const TCommandSet& tc1, const TCommandSet& tc2 );
+private:
+ /**
+ * Undocumented.
+ */
+ int loc( int );
+ /**
+ * Undocumented.
+ */
+ int mask( int );
+ /**
+ * Undocumented.
+ */
+ static int masks[8];
+ /**
+ * Undocumented.
+ */
+ uchar cmds[32];
+};
+
+inline void TCommandSet::operator += ( int cmd )
+{
+ enableCmd( cmd );
+}
+
+inline void TCommandSet::operator -= ( int cmd )
+{
+ disableCmd( cmd );
+}
+
+inline void TCommandSet::operator += ( const TCommandSet& tc )
+{
+ enableCmd( tc );
+}
+
+inline void TCommandSet::operator -= ( const TCommandSet& tc )
+{
+ disableCmd( tc );
+}
+
+inline int operator != ( const TCommandSet& tc1, const TCommandSet& tc2 )
+{
+ return !operator == ( tc1, tc2 );
+}
+
+inline int TCommandSet::loc( int cmd )
+{
+ return cmd / 8;
+}
+
+inline int TCommandSet::mask( int cmd )
+{
+ return masks[ cmd & 0x07 ];
+}
+
+#endif // Uses_TCommandSet
+
+#if defined( Uses_TPalette ) && !defined( __TPalette )
+#define __TPalette
+
+/**
+ * TPalette is a simple class used to create and manipulate palette arrays.
+ *
+ * Although palettes are arrays of char, and are often referred to as strings,
+ * they are not the conventional null-terminated strings found in C. Normal C
+ * string functions cannot be used.
+ *
+ * The first byte of a palette string holds its length (not counting the first
+ * byte itself). Each basic view has a default palette that determines the
+ * usual colors assigned to the various parts of a view, such as scroll bars,
+ * frames, buttons, text, and so on.
+ * @short Simple class used to create and manipulate palette arrays
+ */
+class TPalette
+{
+public:
+ /**
+ * Creates a TPalette object with string `d' and length `len'. The private
+ * member @ref data is set with `len' in its first byte, following by the
+ * array `d'.
+ */
+ TPalette( const char *d, ushort len );
+ /**
+ * Creates a new palette by copying the palette `tp'.
+ */
+ TPalette( const TPalette& tp );
+ /**
+ * Destroys the palette.
+ */
+ ~TPalette();
+ /**
+ * The code p = tp; copies the palette `tp' to the palette `p'.
+ */
+ TPalette& operator = ( const TPalette& tp );
+ /**
+ * The subscripting operator returns the character at the index'th
+ * position.
+ */
+ uchar& operator[]( int index ) const;
+ /**
+ * Undocumented.
+ */
+ uchar *data;
+};
+
+#endif // Uses_TPalette
+
+#if defined( Uses_TView ) && !defined( __TView )
+#define __TView
+
+class TRect;
+class TEvent;
+class TGroup;
+
+/**
+ * The base of all visible objects.
+ *
+ * The TView class exists to provide basic data and functionality
+ * for its derived classes. You'll probably never need to construct
+ * an instance of TView itself, but most of the common behavior of
+ * visible elements in TVision applications comes from TView.
+ *
+ * Most programs make use of the TView derivatives: @ref TFrame,
+ * @ref TScrollBar, @ref TScroller, @ref TListViewer, @ref TGroup, or
+ * @ref TWindow objects.
+ */
+class TView : public TObject, public TStreamable {
+public:
+ /**
+ * @see TGroup::handleEvent
+ * @see TGroup::phase
+ */
+ enum phaseType { phFocused, phPreProcess, phPostProcess };
+
+ /**
+ * Used internally by TVision.
+ */
+ enum selectMode{ normalSelect, enterSelect, leaveSelect };
+
+ /**
+ * Creates a TView object with the given `bounds' rectangle. TView
+ * constructor calls the TObject constructor and then sets the data
+ * members of the new TView to the following values:
+ *
+ * <pre>
+ * Data member Value
+ *
+ * cursor (0, 0)
+ * dragMode @ref dmLimitLoY
+ * eventMask @ref evMouseDown | @ref evKeyDown | @ref evCommand
+ * growMode 0
+ * helpCtx @ref hcNoContext
+ * next 0
+ * options 0
+ * origin (bounds.A.x, bounds.A.y)
+ * owner 0
+ * size (bounds.B.x - bounds.A.x, bounds.B.y - bounds.A.y)
+ * state @ref sfVisible
+ * </pre>
+ */
+ TView( const TRect& bounds );
+
+ /**
+ * Hides the view and then, if it has an owner, removes it from the group.
+ */
+ ~TView();
+ /**
+ * Sets, in the `min' and `max' arguments, the minimum and maximum values
+ * that @ref size data member may assume.
+ *
+ * The default TView::sizeLimits returns (0, 0) in `min' and owner->size
+ * in `max'. If @ref owner data member is 0, `max.x' and `max.y' are both
+ * set to INT_MAX.
+ */
+ virtual void sizeLimits( TPoint& min, TPoint& max );
+ /**
+ * Returns the current value of size, the bounding rectangle of the view
+ * in its owner's coordinate system.
+ *
+ * -# `a' is set to @ref origin
+ * -# `b' is set to @ref origin + @ref size
+ */
+ TRect getBounds();
+ /**
+ * Returns the extent rectangle of the view.
+ *
+ * -# `a' is set to (0, 0)
+ * -# `b' is set to @ref size
+ */
+ TRect getExtent();
+ /**
+ * Returns the clipping rectangle: the smallest rectangle which needs
+ * to be redrawn in a @ref draw() call.
+ *
+ * For complicated views, draw() can use getClipRect() to improve
+ * performance noticeably.
+ */
+ TRect getClipRect();
+ /**
+ * Returns True if the `mouse' argument (given in global coordinates) is
+ * within the calling view. Call @ref makeGlobal and @ref makeLocal to
+ * convert one point between different coordinate systems.
+ */
+ Boolean mouseInView( TPoint mouse );
+ /**
+ * Returns True if a mouse event occurs inside the calling view, otherwise
+ * returns False. Returns True if the view is visible and the mouse
+ * coordinates (defined in `event.mouse.where') are within this view.
+ *
+ * The coordinate is defined in the global coordinate system.
+ * @see TView::makeGlobal
+ * @see TView::makeLocal
+ */
+ Boolean containsMouse( TEvent& event );
+ /**
+ * Changes the bounds of the view to those of the `bounds' argument.
+ * The view is redrawn in its new location.
+ *
+ * locate() calls @ref sizeLimits() to verify that the given bounds are
+ * valid, and then calls @ref changeBounds() to change the bounds and
+ * redraw the view.
+ */
+ void locate( TRect& bounds );
+ /**
+ * Drags the view in the ways specified by the `mode' argument, that is
+ * interpreted like the @ref growMode data member.
+ *
+ * `limits' specifies the rectangle (in the owner's coordinate system)
+ * within which the view can be moved, and `min' and `max' specify the
+ * minimum and maximum sizes the view can shrink or grow to.
+ *
+ * The event leading to the dragging operation is needed in `event' to
+ * distinguish mouse dragging from use of the cursor keys.
+ */
+ virtual void dragView( TEvent& event, uchar mode, // temporary fix
+ TRect& limits, TPoint minSize, TPoint maxSize ); // for Miller's stuff
+ /**
+ * When a view's owner changes size, the owner repeatedly calls
+ * calcBounds() and @ref changeBounds() for all its subviews.
+ *
+ * calcBounds() must calculate the new bounds of the view given that its
+ * owner's size has changed by `delta', and return the new bounds in
+ * `bounds'.
+ *
+ * calcBounds() calculates the new bounds using the flags specified
+ * in @ref growMode data member.
+ */
+ virtual void calcBounds( TRect& bounds, TPoint delta );
+ /**
+ * changeBounds() must change the view's bounds (@ref origin and @ref size
+ * data members) to the rectangle given by the `bounds' parameter.
+ * Having changed the bounds, changeBounds() must then redraw the view.
+ *
+ * changeBounds() is called by various TView member functions, but should
+ * never be called directly.
+ *
+ * changeBounds() first calls @ref setBounds(bounds) and then calls
+ * @ref drawView().
+ */
+ virtual void changeBounds( const TRect& bounds );
+ /**
+ * Grows or shrinks the view to the given size using a call to
+ * @ref locate().
+ */
+ void growTo( short x, short y );
+ /**
+ * Moves the origin to the point (x,y) relative to the owner's view. The
+ * view's size is unchanged.
+ */
+ void moveTo( short x, short y );
+ /**
+ * Sets the bounding rectangle of the view to the value given by the
+ * `bounds' parameter. The @ref origin data member is set to `bounds.a',
+ * and the @ref size data member is set to the difference between
+ * `bounds.b' and `bounds.a'.
+ *
+ * The setBounds() member function is intended to be called only from
+ * within an overridden @ref changeBounds() member function. You should
+ * never call setBounds() directly.
+ */
+ void setBounds( const TRect& bounds );
+ /**
+ * getHelpCtx() returns the view's help context. The default getHelpCtx()
+ * returns the value in the @ref helpCtx data member, or returns
+ * @ref hcDragging if the view is being dragged (see @ref sfDragging).
+ */
+ virtual ushort getHelpCtx();
+ /**
+ * Use this member function to check the validity of a view after it has
+ * been constructed or at the point in time when a modal state ends (due
+ * to a call to @ref endModal()).
+ *
+ * A `command' argument of cmValid (zero) indicates that the view should
+ * check the result of its constructor: valid(cmValid) should return True
+ * if the view was successfully constructed and is now ready to be used,
+ * False otherwise.
+ *
+ * Any other (nonzero) `command' argument indicates that the current modal
+ * state (such as a modal dialog box) is about to end with a resulting
+ * value of `command'. In this case, valid() should check the validity of
+ * the view.
+ *
+ * It is the responsibility of valid() to alert the user in case the view
+ * is invalid. The default TView::valid() simply returns True.
+ */
+ virtual Boolean valid( ushort command );
+ /**
+ * Hides the view by calling @ref setState() to clear the @ref sfVisible
+ * flag in the @ref state data member.
+ */
+ void hide();
+ /**
+ * If the view is @ref sfVisible, nothing happens. Otherwise, show()
+ * displays the view by calling @ref setState() to set the @ref sfVisible
+ * flag in @ref state data member.
+ */
+ void show();
+ /**
+ * Draws the view on the screen.
+ *
+ * Called whenever the view must draw (display) itself. draw() must cover
+ * the entire area of the view.
+ *
+ * This member function must be overridden appropriately for each derived
+ * class. draw() is seldom called directly, since it is more efficient to
+ * use @ref drawView(), which draws only views that are exposed; that is,
+ * some or all of the view is visible on the screen.
+ *
+ * If required, draw can call @ref getClipRect() to obtain the rectangle
+ * that needs redrawing, and then only draw that area. For complicated
+ * views, this can improve performance noticeably.
+ *
+ * To perform its task, draw() usually uses a @ref TDrawBuffer object.
+ */
+ virtual void draw();
+ /**
+ * Draws the view on the screen.
+ *
+ * Calls @ref draw() if @ref exposed() returns True, indicating that the
+ * view is exposed (see @ref sfExposed). If @ref exposed() returns False,
+ * drawView() does nothing.
+ *
+ * You should call drawView() (not draw()) whenever you need to redraw a
+ * view after making a change that affects its visual appearance.
+ */
+ void drawView();
+ /**
+ * Checks if the view is exposed.
+ *
+ * Returns True if any part of the view is visible on the screen. The view
+ * is exposed if:
+ *
+ * -# it has the @ref sfExposed bit set in @ref state data member
+ * -# it has the @ref sfVisible bit set in @ref state data member
+ * -# its coordinates make it fully or partially visible on the screen.
+ */
+ Boolean exposed();
+ /**
+ * Tries to grab the focus.
+ *
+ * The view can grab the focus if:
+ *
+ * -# the view is not selected (bit @ref sfSelected cleared in @ref state)
+ * -# the view is not modal (bit @ref sfModal cleared in @ref state)
+ * -# the owner exists and it is focused
+ *
+ * If all the above conditions are True, the focus() method calls
+ * @ref select() to get the focus.
+ */
+ Boolean focus();
+ /**
+ * Hides the cursor by calling @ref setState() to clear the
+ * @ref sfCursorVis flag in the @ref state data member.
+ */
+ void hideCursor();
+ /**
+ * Calls @ref drawCursor() followed by @ref drawUnderView(). The latter
+ * redraws all subviews (with shadows if required) until the given
+ * `lastView' is reached.
+ */
+ void drawHide( TView *lastView );
+ /**
+ * Calls @ref drawView(), then if @ref state data member has the
+ * @ref sfShadow bit set, @ref drawUnderView() is called to draw the
+ * shadow.
+ */
+ void drawShow( TView *lastView );
+ /**
+ * Calls owner->clip.intersect(r) to set the area that needs drawing.
+ * Then, all the subviews from the next view to the given `lastView' are
+ * drawn using @ref drawSubViews(). Finally, owner->clip is reset to
+ * owner->getExtent().
+ * @see TGroup::clip
+ * @see TRect::intersect
+ * @see TView::getExtent
+ */
+ void drawUnderRect( TRect& r, TView *lastView );
+ /**
+ * Calls drawUnderRect(r, lastView), where `r' is the calling view's
+ * current bounds. If `doShadow' is True, the view's bounds are first
+ * increased by shadowSize (see `TView.cc' for more).
+ * @see drawUnderRect
+ */
+ void drawUnderView( Boolean doShadow, TView *lastView );
+ /**
+ * dataSize() must be used to return the size of the data read from and
+ * written to data records by @ref setData() and @ref getData(). The data
+ * record mechanism is typically used only in views that implement
+ * controls for dialog boxes.
+ *
+ * TView::dataSize() returns zero to indicate that no data was
+ * transferred.
+ */
+ virtual ushort dataSize();
+ /**
+ * getData() must copy @ref dataSize() bytes from the view to the data
+ * record given by the `rec' pointer. The data record mechanism is
+ * typically used only in views that implement controls for dialog boxes.
+ * @see TView::setData
+ *
+ * The default TView::getData() does nothing.
+ */
+ virtual void getData( void *rec );
+ /**
+ * setData() must copy @ref dataSize() bytes from the data record given by
+ * `rec' to the view. The data record mechanism is typically used
+ * only in views that implement controls for dialog boxes.
+ * @see TView::getData
+ *
+ * The default TView::setData() does nothing.
+ */
+ virtual void setData( void *rec );
+ /**
+ * The default awaken() does nothing. When a group is loaded from a
+ * stream, the last thing the @ref TGroup::read() function does is call
+ * the awaken() methods of all subviews, giving those views a chance to
+ * initialize themselves once all subviews have loaded.
+ *
+ * If you create objects that depend on other subviews to initialize
+ * themselves after being read from a stream, you can override awaken()
+ * to perform that initialization.
+ */
+ virtual void awaken();
+ /**
+ * Sets @ref sfCursorIns in @ref state data member to change the cursor
+ * to a solid block. The cursor will only be visible if @ref sfCursorVis
+ * is also set (and the view is visible).
+ */
+ void blockCursor();
+ /**
+ * Clears the @ref sfCursorIns bit in @ref state data member, thereby
+ * making the cursor into an underline. If @ref sfCursorVis is set, the
+ * new cursor will be displayed.
+ */
+ void normalCursor();
+ /**
+ * Resets the cursor.
+ */
+ virtual void resetCursor();
+ /**
+ * Moves the hardware cursor to the point (x, y) using view-relative
+ * (local) coordinates. (0, 0) is the top-left corner.
+ */
+ void setCursor( int x, int y );
+ /**
+ * Turns on the hardware cursor by setting the @ref sfCursorVis bit in
+ * @ref state data member. Note that the cursor is invisible by default.
+ */
+ void showCursor();
+ /**
+ * If the view is @ref sfFocused, the cursor is reset with a call to
+ * @ref resetCursor().
+ * @see TView::state
+ */
+ void drawCursor();
+ /**
+ * Standard member function used in @ref handleEvent() to signal that the
+ * view has successfully handled the event.
+ *
+ * Sets `event.what' to @ref evNothing and `event.message.infoPtr' to this.
+ */
+ void clearEvent( TEvent& event );
+ /**
+ * Calls @ref getEvent() and returns True if an event is available. Calls
+ * @ref putEvent() to set the event as pending.
+ * @see TProgram::pending
+ */
+ Boolean eventAvail();
+ /**
+ * Returns the next available event in the `event' argument. Returns
+ * @ref evNothing if no event is available. By default, it calls the
+ * view's owner's getEvent().
+ * @see TGroup::getEvent
+ * @see Program::getEvent
+ */
+ virtual void getEvent( TEvent& event );
+ /**
+ * handleEvent() is the central member function through which all
+ * TVision event handling is implemented. The `what' data member of the
+ * `event' parameter contains the event class (evXXXX), and the remaining
+ * `event' data members further describe the event.
+ *
+ * To indicate that it has handled an event, handleEvent() should call
+ * @ref clearEvent(). handleEvent() is almost always overridden in derived
+ * classes.
+ *
+ * The default TView::handleEvent() handles @ref evMouseDown events as
+ * follows:
+ *
+ * If the view is:
+ *
+ * -# not selected (see @ref sfSelected in @ref TView::state)
+ * -# and not disabled (see @ref sfDisabled in @ref TView::state)
+ * -# and if the view is selectable (see @ref ofSelectable in
+ * @ref TView::options)
+ *
+ * then the view selects itself by calling @ref select(). No other events
+ * are handled by TView::handleEvent().
+ */
+ virtual void handleEvent( TEvent& event );
+ /**
+ * Puts the event given by `event' into the event queue, causing it to be
+ * the next event returned by @ref getEvent(). Only one event can be pushed
+ * onto the event queue in this fashion.
+ *
+ * Often used by views to generate command events; for example,
+ *
+ * <pre>
+ * event.what = @ref evCommand;
+ * event.command = cmSaveAll;
+ * event.infoPtr = 0;
+ * putEvent(event);
+ * </pre>
+ *
+ * The default TView::putEvent() calls the view's owner's putEvent().
+ * @see TGroup::putEvent
+ * @see TProgram::pending
+ * @see TProgram::putEvent
+ */
+ virtual void putEvent( TEvent& event );
+ /**
+ * Returns True if the given command is currently enabled; otherwise it
+ * returns False.
+ *
+ * Note that when you change a modal state, you can then disable and
+ * enable commands as you wish; when you return to the previous modal
+ * state, however, the original command set will be restored.
+ */
+ static Boolean commandEnabled( ushort command );
+ /**
+ * Disables the commands specified in the `commands' argument. If the
+ * command set is changed by this call, @ref commandSetChanged is set True.
+ */
+ static void disableCommands( TCommandSet& commands );
+ /**
+ * Enables all the commands in the `commands' argument. If the
+ * command set is changed by this call, @ref commandSetChanged is set True.
+ */
+ static void enableCommands( TCommandSet& commands );
+ /**
+ * Disables the given command. If the
+ * command set is changed by the call, @ref commandSetChanged is set True.
+ */
+ static void disableCommand( ushort command );
+ /**
+ * Enables the given command. If the
+ * command set is changed by this call, @ref commandSetChanged is set True.
+ */
+ static void enableCommand( ushort command );
+ /**
+ * Returns, in the `commands' argument, the current command set.
+ */
+ static void getCommands( TCommandSet& commands );
+ /**
+ * Changes the current command set to the given `commands' argument.
+ */
+ static void setCommands( TCommandSet& commands );
+ /**
+ * Undocumented.
+ */
+ static void setCmdState( TCommandSet& commands, Boolean enable);
+ /**
+ * Calls @ref TopView() to seek the top most modal view. If there is none
+ * such (that is, if TopView() returns 0) no further action is taken. If
+ * there is a modal view, that view calls endModal(), and so on.
+ *
+ * The net result is that endModal() terminates the current modal state.
+ * The `command' argument is passed to the @ref TGroup::execView() that
+ * created the modal state in the first place.
+ */
+ virtual void endModal( ushort command );
+ /**
+ * Is called from @ref TGroup::execView() whenever a view becomes modal.
+ * If a view is to allow modal execution, it must override execute() to
+ * provide an event loop. The value returned by execute() will be the
+ * value returned by @ref TGroup::execView().
+ *
+ * The default TView::execute() simply returns cmCancel.
+ */
+ virtual ushort execute();
+ /**
+ * Maps the palette indices in the low and high bytes of `color' into
+ * physical character attributes by tracing through the palette of the
+ * view and the palettes of all its owners.
+ */
+ ushort getColor( ushort color );
+ /**
+ * getPalette() must return a string representing the view's palette.
+ *
+ * This can be 0 (empty string) if the view has no palette. getPalette()
+ * is called by @ref writeChar() and @ref writeStr() when converting
+ * palette indices to physical character attributes.
+ *
+ * The default return value of 0 causes no color translation to be
+ * performed by this view. getPalette() is almost always overridden in
+ * derived classes.
+ */
+ virtual TPalette& getPalette() const;
+ /**
+ * Maps the given color to an offset into the current palette. mapColor()
+ * works by calling @ref getPalette() for each owning group in the chain.
+ *
+ * It succesively maps the offset in each palette until the ultimate
+ * owning palette is reached.
+ *
+ * If `color' is invalid (for example, out of range) for any of the
+ * palettes encountered in the chain, mapColor() returns @ref errorAttr.
+ */
+ uchar mapColor( uchar );
+ /**
+ * Returns True if the state given in `aState' is set in the data member
+ * @ref state.
+ */
+ Boolean getState( ushort aState );
+ /**
+ * Selects the view (see @ref sfSelected). If the view's owner is focused,
+ * then the view also becomes focused (see @ref sfFocused).
+ * @see TView::state
+ *
+ * If the view has the ofTopSelect flag set in its @ref options data
+ * member, then the view is moved to the top of its owner's subview list
+ * (using a call to @ref makeFirst()).
+ */
+ void select();
+ /**
+ * Sets or clears a state flag in the @ref state data member.
+ * The `aState' parameter specifies the state flag to modify, and the
+ * `enable' parameter specifies whether to turn the flag off (False) or
+ * on (True).
+ *
+ * setState() then carries out any appropriate action to reflect the new
+ * state, such as redrawing views that become exposed when the view is
+ * hidden (@ref sfVisible), or reprogramming the hardware when the cursor
+ * shape is changed (@ref sfCursorVis and @ref sfCursorIns).
+ *
+ * setState() is sometimes overridden to trigger additional actions that
+ * are based on state flags. Another common reason to override setState()
+ * is to enable or disable commands that are handled by a particular view.
+ */
+ virtual void setState( ushort aState, Boolean enable );
+ /**
+ * Returns, in the `event' variable, the next @ref evKeyDown event.
+ * It waits, ignoring all other events, until a keyboard event becomes
+ * available.
+ */
+ void keyEvent( TEvent& event );
+ /**
+ * Sets the next mouse event in the `event' argument.
+ * Returns True if this event is in the `mask' argument. Also returns
+ * False if an @ref evMouseUp event occurs.
+ *
+ * This member function lets you track a mouse while its button is down;
+ * for example, in drag block-marking operations for text editors.
+ *
+ * Here's an extract of a @ref handleEvent() routine that tracks the
+ * mouse with the view's cursor:
+ *
+ * <pre>
+ * void TMyView::handleEvent(TEvent& event)
+ * {
+ * TView::handleEvent(event);
+ * switch (event.what)
+ * {
+ * case @ref evMouseDown:
+ * do
+ * {
+ * makeLocal(event.where, mouse);
+ * setCursor(mouse.x, mouse.y);
+ * }
+ * while (mouseEvent(event, evmouseMove));
+ * clearEvent(event);
+ * ...
+ * }
+ * ...
+ * }
+ * </pre>
+ * @see TView::clearEvent
+ * @see TView::makeLocal
+ * @see TView::setCursor
+ */
+ Boolean mouseEvent( TEvent& event, ushort mask );
+ /**
+ * Converts the `source' point coordinates from local (view) to global
+ * (screen) and returns the result.
+ */
+ TPoint makeGlobal( TPoint source );
+ /**
+ * Converts the `source' point coordinates from global (screen) to local
+ * (view) and returns the result.
+ *
+ * Useful for converting the event.where data member of an evMouse event
+ * from global coordinates to local coordinates.
+ *
+ * For example:
+ * <pre>
+ * mouseLoc = makeLocal(eventWhere);
+ * </pre>
+ */
+ TPoint makeLocal( TPoint source );
+ /**
+ * Returns a pointer to the next subview in the owner's subview list.
+ * A 0 is returned if the calling view is the last one in its owner's
+ * list.
+ */
+ TView *nextView();
+ /**
+ * Returns a pointer to the previous subview in the owner's subview list.
+ * A 0 is returned if the calling view is the first one in its owner's
+ * list.
+ *
+ * Note that @ref prev() treats the list as circular, whereas prevView()
+ * treats the list linearly.
+ */
+ TView *prevView();
+ /**
+ * Returns a pointer to the previous subview in the owner's subview list.
+ * If the calling view is the first one in its owner's list, prev()
+ * returns the last view in the list.
+ *
+ * Note that @ref prev() treats the list as circular, whereas prevView()
+ * treats the list linearly.
+ */
+ TView *prev();
+ /**
+ * Pointer to next peer view in Z-order. If this is the last subview, next
+ * points to owner's first subview.
+ */
+ TView *next;
+ /**
+ * Moves the view to the top of its owner's subview list. A call to
+ * makeFirst() corresponds to putInFrontOf(owner->first()).
+ * @see TGroup::first
+ * @see TView::putInFrontOf
+ */
+ void makeFirst();
+ /**
+ * Moves the calling view in front of the `Target' view in the owner's
+ * subview list. The call
+ *
+ * <pre>
+ * MyView.putInFrontOf(owner->first);
+ * </pre>
+ *
+ * is equivalent to MyView.makeFirst(). This member function works by
+ * changing pointers in the subview list.
+ * @see TView::makeFirst
+ *
+ * Depending on the position of the other views and their visibility
+ * states, putInFrontOf() may obscure (clip) underlying views.
+ *
+ * If the view is selectable (see @ref ofSelectable) and is put in front
+ * of all other subviews, then the view becomes selected.
+ * @see TView::options
+ */
+ void putInFrontOf( TView *Target );
+ /**
+ * Returns a pointer to the current modal view, or 0 if none such.
+ */
+ TView *TopView();
+ /**
+ * Writes the given buffer to the screen starting at the coordinates
+ * (x, y), and filling the region of width `w' and height `h'. Should only
+ * be used in @ref draw() member functions.
+ * @see TDrawBuffer
+ */
+ void writeBuf( short x, short y, short w, short h, const void* b );
+ /**
+ * Writes the given buffer to the screen starting at the coordinates
+ * (x, y), and filling the region of width `w' and height `h'. Should only
+ * be used in @ref draw() member functions.
+ * @see TDrawBuffer
+ */
+ void writeBuf( short x, short y, short w, short h, const TDrawBuffer& b );
+ /**
+ * Beginning at the point (x, y), writes `count' copies of the character
+ * `c' in the color determined by the color'th entry in the current view's
+ * palette. Should only be used in @ref draw() functions.
+ */
+ void writeChar( short x, short y, char c, uchar color, short count );
+
+ /**
+ * Writes the line contained in the buffer `b' to the screen, beginning at
+ * the point (x, y) within the rectangle defined by the width `w' and the
+ * height `h'. If `h' is greater than 1, the line will be repeated `h'
+ * times. Should only be used in @ref draw() member functions.
+ * @see TDrawBuffer
+ */
+ inline void
+ writeLine(short x, short y, short w, short h, const TDrawBuffer& b)
+ {
+ writeLine(x, y, w, h, b.data);
+ }
+
+ /**
+ * Writes the line contained in the buffer `b' to the screen, beginning at
+ * the point (x, y) within the rectangle defined by the width `w' and the
+ * height `h'. If `h' is greater than 1, the line will be repeated `h'
+ * times. Should only be used in @ref draw() member functions.
+ * @see TDrawBuffer
+ */
+ void writeLine( short x, short y, short w, short h, const void *b );
+ /**
+ * Writes the string `str' with the color attributes of the color'th entry
+ * in the view's palette, beginning at the point (x, y). Should only be
+ * used in @ref draw() member functions.
+ */
+ void writeStr( short x, short y, const char *str, uchar color );
+ /**
+ * The size of the view.
+ */
+ TPoint size;
+ /**
+ * The options word flags determine various behaviors of the view. The
+ * following mnemonics are used to refer to the bit positions of the
+ * options data member. Setting a bit position to 1 indicates that the
+ * view has that particular attribute; clearing the bit position means
+ * that the attribute is off or disabled.
+ *
+ * <pre>
+ * Constant Value Meaning
+ *
+* @ref ofSelectable 0x0001 Set if the view should select itself automatically
+ * (see @ref sfSelected); for example, by a mouse
+ * click in the view, or a Tab in a dialog box.
+ *
+* @ref ofTopSelect 0x0002 Set if the view should move in front of all other
+ * peer views when selected. When the
+ * @ref ofTopSelect bit is set, a call to
+ * @ref select() corresponds to a call to
+ * @ref makeFirst(). @ref TWindow and descendants by
+ * default have the @ref ofTopSelect bit set, which
+ * causes them to move in front of all other windows
+ * on the desktop when selected.
+ *
+* @ref ofFirstClick 0x0004 If clear, a mouse click that selects a view will
+ * have no further effect. If set, such a mouse click
+ * is processed as a normal mouse click after
+ * selecting the view. Has no effect unless
+ * @ref ofSelectable is also set. See also
+ * @ref handleEvent(), @ref sfSelected and
+ * @ref ofSelectable.
+ *
+* @ref ofFramed 0x0008 Set if the view should have a frame drawn around
+ * it. A @ref TWindow and any class derived from
+ * @ref TWindow, has a @ref TFrame as its last
+ * subview. When drawing itself, the @ref TFrame
+ * will also draw a frame around any other subviews
+ * that have the @ref ofFramed bit set.
+ *
+* @ref ofPreProcess 0x0010 Set if the view should receive focused events
+ * before they are sent to the focused view.
+ * Otherwise clear. See also @ref sfFocused,
+ * @ref ofPostProcess, and @ref TGroup::phase.
+ *
+* @ref ofPostProcess 0x0020 Set if the view should receive focused events
+ * whenever the focused view fails to handle them.
+ * Otherwise clear. See also @ref sfFocused,
+ * @ref ofPreProcess and @ref TGroup::phase.
+ *
+* @ref ofBuffered 0x0040 Used for @ref TGroup objects and classes derived
+ * from @ref TGroup only. Set if a cache buffer
+ * should be allocated if sufficient memory is
+ * available. The group buffer holds a screen image
+ * of the whole group so that group redraws can be
+ * speeded up. In the absence of a buffer,
+ * @ref TGroup::draw() calls on each subview's
+ * @ref drawView() method. If subsequent memory
+ * allocation calls fail, group buffers will be
+ * deallocated to make memory available.
+ *
+* @ref ofTileable 0x0080 Set if the desktop can tile (or cascade) this
+ * view. Usually used only with @ref TWindow objects.
+ *
+* @ref ofCenterX 0x0100 Set if the view should be centered on the x-axis
+ * of its owner when inserted in a group using
+ * @ref TGroup::insert().
+ *
+* @ref ofCenterY 0x0200 Set if the view should be centered on the y-axis
+ * of its owner when inserted in a group using
+ * @ref TGroup::insert().
+ *
+* @ref ofCentered 0x0300 Set if the view should be centered on both axes of
+ * its owner when inserted in a group using
+ * @ref TGroup::insert().
+ * </pre>
+ */
+ ushort options;
+ /**
+ * eventMask is a bit mask that determines which event classes will be
+ * recognized by the view.
+ *
+ * The default eventMask enables @ref evMouseDown, @ref evKeyDown, and
+ * @ref evCommand. Assigning 0xFFFF to eventMask causes the view to react
+ * to all event classes; conversely, a value of zero causes the view to
+ * not react to any events.
+ */
+ ushort eventMask;
+ /**
+ * The state of the view is represented by bits set or clear in the state
+ * data member. The bits are represented mnemonically by constants as
+ * follows.
+ *
+ * <pre>
+ * Constant Value Meaning
+ *
+* @ref sfVisible 0x001 Set if the view is visible on its owner. Views are by
+ * default @ref sfVisible. Use @ref show() and
+ * @ref hide() to modify @ref sfVisible. An
+ * @ref sfVisible view is not necessarily visible on the
+ * screen, since its owner might not be visible. To test
+ * for visibility on the screen, examine the
+ * @ref sfExposed bit or call @ref exposed().
+ *
+* @ref sfCursorVis 0x002 Set if a view's cursor is visible. Clear is the
+ * default. You can use @ref showCursor() and
+ * @ref hideCursor() to modify @ref sfCursorVis.
+ *
+* @ref sfCursorIns 0x004 Set if the view's cursor is a solid block; clear if
+ * the view's cursor is an underline (the default). Use
+ * @ref blockCursor() and @ref normalCursor() to modify
+ * this bit.
+ *
+* @ref sfShadow 0x008 Set if the view has a shadow.
+ *
+* @ref sfActive 0x010 Set if the view is the active window or a subview in
+ * the active window.
+ *
+* @ref sfSelected 0x020 Set if the view is the currently selected subview
+ * within its owner. Each @ref TGroup object has a
+ * @ref TGroup::current data member that points to the
+ * currently selected subview (or is 0 if no subview is
+ * selected). There can be only one currently selected
+ * subview in a @ref TGroup.
+ *
+* @ref sfFocused 0x040 Set if the view is focused. A view is focused if it
+ * is selected and all owners above it are also
+ * selected. The last view on the focused chain is the
+ * final target of all focused events.
+ *
+* @ref sfDragging 0x080 Set if the view is being dragged.
+ *
+* @ref sfDisabled 0x100 Set if the view is disabled. A disabled view will
+ * ignore all events sent to it.
+ *
+* @ref sfModal 0x200 Set if the view is modal. There is always exactly one
+ * modal view in a running TVision application, usually
+ * a @ref TApplication or @ref TDialog object. When a
+ * view starts executing (through an
+ * @ref TGroup::execView() call), that view becomes
+ * modal. The modal view represents the apex (root) of
+ * the active event tree, getting and handling events
+ * until its @ref endModal() method is called. During
+ * this "local" event loop, events are passed down to
+ * lower subviews in the view tree. Events from these
+ * lower views pass back up the tree, but go no further
+ * than the modal view. See also @ref setState(),
+ * @ref handleEvent() and @ref TGroup::execView().
+ *
+* @ref sfDefault 0x400 This is a spare flag, available to specify some
+ * user-defined default state.
+ *
+* @ref sfExposed 0x800 Set if the view is owned directly or indirectly by
+ * the application object, and therefore possibly
+ * visible on the. @ref exposed() uses this flag in
+ * combination with further clipping calculations to
+ * determine whether any part of the view is actually
+ * visible on the screen.
+ * </pre>
+ *
+ * Many TView member functions test and/or alter the state data member by
+ * calling @ref getState() and/or @ref setState().
+ */
+ ushort state;
+ /**
+ * The (x, y) coordinates, relative to the owner's origin, of the top-left
+ * corner of the view.
+ */
+ TPoint origin;
+ /**
+ * The location of the hardware cursor within the view. The cursor is
+ * visible only if the view is focused (@ref sfFocused) and the cursor
+ * turned on (@ref sfCursorVis).
+ * @see TView::state
+ *
+ * The shape of the cursor is either an underline or block (determined by
+ * @ref sfCursorIns).
+ */
+ TPoint cursor;
+ /**
+ * Determines how the view will grow when its owner view is resized.
+ * To growMode is assigned one or more of the following growMode masks:
+ *
+ * <pre>
+ * Constant Value Meaning
+ *
+* @ref gfGrowLoX 0x01 If set, the left-hand side of the view will maintain a
+ * constant distance from its owner's right-hand side. If
+ * not set, the movement indicated won't occur.
+ *
+* @ref gfGrowLoY 0x02 If set, the top of the view will maintain a constant
+ * distance from the bottom of its owner.
+ *
+* @ref gfGrowHiX 0x04 If set, the right-hand side of the view will maintain a
+ * constant distance from its owner's right side.
+ *
+* @ref gfGrowHiY 0x08 If set, the bottom of the view will maintain a
+ * constant distance from the bottom of its owner's.
+ *
+* @ref gfGrowRel 0x10 For use with @ref TWindow objects that are in the
+ * desktop. The view will change size relative to the
+ * owner's size, maintaining that relative size with
+ * respect to the owner even when screen is resized.
+ *
+* @ref gfGrowAll 0x0F If set, the view will move with the lower-right corner
+ * of its owner.
+ * </pre>
+ *
+ * Note that LoX = left side; LoY = top side; HiX = right side and
+ * HiY = bottom side.
+ *
+ * Example:
+ * <pre>
+ * growMode = @ref gfGrowLoX | @ref gfGrowLoY;
+ * </pre>
+ */
+ uchar growMode;
+ /**
+ * Determines how the view should behave when mouse-dragged. The dragMode
+ * bits are defined as follows:
+ *
+ * <pre>
+ * Constant Value Meaning
+ *
+* @ref dmDragMove 0x01 Allow the view to move
+* @ref dmDragGrow 0x02 Allow the view to change size
+* @ref dmLimitLoX 0x10 The view's left-hand side cannot move outside limits
+* @ref dmLimitLoY 0x20 The view's top side cannot move outside limits
+* @ref dmLimitHiX 0x40 The view's right-hand side cannot move outside limits
+* @ref dmLimitHiY 0x80 The view's bottom side cannot move outside limits
+* @ref dmLimitAll 0xF0 No part of the view can move outside limits
+ * </pre>
+ *
+ * By default, the TView constructor sets the dragMode data member to
+ * @ref dmLimitLoY. Currently, these constants and dragMode are only used
+ * to compose the `mode' argument of @ref TView::dragView() calls when a
+ * view is moved or resized.
+ */
+ uchar dragMode;
+ /**
+ * The help context of the view. When the view is focused, this data
+ * member will represent the help context of the application, unless the
+ * context number is @ref hcNoContext, in which case there is no help
+ * context for the view.
+ *
+ * The following default help context constants are defined:
+ *
+ * <pre>
+ * Constant Value Meaning
+ *
+* @ref hcNoContext 0 No context specified
+* @ref hcDragging 1 Object is being dragged
+ * </pre>
+ *
+ * The default value of helpCtx is @ref hcNoContext. @ref getHelpCtx()
+ * returns @ref hcDragging whenever the view is being dragged (as
+ * indicated by the @ref sfDragging @ref state flag).
+ *
+ * TVision reserves help context values 0 through 999 for its own use.
+ * Programmers may define their own constants in the range 1,000 to
+ * 65,535.
+ */
+ ushort helpCtx;
+ /**
+ * Set to True whenever the view's command set is changed via an enable or
+ * disable command call.
+ * @see TView::disableCommand
+ * @see TView::disableCommands
+ * @see TView::enableCommand
+ * @see TView::enableCommands
+ * @see TView::setCommands
+ */
+ static Boolean commandSetChanged;
+#ifndef GENINC
+ /**
+ * Holds the set of commands currently enabled for this view. Initially,
+ * the following commands are disabled: cmZoom, cmClose, cmResize, cmNext,
+ * cmPrev.
+ *
+ * This data member is constantly monitored by @ref handleEvent() to
+ * determine which of the received command events needs to be serviced.
+ *
+ * curCommandSet should not be altered directly: use the appropriate set,
+ * enable, or disable calls.
+ * @see TView::disableCommand
+ * @see TView::disableCommands
+ * @see TView::enableCommand
+ * @see TView::enableCommands
+ * @see TView::setCommands
+ */
+ static TCommandSet curCommandSet;
+#endif
+ /**
+ * Points to the TGroup object that owns this view. If 0, the view has
+ * no owner. The view is displayed within its owner's view and will be
+ * clipped by the owner's bounding rectangle.
+ */
+ TGroup *owner;
+ /**
+ * Used to indicate whether indicators should be placed around focused
+ * controls. @ref TProgram::initScreen() sets showMarkers to True if the
+ * video mode is monochrome; otherwise it is False. The value may,
+ * however, be set on in color and black and white modes if desired.
+ */
+ static Boolean showMarkers;
+ /**
+ * Attribute used to signal an invalid palette selection. For example,
+ * @ref mapColor() returns errorAttr if it is called with an invalid color
+ * argument.
+ *
+ * By default, errorAttr is set to 0xCF, which shows as flashing red on
+ * white.
+ */
+ static uchar errorAttr;
+ /**
+ * Used internally by @ref TObject::destroy() to ensure correct
+ * destruction of derived and related objects. shutDown() is overridden
+ * in many classes to ensure the proper setting of related data members
+ * when destroy() is called.
+ */
+ virtual void shutDown();
+private:
+ /**
+ * Undocumented.
+ */
+ void moveGrow( TPoint p,
+ TPoint s,
+ TRect& limits,
+ TPoint minSize,
+ TPoint maxSize,
+ uchar mode
+ );
+ /**
+ * Undocumented.
+ */
+ void change( uchar, TPoint delta, TPoint& p, TPoint& s, ulong ctrlState );
+ /**
+ * Undocumented.
+ */
+ int exposedRec1(short int, short int, class TView *);
+ /**
+ * Undocumented.
+ */
+ int exposedRec2(short int, short int, class TView *);
+ /**
+ * Undocumented.
+ */
+ void writeView(short int, short int, short int, const void *);
+ /**
+ * Undocumented.
+ */
+ void writeViewRec1(short int, short int, class TView *, int);
+ /**
+ * Undocumented.
+ */
+ void writeViewRec2(short int, short int, class TView *, int);
+ /**
+ * Undocumented.
+ */
+ virtual const char *streamableName() const
+ { return name; }
+protected:
+ /**
+ * Each streamable class needs a "builder" to allocate the correct memory
+ * for its objects together with the initialized virtual table pointers.
+ * This is achieved by calling this constructor with an argument of type
+ * @ref StreamableInit.
+ */
+ TView( StreamableInit );
+public:
+ /**
+ * Undocumented.
+ */
+ static const char * const name;
+ /**
+ * Called to create an object in certain stream-reading situations.
+ */
+ static TStreamable *build();
+protected:
+ /**
+ * Writes to the output stream `os'.
+ */
+ virtual void write( opstream& os );
+ /**
+ * Reads from the input stream `is'.
+ */
+ virtual void *read( ipstream& is );
+};
+
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TView& cl )
+ { return is >> (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TView*& cl )
+ { return is >> (void *&)cl; }
+
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TView& cl )
+ { return os << (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TView* cl )
+ { return os << (TStreamable *)cl; }
+
+inline void TView::writeBuf( short x, short y, short w, short h,
+ const TDrawBuffer& b )
+{
+ writeBuf( x, y, w, h, b.data );
+}
+
+#endif // Uses_TView
+
+/* ---------------------------------------------------------------------- */
+/* class TFrame */
+/* */
+/* Palette layout */
+/* 1 = Passive frame */
+/* 2 = Passive title */
+/* 3 = Active frame */
+/* 4 = Active title */
+/* 5 = Icons */
+/* ---------------------------------------------------------------------- */
+
+#if defined( Uses_TFrame ) && !defined( __TFrame )
+#define __TFrame
+
+class TRect;
+class TEvent;
+class TDrawBuffer;
+
+/**
+ * TFrame provides the distinctive frames around windows and dialog boxes.
+ * Users will probably never need to deal with frame objects directly, as they
+ * are added to window objects by default.
+ * @short The frame around the windows
+ */
+class TFrame : public TView
+{
+public:
+ /**
+ * Calls TView constructor TView(bounds), then sets @ref growMode to
+ * @ref gfGrowHiX | @ref gfGrowHiY and sets @ref eventMask to
+ * @reg eventMask | @ref evBroadcast, so TFrame objects default to
+ * handling broadcast events.
+ * `bounds' is the bounding rectangle of the frame.
+ */
+ TFrame( const TRect& bounds );
+ /**
+ * Draws the frame with color attributes and icons appropriate to the
+ * current state flags: active, inactive, being dragged. Adds zoom, close
+ * and resize icons depending on the owner window's flags. Adds the title,
+ * if any, from the owning window's title data member.
+ *
+ * Active windows are drawn with a double-lined frame and any icons;
+ * inactive windows are drawn with a single-lined frame and no icons.
+ * @see TView::draw
+ */
+ virtual void draw();
+ /**
+ * Returns a reference to the default frame palette string.
+ * @see TView::getPalette
+ */
+ virtual TPalette& getPalette() const;
+ /**
+ * Calls @ref TView::handleEvent(), then handles mouse events.
+ *
+ * If the mouse is clicked on the close icon, TFrame::handleEvent()
+ * generates a cmClose event. Clicking on the zoom icon or double-clicking
+ * on the top line of the frame generates a cmZoom event.
+ *
+ * Dragging the top line of the frame moves the window, and dragging the
+ * resize icon moves the lower right corner of the view and therefore
+ * changes its size.
+ */
+ virtual void handleEvent( TEvent& event );
+ /**
+ * Changes the state of the frame.
+ * Calls TView::setState(aState, enable). If the new state is
+ * @ref sfActive or @ref sfDragging, calls @ref TView::drawView() to
+ * redraw the view.
+ * @see TView::setState
+ * @see TView::state
+ */
+ virtual void setState( ushort aState, Boolean enable );
+ /**
+ * Undocumented.
+ */
+ static char frameChars[33];
+ /**
+ * The character showed in the close box.
+ */
+ static const char * closeIcon;
+ /**
+ * The character showed in the lower right corner of the screen.
+ */
+ static const char * dragIcon;
+private:
+ /**
+ * Undocumented.
+ */
+ void frameLine( TDrawBuffer& frameBuf, short y, short n, uchar color );
+ /**
+ * Undocumented.
+ */
+ void dragWindow( TEvent& event, uchar dragMode );
+ /**
+ * Undocumented.
+ */
+ friend class TDisplay;
+ /**
+ * Undocumented.
+ */
+ static const char initFrame[19];
+ /**
+ * Undocumented.
+ */
+ static const char * zoomIcon;
+ /**
+ * Undocumented.
+ */
+ static const char * unZoomIcon;
+ /**
+ * Undocumented.
+ */
+ virtual const char *streamableName() const
+ { return name; }
+protected:
+ /**
+ * Used to recover the view from a stream.
+ * Each streamable class needs a "builder" to allocate the correct memory
+ * for its objects together with the initialized vtable pointers.
+ * This is achieved by calling this constructor with an argument of type
+ * @ref StreamableInit.
+ */
+ TFrame( StreamableInit );
+public:
+ /**
+ * Undocumented.
+ */
+ static const char * const name;
+ /**
+ * Used to recover the view from a stream.
+ * Called to create an object in certain stream-reading situations.
+ */
+ static TStreamable *build();
+};
+
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TFrame& cl )
+ { return is >> (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TFrame*& cl )
+ { return is >> (void *&)cl; }
+
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TFrame& cl )
+ { return os << (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TFrame* cl )
+ { return os << (TStreamable *)cl; }
+
+#endif // Uses_TFrame
+
+/* ---------------------------------------------------------------------- */
+/* class TScrollBar */
+/* */
+/* Palette layout */
+/* 1 = Page areas */
+/* 2 = Arrows */
+/* 3 = Indicator */
+/* ---------------------------------------------------------------------- */
+
+#if defined( Uses_TScrollBar ) && !defined( __TScrollBar )
+#define __TScrollBar
+
+class TRect;
+class TEvent;
+
+/**
+ * An array representing the characters used to draw a TScrollBar.
+ * @see TScrollBar
+ * @see TScrollBar::draw
+ */
+typedef char TScrollChars[5];
+
+/**
+ * @short Implements a scroll bar
+ */
+class TScrollBar : public TView
+{
+public:
+ /**
+ * Creates and initializes a scroll bar with the given bounds by calling
+ * the TView constructor. Sets @ref value, @ref maxVal and @ref minVal to
+ * zero. Sets @ref pgStep and @ref arStep to 1.
+ *
+ * The shapes of the scroll bar parts are set to the defaults in
+ * @ref chars data member.
+ *
+ * If `bounds' produces size.x = 1, scroll bar is vertical; otherwise, it
+ * is horizontal. Vertical scroll bars have the @ref growMode data member
+ * set to @ref gfGrowLoX | @ref gfGrowHiX | @ref gfGrowHiY; horizontal
+ * scroll bars have the @ref growMode data member set to @ref gfGrowLoY |
+ * @ref gfGrowHiX | @ref gfGrowHiY.
+ */
+ TScrollBar( const TRect& bounds );
+ /**
+ * Draws the scroll bar depending on the current bounds, value, and
+ * palette.
+ */
+ virtual void draw();
+ /**
+ * Returns the default palette.
+ */
+ virtual TPalette& getPalette() const;
+ /**
+ * Handles scroll bar events by calling @ref TView::handleEvent(). Mouse
+ * events are broadcast to the scroll bar's owner, which must handle the
+ * implications of the scroll bar changes.
+ *
+ * handleEvent() also determines which scroll bar part has received a
+ * mouse click (or equivalent keystroke). Data member @ref value is
+ * adjusted according to the current @ref arStep or @ref pgStep values.
+ * The scroll bar indicator is redrawn.
+ */
+ virtual void handleEvent( TEvent& event );
+ /**
+ * Is called whenever @ref value data member changes. This virtual member
+ * function defaults by sending a cmScrollBarChanged message to the scroll
+ * bar's owner:
+ *
+ * <pre>
+ * message(owner, @ref evBroadcast, cmScrollBarChanged, this);
+ * </pre>
+ * @see message
+ */
+ virtual void scrollDraw();
+ /**
+ * By default, scrollStep() returns a positive or negative step value,
+ * depending on the scroll bar part given by `part', and the current
+ * values of @ref arStep and @ref pgStep. Parameter `part' should be one
+ * of the following constants:
+ *
+ * <pre>
+ * Constant Value Meaning
+ *
+* @ref sbLeftArrow 0 Left arrow of horizontal scroll bar
+* @ref sbRightArrow 1 Right arrow of horizontal scroll bar
+* @ref sbPageLeft 2 Left paging area of horizontal scroll bar
+* @ref sbPageRight 3 Right paging area of horizontal scroll bar
+* @ref sbUpArrow 4 Top arrow of vertical scroll bar
+* @ref sbDownArrow 5 Bottom arrow of vertical scroll bar
+* @ref sbPageUp 6 Upper paging area of vertical scroll bar
+* @ref sbPageDown 7 Lower paging area of vertical scroll bar
+* @ref sbIndicator 8 Position indicator on scroll bar
+ * </pre>
+ *
+ * These constants define the different areas of a TScrollBar in which the
+ * mouse can be clicked. The scrollStep() function converts these
+ * constants into actual scroll step values.
+ * Although defined, the sbIndicator constant is never passed to
+ * scrollStep().
+ */
+ virtual int scrollStep( int part );
+ /**
+ * Sets the @ref value, @ref minVal, @ref maxVal, @ref pgStep and
+ * @ref arStep with the given argument values. Some adjustments are made
+ * if your arguments conflict.
+ *
+ * The scroll bar is redrawn by calling @ref drawView(). If value is
+ * changed, @ref scrollDraw() is also called.
+ */
+ void setParams( int aValue, int aMin, int aMax,
+ int aPgStep, int aArStep );
+ /**
+ * Sets the legal range for value by setting @ref minVal and @ref maxVal
+ * to the given arguments `aMin' and `aMax'.
+ *
+ * Calls @ref setParams(), so @ref drawView() and @ref scrollDraw() will
+ * be called if the changes require the scroll bar to be redrawn.
+ */
+ void setRange( int aMin, int aMax );
+ /**
+ * Sets @ref pgStep and @ref arStep to the given arguments `aPgStep' and
+ * `aArStep'.
+ * Calls @ref setParams() with the other arguments set to their current
+ * values.
+ */
+ void setStep( int aPgStep, int aArStep );
+ /**
+ * Sets @ref value to `aValue' by calling @ref setParams() with the other
+ * arguments set to their current values.
+ * Note: @ref drawView() and @ref scrollDraw() will be called if this
+ * call changes value.
+ */
+ void setValue( int aValue );
+ /**
+ * Undocumented.
+ */
+ void drawPos( int pos );
+ /**
+ * Undocumented.
+ */
+ int getPos();
+ /**
+ * Undocumented.
+ */
+ int getSize();
+ /**
+ * This variable represents the current position of the scroll bar
+ * indicator. This marker moves along the scroll bar strip to indicate the
+ * relative position of the scrollable text being viewed relative to the
+ * total text available for scrolling.
+ *
+ * The TScrollBar constructor sets value to zero by default.
+ */
+ int value;
+ /**
+ * TScrollChars is defined as:
+ *
+ * <pre>
+ * typedef char TScrollChars[5];
+ * </pre>
+ *
+ * Variable chars is set with the five basic character patterns used to
+ * draw the scroll bar parts.
+ */
+ TScrollChars chars;
+ /**
+ * Variable minVal represents the minimum value for the @ref value data
+ * member. The TScrollBar constructor sets minVal to zero by default.
+ */
+ int minVal;
+ /**
+ * Variable maxVal represents the maximum value for the @ref value data
+ * member. The TScrollBar constructor sets maxVal to zero by default.
+ */
+ int maxVal;
+ /**
+ * Variable pgStep is the amount added or subtracted to the scroll bar's
+ * @ref value data member when a mouse click event occurs in any of the
+ * page areas (@ref sbPageLeft, @ref sbPageRight, @ref sbPageUp, or
+ * @ref sbPageDown) or an equivalent keystroke is detected (Ctrl-Left,
+ * Ctrl-Right, PgUp, or PgDn).
+ *
+ * The TScrollBar constructor sets pgStep to 1 by default. You can change
+ * pgStep using @ref setParams(), @ref setStep() or
+ * @ref TScroller::setLimit().
+ */
+ int pgStep;
+ /**
+ * Variable arStep is the amount added or subtracted to the scroll bar's
+ * @ref value data member when an arrow area is clicked (@ref sbLeftArrow,
+ * @ref sbRightArrow, @ref sbUpArrow, or @ref sbDownArrow) or the
+ * equivalent keystroke made.
+ *
+ * The TScrollBar constructor sets arStep to 1 by default.
+ */
+ int arStep;
+ /**
+ * Undocumented.
+ */
+ static TScrollChars vChars;
+ /**
+ * Undocumented.
+ */
+ static TScrollChars hChars;
+private:
+ /**
+ * Undocumented.
+ */
+ int getPartCode(void);
+ /**
+ * Undocumented.
+ */
+ virtual const char *streamableName() const
+ { return name; }
+protected:
+ /**
+ * Each streamable class needs a "builder" to allocate the correct memory
+ * for its objects together with the initialized virtual table pointers.
+ * This is achieved by calling this constructor with an argument of type
+ * @ref StreamableInit.
+ */
+ TScrollBar( StreamableInit );
+ /**
+ * Writes to the output stream `os'.
+ */
+ virtual void write( opstream& os );
+ /**
+ * Reads from the input stream `is'.
+ */
+ virtual void *read( ipstream& is );
+public:
+ /**
+ * Undocumented.
+ */
+ static const char * const name;
+ /**
+ * Called to create an object in certain stream-reading situations.
+ */
+ static TStreamable *build();
+};
+
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TScrollBar& cl )
+ { return is >> (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TScrollBar*& cl )
+ { return is >> (void *&)cl; }
+
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TScrollBar& cl )
+ { return os << (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TScrollBar* cl )
+ { return os << (TStreamable *)cl; }
+
+#endif // Uses_TScrollBar
+
+/* ---------------------------------------------------------------------- */
+/* class TScroller */
+/* */
+/* Palette layout */
+/* 1 = Normal text */
+/* 2 = Selected text */
+/* ---------------------------------------------------------------------- */
+
+#if defined( Uses_TScroller ) && !defined( __TScroller )
+#define __TScroller
+
+class TRect;
+class TScrollBar;
+class TEvent;
+
+/**
+ * TScroller provides a scrolling virtual window onto a larger view. That is,
+ * a scrolling view lets the user scroll a large view within a clipped
+ * boundary.
+ *
+ * The scroller provides an offset from which the @ref TView::draw() method
+ * fills the visible region. All methods needed to provide both scroll bar
+ * and keyboard scrolling are built into TScroller.
+ *
+ * The basic scrolling view provides a useful starting point for scrolling
+ * views such as text views.
+ * @short Provides a scrolling virtual window onto a larger view
+ */
+class TScroller : public TView
+{
+public:
+ /**
+ * Creates and initializes a TScroller object with the given size and
+ * scroll bars. Calls @ref TView constructor to set the view's size.
+ *
+ * `aHScrollBar' should be 0 if you do not want a horizontal scroll bar;
+ * `aVScrollBar' should be 0 if you do not want a vertical scroll bar.
+ */
+ TScroller( const TRect& bounds,
+ TScrollBar *aHScrollBar,
+ TScrollBar *aVScrollBar
+ );
+ /**
+ * Changes the scroller's size by calling @ref TView::setbounds(). If
+ * necessary, the scroller and scroll bars are then redrawn by calling
+ * @ref setLimit() and @ref drawView().
+ */
+ virtual void changeBounds( const TRect& bounds );
+ /**
+ * Returns the default scroller palette string.
+ */
+ virtual TPalette& getPalette() const;
+ /**
+ * Handles most events by calling @ref TView::handleEvent().
+ *
+ * Broadcast events such as cmScrollBarChanged from either @ref hScrollBar
+ * or @ref vScrollBar result in a call to @ref scrollDraw().
+ */
+ virtual void handleEvent( TEvent& event );
+ /**
+ * Checks to see if @ref delta matches the current positions of the scroll
+ * bars. If not, @ref delta is set to the correct value and
+ * @ref drawView() is called to redraw the scroller.
+ */
+ virtual void scrollDraw();
+ /**
+ * Sets the scroll bars to (x,y) by calling hScrollBar->setValue(x) and
+ * vScrollBar->setValue(y) and redraws the view by calling @ref drawView().
+ * @see TScrollBar::hScrollBar
+ * @see TScrollBar::vScrollBar
+ * @see TScrollBar::setValue
+ */
+ void scrollTo( int x, int y );
+ /**
+ * Sets the @ref limit data member and redraws the scrollbars and
+ * scroller if necessary.
+ */
+ void setLimit( int x, int y );
+ /**
+ * This member function is called whenever the scroller's state changes.
+ * Calls @ref TView::setState() to set or clear the state flags in
+ * `aState'.
+ * If the new @ref state is @ref sfSelected and @ref sfActive, setState()
+ * displays the scroll bars; otherwise, they are hidden.
+ */
+ virtual void setState( ushort aState, Boolean enable );
+ /**
+ * If @ref drawLock is zero and @ref drawFlag is True, @ref drawFlag is set
+ * False and @ref drawView() is called.
+ * If @ref drawLock is non-zero or @ref drawFlag is False, checkDraw()
+ * does nothing.
+ *
+ * Methods @ref scrollTo() and @ref setLimit() each call checkDraw() so
+ * that @ref drawView() is only called if needed.
+ */
+ void checkDraw();
+ /**
+ * Used internally by @ref TObject::destroy() to ensure correct
+ * destruction of derived and related objects. shutDown() is overridden
+ * in many classes to ensure the proper setting of related data members
+ * when @ref destroy() is called.
+ */
+ virtual void shutDown();
+ /**
+ * Holds the x (horizontal) and y (vertical) components of the scroller's
+ * position relative to the virtual view being scrolled.
+ *
+ * Automatic scrolling is achieved by changing either or both of these
+ * components in response to scroll bar events that change the value data
+ * member(s).
+ *
+ * Manual scrolling changes delta, triggers changes in the scroll bar
+ * @ref TScrollBar::value data members, and leads to updating of the
+ * scroll bar indicators.
+ */
+ TPoint delta;
+protected:
+ /**
+ * A semaphore used to control the redrawing of scrollers.
+ */
+ uchar drawLock;
+ /**
+ * Set True if the scroller has to be redrawn.
+ */
+ Boolean drawFlag;
+ /**
+ * Points to the horizontal scroll bar object associated with the
+ * scroller. If there is no such scroll bar, hScrollBar is 0.
+ */
+ TScrollBar *hScrollBar;
+ /**
+ * Points to the vertical scroll bar object associated with the
+ * scroller. If there is no such scroll bar, vScrollBar is 0.
+ */
+ TScrollBar *vScrollBar;
+ /**
+ * Data members limit.x and limit.y are the maximum allowed values for
+ * delta.x and delta.y data members.
+ * @see TScroller::delta
+ */
+ TPoint limit;
+private:
+ /**
+ * Undocumented.
+ */
+ void showSBar( TScrollBar *sBar );
+ /**
+ * Undocumented.
+ */
+ virtual const char *streamableName() const
+ { return name; }
+protected:
+ /**
+ * Each streamable class needs a "builder" to allocate the correct memory
+ * for its objects together with the initialized virtual table pointers.
+ * This is achieved by calling this constructor with an argument of type
+ * @ref StreamableInit.
+ */
+ TScroller( StreamableInit );
+ /**
+ * Writes to the output stream `os'.
+ */
+ virtual void write( opstream& os );
+ /**
+ * Reads from the input stream `is'.
+ */
+ virtual void *read( ipstream& is );
+public:
+ /**
+ * Undocumented.
+ */
+ static const char * const name;
+ /**
+ * Called to create an object in certain stream-reading situations.
+ */
+ static TStreamable *build();
+};
+
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TScroller& cl )
+ { return is >> (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TScroller*& cl )
+ { return is >> (void *&)cl; }
+
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TScroller& cl )
+ { return os << (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TScroller* cl )
+ { return os << (TStreamable *)cl; }
+
+#endif // Uses_TScroller
+
+#if defined( Uses_TListViewer ) && !defined( __TListViewer )
+#define __TListViewer
+
+class TRect;
+class TScrollBar;
+class TEvent;
+
+/**
+ * TListViewer is an abstract class from which you can derive list viewers of
+ * various kinds, such as @ref TListBox. TListViewer's members offer the
+ * following functionality:
+ *
+ * -# A view for displaying linked lists of items (but no list)
+ * -# Control over one or two scroll bars
+ * -# Basic scrolling of lists in two dimensions
+ * -# Reading and writing the view and its scroll bars from and to a stream
+ * -# Ability to use a mouse or the keyboard to select (highlight) items on
+ * list
+ * -# Draw member function that copes with resizing and scrolling
+ *
+ * TListViewer has an abstract @ref getText() method, so you need to supply
+ * the mechanism for creating and manipulating the text of the items to be
+ * displayed.
+ *
+ * TListViewer has no list storage mechanism of its own. Use it to display
+ * scrollable lists of arrays, linked lists, or similar data structures. You
+ * can also use its descendants, such as @ref TListBox, which associates a
+ * collection with a list viewer.
+ * @short An abstract class from which you can derive list viewers of various
+ * kinds, such as TListBox.
+ */
+class TListViewer : public TView
+{
+ static const char * emptyText;
+public:
+ /**
+ * Creates and initializes a TListViewer object with the given size by
+ * first calling @ref TView::TView(bounds).
+ *
+ * The @ref numCols data member is set to `aNumCols'. @ref TView::options
+ * is set to (@ref ofFirstClick | @ref ofSelectable) so that mouse clicks
+ * that select this view will be passed first to @ref handleEvent().
+ *
+ * The @ref TView::eventMask is set to @ref evBroadcast. The initial
+ * values of @ref range and @ref focused are zero.
+ *
+ * You can supply pointers to vertical and/or horizontal scroll bars by
+ * way of the `aVScrollBar' and `aHScrollBar' arguments. Setting either or
+ * both to 0 suppresses one or both scroll bars. These two pointer
+ * arguments are assigned to the @ref vScrollBar and @ref hScrollBar data
+ * members.
+ */
+ TListViewer( const TRect& bounds,
+ ushort aNumCols,
+ TScrollBar *aHScrollBar,
+ TScrollBar *aVScrollBar
+ );
+ /**
+ * Changes the size of the TListViewer object by calling
+ * TView::changeBounds(bounds). If a horizontal scroll bar has been
+ * assigned, @ref TScrollBar::pgStep is updated by way of
+ * @ref TScrollBar::setStep().
+ * @see TView::changeBounds
+ */
+ virtual void changeBounds( const TRect& bounds );
+ /**
+ * Draws the TListViewer object with the default palette by repeatedly
+ * calling @ref getText() for each visible item. Takes into account the
+ * @ref focused and selected items and whether the view is @ref sfActive.
+ * @see TView::state
+ */
+ virtual void draw();
+ /**
+ * Makes the given item focused by setting the @ref focused data member to
+ * `item'. Also sets the @ref TScrollBar::value data member of the
+ * vertical scroll bar (if any) to `item' and adjusts @ref topItem.
+ */
+ virtual void focusItem( short item );
+ /**
+ * Returns the default TListViewer palette string.
+ */
+ virtual TPalette& getPalette() const;
+ /**
+ * Derived classes must override it with a function that writes a string
+ * not exceeding `maxLen' at address `dest', given an item index
+ * referenced by `item'.
+ *
+ * Note that @ref draw() needs to call getText().
+ */
+ virtual void getText( char *dest, short item, short maxLen );
+ /**
+ * Returns True if the given item is selected (focused), that is, if
+ * `item' == @ref focused.
+ */
+ virtual Boolean isSelected( short item );
+ /**
+ * Handles events by first calling TView::handleEvent(event).
+ * @see TView::handleEvent
+ *
+ * Mouse clicks and "auto" movements over the list will change the focused
+ * item. Items can be selected with double mouse clicks.
+ *
+ * Keyboard events are handled as follows: Spacebar selects the currently
+ * focused item; the arrow keys, PgUp, PgDn, Ctrl-PgDn, Ctrl-PgUp, Home,
+ * and End keys are tracked to set the focused item.
+ *
+ * Broadcast events from the scroll bars are handled by changing the
+ * @ref focused item and redrawing the view as required.
+ */
+ virtual void handleEvent( TEvent& event );
+ /**
+ * Selects the item'th element of the list, then broadcasts this fact to
+ * the owning group by calling:
+ *
+ * <pre>
+ * message(owner, @ref evBroadcast, cmListItemSelected, this);
+ * </pre>
+ * @see message
+ */
+ virtual void selectItem( short item );
+ /**
+ * Sets the @ref range data member to `aRange'.
+ *
+ * If a vertical scroll bar has been assigned, its parameters are adjusted
+ * as necessary (and @ref TScrollBar::drawView() is invoked if redrawing is
+ * needed).
+ *
+ * If the currently focused item falls outside the new range, the
+ * @ref focused data member is set to zero.
+ */
+ void setRange( short aRange );
+ /**
+ * Calls TView::setState(aState, enable) to change the TListViewer
+ * object's state. Depending on the `aState' argument, this can result in
+ * displaying or hiding the view.
+ * @see TView::setState
+ * @see TView::state
+ *
+ * Additionally, if `aState' is @ref sfSelected and @ref sfActive, the
+ * scroll bars are redrawn; if `aState' is @ref sfSelected but not
+ * @ref sfActive, the scroll bars are hidden.
+ */
+ virtual void setState( ushort aState, Boolean enable );
+ /**
+ * Used internally by @ref focusItem(). Makes the given item focused by
+ * setting the @ref focused data member to `item'.
+ */
+ virtual void focusItemNum( short item );
+ /**
+ * Used internally by @ref TObject::destroy() to ensure correct
+ * destruction of derived and related objects. shutDown() is overridden
+ * in many classes to ensure the proper setting of related data members
+ * when @ref destroy() is called.
+ */
+ virtual void shutDown();
+ /**
+ * Pointer to the horizontal scroll bar associated with this view. If 0,
+ * the view does not have such a scroll bar.
+ */
+ TScrollBar *hScrollBar;
+ /**
+ * Pointer to the vertical scroll bar associated with this view. If 0,
+ * the view does not have such a scroll bar.
+ */
+ TScrollBar *vScrollBar;
+ /**
+ * The number of columns in the list control.
+ */
+ short numCols;
+ /**
+ * The item number of the top item to be displayed. This value changes
+ * during scrolling. Items are numbered from 0 to @ref range - 1. This
+ * number depends on the number of columns, the size of the view, and the
+ * value of variable @ref range.
+ */
+ short topItem;
+ /**
+ * The item number of the focused item. Items are numbered from 0 to
+ * @ref range - 1. Initially set to 0, the first item, focused can be
+ * changed by mouse click or Spacebar selection.
+ */
+ short focused;
+ /**
+ * The current total number of items in the list. Items are numbered from
+ * 0 to range - 1.
+ */
+ short range;
+ /**
+ * Undocumented.
+ */
+ static char separatorChar;
+private:
+ virtual const char *streamableName() const
+ { return name; }
+protected:
+ /**
+ * Each streamable class needs a "builder" to allocate the correct memory
+ * for its objects together with the initialized virtual table pointers.
+ * This is achieved by calling this constructor with an argument of type
+ * @ref StreamableInit.
+ */
+ TListViewer( StreamableInit );
+ /**
+ * Writes to the output stream `os'.
+ */
+ virtual void write( opstream& os );
+ /**
+ * Reads from the input stream `is'.
+ */
+ virtual void *read( ipstream& is );
+public:
+ /**
+ * Undocumented.
+ */
+ static const char * const name;
+ /**
+ * Called to create an object in certain stream-reading situations.
+ */
+ static TStreamable *build();
+};
+
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TListViewer& cl )
+ { return is >> (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TListViewer*& cl )
+ { return is >> (void *&)cl; }
+
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TListViewer& cl )
+ { return os << (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TListViewer* cl )
+ { return os << (TStreamable *)cl; }
+
+#endif // Uses_TListViewer
+
+#if defined( Uses_TGroup ) && !defined( __TGroup )
+#define __TGroup
+
+class TView;
+
+/**
+ * TGroup objects and their derivatives (called groups for short) provide the
+ * central driving power to TVision.
+ *
+ * A group is a special breed of view. In addition to all the members derived
+ * from @ref TView and @ref TStreamable, a group has additional members and
+ * many overrides that allow it to control a dynamically linked list of views
+ * (including other groups) as though they were a single object.
+ *
+ * We often talk about the subviews of a group even when these subviews are
+ * often groups in their own right.
+ *
+ * Although a group has a rectangular boundary from its @ref TView ancestry, a
+ * group is only visible through the displays of its subviews. A group draws
+ * itself via the @ref draw() methods of its subviews. A group owns its
+ * subviews, and together they must be capable of drawing (filling) the
+ * group's entire rectangular bounds.
+ * @see TView::draw
+ *
+ * During the life of an application, subviews are created, inserted into
+ * groups, and displayed as a result of user activity and events generated by
+ * the application itself. The subviews can just as easily be hidden, deleted
+ * from the group, or disposed of by user actions (such as closing a window or
+ * quitting a dialog box).
+ *
+ * Three derived object types of TGroup, namely @ref TWindow, @ref TDeskTop,
+ * and @ref TApplication (via @ref TProgram) illustrate the group and
+ * subgroup concept. The application typically owns a desktop object, a
+ * status line object, and a menu view object. @ref TDeskTop is a TGroup
+ * derivative, so it, in turn, can own @ref TWindow objects, which in turn own
+ * @ref TFrame objects, @ref TScrollBar objects, and so on.
+ *
+ * TGroup overrides many of the basic @ref TView methods in a natural way.
+ * TGroup objects delegate both drawing and event handling to their subviews.
+ * You'll rarely construct an instance of TGroup itself; rather you'll
+ * usually use one or more of TGroup's derived object types:
+ * @ref TApplication, @ref TDeskTop, and @ref TWindow.
+ *
+ * All TGroup objects are streamable, inheriting from @ref TStreamable by way
+ * of @ref TView. This means that TGroup objects (including your entire
+ * application group) can be written to and read from streams in a type-safe
+ * manner using the familiar C++ iostream operators.
+ * @short TGroup objects and their derivatives provide the central driving
+ * power to TVision
+ */
+class TGroup : public TView {
+ Boolean invalid(TView *p, ushort command);
+ void focusView(TView *p, Boolean enable);
+ void selectView(TView *p, Boolean enable);
+ TView *findNext(Boolean forwards);
+ virtual const char *streamableName() const { return name; }
+
+protected:
+ TGroup(StreamableInit);
+ virtual void write(opstream& os);
+ virtual void *read(ipstream& is);
+
+public:
+ TGroup( const TRect& bounds );
+ ~TGroup();
+ virtual void shutDown();
+ ushort execView( TView *p );
+ virtual ushort execute();
+ virtual void awaken();
+ void insertView( TView *p, TView *Target );
+ void remove( TView *p );
+ void removeView( TView *p );
+ void resetCurrent();
+ void setCurrent( TView *p, selectMode mode );
+ void selectNext( Boolean forwards );
+ TView *firstThat( Boolean (*func)( TView *, void * ), void *args );
+ Boolean focusNext(Boolean forwards);
+ void forEach( void (*func)( TView *, void * ), void *args );
+ void insert( TView *p );
+ void insertBefore( TView *p, TView *Target );
+ TView *at( short index );
+ TView *firstMatch( ushort aState, ushort aOptions );
+ short indexOf( TView *p );
+ TView *first();
+ virtual void setState( ushort aState, Boolean enable );
+ virtual void handleEvent( TEvent& event );
+ void drawSubViews( TView *p, TView *bottom );
+ virtual void changeBounds( const TRect& bounds );
+ virtual ushort dataSize();
+ virtual void getData( void *rec );
+ virtual void setData( void *rec );
+ virtual void draw();
+ void redraw();
+ void lock();
+ void unlock();
+ virtual void resetCursor();
+ virtual void endModal( ushort command );
+ virtual void eventError( TEvent& event );
+ virtual ushort getHelpCtx();
+ virtual Boolean valid( ushort command );
+ void freeBuffer();
+ void getBuffer();
+ static TStreamable *build();
+
+ /**
+ * Points to the subview that is currently selected, or is 0 if no
+ * subview is selected.
+ */
+ TView *current;
+
+ /**
+ * Points to the last subview in the group (the one furthest from the top
+ * in Z-order).
+ */
+ TView *last;
+
+ /**
+ * Holds the clip extent of the group, as returned by
+ * @ref TView::getExtent() or @ref TView::getClipRect(). The clip extent
+ * is defined as the minimum area that needs redrawing when @ref draw() is
+ * called.
+ */
+ TRect clip;
+
+ /**
+ * The current phase of processing for a focused event. Subviews that have
+ * the @ref ofPreProcess or @ref ofPostProcess flags set can examine
+ * owner->phase to determine whether a call to their
+ * @ref TView::handleEvent() is happening in the phPreProcess,
+ * phFocused, or phPostProcess phase.
+ * @see TView::options
+ *
+ * phaseType is an enumeration defined as follows in TView:
+ *
+ * <pre>
+ * enum phaseType {phFocussed, phPreProcess, phPostProcess};
+ * </pre>
+ */
+ phaseType phase;
+
+ /**
+ * Points to a buffer used to cache redraw operations, or is 0 if the
+ * group has no cache buffer. Cache buffers are created and destroyed
+ * automatically, unless the ofBuffered flag is cleared in the group's
+ * @ref options member.
+ */
+ ushort *buffer;
+
+ /**
+ * Acts as a semaphore to control buffered group draw operations. lockFlag
+ * keeps a count of the number of locks set during a set of nested draw
+ * calls.
+ *
+ * @ref lock() and @ref unlock() increment and decrement this value. When
+ * it reaches zero, the whole group will draw itself from its buffer.
+ *
+ * Intensive @ref TGroup::draw() operations should be sandwiched between
+ * calls to @ref lock() and @ref unlock() to prevent excessive CPU load.
+ */
+ uchar lockFlag;
+
+ /**
+ * Holds the state of the group after a call to @ref endModal().
+ */
+ ushort endState;
+
+ /**
+ * Undocumented.
+ */
+ static const char * const name;
+protected:
+ int count;
+};
+
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TGroup& cl )
+ { return is >> (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TGroup*& cl )
+ { return is >> (void *&)cl; }
+
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TGroup& cl )
+ { return os << (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TGroup* cl )
+ { return os << (TStreamable *)cl; }
+
+#endif // Uses_TGroup
+
+#if defined( Uses_TWindow ) && !defined( __TWindow )
+#define __TWindow
+
+#define cpBlueWindow "\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F"
+#define cpCyanWindow "\x10\x11\x12\x13\x14\x15\x16\x17"
+#define cpGrayWindow "\x18\x19\x1A\x1B\x1C\x1D\x1E\x1F"
+
+class TFrame;
+class TRect;
+class TPoint;
+class TEvent;
+class TFrame;
+class TScrollBar;
+
+/**
+ * @ref TWindow inherits multiply from @ref TGroup and the virtual base class
+ * TWindowInit.
+ *
+ * TWindowInit provides a constructor and @ref TWindowInit::createFrame()
+ * member function used in creating and inserting a frame object. A similar
+ * technique is used for @ref TProgram, @ref THistoryWindow and @ref TDeskTop.
+ * @short Virtual base class for TWindow
+ */
+class TWindowInit
+{
+public:
+ /**
+ * This constructor takes a function address argument, usually
+ * &TWindow::initFrame.
+ * @see TWindow::initFrame
+ *
+ * Note: the @ref TWindow constructor invokes @ref TGroup constructor and
+ * TWindowInit(&initFrame) to create a window object of size `bounds'
+ * and associated frame. The latter is inserted in the window group
+ * object.
+ * @see TGroup::TGroup
+ * @see TWindow::TWindow
+ */
+ TWindowInit( TFrame *(*cFrame)( TRect bounds ) );
+protected:
+ /**
+ * Called by the TWindowInit constructor to create a @ref TFrame object
+ * with the given bounds and return a pointer to it. A 0 pointer
+ * indicates lack of success in this endeavor.
+ */
+ TFrame *(*createFrame)( TRect bounds );
+};
+
+/* ---------------------------------------------------------------------- */
+/* class TWindow */
+/* */
+/* Palette layout */
+/* 1 = Frame passive */
+/* 2 = Frame active */
+/* 3 = Frame icon */
+/* 4 = ScrollBar page area */
+/* 5 = ScrollBar controls */
+/* 6 = Scroller normal text */
+/* 7 = Scroller selected text */
+/* 8 = Reserved */
+/* ---------------------------------------------------------------------- */
+
+/**
+ * A TWindow object is a specialized group that typically owns a @ref TFrame
+ * object, an interior @ref TScroller object, and one or two @ref TScrollBar
+ * objects.
+ * These attached subviews provide the "visibility" to the TWindow object.
+ *
+ * TWindow inherits multiply from @ref TGroup and the virtual base class
+ * @ref TWindowInit.
+ * @short Implements a window
+ */
+class TWindow: public TGroup, public virtual TWindowInit
+{
+public:
+ /**
+ * Calls the @ref TGroup constructor to set window bounds to `bounds'.
+ * Sets default @ref state to @ref sfShadow. Sets default @ref options to
+ * (@ref ofSelectable | @ref ofTopSelect). Sets default @ref growMode to
+ * @ref gfGrowAll | @ref gfGrowRel. Sets default @ref flags to
+ * (@ref wfMove | @ref wfGrow | @ref wfClose | @ref wfZoom). Sets the
+ * @ref title data member to `aTitle' and the @ref number data member to
+ * `aNumber'.
+ *
+ * Calls @ref initFrame() by default, and if the resulting frame pointer
+ * is nonzero, inserts it in this window's group. Finally, the default
+ * @ref zoomRect is set to the given bounds.
+ *
+ * `aNumber' is the number assigned to this window. If `aNumber' is
+ * between 1 and 9, the number will appear in the frame title, and the
+ * window can be selected with the Alt-n keys (n = 1 to 9).
+ *
+ * Use the constant @ref wnNoNumber to indicate that the window is not
+ * to be numbered and cannot be selected via the Alt+number key.
+ * @ref wnNoNumber is defined in `views.h' as:
+ *
+ * <pre>
+ * const ushort @ref wnNoNumber = 0;
+ * </pre>
+ */
+ TWindow( const TRect& bounds,
+ const char *aTitle,
+ short aNumber
+ );
+ /**
+ * Deletes title, then disposes of the window and any subviews by calling
+ * the parent destructor(s).
+ */
+ ~TWindow();
+ /**
+ * Calls valid(cmClose); if True is returned, the calling window is
+ * deleted.
+ * @see TGroup::Valid
+ */
+ virtual void close();
+ /**
+ * Returns the palette string given by the palette index in the
+ * @ref palette data member.
+ */
+ virtual TPalette& getPalette() const;
+ /**
+ * Returns @ref title data member, the window's title string.
+ */
+ virtual const char *getTitle( short maxSize );
+ /**
+ * First calls @ref TGroup::handleEvent(), and then handles events
+ * specific to a TWindow as follows:
+ *
+ * -# The following @ref evCommand events are handled if the @ref flags
+ * data member permits that operation:
+ * - cmResize (move or resize the window using the @ref dragView()
+ * member function);
+ * - cmClose (close the window by creating a cmCancel event);
+ * - cmZoom (zoom the window using the @ref zoom() member function).
+ * -# @ref evKeyDown events with a keyCode value of kbTab or kbShiftTab
+ * are handled by selecting the next or previous selectable subview (if
+ * any).
+ * -# An @ref evBroadcast event with a command value of cmSelectWindowNum
+ * is handled by selecting the window if the `event.infoInt' data
+ * member is equal to @ref number data member.
+ */
+ virtual void handleEvent( TEvent& event );
+ /**
+ * Creates a @ref TFrame object for the window and stores a pointer to the
+ * frame in the @ref frame data member. TWindow constructor calls
+ * initFrame(); it should never be called directly. You can override
+ * initFrame() to instantiate a user-defined class derived from
+ * @ref TFrame instead of the standard @ref TFrame.
+ */
+ static TFrame *initFrame( TRect );
+ /**
+ * First calls TGroup::setState(aState, enable). Then, if `aState' is
+ * equal to @ref sfSelected, activates or deactivates the window and all
+ * its subviews using a call to setState(sfActive, enable), and calls
+ * @ref enableCommands() or @ref disableCommands() for cmNext, cmPrev,
+ * cmResize, cmClose and cmZoom.
+ * @see TGroup::setState
+ * @see TView::state
+ */
+ virtual void setState( ushort aState, Boolean enable );
+ /**
+ * Overrides TView::sizeLimits(). First calls TView::sizeLimits(min, max)
+ * and then changes `min' to the minimum window size, minWinSize, a
+ * @ref TPoint constant defined at the head of file `TWindow.cc'.
+ * minWinSize is currently set to (16, 6).
+ *
+ * minWinSize defines the minimum size of a TWindow or of any class
+ * derived from TWindow. Any change to minWinSize affects all windows,
+ * unless a window's sizeLimits() member function is overridden.
+ */
+ virtual void sizeLimits( TPoint& min, TPoint& max );
+ /**
+ * Creates, inserts, and returns a pointer to a "standard" scroll bar for
+ * the window. "Standard" means the scroll bar fits onto the frame of the
+ * window without covering the corners or the resize icon.
+ *
+ * The `aOptions' parameter can be either @ref sbHorizontal to produce a
+ * horizontal scroll bar along the bottom of the window or
+ * @ref sbVertical to produce a vertical scroll bar along the right side
+ * of the window.
+ *
+ * Either may be combined with @ref sbHandleKeyboard to allow the scroll
+ * bar to respond to arrows and page keys from the keyboard in addition
+ * to mouse clicks.
+ *
+ * The following values can be passed to standardScrollBar():
+ *
+ * <pre>
+ * Constant Value Meaning
+ *
+* @ref sbHorizontal 0x0000 Scroll bar is horizontal
+* @ref sbVertical 0x0001 Scroll bar is vertical
+* @ref sbHandleKeyboard 0x0002 Scroll bar responds to keyboard commands
+ * </pre>
+ */
+ TScrollBar *standardScrollBar( ushort aOptions );
+ /**
+ * Zooms the calling window. This member function is usually called in
+ * response to a cmZoom command (triggered by a click on the zoom icon).
+ * zoom() takes into account the relative sizes of the calling window and
+ * its owner, and the value of @ref zoomRect.
+ */
+ virtual void zoom();
+ /**
+ * Used internally by @ref TObject::destroy() to ensure correct
+ * destruction of derived and related objects. shutDown() is overridden
+ * in many classes to ensure the proper setting of related data members
+ * when @ref destroy() is called.
+ */
+ virtual void shutDown();
+ /**
+ * The flags data member contains a combination of mnemonics constants
+ * that define bits. If the bits are set, the window will have the
+ * corresponding attribute: the window can move, grow, close or zoom.
+ *
+ * The window flags are defined as follows:
+ *
+ * <pre>
+ * Constant Value Meaning
+ *
+* @ref wfMove 0x01 Window can be moved
+ *
+* @ref wfGrow 0x02 Window can be resized and has a grow icon in the
+ * lower-right corner
+ *
+* @ref wfClose 0x04 Window frame has a close icon that can be mouse-clicked
+ * to close the window
+ *
+* @ref wfZoom 0x08 Window frame has a zoom icon that can be mouse-clicked
+ * to zoom the window
+ * </pre>
+ *
+ * If a particular bit is set, the corresponding property is enabled;
+ * otherwise that property is disabled.
+ */
+ uchar flags;
+ /**
+ * The normal, unzoomed boundary of the window.
+ */
+ TRect zoomRect;
+ /**
+ * The number assigned to this window. If number is between 1 and 9,
+ * the number will appear in the frame title, and the window can be
+ * selected with the Alt-n keys (n = 1 to 9).
+ */
+ short number;
+ /**
+ * Specifies which palette the window is to use: @ref wpBlueWindow,
+ * @ref wpCyanWindow or @ref wpGrayWindow. These constants define the
+ * three standard color mapping assignments for windows:
+ *
+ * <pre>
+ * Constant Value Meaning
+ *
+* @ref wpBlueWindow 0 Window text is yellow on blue
+* @ref wpCyanWindow 1 Window text is blue on cyan
+* @ref wpGrayWindow 2 Window text is black on gray
+ * </pre>
+ *
+ * By default, the TWindow palette is @ref wpBlueWindow. The default for
+ * @ref TDialog objects is @ref wpGrayWindow.
+ */
+ short palette;
+ /**
+ * Pointer to this window's associated TFrame object.
+ */
+ TFrame *frame;
+ /**
+ * A character string giving the (optional) title that appears on the
+ * frame.
+ */
+ const char *title;
+private:
+ virtual const char *streamableName() const
+ { return name; }
+protected:
+ /**
+ * Each streamable class needs a "builder" to allocate the correct memory
+ * for its objects together with the initialized virtual table pointers.
+ * This is achieved by calling this constructor with an argument of type
+ * @ref StreamableInit.
+ */
+ TWindow( StreamableInit );
+ /**
+ * Writes to the output stream `os'.
+ */
+ virtual void write( opstream& os );
+ /**
+ * Reads from the input stream `is'.
+ */
+ virtual void *read( ipstream& is );
+public:
+ /**
+ * Undocumented.
+ */
+ static const char * const name;
+ /**
+ * Called to create an object in certain stream-reading situations.
+ */
+ static TStreamable *build();
+};
+
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TWindow& cl )
+ { return is >> (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline ipstream& operator >> ( ipstream& is, TWindow*& cl )
+ { return is >> (void *&)cl; }
+
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TWindow& cl )
+ { return os << (TStreamable&)cl; }
+/**
+ * Undocumented.
+ */
+inline opstream& operator << ( opstream& os, TWindow* cl )
+ { return os << (TStreamable *)cl; }
+
+#endif // Uses_TWindow
diff --git a/freebsdtvision/tutorial/Makefile.am b/freebsdtvision/tutorial/Makefile.am
new file mode 100644
index 0000000..77dd092
--- /dev/null
+++ b/freebsdtvision/tutorial/Makefile.am
@@ -0,0 +1,37 @@
+AUTOMAKE_OPTIONS = foreign
+
+EXTRA_DIST = README basicMakefile
+
+noinst_PROGRAMS = tvguid01 tvguid02 tvguid03 tvguid04 tvguid05 tvguid06 \
+tvguid07 tvguid08 tvguid09 tvguid10 tvguid11 tvguid12 tvguid13 tvguid14 \
+tvguid15 tvguid16 background listbox load nomenus splash tvedit tvlife \
+validator
+
+tvguid01_SOURCES = tvguid01.cc
+tvguid02_SOURCES = tvguid02.cc
+tvguid03_SOURCES = tvguid03.cc
+tvguid04_SOURCES = tvguid04.cc
+tvguid05_SOURCES = tvguid05.cc
+tvguid06_SOURCES = tvguid06.cc
+tvguid07_SOURCES = tvguid07.cc
+tvguid08_SOURCES = tvguid08.cc
+tvguid09_SOURCES = tvguid09.cc
+tvguid10_SOURCES = tvguid10.cc
+tvguid11_SOURCES = tvguid11.cc
+tvguid12_SOURCES = tvguid12.cc
+tvguid13_SOURCES = tvguid13.cc
+tvguid14_SOURCES = tvguid14.cc
+tvguid15_SOURCES = tvguid15.cc
+tvguid16_SOURCES = tvguid16.cc
+background_SOURCES = background.cc
+listbox_SOURCES = listbox.cc
+load_SOURCES = load.cc
+nomenus_SOURCES = nomenus.cc
+splash_SOURCES = splash.cc
+tvedit_SOURCES = tvedit.cc
+tvlife_SOURCES = tvlife.cc
+validator_SOURCES = validator.cc
+
+LDADD = ../lib/libtvision.a
+
+INCLUDES = -I../lib
diff --git a/freebsdtvision/tutorial/Makefile.in b/freebsdtvision/tutorial/Makefile.in
new file mode 100644
index 0000000..da4c4c4
--- /dev/null
+++ b/freebsdtvision/tutorial/Makefile.in
@@ -0,0 +1,675 @@
+# Makefile.in generated by automake 1.7.3 from Makefile.am.
+# @configure_input@
+
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+# Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ..
+
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_triplet = @host@
+ACLOCAL = @ACLOCAL@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+AUTOMAKE_OPTIONS = foreign
+
+EXTRA_DIST = README basicMakefile
+
+noinst_PROGRAMS = tvguid01 tvguid02 tvguid03 tvguid04 tvguid05 tvguid06 \
+tvguid07 tvguid08 tvguid09 tvguid10 tvguid11 tvguid12 tvguid13 tvguid14 \
+tvguid15 tvguid16 background listbox load nomenus splash tvedit tvlife \
+validator
+
+
+tvguid01_SOURCES = tvguid01.cc
+tvguid02_SOURCES = tvguid02.cc
+tvguid03_SOURCES = tvguid03.cc
+tvguid04_SOURCES = tvguid04.cc
+tvguid05_SOURCES = tvguid05.cc
+tvguid06_SOURCES = tvguid06.cc
+tvguid07_SOURCES = tvguid07.cc
+tvguid08_SOURCES = tvguid08.cc
+tvguid09_SOURCES = tvguid09.cc
+tvguid10_SOURCES = tvguid10.cc
+tvguid11_SOURCES = tvguid11.cc
+tvguid12_SOURCES = tvguid12.cc
+tvguid13_SOURCES = tvguid13.cc
+tvguid14_SOURCES = tvguid14.cc
+tvguid15_SOURCES = tvguid15.cc
+tvguid16_SOURCES = tvguid16.cc
+background_SOURCES = background.cc
+listbox_SOURCES = listbox.cc
+load_SOURCES = load.cc
+nomenus_SOURCES = nomenus.cc
+splash_SOURCES = splash.cc
+tvedit_SOURCES = tvedit.cc
+tvlife_SOURCES = tvlife.cc
+validator_SOURCES = validator.cc
+
+LDADD = ../lib/libtvision.a
+
+INCLUDES = -I../lib
+subdir = tutorial
+mkinstalldirs = $(SHELL) $(top_srcdir)/util/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+noinst_PROGRAMS = tvguid01$(EXEEXT) tvguid02$(EXEEXT) tvguid03$(EXEEXT) \
+ tvguid04$(EXEEXT) tvguid05$(EXEEXT) tvguid06$(EXEEXT) \
+ tvguid07$(EXEEXT) tvguid08$(EXEEXT) tvguid09$(EXEEXT) \
+ tvguid10$(EXEEXT) tvguid11$(EXEEXT) tvguid12$(EXEEXT) \
+ tvguid13$(EXEEXT) tvguid14$(EXEEXT) tvguid15$(EXEEXT) \
+ tvguid16$(EXEEXT) background$(EXEEXT) listbox$(EXEEXT) \
+ load$(EXEEXT) nomenus$(EXEEXT) splash$(EXEEXT) tvedit$(EXEEXT) \
+ tvlife$(EXEEXT) validator$(EXEEXT)
+PROGRAMS = $(noinst_PROGRAMS)
+
+am_background_OBJECTS = background.$(OBJEXT)
+background_OBJECTS = $(am_background_OBJECTS)
+background_LDADD = $(LDADD)
+background_DEPENDENCIES = ../lib/libtvision.a
+background_LDFLAGS =
+am_listbox_OBJECTS = listbox.$(OBJEXT)
+listbox_OBJECTS = $(am_listbox_OBJECTS)
+listbox_LDADD = $(LDADD)
+listbox_DEPENDENCIES = ../lib/libtvision.a
+listbox_LDFLAGS =
+am_load_OBJECTS = load.$(OBJEXT)
+load_OBJECTS = $(am_load_OBJECTS)
+load_LDADD = $(LDADD)
+load_DEPENDENCIES = ../lib/libtvision.a
+load_LDFLAGS =
+am_nomenus_OBJECTS = nomenus.$(OBJEXT)
+nomenus_OBJECTS = $(am_nomenus_OBJECTS)
+nomenus_LDADD = $(LDADD)
+nomenus_DEPENDENCIES = ../lib/libtvision.a
+nomenus_LDFLAGS =
+am_splash_OBJECTS = splash.$(OBJEXT)
+splash_OBJECTS = $(am_splash_OBJECTS)
+splash_LDADD = $(LDADD)
+splash_DEPENDENCIES = ../lib/libtvision.a
+splash_LDFLAGS =
+am_tvedit_OBJECTS = tvedit.$(OBJEXT)
+tvedit_OBJECTS = $(am_tvedit_OBJECTS)
+tvedit_LDADD = $(LDADD)
+tvedit_DEPENDENCIES = ../lib/libtvision.a
+tvedit_LDFLAGS =
+am_tvguid01_OBJECTS = tvguid01.$(OBJEXT)
+tvguid01_OBJECTS = $(am_tvguid01_OBJECTS)
+tvguid01_LDADD = $(LDADD)
+tvguid01_DEPENDENCIES = ../lib/libtvision.a
+tvguid01_LDFLAGS =
+am_tvguid02_OBJECTS = tvguid02.$(OBJEXT)
+tvguid02_OBJECTS = $(am_tvguid02_OBJECTS)
+tvguid02_LDADD = $(LDADD)
+tvguid02_DEPENDENCIES = ../lib/libtvision.a
+tvguid02_LDFLAGS =
+am_tvguid03_OBJECTS = tvguid03.$(OBJEXT)
+tvguid03_OBJECTS = $(am_tvguid03_OBJECTS)
+tvguid03_LDADD = $(LDADD)
+tvguid03_DEPENDENCIES = ../lib/libtvision.a
+tvguid03_LDFLAGS =
+am_tvguid04_OBJECTS = tvguid04.$(OBJEXT)
+tvguid04_OBJECTS = $(am_tvguid04_OBJECTS)
+tvguid04_LDADD = $(LDADD)
+tvguid04_DEPENDENCIES = ../lib/libtvision.a
+tvguid04_LDFLAGS =
+am_tvguid05_OBJECTS = tvguid05.$(OBJEXT)
+tvguid05_OBJECTS = $(am_tvguid05_OBJECTS)
+tvguid05_LDADD = $(LDADD)
+tvguid05_DEPENDENCIES = ../lib/libtvision.a
+tvguid05_LDFLAGS =
+am_tvguid06_OBJECTS = tvguid06.$(OBJEXT)
+tvguid06_OBJECTS = $(am_tvguid06_OBJECTS)
+tvguid06_LDADD = $(LDADD)
+tvguid06_DEPENDENCIES = ../lib/libtvision.a
+tvguid06_LDFLAGS =
+am_tvguid07_OBJECTS = tvguid07.$(OBJEXT)
+tvguid07_OBJECTS = $(am_tvguid07_OBJECTS)
+tvguid07_LDADD = $(LDADD)
+tvguid07_DEPENDENCIES = ../lib/libtvision.a
+tvguid07_LDFLAGS =
+am_tvguid08_OBJECTS = tvguid08.$(OBJEXT)
+tvguid08_OBJECTS = $(am_tvguid08_OBJECTS)
+tvguid08_LDADD = $(LDADD)
+tvguid08_DEPENDENCIES = ../lib/libtvision.a
+tvguid08_LDFLAGS =
+am_tvguid09_OBJECTS = tvguid09.$(OBJEXT)
+tvguid09_OBJECTS = $(am_tvguid09_OBJECTS)
+tvguid09_LDADD = $(LDADD)
+tvguid09_DEPENDENCIES = ../lib/libtvision.a
+tvguid09_LDFLAGS =
+am_tvguid10_OBJECTS = tvguid10.$(OBJEXT)
+tvguid10_OBJECTS = $(am_tvguid10_OBJECTS)
+tvguid10_LDADD = $(LDADD)
+tvguid10_DEPENDENCIES = ../lib/libtvision.a
+tvguid10_LDFLAGS =
+am_tvguid11_OBJECTS = tvguid11.$(OBJEXT)
+tvguid11_OBJECTS = $(am_tvguid11_OBJECTS)
+tvguid11_LDADD = $(LDADD)
+tvguid11_DEPENDENCIES = ../lib/libtvision.a
+tvguid11_LDFLAGS =
+am_tvguid12_OBJECTS = tvguid12.$(OBJEXT)
+tvguid12_OBJECTS = $(am_tvguid12_OBJECTS)
+tvguid12_LDADD = $(LDADD)
+tvguid12_DEPENDENCIES = ../lib/libtvision.a
+tvguid12_LDFLAGS =
+am_tvguid13_OBJECTS = tvguid13.$(OBJEXT)
+tvguid13_OBJECTS = $(am_tvguid13_OBJECTS)
+tvguid13_LDADD = $(LDADD)
+tvguid13_DEPENDENCIES = ../lib/libtvision.a
+tvguid13_LDFLAGS =
+am_tvguid14_OBJECTS = tvguid14.$(OBJEXT)
+tvguid14_OBJECTS = $(am_tvguid14_OBJECTS)
+tvguid14_LDADD = $(LDADD)
+tvguid14_DEPENDENCIES = ../lib/libtvision.a
+tvguid14_LDFLAGS =
+am_tvguid15_OBJECTS = tvguid15.$(OBJEXT)
+tvguid15_OBJECTS = $(am_tvguid15_OBJECTS)
+tvguid15_LDADD = $(LDADD)
+tvguid15_DEPENDENCIES = ../lib/libtvision.a
+tvguid15_LDFLAGS =
+am_tvguid16_OBJECTS = tvguid16.$(OBJEXT)
+tvguid16_OBJECTS = $(am_tvguid16_OBJECTS)
+tvguid16_LDADD = $(LDADD)
+tvguid16_DEPENDENCIES = ../lib/libtvision.a
+tvguid16_LDFLAGS =
+am_tvlife_OBJECTS = tvlife.$(OBJEXT)
+tvlife_OBJECTS = $(am_tvlife_OBJECTS)
+tvlife_LDADD = $(LDADD)
+tvlife_DEPENDENCIES = ../lib/libtvision.a
+tvlife_LDFLAGS =
+am_validator_OBJECTS = validator.$(OBJEXT)
+validator_OBJECTS = $(am_validator_OBJECTS)
+validator_LDADD = $(LDADD)
+validator_DEPENDENCIES = ../lib/libtvision.a
+validator_LDFLAGS =
+
+DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/util/depcomp
+am__depfiles_maybe = depfiles
+@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/background.Po ./$(DEPDIR)/listbox.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/load.Po ./$(DEPDIR)/nomenus.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/splash.Po ./$(DEPDIR)/tvedit.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/tvguid01.Po ./$(DEPDIR)/tvguid02.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/tvguid03.Po ./$(DEPDIR)/tvguid04.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/tvguid05.Po ./$(DEPDIR)/tvguid06.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/tvguid07.Po ./$(DEPDIR)/tvguid08.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/tvguid09.Po ./$(DEPDIR)/tvguid10.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/tvguid11.Po ./$(DEPDIR)/tvguid12.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/tvguid13.Po ./$(DEPDIR)/tvguid14.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/tvguid15.Po ./$(DEPDIR)/tvguid16.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/tvlife.Po ./$(DEPDIR)/validator.Po
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+DIST_SOURCES = $(background_SOURCES) $(listbox_SOURCES) $(load_SOURCES) \
+ $(nomenus_SOURCES) $(splash_SOURCES) $(tvedit_SOURCES) \
+ $(tvguid01_SOURCES) $(tvguid02_SOURCES) $(tvguid03_SOURCES) \
+ $(tvguid04_SOURCES) $(tvguid05_SOURCES) $(tvguid06_SOURCES) \
+ $(tvguid07_SOURCES) $(tvguid08_SOURCES) $(tvguid09_SOURCES) \
+ $(tvguid10_SOURCES) $(tvguid11_SOURCES) $(tvguid12_SOURCES) \
+ $(tvguid13_SOURCES) $(tvguid14_SOURCES) $(tvguid15_SOURCES) \
+ $(tvguid16_SOURCES) $(tvlife_SOURCES) $(validator_SOURCES)
+DIST_COMMON = README Makefile.am Makefile.in
+SOURCES = $(background_SOURCES) $(listbox_SOURCES) $(load_SOURCES) $(nomenus_SOURCES) $(splash_SOURCES) $(tvedit_SOURCES) $(tvguid01_SOURCES) $(tvguid02_SOURCES) $(tvguid03_SOURCES) $(tvguid04_SOURCES) $(tvguid05_SOURCES) $(tvguid06_SOURCES) $(tvguid07_SOURCES) $(tvguid08_SOURCES) $(tvguid09_SOURCES) $(tvguid10_SOURCES) $(tvguid11_SOURCES) $(tvguid12_SOURCES) $(tvguid13_SOURCES) $(tvguid14_SOURCES) $(tvguid15_SOURCES) $(tvguid16_SOURCES) $(tvlife_SOURCES) $(validator_SOURCES)
+
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cc .lo .o .obj
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign tutorial/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+
+clean-noinstPROGRAMS:
+ @list='$(noinst_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+background$(EXEEXT): $(background_OBJECTS) $(background_DEPENDENCIES)
+ @rm -f background$(EXEEXT)
+ $(CXXLINK) $(background_LDFLAGS) $(background_OBJECTS) $(background_LDADD) $(LIBS)
+listbox$(EXEEXT): $(listbox_OBJECTS) $(listbox_DEPENDENCIES)
+ @rm -f listbox$(EXEEXT)
+ $(CXXLINK) $(listbox_LDFLAGS) $(listbox_OBJECTS) $(listbox_LDADD) $(LIBS)
+load$(EXEEXT): $(load_OBJECTS) $(load_DEPENDENCIES)
+ @rm -f load$(EXEEXT)
+ $(CXXLINK) $(load_LDFLAGS) $(load_OBJECTS) $(load_LDADD) $(LIBS)
+nomenus$(EXEEXT): $(nomenus_OBJECTS) $(nomenus_DEPENDENCIES)
+ @rm -f nomenus$(EXEEXT)
+ $(CXXLINK) $(nomenus_LDFLAGS) $(nomenus_OBJECTS) $(nomenus_LDADD) $(LIBS)
+splash$(EXEEXT): $(splash_OBJECTS) $(splash_DEPENDENCIES)
+ @rm -f splash$(EXEEXT)
+ $(CXXLINK) $(splash_LDFLAGS) $(splash_OBJECTS) $(splash_LDADD) $(LIBS)
+tvedit$(EXEEXT): $(tvedit_OBJECTS) $(tvedit_DEPENDENCIES)
+ @rm -f tvedit$(EXEEXT)
+ $(CXXLINK) $(tvedit_LDFLAGS) $(tvedit_OBJECTS) $(tvedit_LDADD) $(LIBS)
+tvguid01$(EXEEXT): $(tvguid01_OBJECTS) $(tvguid01_DEPENDENCIES)
+ @rm -f tvguid01$(EXEEXT)
+ $(CXXLINK) $(tvguid01_LDFLAGS) $(tvguid01_OBJECTS) $(tvguid01_LDADD) $(LIBS)
+tvguid02$(EXEEXT): $(tvguid02_OBJECTS) $(tvguid02_DEPENDENCIES)
+ @rm -f tvguid02$(EXEEXT)
+ $(CXXLINK) $(tvguid02_LDFLAGS) $(tvguid02_OBJECTS) $(tvguid02_LDADD) $(LIBS)
+tvguid03$(EXEEXT): $(tvguid03_OBJECTS) $(tvguid03_DEPENDENCIES)
+ @rm -f tvguid03$(EXEEXT)
+ $(CXXLINK) $(tvguid03_LDFLAGS) $(tvguid03_OBJECTS) $(tvguid03_LDADD) $(LIBS)
+tvguid04$(EXEEXT): $(tvguid04_OBJECTS) $(tvguid04_DEPENDENCIES)
+ @rm -f tvguid04$(EXEEXT)
+ $(CXXLINK) $(tvguid04_LDFLAGS) $(tvguid04_OBJECTS) $(tvguid04_LDADD) $(LIBS)
+tvguid05$(EXEEXT): $(tvguid05_OBJECTS) $(tvguid05_DEPENDENCIES)
+ @rm -f tvguid05$(EXEEXT)
+ $(CXXLINK) $(tvguid05_LDFLAGS) $(tvguid05_OBJECTS) $(tvguid05_LDADD) $(LIBS)
+tvguid06$(EXEEXT): $(tvguid06_OBJECTS) $(tvguid06_DEPENDENCIES)
+ @rm -f tvguid06$(EXEEXT)
+ $(CXXLINK) $(tvguid06_LDFLAGS) $(tvguid06_OBJECTS) $(tvguid06_LDADD) $(LIBS)
+tvguid07$(EXEEXT): $(tvguid07_OBJECTS) $(tvguid07_DEPENDENCIES)
+ @rm -f tvguid07$(EXEEXT)
+ $(CXXLINK) $(tvguid07_LDFLAGS) $(tvguid07_OBJECTS) $(tvguid07_LDADD) $(LIBS)
+tvguid08$(EXEEXT): $(tvguid08_OBJECTS) $(tvguid08_DEPENDENCIES)
+ @rm -f tvguid08$(EXEEXT)
+ $(CXXLINK) $(tvguid08_LDFLAGS) $(tvguid08_OBJECTS) $(tvguid08_LDADD) $(LIBS)
+tvguid09$(EXEEXT): $(tvguid09_OBJECTS) $(tvguid09_DEPENDENCIES)
+ @rm -f tvguid09$(EXEEXT)
+ $(CXXLINK) $(tvguid09_LDFLAGS) $(tvguid09_OBJECTS) $(tvguid09_LDADD) $(LIBS)
+tvguid10$(EXEEXT): $(tvguid10_OBJECTS) $(tvguid10_DEPENDENCIES)
+ @rm -f tvguid10$(EXEEXT)
+ $(CXXLINK) $(tvguid10_LDFLAGS) $(tvguid10_OBJECTS) $(tvguid10_LDADD) $(LIBS)
+tvguid11$(EXEEXT): $(tvguid11_OBJECTS) $(tvguid11_DEPENDENCIES)
+ @rm -f tvguid11$(EXEEXT)
+ $(CXXLINK) $(tvguid11_LDFLAGS) $(tvguid11_OBJECTS) $(tvguid11_LDADD) $(LIBS)
+tvguid12$(EXEEXT): $(tvguid12_OBJECTS) $(tvguid12_DEPENDENCIES)
+ @rm -f tvguid12$(EXEEXT)
+ $(CXXLINK) $(tvguid12_LDFLAGS) $(tvguid12_OBJECTS) $(tvguid12_LDADD) $(LIBS)
+tvguid13$(EXEEXT): $(tvguid13_OBJECTS) $(tvguid13_DEPENDENCIES)
+ @rm -f tvguid13$(EXEEXT)
+ $(CXXLINK) $(tvguid13_LDFLAGS) $(tvguid13_OBJECTS) $(tvguid13_LDADD) $(LIBS)
+tvguid14$(EXEEXT): $(tvguid14_OBJECTS) $(tvguid14_DEPENDENCIES)
+ @rm -f tvguid14$(EXEEXT)
+ $(CXXLINK) $(tvguid14_LDFLAGS) $(tvguid14_OBJECTS) $(tvguid14_LDADD) $(LIBS)
+tvguid15$(EXEEXT): $(tvguid15_OBJECTS) $(tvguid15_DEPENDENCIES)
+ @rm -f tvguid15$(EXEEXT)
+ $(CXXLINK) $(tvguid15_LDFLAGS) $(tvguid15_OBJECTS) $(tvguid15_LDADD) $(LIBS)
+tvguid16$(EXEEXT): $(tvguid16_OBJECTS) $(tvguid16_DEPENDENCIES)
+ @rm -f tvguid16$(EXEEXT)
+ $(CXXLINK) $(tvguid16_LDFLAGS) $(tvguid16_OBJECTS) $(tvguid16_LDADD) $(LIBS)
+tvlife$(EXEEXT): $(tvlife_OBJECTS) $(tvlife_DEPENDENCIES)
+ @rm -f tvlife$(EXEEXT)
+ $(CXXLINK) $(tvlife_LDFLAGS) $(tvlife_OBJECTS) $(tvlife_LDADD) $(LIBS)
+validator$(EXEEXT): $(validator_OBJECTS) $(validator_DEPENDENCIES)
+ @rm -f validator$(EXEEXT)
+ $(CXXLINK) $(validator_LDFLAGS) $(validator_OBJECTS) $(validator_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT) core *.core
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/background.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/listbox.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/load.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nomenus.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/splash.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tvedit.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tvguid01.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tvguid02.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tvguid03.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tvguid04.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tvguid05.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tvguid06.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tvguid07.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tvguid08.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tvguid09.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tvguid10.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tvguid11.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tvguid12.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tvguid13.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tvguid14.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tvguid15.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tvguid16.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tvlife.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/validator.Po@am__quote@
+
+distclean-depend:
+ -rm -rf ./$(DEPDIR)
+
+.cc.o:
+@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
+@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
+@am__fastdepCXX_TRUE@ then mv "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
+@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
+@am__fastdepCXX_TRUE@ fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
+
+.cc.obj:
+@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
+@am__fastdepCXX_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \
+@am__fastdepCXX_TRUE@ then mv "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
+@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
+@am__fastdepCXX_TRUE@ fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`
+
+.cc.lo:
+@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
+@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
+@am__fastdepCXX_TRUE@ then mv "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \
+@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
+@am__fastdepCXX_TRUE@ fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+distclean-libtool:
+ -rm -f libtool
+uninstall-info-am:
+
+ETAGS = etags
+ETAGSFLAGS =
+
+CTAGS = ctags
+CTAGSFLAGS =
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ mkid -fID $$unique
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$tags$$unique" \
+ || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique
+
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+
+top_distdir = ..
+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkinstalldirs) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS)
+
+installdirs:
+
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
+ mostlyclean-am
+
+distclean: distclean-am
+
+distclean-am: clean-am distclean-compile distclean-depend \
+ distclean-generic distclean-libtool distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-noinstPROGRAMS ctags distclean \
+ distclean-compile distclean-depend distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am info \
+ info-am install install-am install-data install-data-am \
+ install-exec install-exec-am install-info install-info-am \
+ install-man install-strip installcheck installcheck-am \
+ installdirs maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
+ uninstall-am uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/freebsdtvision/tutorial/README b/freebsdtvision/tutorial/README
new file mode 100644
index 0000000..355093e
--- /dev/null
+++ b/freebsdtvision/tutorial/README
@@ -0,0 +1,68 @@
+
+Description
+-----------
+
+This file briefly describes each of the various example programs you find
+in this directory. The first sixteen files (tvguid[0-9][0-9].cc) are
+provided by Borland, the others are mine.
+
+File Description
+------------- -----------
+
+tvguid01.cc the basic application: empty desktop, the default menu bar and
+ the default status line
+
+tvguid02.cc empty desktop, default menu bar and two commands in the
+ status line
+
+tvguid03.cc empty desktop, commands both in the menu bar and in the status
+ line
+
+tvguid04.cc this shows how to redefine custom windows and how to instance
+ them by using menu commands
+
+tvguid05.cc this example shows how to create custom views and how to
+ insert them in windows
+
+tvguid06.cc a basic text scrolling window, with imperfect draw method
+
+tvguid07.cc same as tvguid06 except for improved draw method
+
+tvguid08.cc same as tvguid07 except for scrolling interior using scroll
+ bars
+
+tvguid09.cc same as tvguid08 except for multiple panes
+
+tvguid10.cc same as tvguid09 except for better handling of resizing
+
+tvguid11.cc same as tvguid10 except for added dialog box
+
+tvguid12.cc same as tvguid11 except for making the dialog modal
+
+tvguid13.cc same as tvguid12 except for extra buttons in dialog
+
+tvguid14.cc same as tvguid13 except for extra checkboxes, radiobuttons,
+ and labels
+
+tvguid15.cc same as tvguid14 except for extra input line in dialog
+
+tvguid16.cc same as tvguid15 except for saving and restoring dialog
+ contents
+
+basicMakefile a makefile template showing how to write a makefile
+
+background.cc how to change the background pattern
+
+listbox.cc how to use the TListBox class
+
+load.cc how to create custom views
+
+nomenus.cc how to handle dialogs without menu bar and status line
+
+splash.cc how to show a dialog box at startup
+
+tvedit.cc a simple text editor
+
+tvlife.cc the classic life example
+
+validator.cc how to use range validators in input lines
diff --git a/freebsdtvision/tutorial/background.cc b/freebsdtvision/tutorial/background.cc
new file mode 100644
index 0000000..d6683db
--- /dev/null
+++ b/freebsdtvision/tutorial/background.cc
@@ -0,0 +1,29 @@
+/*
+ * TVision example: how to change the background pattern
+ *
+ * Written by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
+ */
+
+#define Uses_TApplication
+#define Uses_TDeskTop
+
+#include <tvision/tv.h>
+
+class Demo: public TApplication
+{
+public:
+ Demo();
+};
+
+Demo::Demo(): TProgInit(&Demo::initStatusLine, &Demo::initMenuBar,
+ &Demo::initDeskTop)
+{
+}
+
+int main()
+{
+ TDeskTop::defaultBkgrnd = '?';
+ Demo a;
+ a.run();
+}
diff --git a/freebsdtvision/tutorial/basicMakefile b/freebsdtvision/tutorial/basicMakefile
new file mode 100644
index 0000000..7a3cdc0
--- /dev/null
+++ b/freebsdtvision/tutorial/basicMakefile
@@ -0,0 +1,72 @@
+
+# Example: how to write a makefile
+
+#######################################################
+# Suppose you compiled the TV library in your home
+# directory by doing:
+#
+# ./configure
+# make
+#
+# and dind't want to install it in the system with
+#
+# make install
+#
+# With this basic makefile you have the opportunity
+# to compile and link your programs against the TV
+# library you have in your home directory. Copy
+# this file as Makefile in your application directory
+# and then adjust the following strings according to
+# your needs.
+#
+# To compile your program type:
+#
+# make
+#
+# To remove backup and object files type:
+#
+# make clean
+#######################################################
+
+########################################
+# Insert here the library base directory
+########################################
+
+LIBPATH = /home/sergio/tvision-0.8
+
+######################################################
+# Insert here the object files which form your program
+######################################################
+
+OBJS = validator.o
+
+################################
+# Write here the executable name
+################################
+
+OUT = my_prog
+
+################################################
+# Any other library required by your application
+################################################
+
+OTHERLIBS =
+
+########################
+# Do not touch down here
+########################
+
+CXX = g++
+CFLAGS = -g -O2 -I$(LIBPATH) -I$(LIBPATH)/lib
+LIBS = $(LIBPATH)/lib/libtvision.a -lncurses -lgpm $(OTHERLIBS)
+
+.cc.o:
+ $(CXX) $(CFLAGS) -c $<
+
+all: $(OBJS)
+ $(CXX) -o $(OUT) $(OBJS) $(LIBS)
+
+.PHONY:
+
+clean:
+ rm -f *.o *~ $(OUT)
diff --git a/freebsdtvision/tutorial/listbox.cc b/freebsdtvision/tutorial/listbox.cc
new file mode 100644
index 0000000..090a977
--- /dev/null
+++ b/freebsdtvision/tutorial/listbox.cc
@@ -0,0 +1,160 @@
+/*
+ * TVision example: how to use the TListBox class
+ *
+ * Written by Sergio Sigala <sergio@sigala.it>
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+
+#define Uses_TSortedListBox
+#define Uses_TStringCollection
+#define Uses_TListBox
+#define Uses_TApplication
+#define Uses_TKeys
+#define Uses_TMenuBar
+#define Uses_TSubMenu
+#define Uses_TMenuItem
+#define Uses_TStatusLine
+#define Uses_TStatusItem
+#define Uses_TStatusDef
+#define Uses_TDeskTop
+#define Uses_TWindow
+#define Uses_TScrollBar
+#define Uses_TDialog
+#define Uses_TButton
+#define Uses_MsgBox
+
+#include <tvision/tv.h>
+
+const int cmNewDialog = 200;
+
+class TMyApp : public TApplication
+{
+public:
+ TMyApp();
+ static TStatusLine *initStatusLine( TRect r );
+ static TMenuBar *initMenuBar( TRect r );
+ virtual void handleEvent( TEvent& event);
+ void newDialog();
+};
+
+TMyApp::TMyApp() :
+ TProgInit( &TMyApp::initStatusLine,
+ &TMyApp::initMenuBar,
+ &TMyApp::initDeskTop
+ )
+{
+}
+
+struct TDemoDialogData
+{
+ TListBoxRec tlbr;
+};
+
+void TMyApp::newDialog()
+{
+ TDialog *pd = new TDialog( TRect( 20, 6, 60, 19), "Demo Dialog" );
+ if( pd )
+ {
+ TScrollBar *sb = new TScrollBar( TRect( 21, 2, 22, 11 ) );
+ pd->insert( sb );
+
+ TListBox *lb = new TListBox( TRect( 2, 2, 20, 11 ), 2, sb );
+//
+// TSortedListBox has some more user-friendly stuff
+//
+// TListBox *lb = new TSortedListBox( TRect( 2, 2, 20, 11 ), 2,
+// sb );
+//
+ pd->insert( lb );
+
+ /* build a collection of strings */
+
+ #define HOWMANY 20
+ char *names[HOWMANY] =
+ {
+ "dog", "cat", "bird", "fish",
+ "animal1", "animal2", "animal3", "animal4",
+ "animal5", "animal6", "animal7", "animal8",
+ "human1", "human2", "human3", "human4",
+ "human5", "human6", "human7", "human8"
+ };
+ TStringCollection tsc(10, 5);
+//
+// TStringCollection sorts the strings by default
+//
+ for (int i = 0; i < HOWMANY; i++) tsc.insert(names[i]);
+
+ /* add two buttons */
+
+ pd->insert( new TButton( TRect( 28, 6, 38, 8 ), "~O~K", cmOK,
+ bfDefault ));
+ pd->insert( new TButton( TRect( 28, 10, 38, 12 ), "~C~ancel",
+ cmCancel, bfNormal ));
+
+ /* now run the dialog */
+
+ TDemoDialogData d;
+
+ d.tlbr.items = &tsc; /* collection address */
+ d.tlbr.selection = 2; /* default selection */
+
+ pd->setData( &d );
+
+ ushort control = deskTop->execView( pd );
+
+ if( control != cmCancel ) pd->getData( &d );
+
+ if (control == cmOK) messageBox(mfInformation | mfOKButton,
+ "Your selection is %s", tsc.at(d.tlbr.selection));
+ }
+ destroy( pd );
+}
+
+void TMyApp::handleEvent(TEvent& event)
+{
+ TApplication::handleEvent(event);
+ if( event.what == evCommand )
+ {
+ switch( event.message.command )
+ {
+ case cmNewDialog:
+ newDialog();
+ break;
+ default:
+ return;
+ }
+ clearEvent( event ); // clear event after handling
+ }
+}
+
+TMenuBar *TMyApp::initMenuBar( TRect r )
+{
+ r.b.y = r.a.y + 1; // set bottom line 1 line below top line
+ return new TMenuBar( r,
+ *new TSubMenu( "~F~ile", kbAltF )+
+ *new TMenuItem( "E~x~it", cmQuit, cmQuit, hcNoContext, "Alt-X" )+
+ *new TSubMenu( "~W~indow", kbAltW )+
+ *new TMenuItem( "~N~ext", cmNext, kbF6, hcNoContext, "F6" )+
+ *new TMenuItem( "~Z~oom", cmZoom, kbF5, hcNoContext, "F5" )+
+ *new TMenuItem( "~D~ialog", cmNewDialog, kbF2, hcNoContext, "F2" )
+ );
+}
+
+TStatusLine *TMyApp::initStatusLine( TRect r )
+{
+ r.a.y = r.b.y - 1; // move top to 1 line above bottom
+ return new TStatusLine( r,
+ *new TStatusDef( 0, 0xFFFF ) +
+ *new TStatusItem( 0, kbF10, cmMenu ) +
+ *new TStatusItem( "~Alt-X~ Exit", kbAltX, cmQuit )
+ );
+}
+
+int main()
+{
+ TMyApp myApp;
+ myApp.run();
+ return 0;
+}
diff --git a/freebsdtvision/tutorial/load.cc b/freebsdtvision/tutorial/load.cc
new file mode 100644
index 0000000..caa9f57
--- /dev/null
+++ b/freebsdtvision/tutorial/load.cc
@@ -0,0 +1,270 @@
+/*
+ * TVision example: how to create custom views
+ *
+ * Written by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
+ */
+
+#define Uses_TApplication
+#define Uses_TDeskTop
+#define Uses_TKeys
+#define Uses_TMenuBar
+#define Uses_TMenuItem
+#define Uses_TParamText
+#define Uses_TStatusDef
+#define Uses_TStatusItem
+#define Uses_TStatusLine
+#define Uses_TSubMenu
+#define Uses_TWindow
+
+#include <tvision/tv.h>
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <time.h>
+
+#include <fstream>
+
+using std::ifstream;
+
+enum
+{
+ cmNewLoad = 100,
+ cmUpdateLoad
+};
+
+class TProgressBar: public TView
+{
+ static const int colLeft = 0x4f;
+ static const int colRight = 0x2f;
+ int max;
+ int value;
+public:
+ TProgressBar(const TRect &r, int aMax, int aValue = 0);
+ void draw();
+ int getValue() { return value; }
+ void setValue(int aValue);
+};
+
+TProgressBar::TProgressBar(const TRect &r, int aMax, int aValue): TView(r),
+ max(aMax), value(aValue)
+{
+ growMode |= gfGrowHiX;
+}
+
+void TProgressBar::draw()
+{
+ TDrawBuffer b;
+ char str[maxViewWidth];
+ int mid = (max == 0 || value >= max) ? size.x : size.x * value / max;
+
+ sprintf(str, "%d%%", max == 0 ? 100 : 100 * value / max);
+ b.moveChar(0, ' ', colLeft, mid);
+ b.moveChar(mid, ' ', colRight, size.x - mid);
+ b.moveStr((size.x - strlen(str)) / 2, str, 0);
+ writeBuf(0, 0, size.x, size.y, b);
+}
+
+void TProgressBar::setValue(int aValue)
+{
+ if (aValue != value)
+ {
+ value = aValue;
+ drawView();
+ }
+}
+
+class TLoadWindow: public TWindow
+{
+ static const int count = 3;
+ time_t oldTime;
+ TParamText *pTime;
+ TProgressBar *bar[count];
+public:
+ static const int minW = 28;
+ static const int minH = 9;
+ TLoadWindow(int x = 0, int y = 0);
+ void handleEvent(TEvent &event);
+ void sizeLimits(TPoint &min, TPoint &max);
+ void update();
+};
+
+TLoadWindow::TLoadWindow(int x, int y):
+ TWindow(TRect(x, y, x + minW, y + minH), "System load", wnNoNumber),
+ TWindowInit(&TLoadWindow::initFrame), oldTime(-1)
+{
+ options |= ofTileable;
+ for (int i = 0; i < count; i++)
+ {
+ insert(bar[i] = new TProgressBar(TRect(9, i * 2 + 1, minW - 2,
+ i * 2 + 2), 100));
+ }
+ insert(pTime = new TParamText(TRect(2, count * 2 + 1, minW - 2,
+ count * 2 + 2)));
+ insert(new TStaticText(TRect(1, 1, 9, 6),
+ "\003 1 min\n"
+ "\n"
+ "\003 5 min\n"
+ "\n"
+ "\00315 min"));
+ update();
+}
+
+void TLoadWindow::handleEvent(TEvent &event)
+{
+ TWindow::handleEvent(event);
+ if (event.what == evBroadcast &&
+ event.message.command == cmUpdateLoad) update();
+}
+
+void TLoadWindow::update()
+{
+ time_t newTime = time(NULL);
+ if (pTime != 0 && oldTime != newTime)
+ {
+ oldTime = newTime;
+ pTime->setText(ctime(&oldTime));
+
+ ifstream f("/proc/loadavg");
+ for (int i = 0; f && i < count; i++)
+ {
+ double v;
+
+ f >> v;
+ if (bar[i] != 0) bar[i]->setValue((int) (v * 100));
+ }
+ }
+}
+
+void TLoadWindow::sizeLimits(TPoint &min, TPoint &max)
+{
+ TView::sizeLimits(min, max);
+ min.x = minW;
+ min.y = max.y = minH;
+}
+
+class myApp: public TApplication
+{
+public:
+ myApp();
+ static TMenuBar *initMenuBar(TRect r);
+ static TStatusLine *initStatusLine(TRect r);
+ void cascade();
+ void handleEvent(TEvent& Event);
+ void idle();
+ void newLoadWindow();
+ void tile();
+};
+
+myApp::myApp(): TProgInit(&myApp::initStatusLine, &myApp::initMenuBar,
+ &myApp::initDeskTop)
+{
+ srand(time(NULL));
+}
+
+void myApp::cascade()
+{
+ deskTop->cascade(deskTop->getExtent());
+}
+
+void myApp::handleEvent(TEvent &event)
+{
+ TApplication::handleEvent(event);
+ if (event.what == evCommand)
+ {
+ switch (event.message.command)
+ {
+ case cmCascade:
+ cascade();
+ break;
+ case cmNewLoad:
+ newLoadWindow();
+ break;
+ case cmTile:
+ tile();
+ break;
+ default:
+ return;
+ }
+ clearEvent(event);
+ }
+}
+
+void myApp::newLoadWindow()
+{
+ TView *w = validView(new TLoadWindow);
+ if (w != 0)
+ {
+ w->moveTo(
+ (int) ((double) (size.x - TLoadWindow::minW) *
+ rand() / (RAND_MAX + 1.0)),
+ (int) ((double) (size.y - TLoadWindow::minH) *
+ rand() / (RAND_MAX + 1.0)));
+ deskTop->insert(w);
+ }
+}
+
+void myApp::tile()
+{
+ deskTop->tile(deskTop->getExtent());
+}
+
+static Boolean isTileable(TView *p, void * )
+{
+ if ((p->options & ofTileable) != 0) return True;
+ else return False;
+}
+
+void myApp::idle()
+{
+ TApplication::idle();
+ if (deskTop->firstThat(isTileable, 0) != 0)
+ {
+ enableCommand(cmTile);
+ enableCommand(cmCascade);
+ }
+ else
+ {
+ disableCommand(cmTile);
+ disableCommand(cmCascade);
+ }
+ message(deskTop, evBroadcast, cmUpdateLoad, 0);
+}
+
+TMenuBar *myApp::initMenuBar(TRect r)
+{
+ TSubMenu& sub1 = *new TSubMenu("~F~ile", 0) +
+ *new TMenuItem("System ~l~oad", cmNewLoad, kbAltL, hcNoContext, "Alt-L") +
+ newLine() +
+ *new TMenuItem("E~x~it", cmQuit, kbAltX, hcNoContext, "Alt-X");
+ TSubMenu& sub2 = *new TSubMenu("~W~indows", 0) +
+ *new TMenuItem("~R~esize/move", cmResize, kbCtrlF5, hcNoContext, "Ctrl-F5") +
+ *new TMenuItem("~Z~oom", cmZoom, kbF5, hcNoContext, "F5") +
+ *new TMenuItem("~N~ext", cmNext, kbF6, hcNoContext, "F6") +
+ *new TMenuItem("~C~lose", cmClose, kbAltF3, hcNoContext, "Alt-F3") +
+ *new TMenuItem("~T~ile", cmTile, kbNoKey) +
+ *new TMenuItem("C~a~scade", cmCascade, kbNoKey);
+ r.b.y = r.a.y + 1;
+ return new TMenuBar(r, sub1 + sub2);
+}
+
+TStatusLine *myApp::initStatusLine(TRect r)
+{
+ r.a.y = r.b.y - 1;
+ return new TStatusLine(r,
+ *new TStatusDef(0, 50) +
+ *new TStatusItem("~Alt-X~ Exit", kbAltX, cmQuit) +
+ *new TStatusItem("~Alt-L~ system load", kbAltL, cmNewLoad) +
+ *new TStatusItem(0, kbAltF3, cmClose) +
+ *new TStatusItem(0, kbF10, cmMenu) +
+ *new TStatusItem(0, kbF5, cmZoom) +
+ *new TStatusItem(0, kbCtrlF5, cmResize));
+}
+
+int main()
+{
+ myApp d;
+
+ d.run();
+ return 0;
+}
diff --git a/freebsdtvision/tutorial/nomenus.cc b/freebsdtvision/tutorial/nomenus.cc
new file mode 100644
index 0000000..8ec9eda
--- /dev/null
+++ b/freebsdtvision/tutorial/nomenus.cc
@@ -0,0 +1,191 @@
+/*
+ * TVision example: how to handle dialogs without menu bar and status line
+ *
+ * Written by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
+ */
+
+#define Uses_MsgBox
+#define Uses_TApplication
+#define Uses_TBackground
+#define Uses_TButton
+#define Uses_TCheckBoxes
+#define Uses_TDeskTop
+#define Uses_TDialog
+#define Uses_TInputLine
+#define Uses_TLabel
+#define Uses_TRadioButtons
+#define Uses_TSItem
+#define Uses_TView
+#define Uses_TWindow
+
+#include <tvision/tv.h>
+
+//define a custom background
+
+class TMyBackground: public TBackground
+{
+public:
+ TMyBackground(const TRect& bounds);
+ virtual void draw();
+};
+
+TMyBackground::TMyBackground(const TRect& bounds):
+ TBackground(bounds, TDeskTop::defaultBkgrnd)
+{
+}
+
+void TMyBackground::draw()
+{
+ TDrawBuffer b;
+ int x = 0;
+ static const char s[] = "Background example ";
+
+ while (x < size.x)
+ {
+ b.moveStr(x, s, 0x17);
+ x += strlen(s);
+ }
+ writeLine(0, 0, size.x, size.y, b);
+}
+
+//define a custom desktop, with our custom background
+
+class TMyDeskTop: public TDeskTop
+{
+public:
+ TMyDeskTop(const TRect& bounds);
+ static TBackground *initBackground(TRect);
+};
+
+TMyDeskTop::TMyDeskTop(const TRect& bounds):
+ TDeskTop(bounds), TDeskInit(&TMyDeskTop::initBackground)
+{
+}
+
+TBackground *TMyDeskTop::initBackground(TRect r)
+{
+ return new TMyBackground(r);
+}
+
+//our application
+
+struct DialogData
+{
+ ushort checkBoxData;
+ ushort radioButtonData;
+ char inputLineData[128];
+};
+
+class TMyApp: public TApplication
+{
+public:
+ TMyApp();
+ void doWork();
+ ushort newDialog(DialogData &data);
+ static TDeskTop *initDeskTop(TRect r);
+};
+
+//Application constructor. We don't call initStatusLine() and initMenuBar()
+//because we don't want status line or menus in this application.
+
+TMyApp::TMyApp(): TProgInit(
+ 0, //&TMyApp::initStatusLine,
+ 0, //&TMyApp::initMenuBar,
+ &TMyApp::initDeskTop) //this call is required
+{
+}
+
+//Creates a new desktop. The address of this function is passed to the
+//TProgInit constructor, which creates a TDeskTop object for the application
+//and stores a pointer to it in the deskTop global variable. Few applications
+//need to redefine it to have a custom desktop, instead of the default empty
+//TDeskTop.
+
+TDeskTop *TMyApp::initDeskTop(TRect r)
+{
+ //By removing the following two lines we require a full screen desktop.
+ //Since status line and menus are not used in this application, this will
+ //give us two lines of otherwise unused screen space.
+
+ //r.a.y++;
+ //r.b.y--;
+ return new TMyDeskTop(r);
+}
+
+//executes a dialog
+
+ushort TMyApp::newDialog(DialogData &data)
+{
+ TDialog *pd = new TDialog(TRect(20, 6, 60, 19), "Cheese order");
+ if(pd)
+ {
+ TView *b = new TCheckBoxes(TRect(3, 3, 18, 6),
+ new TSItem("~H~varti",
+ new TSItem("~T~ilset",
+ new TSItem("~J~arlsberg", 0)
+ )));
+ pd->insert(b);
+ pd->insert(new TLabel(TRect(2, 2, 10, 3), "Cheeses", b));
+
+ b = new TRadioButtons(TRect(22, 3, 34, 6),
+ new TSItem("~S~olid",
+ new TSItem("~R~unny",
+ new TSItem("~M~elted", 0)
+ )));
+ pd->insert(b);
+ pd->insert(new TLabel(TRect(21, 2, 33, 3), "Consistency", b));
+
+ b = new TInputLine(TRect(3, 8, 37, 9), 128);
+ pd->insert(b);
+ pd->insert(new TLabel(TRect(2, 7, 24, 8), "Delivery Instructions",
+ b));
+
+ pd->insert(new TButton(TRect(15, 10, 25, 12), "~O~K", cmOK,
+ bfDefault));
+ pd->insert(new TButton(TRect(28, 10, 38, 12), "~C~ancel", cmCancel,
+ bfNormal));
+
+ //we set the dialog data
+
+ pd->setData(&data);
+
+ ushort control = deskTop->execView(pd);
+
+ //and read it back when the dialog box is successfully closed
+
+ if (control != cmCancel) pd->getData(&data);
+
+ destroy(pd);
+ return control;
+ }
+ return cmCancel;
+}
+
+//open dialogs here
+
+void TMyApp::doWork()
+{
+ messageBox("\003Welcome to the cheese ordering system",
+ mfInformation + mfOKButton);
+
+ DialogData data;
+
+ data.checkBoxData = 1;
+ data.radioButtonData = 2;
+ strcpy(data.inputLineData, "By box");
+
+ ushort control = newDialog(data);
+
+ if (control == cmOK) messageBox("Your order is accepted",
+ mfInformation + mfOKButton);
+ else messageBox("You canceled the order", mfError + mfOKButton);
+}
+
+int main()
+{
+ TMyApp myApp;
+ //myApp.run(); //don't call this
+ myApp.doWork();
+ return 0;
+}
diff --git a/freebsdtvision/tutorial/splash.cc b/freebsdtvision/tutorial/splash.cc
new file mode 100644
index 0000000..db096c0
--- /dev/null
+++ b/freebsdtvision/tutorial/splash.cc
@@ -0,0 +1,92 @@
+/*
+ * TVision example: how to show a dialog box at startup
+ *
+ * Written by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
+ */
+
+#define Uses_TApplication
+#define Uses_TButton
+#define Uses_TDeskTop
+#define Uses_TDialog
+#define Uses_TKeys
+#define Uses_TMenuBar
+#define Uses_TMenuItem
+#define Uses_TSubMenu
+#define Uses_TStaticText
+
+#include <tvision/tv.h>
+
+const int cmAboutCmd = 100;
+
+class Demo: public TApplication
+{
+public:
+ Demo();
+ void aboutDlgBox();
+ void handleEvent(TEvent &event);
+ static TMenuBar *initMenuBar(TRect r);
+};
+
+Demo::Demo(): TProgInit(&Demo::initStatusLine, &Demo::initMenuBar,
+ &Demo::initDeskTop)
+{
+ aboutDlgBox();
+}
+
+void Demo::handleEvent(TEvent &event)
+{
+ TApplication::handleEvent(event);
+
+ if (event.what == evCommand)
+ {
+ switch (event.message.command)
+ {
+ case cmAboutCmd: // About Dialog Box
+ aboutDlgBox();
+ default: // Unknown command
+ return;
+ }
+ clearEvent (event);
+ }
+}
+
+TMenuBar *Demo::initMenuBar(TRect r)
+{
+ r.b.y = r.a.y + 1;
+
+ return new TMenuBar(r,
+ *new TSubMenu( "~F~ile", kbAltF, hcNoContext ) +
+ *new TMenuItem( "~A~bout...", cmAboutCmd, kbNoKey, hcNoContext) +
+ newLine() +
+ *new TMenuItem( "E~x~it...", cmQuit, kbAltX, hcNoContext)
+ );
+}
+
+void Demo::aboutDlgBox()
+{
+ TDialog *aboutBox = new TDialog(TRect(0, 0, 39, 13), "About");
+
+ aboutBox->insert(
+ new TStaticText(TRect(9, 2, 30, 9),
+ "\003Turbo Vision Demo\n\n" // These strings will be
+ "\003C++ Version\n\n" // concatenated by the compiler.
+ "\003Copyright (c) 1994\n\n" // The \003 centers the line.
+ "\003by me"
+ )
+ );
+
+ aboutBox->insert(
+ new TButton(TRect(14, 10, 26, 12), " OK", cmOK, bfDefault)
+ );
+
+ aboutBox->options |= ofCentered;
+
+ executeDialog(aboutBox);
+}
+
+int main()
+{
+ Demo a;
+ a.run();
+}
diff --git a/freebsdtvision/tutorial/tvedit.cc b/freebsdtvision/tutorial/tvedit.cc
new file mode 100644
index 0000000..f470d0c
--- /dev/null
+++ b/freebsdtvision/tutorial/tvedit.cc
@@ -0,0 +1,466 @@
+/*
+ * TVision example: a simple text editor
+ *
+ * Written by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
+ */
+
+#define Uses_MsgBox
+#define Uses_TApplication
+#define Uses_TBackground
+#define Uses_TButton
+#define Uses_TChDirDialog
+#define Uses_TCheckBoxes
+#define Uses_TDeskTop
+#define Uses_TDialog
+#define Uses_TEditWindow
+#define Uses_TEditor
+#define Uses_TFileDialog
+#define Uses_THistory
+#define Uses_TInputLine
+#define Uses_TKeys
+#define Uses_TLabel
+#define Uses_TMenuBar
+#define Uses_TMenuItem
+#define Uses_TSItem
+#define Uses_TStaticText
+#define Uses_TStatusDef
+#define Uses_TStatusItem
+#define Uses_TStatusLine
+#define Uses_TSubMenu
+#include <tvision/tv.h>
+
+extern "C" {
+ #include <signal.h>
+}
+
+//new command codes; standard commands are defined in views.h
+
+enum
+{
+ cmAbout = 100,
+ cmShowClip
+};
+
+//main class of our application
+
+class TVDemo: public TApplication
+{
+private:
+ TEditWindow *clipWindow;
+ static TDialog *createFindDialog();
+ static TDialog *createReplaceDialog();
+ static ushort doEditorDialog(int dialog, ...);
+ static ushort doExecute(TDialog *p, void *data);
+ static ushort doReplacePrompt(TPoint &cursor);
+ void aboutBox();
+ void cascade();
+ void changeDir();
+ void newFile();
+ void openFile(char *fileSpec);
+ void shell();
+ void showClipboard();
+ void tile();
+public:
+ TVDemo();
+ static TMenuBar *initMenuBar(TRect r);
+ static TStatusLine *initStatusLine(TRect r);
+ virtual void handleEvent(TEvent& Event);
+ virtual void idle();
+};
+
+//constructor
+
+TVDemo::TVDemo(): TProgInit(&TVDemo::initStatusLine, &TVDemo::initMenuBar,
+ &TVDemo::initDeskTop)
+{
+ //Variable editorDialog is a function pointer used by TEditor objects to
+ //display various dialog boxes. The default editorDialog, defEditorDialog
+ //(implemented in editstat.cc), simply returns cmCancel. The following
+ //line replaces it with our version.
+
+ TEditor::editorDialog = doEditorDialog;
+
+ //create a clipboard
+
+ clipWindow = new TEditWindow(deskTop->getExtent(), 0, wnNoNumber);
+ if (clipWindow != 0)
+ {
+ //remember who is the clipboard; all editor istances will
+ //refer to this one when doing clipboard operations
+
+ TEditor::clipboard = (TEditor *) clipWindow->editor;
+
+ //put the clipboard in the background
+
+ clipWindow->hide();
+ deskTop->insert(clipWindow);
+ }
+}
+
+//shows the about dialog
+
+void TVDemo::aboutBox()
+{
+ TDialog *box = new TDialog(TRect(0, 0, 32, 11), "About");
+ box->insert(new TStaticText(TRect(1, 2, 1+30, 2+5),
+ "\003TVEDIT\n"
+ "\003A simple text editor\n\n"
+ "\003Ported from Turbo Pascal 6.0 by Sergio Sigala"));
+ box->insert(new TButton(TRect(11, 8, 11+10, 10), "O~K~", cmOK,
+ bfDefault));
+ box->options |= ofCentered;
+ executeDialog(box);
+}
+
+//moves all the windows in a cascade-like fashion
+
+void TVDemo::cascade()
+{
+ deskTop->cascade(deskTop->getExtent());
+}
+
+//changes the current working directory
+
+void TVDemo::changeDir()
+{
+ TView *d = validView(new TChDirDialog(0, cmChangeDir));
+
+ if (d != 0)
+ {
+ deskTop->execView(d);
+ destroy(d);
+ }
+}
+
+//creates a find dialog and then returns his address
+
+TDialog *TVDemo::createFindDialog()
+{
+ TInputLine *p;
+ TDialog *d = new TDialog(TRect(0, 0, 38, 12), "Find");
+ if (!d) return 0;
+
+ d->options |= ofCentered;
+
+ d->insert(p = new TInputLine(TRect(3, 3, 32, 4), 80));
+ d->insert(new TLabel(TRect(2, 2, 15, 3), "~T~ext to find", p));
+ d->insert(new THistory(TRect(32, 3, 35, 4), p, 10));
+
+ d->insert(new TCheckBoxes(TRect(3, 5, 35, 7),
+ new TSItem("~C~ase sensitive",
+ new TSItem("~W~hole words only", 0))));
+
+ d->insert(new TButton(TRect(14, 9, 24, 11), "O~K~", cmOK, bfDefault));
+ d->insert(new TButton(TRect(14+12, 9, 24+12, 11), "Cancel", cmCancel,
+ bfNormal));
+ d->selectNext(False);
+ return d;
+}
+
+//creates a replace dialog and then returns his address
+
+TDialog *TVDemo::createReplaceDialog()
+{
+ TInputLine *p;
+ TDialog *d = new TDialog(TRect(0, 0, 40, 16), "Replace");
+ if (!d) return 0;
+
+ d->options |= ofCentered;
+
+ d->insert(p = new TInputLine(TRect(3, 3, 34, 4), 80));
+ d->insert(new TLabel(TRect(2, 2, 15, 3), "~T~ext to find", p));
+ d->insert(new THistory(TRect(34, 3, 37, 4), p, 10));
+
+ d->insert(p = new TInputLine(TRect(3, 6, 34, 7), 80));
+ d->insert(new TLabel(TRect(2, 5, 12, 6), "~N~ew text", p));
+ d->insert(new THistory(TRect(34, 6, 37, 7), p, 11));
+
+ d->insert(new TCheckBoxes(TRect(3, 8, 37, 12),
+ new TSItem("~C~ase sensitive",
+ new TSItem("~W~hole words only",
+ new TSItem("~P~rompt on replace",
+ new TSItem("~R~eplace all", 0))))));
+
+ d->insert(new TButton(TRect(17, 13, 27, 15), "O~K~", cmOK, bfDefault));
+ d->insert(new TButton(TRect(28, 13, 38, 15), "Cancel", cmCancel,
+ bfNormal));
+ d->selectNext(False);
+ return d;
+}
+
+//This is a function used by TEditor objects to display various dialog boxes.
+//Since dialog boxes are very application-dependent, a TEditor object does not
+//display its own dialog boxes directly. Instead it controls them through this
+//function.
+
+ushort TVDemo::doEditorDialog(int dialog, ...)
+{
+ va_list ap;
+ void *info = 0;
+
+ va_start(ap, dialog); //initializes the variable argument list
+ info = va_arg(ap, void *); //get first parameter (if any)
+ va_end(ap);
+ switch (dialog)
+ {
+ case edOutOfMemory:
+ return messageBox("Not enough memory for this operation",
+ mfError + mfOKButton);
+ case edReadError:
+ return messageBox(mfError + mfOKButton, "Error reading file %s", info);
+ case edWriteError:
+ return messageBox(mfError + mfOKButton, "Error writing file %s", info);
+ case edCreateError:
+ return messageBox(mfError + mfOKButton, "Error creating file %s",
+ info);
+ case edSaveModify:
+ return messageBox(mfInformation + mfYesNoCancel,
+ "%s has been modified. Save?", info);
+ case edSaveUntitled:
+ return messageBox("Save untitled file?",
+ mfInformation + mfYesNoCancel);
+ case edSaveAs:
+ return doExecute(new TFileDialog("*.*", "Save file as", "~N~ame",
+ fdOKButton, 101), info);
+ case edFind:
+ return doExecute(createFindDialog(), info);
+ case edSearchFailed:
+ return messageBox("Search string not found", mfError + mfOKButton);
+ case edReplace:
+ return doExecute(createReplaceDialog(), info);
+ case edReplacePrompt:
+ va_start(ap, dialog);
+ TPoint *cursor = va_arg(ap, TPoint *);
+ va_end(ap);
+ return doReplacePrompt(*cursor);
+ }
+ assert(0); /* what should the return value be if we fall through? */
+ return 0;
+}
+
+//executes a dialog in modal state; similar to TProgram::execute(), but this
+//version is fully static
+
+ushort TVDemo::doExecute(TDialog *p, void *data)
+{
+ ushort result = cmCancel;
+ if (1) //validView(p))
+ {
+ if (data) p->setData(data);
+ result = deskTop->execView(p);
+ if (result != cmCancel && data) p->getData(data);
+ destroy(p);
+ }
+ return result;
+}
+
+ushort TVDemo::doReplacePrompt(TPoint &cursor)
+{
+ TRect r(0, 2, 40, 9);
+
+ r.move((deskTop->size.x - r.b.x) / 2, 0);
+ TPoint lower = deskTop->makeGlobal(r.b);
+ if (cursor.y <= lower.y) r.move(0, (deskTop->size.y - r.b.y - 2));
+
+ return messageBoxRect(r, "Replace this occurence?",
+ mfYesNoCancel + mfInformation);
+}
+
+//handles application's events
+
+void TVDemo::handleEvent(TEvent &event)
+{
+ TApplication::handleEvent(event);
+ if (event.what == evCommand) switch (event.message.command)
+ {
+ case cmAbout:
+ aboutBox();
+ break;
+ case cmCascade:
+ cascade();
+ break;
+ case cmChDir:
+ changeDir();
+ break;
+ case cmDosShell:
+ shell();
+ break;
+ case cmNew:
+ newFile();
+ break;
+ case cmOpen:
+ openFile("*");
+ break;
+ case cmShowClip:
+ showClipboard();
+ break;
+ case cmTile:
+ tile();
+ break;
+ default:
+ return;
+ }
+ clearEvent(event);
+}
+
+//returns true if and only if the view at address `p' is tileable and visible
+
+static Boolean isTileable(TView *p, void *)
+{
+ if ((p->options & ofTileable) != 0 &&
+ (p->state & sfVisible) != 0) return True;
+ else return False;
+}
+
+//called when in idle state
+
+void TVDemo::idle()
+{
+ TApplication::idle();
+ if (deskTop->firstThat(isTileable, 0) != 0)
+ {
+ enableCommand(cmTile);
+ enableCommand(cmCascade);
+ }
+ else
+ {
+ disableCommand(cmSave);
+ disableCommand(cmSaveAs);
+ disableCommand(cmUndo);
+ disableCommand(cmCut);
+ disableCommand(cmCopy);
+ disableCommand(cmPaste);
+ disableCommand(cmClear);
+ disableCommand(cmFind);
+ disableCommand(cmReplace);
+ disableCommand(cmSearchAgain);
+ disableCommand(cmTile);
+ disableCommand(cmCascade);
+ }
+}
+
+//creates a new menu bar
+
+TMenuBar *TVDemo::initMenuBar(TRect r)
+{
+ TSubMenu& sub1 = *new TSubMenu("~\360~", 0, hcNoContext) +
+ *new TMenuItem("~A~bout...", cmAbout, kbNoKey, hcNoContext);
+
+ TSubMenu& sub2 = *new TSubMenu("~F~ile", 0, hcNoContext) +
+ *new TMenuItem("~O~pen...", cmOpen, kbF3, hcNoContext, "F3") +
+ *new TMenuItem("~N~ew", cmNew, kbNoKey, hcNoContext, "") +
+ *new TMenuItem("~S~ave", cmSave, kbF2, hcNoContext, "F2") +
+ *new TMenuItem("S~a~ve as...", cmSaveAs, kbNoKey, hcNoContext, "") +
+ newLine() +
+ *new TMenuItem("~C~hange dir...", cmChDir, kbNoKey, hcNoContext, "") +
+ *new TMenuItem("~D~OS shell", cmDosShell, kbNoKey, hcNoContext, "") +
+ *new TMenuItem("E~x~it", cmQuit, kbAltX, hcNoContext, "Alt-X");
+
+ TSubMenu& sub3 = *new TSubMenu("~E~dit", 0, hcNoContext) +
+ *new TMenuItem("~U~ndo", cmUndo, kbNoKey, hcNoContext, "") +
+ newLine() +
+ *new TMenuItem("Cu~t~", cmCut, kbShiftDel, hcNoContext, "Shift-Del") +
+ *new TMenuItem("~C~opy", cmCopy, kbCtrlIns, hcNoContext, "Ctrl-Ins") +
+ *new TMenuItem("~P~aste", cmPaste, kbShiftIns, hcNoContext, "Shift-Ins") +
+ *new TMenuItem("~S~how clipboard", cmShowClip, kbNoKey, hcNoContext, "") +
+ newLine() +
+ *new TMenuItem("~C~lear", cmClear, kbCtrlDel, hcNoContext, "Ctrl-Del");
+
+ TSubMenu& sub4 = *new TSubMenu("~S~earch", 0, hcNoContext) +
+ *new TMenuItem("~F~ind...", cmFind, kbNoKey, hcNoContext) +
+ *new TMenuItem("~R~eplace...", cmReplace, kbNoKey, hcNoContext) +
+ *new TMenuItem("~S~earch again", cmSearchAgain, kbNoKey, hcNoContext);
+
+ TSubMenu& sub5 = *new TSubMenu("~W~indows", 0, hcNoContext) +
+ *new TMenuItem("~S~ize/move", cmResize, kbCtrlF5, hcNoContext, "Ctrl-F5") +
+ *new TMenuItem("~Z~oom", cmZoom, kbF5, hcNoContext, "F5") +
+ *new TMenuItem("~N~ext", cmNext, kbF6, hcNoContext, "F6") +
+ *new TMenuItem("~P~revious", cmPrev, kbShiftF6, hcNoContext, "Shift-F6") +
+ *new TMenuItem("~C~lose", cmClose, kbAltF3, hcNoContext, "Alt-F3") +
+ *new TMenuItem("~T~ile", cmTile, kbNoKey, hcNoContext) +
+ *new TMenuItem("C~a~scade", cmCascade, kbNoKey, hcNoContext);
+
+ r.b.y = r.a.y + 1;
+ return new TMenuBar(r, sub1 + sub2 + sub3 + sub4 + sub5);
+}
+
+//creates a new status line
+
+TStatusLine *TVDemo::initStatusLine(TRect r)
+{
+ r.a.y = r.b.y - 1;
+ return new TStatusLine(r,
+ *new TStatusDef(0, 50) +
+ *new TStatusItem("~Alt-X~ Exit", kbAltX, cmQuit) +
+ *new TStatusItem("~F2~ Save", kbF2, cmSave) +
+ *new TStatusItem("~F3~ Open", kbF3, cmOpen) +
+ *new TStatusItem("~Alt-F3~ Close", kbAltF3, cmClose) +
+ *new TStatusItem("~F5~ Zoom", kbF5, cmZoom) +
+ *new TStatusItem("~F6~ Next", kbF6, cmNext) +
+ *new TStatusItem("~F10~ Menu", kbF10, cmMenu) +
+ *new TStatusItem("", kbCtrlF5, cmResize));
+}
+
+//Creates a new edit window, with no assigned file name.
+//The window title will be `Untitled'.
+
+void TVDemo::newFile()
+{
+ TView *w = validView(new TEditWindow(deskTop->getExtent(), 0,
+ wnNoNumber));
+ if (w != 0) deskTop->insert(w);
+}
+
+//opens an existing file, whose file name is passed as a parameter
+//in `fileSpec'
+
+void TVDemo::openFile(char *fileSpec)
+{
+ TFileDialog *d = (TFileDialog *) validView(new TFileDialog(fileSpec,
+ "Open a File", "~N~ame", fdOpenButton, 100));
+
+ if (d != 0 && deskTop->execView(d) != cmCancel)
+ {
+ char fileName[PATH_MAX];
+
+ d->getFileName(fileName);
+ TView *w = validView(new TEditWindow(deskTop->getExtent(),
+ fileName, wnNoNumber));
+ if (w != 0) deskTop->insert(w);
+ }
+ destroy(d);
+}
+
+void TVDemo::shell()
+{
+ raise(SIGTSTP); //this line simulates a Ctrl-Z
+}
+
+//Shows the clipboard. The user can't really destroy the clipboard: every
+//cmClose command will simply move the clipboard window in the background,
+//by hiding it.
+
+void TVDemo::showClipboard()
+{
+ if (clipWindow != 0)
+ {
+ clipWindow->select();
+ clipWindow->show();
+ }
+}
+
+//moves all the windows in a tile-like fashion
+
+void TVDemo::tile()
+{
+ deskTop->tile(deskTop->getExtent());
+}
+
+int main()
+{
+ TVDemo d;
+
+ d.run();
+ return 0;
+}
diff --git a/freebsdtvision/tutorial/tvguid01.cc b/freebsdtvision/tutorial/tvguid01.cc
new file mode 100644
index 0000000..d54e71f
--- /dev/null
+++ b/freebsdtvision/tutorial/tvguid01.cc
@@ -0,0 +1,40 @@
+/*---------------------------------------------------------*/
+/* */
+/* Turbo Vision 1.0 */
+/* TVGUID01 Demo Source File */
+/* Copyright (c) 1991 by Borland International */
+/* */
+/*---------------------------------------------------------*/
+
+#define Uses_TApplication
+#include <tvision/tv.h>
+
+// tv.h will pull in the headers needed for TApplication and its
+// base classes. Add a #define Uses_Txxx statement (before the
+// #include <tv.h> line) for each Turbo Vision class used in
+// your program. Explicit or implied duplications are harmless:
+// for example, #define Uses_TProgram would be redundant here,
+// but harmless.
+
+class TMyApp : public TApplication
+{
+
+public:
+ TMyApp();
+
+};
+
+TMyApp::TMyApp() :
+ TProgInit( &TMyApp::initStatusLine,
+ &TMyApp::initMenuBar,
+ &TMyApp::initDeskTop
+ )
+{
+}
+
+int main()
+{
+ TMyApp myApp;
+ myApp.run();
+ return 0;
+}
diff --git a/freebsdtvision/tutorial/tvguid02.cc b/freebsdtvision/tutorial/tvguid02.cc
new file mode 100644
index 0000000..7263bfb
--- /dev/null
+++ b/freebsdtvision/tutorial/tvguid02.cc
@@ -0,0 +1,57 @@
+/*---------------------------------------------------------*/
+/* */
+/* Turbo Vision 1.0 */
+/* TVGUID02 Demo Source File */
+/* Copyright (c) 1991 by Borland International */
+/* */
+/*---------------------------------------------------------*/
+
+#define Uses_TApplication
+#define Uses_TKeys
+#define Uses_TRect
+#define Uses_TStatusLine
+#define Uses_TStatusItem
+#define Uses_TStatusDef
+#define Uses_TDeskTop
+#include <tvision/tv.h>
+
+// tv.h ensures that the correct *.h files are included for each
+// of the above classes and their bases.
+
+class TMyApp : public TApplication
+{
+
+public:
+ TMyApp();
+ static TStatusLine *initStatusLine( TRect r );
+ // new for tvguid02
+};
+
+TMyApp::TMyApp() :
+ TProgInit( &TMyApp::initStatusLine,
+ &TMyApp::initMenuBar,
+ &TMyApp::initDeskTop
+ )
+{
+}
+
+// new for tvguid02:
+TStatusLine *TMyApp::initStatusLine(TRect r)
+{
+ r.a.y = r.b.y - 1; // move top to 1 line above bottom
+ return new TStatusLine( r,
+ *new TStatusDef( 0, 0xFFFF ) +
+ // set range of help contexts
+ *new TStatusItem( "~Alt-X~ Exit", kbAltX, cmQuit ) +
+ // define an item
+ *new TStatusItem( "~Alt-F3~ Close", kbAltF3, cmClose )
+ // and another one
+ );
+}
+
+int main()
+{
+ TMyApp myApp;
+ myApp.run();
+ return 0;
+}
diff --git a/freebsdtvision/tutorial/tvguid03.cc b/freebsdtvision/tutorial/tvguid03.cc
new file mode 100644
index 0000000..08e1528
--- /dev/null
+++ b/freebsdtvision/tutorial/tvguid03.cc
@@ -0,0 +1,79 @@
+/*---------------------------------------------------------*/
+/* */
+/* Turbo Vision 1.0 */
+/* TVGUID03 Demo Source File */
+/* Copyright (c) 1991 by Borland International */
+/* */
+/*---------------------------------------------------------*/
+
+#define Uses_TApplication
+#define Uses_TKeys
+#define Uses_TRect
+#define Uses_TMenuBar
+#define Uses_TSubMenu
+#define Uses_TMenuItem
+#define Uses_TStatusLine
+#define Uses_TStatusItem
+#define Uses_TStatusDef
+#define Uses_TDeskTop
+#include <tvision/tv.h>
+
+const int cmMyFileOpen = 200; // assign new command values
+const int cmMyNewWin = 201;
+
+
+class TMyApp : public TApplication
+{
+
+public:
+ TMyApp();
+ static TStatusLine *initStatusLine( TRect r );
+ static TMenuBar *initMenuBar( TRect r );
+ // new for tvguid03
+};
+
+TMyApp::TMyApp() :
+ TProgInit( &TMyApp::initStatusLine,
+ &TMyApp::initMenuBar,
+ &TMyApp::initDeskTop
+ )
+{
+}
+
+TStatusLine *TMyApp::initStatusLine(TRect r)
+{
+ r.a.y = r.b.y - 1; // move top to 1 line above bottom
+ return new TStatusLine( r,
+ *new TStatusDef( 0, 0xFFFF ) +
+ // set range of help contexts
+ *new TStatusItem( 0, kbF10, cmMenu ) +
+ *new TStatusItem( "~Alt-X~ Exit", kbAltX, cmQuit ) +
+ // define an item
+ *new TStatusItem( "~Alt-F3~ Close", kbAltF3, cmClose )
+ // and another one
+ );
+}
+
+// new for tvguid03:
+TMenuBar *TMyApp::initMenuBar( TRect r )
+{
+
+ r.b.y = r.a.y + 1; // set bottom line 1 line below top line
+ return new TMenuBar( r,
+ *new TSubMenu( "~F~ile", kbAltF )+
+ *new TMenuItem( "~O~pen", cmMyFileOpen, kbF3, hcNoContext, "F3" )+
+ *new TMenuItem( "~N~ew", cmMyNewWin, kbF4, hcNoContext, "F4" )+
+ newLine()+
+ *new TMenuItem( "E~x~it", cmQuit, cmQuit, hcNoContext, "Alt-X" )+
+ *new TSubMenu( "~W~indow", kbAltW )+
+ *new TMenuItem( "~N~ext", cmNext, kbF6, hcNoContext, "F6" )+
+ *new TMenuItem( "~Z~oom", cmZoom, kbF5, hcNoContext, "F5" )
+ );
+}
+
+int main()
+{
+ TMyApp myApp;
+ myApp.run();
+ return 0;
+}
diff --git a/freebsdtvision/tutorial/tvguid04.cc b/freebsdtvision/tutorial/tvguid04.cc
new file mode 100644
index 0000000..c0a4a52
--- /dev/null
+++ b/freebsdtvision/tutorial/tvguid04.cc
@@ -0,0 +1,146 @@
+/*---------------------------------------------------------*/
+/* */
+/* Turbo Vision 1.0 */
+/* TVGUID04 Demo Source File */
+/* Copyright (c) 1991 by Borland International */
+/* */
+/*---------------------------------------------------------*/
+/*
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
+ */
+
+#define Uses_TEvent
+#define Uses_TApplication
+#define Uses_TKeys
+#define Uses_TRect
+#define Uses_TMenuBar
+#define Uses_TSubMenu
+#define Uses_TMenuItem
+#define Uses_TStatusLine
+#define Uses_TStatusItem
+#define Uses_TStatusDef
+#define Uses_TDeskTop
+#define Uses_TWindow
+#include <tvision/tv.h>
+
+#include <stdlib.h> // for random()
+
+const int cmMyFileOpen = 200; // assign new command values
+const int cmMyNewWin = 201;
+
+
+class TMyApp : public TApplication
+{
+
+public:
+ TMyApp();
+ static TStatusLine *initStatusLine( TRect r );
+ static TMenuBar *initMenuBar( TRect r );
+ virtual void handleEvent( TEvent& event);
+ void myNewWindow();
+};
+
+
+static short winNumber = 0; // initialize window number
+
+class TDemoWindow : public TWindow // define a new window class
+{
+
+public:
+
+ TDemoWindow( const TRect& r, const char *aTitle, short aNumber );
+ // declare a constructor
+
+ // static TFrame *initFrame( TRect r );
+ // override needed only if you want a nonstandard frame
+ // Here we'll inherit TWindow::initFrame unchanged
+ // so TWindowInit will take &TDemoWindow::initFrame to give
+ // a standard frame
+
+};
+
+
+TMyApp::TMyApp() :
+ TProgInit( &TMyApp::initStatusLine,
+ &TMyApp::initMenuBar,
+ &TMyApp::initDeskTop
+ )
+{
+}
+
+TStatusLine *TMyApp::initStatusLine(TRect r)
+{
+ r.a.y = r.b.y - 1; // move top to 1 line above bottom
+ return new TStatusLine( r,
+ *new TStatusDef( 0, 0xFFFF ) +
+ // set range of help contexts
+ *new TStatusItem( 0, kbF10, cmMenu ) +
+ // define an item
+ *new TStatusItem( "~Alt-X~ Exit", kbAltX, cmQuit ) +
+ // define an item
+ *new TStatusItem( "~Alt-F3~ Close", kbAltF3, cmClose )
+ // and another one
+ );
+}
+
+TMenuBar *TMyApp::initMenuBar( TRect r )
+{
+
+ r.b.y = r.a.y + 1; // set bottom line 1 line below top line
+ return new TMenuBar( r,
+ *new TSubMenu( "~F~ile", kbAltF )+
+ *new TMenuItem( "~O~pen", cmMyFileOpen, kbF3, hcNoContext, "F3" )+
+ *new TMenuItem( "~N~ew", cmMyNewWin, kbF4, hcNoContext, "F4" )+
+ newLine()+
+ *new TMenuItem( "E~x~it", cmQuit, cmQuit, hcNoContext, "Alt-X" )+
+ *new TSubMenu( "~W~indow", kbAltW )+
+ *new TMenuItem( "~N~ext", cmNext, kbF6, hcNoContext, "F6" )+
+ *new TMenuItem( "~Z~oom", cmZoom, kbF5, hcNoContext, "F5" )
+ );
+}
+
+void TMyApp::handleEvent(TEvent& event)
+{
+ TApplication::handleEvent(event); // act like base!
+ if( event.what == evCommand )
+ {
+ switch( event.message.command )
+ {
+ case cmMyNewWin: // but respond to additional commands
+ myNewWindow(); // define action for cmMyNewWin
+ break;
+ default:
+ return;
+ }
+ clearEvent( event ); // clear event after handling
+ }
+}
+
+void TMyApp::myNewWindow()
+{
+ TRect r( 0, 0, 26, 7 ); // set initial size and position
+
+ /* SS: micro change here */
+
+ //r.move( random(53), random(16) ); // randomly move around screen
+ r.move( random() % 53, random() % 16 ); // randomly move around screen
+ TDemoWindow *window = new TDemoWindow ( r, "Demo Window", ++winNumber);
+ deskTop->insert(window); // put window into desktop and draw it
+}
+
+
+TDemoWindow::TDemoWindow( const TRect& r, const char *aTitle, short aNumber):
+ TWindow( r, aTitle, aNumber),
+ TWindowInit( &TDemoWindow::initFrame
+ )
+
+{
+}
+
+int main()
+{
+ TMyApp myApp;
+ myApp.run();
+ return 0;
+}
diff --git a/freebsdtvision/tutorial/tvguid05.cc b/freebsdtvision/tutorial/tvguid05.cc
new file mode 100644
index 0000000..839a155
--- /dev/null
+++ b/freebsdtvision/tutorial/tvguid05.cc
@@ -0,0 +1,169 @@
+/*---------------------------------------------------------*/
+/* */
+/* Turbo Vision 1.0 */
+/* TVGUID05 Demo Source File */
+/* Copyright (c) 1991 by Borland International */
+/* */
+/*---------------------------------------------------------*/
+/*
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
+ */
+
+#define Uses_TEventQueue
+#define Uses_TEvent
+#define Uses_TApplication
+#define Uses_TKeys
+#define Uses_TRect
+#define Uses_TMenuBar
+#define Uses_TSubMenu
+#define Uses_TMenuItem
+#define Uses_TStatusLine
+#define Uses_TStatusItem
+#define Uses_TStatusDef
+#define Uses_TDeskTop
+#define Uses_TView
+#define Uses_TWindow
+#include <tvision/tv.h>
+
+#include <stdlib.h> // for random()
+
+const int cmMyFileOpen = 200; // assign new command values
+const int cmMyNewWin = 201;
+
+
+class TMyApp : public TApplication
+{
+
+public:
+ TMyApp();
+ static TStatusLine *initStatusLine( TRect r );
+ static TMenuBar *initMenuBar( TRect r );
+ virtual void handleEvent( TEvent& event);
+ void myNewWindow();
+};
+
+
+static short winNumber = 0; // initialize window number
+
+class TDemoWindow : public TWindow // define a new window class
+{
+
+public:
+
+ TDemoWindow( const TRect& r, const char *aTitle, short aNumber );
+
+};
+
+class TInterior : public TView
+{
+
+public:
+
+ TInterior( const TRect& bounds ); // constructor
+ virtual void draw(); // override TView::draw
+};
+
+TInterior::TInterior( const TRect& bounds ) : TView( bounds )
+{
+ growMode = gfGrowHiX | gfGrowHiY; //make size follow that of the window
+ options = options | ofFramed;
+}
+
+void TInterior::draw()
+{
+ char *hstr = "Hello World!";
+ ushort color = getColor(0x0301);
+ TView::draw();
+ TDrawBuffer b;
+ b.moveStr( 0, hstr, color );
+ writeLine( 4, 2, 12, 1, b);
+}
+
+TMyApp::TMyApp() :
+ TProgInit( &TMyApp::initStatusLine,
+ &TMyApp::initMenuBar,
+ &TMyApp::initDeskTop
+ )
+{
+}
+
+TStatusLine *TMyApp::initStatusLine(TRect r)
+{
+ r.a.y = r.b.y - 1; // move top to 1 line above bottom
+ return new TStatusLine( r,
+ *new TStatusDef( 0, 0xFFFF ) +
+ // set range of help contexts
+ *new TStatusItem( 0, kbF10, cmMenu ) +
+ // define an item
+ *new TStatusItem( "~Alt-X~ Exit", kbAltX, cmQuit ) +
+ // define an item
+ *new TStatusItem( "~Alt-F3~ Close", kbAltF3, cmClose )
+ // and another one
+ );
+}
+
+TMenuBar *TMyApp::initMenuBar( TRect r )
+{
+
+ r.b.y = r.a.y + 1; // set bottom line 1 line below top line
+ return new TMenuBar( r,
+ *new TSubMenu( "~F~ile", kbAltF )+
+ *new TMenuItem( "~O~pen", cmMyFileOpen, kbF3, hcNoContext, "F3" )+
+ *new TMenuItem( "~N~ew", cmMyNewWin, kbF4, hcNoContext, "F4" )+
+ newLine()+
+ *new TMenuItem( "E~x~it", cmQuit, cmQuit, hcNoContext, "Alt-X" )+
+ *new TSubMenu( "~W~indow", kbAltW )+
+ *new TMenuItem( "~N~ext", cmNext, kbF6, hcNoContext, "F6" )+
+ *new TMenuItem( "~Z~oom", cmZoom, kbF5, hcNoContext, "F5" )
+ );
+}
+
+void TMyApp::handleEvent(TEvent& event)
+{
+ TApplication::handleEvent(event); // act like base!
+ if( event.what == evCommand )
+ {
+ switch( event.message.command )
+ {
+ case cmMyNewWin: // but respond to additional commands
+ myNewWindow(); // define action for cmMyNewWin
+ // command
+ break;
+ default:
+ return;
+ }
+ clearEvent( event ); // clear event after handling
+ }
+}
+
+void TMyApp::myNewWindow()
+{
+ TRect r( 0, 0, 26, 7 ); // set initial size and position
+
+ /* SS: micro change here */
+
+// r.move( random(53), random(16) ); // randomly move around screen
+ r.move( random() % 53, random() % 16 ); // randomly move around screen
+ TDemoWindow *window = new TDemoWindow ( r, "Demo Window", ++winNumber);
+ deskTop->insert(window); // put window into desktop and draw it
+}
+
+
+TDemoWindow::TDemoWindow( const TRect& bounds, const char *aTitle,
+ short aNumber) :
+ TWindow( bounds, aTitle, aNumber),
+ TWindowInit( &TDemoWindow::initFrame )
+{
+ TRect r = getClipRect(); // get exposed area
+ r.grow(-1, -1); // make interior fit inside window frame
+ insert( new TInterior(r) ); // add interior to window
+}
+
+
+int main()
+{
+ TMyApp myApp;
+ myApp.run();
+ return 0;
+}
diff --git a/freebsdtvision/tutorial/tvguid06.cc b/freebsdtvision/tutorial/tvguid06.cc
new file mode 100644
index 0000000..0a12656
--- /dev/null
+++ b/freebsdtvision/tutorial/tvguid06.cc
@@ -0,0 +1,215 @@
+/*---------------------------------------------------------*/
+/* */
+/* Turbo Vision 1.0 */
+/* TVGUID06 Demo Source File */
+/* Copyright (c) 1991 by Borland International */
+/* */
+/*---------------------------------------------------------*/
+/*
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
+ */
+
+/****** imperfect draw method--see tvguid07 for improvement *****/
+
+#define Uses_TEventQueue
+#define Uses_TEvent
+#define Uses_TProgram
+#define Uses_TApplication
+#define Uses_TKeys
+#define Uses_TRect
+#define Uses_TMenuBar
+#define Uses_TSubMenu
+#define Uses_TMenuItem
+#define Uses_TStatusLine
+#define Uses_TStatusItem
+#define Uses_TStatusDef
+#define Uses_TDeskTop
+#define Uses_TView
+#define Uses_TWindow
+#include <tvision/tv.h>
+
+#include <iostream>
+#include <fstream>
+
+#include <stdlib.h> // for exit(), random()
+#include <stdio.h> // for puts() etc
+#include <string.h> // for strlen etc
+#include <ctype.h>
+
+using std::ifstream;
+using std::cout;
+using std::endl;
+
+const int cmMyFileOpen = 200; // assign new command values
+const int cmMyNewWin = 201;
+
+/* SS: micro change here */
+
+const char *fileToRead = "tvguid06.cc";
+//const char *fileToRead = "tvguid06.cpp";
+const int maxLineLength = maxViewWidth+1;
+const int maxLines = 100;
+char *lines[maxLines];
+int lineCount = 0;
+
+void readFile( const char *fileName )
+{
+ ifstream fileToView( fileName );
+ if( !fileToView )
+ {
+ cout << "Invalid file name..." << endl;
+ exit( 1 );
+ }
+ else
+ {
+ char buf[maxLineLength];
+ while( lineCount < maxLines &&
+ fileToView.getline( buf, maxLineLength ) != 0 )
+ {
+ lines[lineCount] = newStr( buf );
+ lineCount++;
+ }
+ }
+}
+
+void deleteFile()
+{
+ for( int i = 0; i < lineCount; i++ )
+ delete lines[i];
+}
+
+class TMyApp : public TApplication
+{
+
+public:
+
+ TMyApp();
+ static TStatusLine *initStatusLine( TRect r );
+ static TMenuBar *initMenuBar( TRect r );
+ virtual void handleEvent( TEvent& event);
+ void myNewWindow();
+
+};
+
+
+static short winNumber = 0; // initialize window number
+
+class TDemoWindow : public TWindow // define a new window class
+{
+
+public:
+
+ TDemoWindow( const TRect& r, const char *aTitle, short aNumber );
+ static const char * const name;
+
+};
+
+class TInterior : public TView
+{
+
+public:
+
+ TInterior( const TRect& bounds ); // constructor
+ virtual void draw(); // override TView::draw
+};
+
+TInterior::TInterior( const TRect& bounds ) : TView( bounds )
+{
+ growMode = gfGrowHiX | gfGrowHiY; //make size follow that of the window
+ options = options | ofFramed;
+}
+
+void TInterior::draw()
+{
+ for( int i = 0; i < size.y; i++ )
+ writeStr( 0, i, lines[i], 1 );
+}
+
+TMyApp::TMyApp() :
+ TProgInit( &TMyApp::initStatusLine,
+ &TMyApp::initMenuBar,
+ &TMyApp::initDeskTop
+ )
+{
+}
+
+TStatusLine *TMyApp::initStatusLine(TRect r)
+{
+ r.a.y = r.b.y - 1; // move top to 1 line above bottom
+ return new TStatusLine( r,
+ *new TStatusDef( 0, 0xFFFF ) +
+ // set range of help contexts
+ *new TStatusItem( 0, kbF10, cmMenu ) +
+ // define an item
+ *new TStatusItem( "~Alt-X~ Exit", kbAltX, cmQuit ) +
+ // and another one
+ *new TStatusItem( "~Alt-F3~ Close", kbAltF3, cmClose )
+ // and another one
+ );
+}
+
+TMenuBar *TMyApp::initMenuBar( TRect r )
+{
+ r.b.y = r.a.y + 1; // set bottom line 1 line below top line
+ return new TMenuBar( r,
+ *new TSubMenu( "~F~ile", kbAltF )+
+ *new TMenuItem( "~O~pen", cmMyFileOpen, kbF3, hcNoContext, "F3" )+
+ *new TMenuItem( "~N~ew", cmMyNewWin, kbF4, hcNoContext, "F4" )+
+ newLine()+
+ *new TMenuItem( "E~x~it", cmQuit, cmQuit, hcNoContext, "Alt-X" )+
+ *new TSubMenu( "~W~indow", kbAltW )+
+ *new TMenuItem( "~N~ext", cmNext, kbF6, hcNoContext, "F6" )+
+ *new TMenuItem( "~Z~oom", cmZoom, kbF5, hcNoContext, "F5" )
+ );
+}
+
+void TMyApp::handleEvent(TEvent& event)
+{
+ TApplication::handleEvent(event); // act like base!
+ if( event.what == evCommand )
+ {
+ switch( event.message.command )
+ {
+ case cmMyNewWin: // but respond to additional commands
+ myNewWindow(); // define action for cmMyNewWin // command
+ break;
+ default:
+ return;
+ }
+ clearEvent( event ); // clear event after handling
+ }
+}
+
+void TMyApp::myNewWindow()
+{
+ TRect r( 0, 0, 26, 7 ); // set initial size and position
+
+ /* SS: micro change here */
+
+ //r.move( random(53), random(16) ); // randomly move around screen
+ r.move( random() % 53, random() % 16 ); // randomly move around screen
+ TDemoWindow *window = new TDemoWindow ( r, "Demo Window", ++winNumber);
+ deskTop->insert(window); // put window into desktop and draw it
+}
+
+// const char * const TDemoWindow::name = "TDemoWindow";
+
+TDemoWindow::TDemoWindow( const TRect& bounds, const char *aTitle,
+ short aNumber) :
+ TWindow( bounds, aTitle, aNumber),
+ TWindowInit( &TDemoWindow::initFrame )
+{
+ TRect r = getClipRect(); // get exposed area
+ r.grow(-1, -1); // make interior fit inside window frame
+ insert( new TInterior(r) ); // add interior to window
+}
+
+int main()
+{
+ readFile( fileToRead );
+ TMyApp myApp;
+ myApp.run();
+ deleteFile();
+ return 0;
+}
diff --git a/freebsdtvision/tutorial/tvguid07.cc b/freebsdtvision/tutorial/tvguid07.cc
new file mode 100644
index 0000000..f1ef745
--- /dev/null
+++ b/freebsdtvision/tutorial/tvguid07.cc
@@ -0,0 +1,226 @@
+/*---------------------------------------------------------*/
+/* */
+/* Turbo Vision 1.0 */
+/* TVGUID07 Demo Source File */
+/* Copyright (c) 1991 by Borland International */
+/* */
+/*---------------------------------------------------------*/
+/*
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
+ */
+
+// same as tvguid06 except for improved draw method
+
+#define Uses_TEventQueue
+#define Uses_TEvent
+#define Uses_TProgram
+#define Uses_TApplication
+#define Uses_TKeys
+#define Uses_TRect
+#define Uses_TMenuBar
+#define Uses_TSubMenu
+#define Uses_TMenuItem
+#define Uses_TStatusLine
+#define Uses_TStatusItem
+#define Uses_TStatusDef
+#define Uses_TDeskTop
+#define Uses_TView
+#define Uses_TWindow
+#include <tvision/tv.h>
+
+#include <iostream>
+#include <fstream> // for ifstream
+
+#include <stdlib.h> // for exit(), random()
+#include <stdio.h> // for puts() etc
+#include <string.h> // for strlen etc
+#include <ctype.h>
+
+using std::cout;
+using std::endl;
+using std::ifstream;
+
+const int cmMyFileOpen = 200; // assign new command values
+const int cmMyNewWin = 201;
+
+/* SS: micro change here */
+
+const char *fileToRead = "tvguid07.cc";
+//const char *fileToRead = "tvguid07.cpp";
+const int maxLineLength = maxViewWidth+1;
+const int maxLines = 100;
+char *lines[maxLines];
+int lineCount = 0;
+
+void readFile( const char *fileName )
+{
+ ifstream fileToView( fileName );
+ if( !fileToView )
+ {
+ cout << "Invalid file name..." << endl;
+ exit( 1 );
+ }
+ else
+ {
+ char buf[maxLineLength];
+ while( lineCount < maxLines &&
+ fileToView.getline( buf, maxLineLength ) != 0 )
+ {
+ lines[lineCount] = newStr( buf );
+ lineCount++;
+ }
+ }
+}
+
+void deleteFile()
+{
+ for( int i = 0; i < lineCount; i++ )
+ delete lines[i];
+}
+
+class TMyApp : public TApplication
+{
+
+public:
+ TMyApp();
+ static TStatusLine *initStatusLine( TRect r );
+ static TMenuBar *initMenuBar( TRect r );
+ virtual void handleEvent( TEvent& event);
+ void myNewWindow();
+};
+
+
+static short winNumber = 0; // initialize window number
+
+class TDemoWindow : public TWindow // define a new window class
+{
+
+public:
+
+ TDemoWindow( const TRect& r, const char *aTitle, short aNumber );
+
+};
+
+class TInterior : public TView
+{
+
+public:
+
+ TInterior( const TRect& bounds ); // constructor
+ virtual void draw(); // override TView::draw
+};
+
+TInterior::TInterior( const TRect& bounds ) : TView( bounds )
+{
+ growMode = gfGrowHiX | gfGrowHiY; //make size follow that of the window
+ options = options | ofFramed;
+}
+
+void TInterior::draw()
+{
+ ushort color = getColor(0x0301);
+ for( int i = 0; i < size.y; i++ )
+ {
+ TDrawBuffer b;
+ b.moveChar( 0, ' ', color, size.x );
+ // fill line buffer with spaces
+ if( lines[i] )
+ {
+ char s[maxLineLength];
+ strncpy( s, lines[i], size.x );
+ s[size.x] = EOS;
+ b.moveStr( 0, s, color );
+ }
+ writeLine( 0, i, size.x, 1, b);
+ }
+}
+
+TMyApp::TMyApp() :
+ TProgInit( &TMyApp::initStatusLine,
+ &TMyApp::initMenuBar,
+ &TMyApp::initDeskTop
+ )
+{
+}
+
+TStatusLine *TMyApp::initStatusLine(TRect r)
+{
+ r.a.y = r.b.y - 1; // move top to 1 line above bottom
+ return new TStatusLine( r,
+ *new TStatusDef( 0, 0xFFFF ) +
+ // set range of help contexts
+ *new TStatusItem( 0, kbF10, cmMenu ) +
+ // define an item
+ *new TStatusItem( "~Alt-X~ Exit", kbAltX, cmQuit ) +
+ // and another one
+ *new TStatusItem( "~Alt-F3~ Close", kbAltF3, cmClose )
+ // and another one
+ );
+}
+
+TMenuBar *TMyApp::initMenuBar( TRect r )
+{
+ r.b.y = r.a.y + 1; // set bottom line 1 line below top line
+ return new TMenuBar( r,
+ *new TSubMenu( "~F~ile", kbAltF )+
+ *new TMenuItem( "~O~pen", cmMyFileOpen, kbF3, hcNoContext, "F3" )+
+ *new TMenuItem( "~N~ew", cmMyNewWin, kbF4, hcNoContext, "F4" )+
+ newLine()+
+ *new TMenuItem( "E~x~it", cmQuit, cmQuit, hcNoContext, "Alt-X" )+
+ *new TSubMenu( "~W~indow", kbAltW )+
+ *new TMenuItem( "~N~ext", cmNext, kbF6, hcNoContext, "F6" )+
+ *new TMenuItem( "~Z~oom", cmZoom, kbF5, hcNoContext, "F5" )
+ );
+}
+
+void TMyApp::handleEvent(TEvent& event)
+{
+ TApplication::handleEvent(event); // act like base!
+ if( event.what == evCommand )
+ {
+ switch( event.message.command )
+ {
+ case cmMyNewWin: // but respond to additional commands
+ myNewWindow(); // define action for cmMyNewWin
+ // command
+ break;
+ default:
+ return;
+ }
+ clearEvent( event ); // clear event after handling
+ }
+}
+
+void TMyApp::myNewWindow()
+{
+ TRect r( 0, 0, 26, 7 ); // set initial size and position
+
+ /* SS: micro change here */
+
+ //r.move( random(53), random(16) ); // randomly move around screen
+ r.move( random() % 53, random() % 16 ); // randomly move around screen
+ TDemoWindow *window = new TDemoWindow ( r, "Demo Window", ++winNumber);
+ deskTop->insert(window); // put window into desktop and draw it
+}
+
+
+TDemoWindow::TDemoWindow( const TRect& bounds, const char *aTitle,
+ short aNumber) :
+ TWindow( bounds, aTitle, aNumber),
+ TWindowInit( &TDemoWindow::initFrame )
+{
+ TRect r = getClipRect(); // get exposed area
+ r.grow(-1, -1); // make interior fit inside window frame
+ insert( new TInterior(r) ); // add interior to window
+}
+
+
+int main()
+{
+ readFile( fileToRead );
+ TMyApp myApp;
+ myApp.run();
+ deleteFile();
+ return 0;
+}
diff --git a/freebsdtvision/tutorial/tvguid08.cc b/freebsdtvision/tutorial/tvguid08.cc
new file mode 100644
index 0000000..d12c5b2
--- /dev/null
+++ b/freebsdtvision/tutorial/tvguid08.cc
@@ -0,0 +1,248 @@
+/*---------------------------------------------------------*/
+/* */
+/* Turbo Vision 1.0 */
+/* TVGUID08 Demo Source File */
+/* Copyright (c) 1991 by Borland International */
+/* */
+/*---------------------------------------------------------*/
+/*
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
+ */
+
+// same as tvguid07 except for scrolling interior
+// add TDemoWindow::makeInterior
+
+#define Uses_TEventQueue
+#define Uses_TEvent
+#define Uses_TProgram
+#define Uses_TApplication
+#define Uses_TKeys
+#define Uses_TRect
+#define Uses_TMenuBar
+#define Uses_TSubMenu
+#define Uses_TMenuItem
+#define Uses_TStatusLine
+#define Uses_TStatusItem
+#define Uses_TStatusDef
+#define Uses_TDeskTop
+#define Uses_TView
+#define Uses_TWindow
+#define Uses_TScroller
+#define Uses_TScrollBar
+#include <tvision/tv.h>
+
+#include <iostream>
+#include <fstream>
+
+#include <stdlib.h> // for exit(), random()
+#include <stdio.h> // for puts() etc
+#include <string.h> // for strlen etc
+#include <ctype.h>
+
+using std::ifstream;
+using std::cout;
+using std::endl;
+
+const int cmMyFileOpen = 200; // assign new command values
+const int cmMyNewWin = 201;
+
+/* SS: micro change here */
+
+const char *fileToRead = "tvguid08.cc";
+//const char *fileToRead = "tvguid08.cpp";
+const int maxLineLength = maxViewWidth+1;
+const int maxLines = 100;
+char *lines[maxLines];
+int lineCount = 0;
+
+void readFile( const char *fileName )
+{
+ ifstream fileToView( fileName );
+ if( !fileToView )
+ {
+ cout << "Invalid file name..." << endl;
+ exit( 1 );
+ }
+ else
+ {
+ char buf[maxLineLength];
+ while( lineCount < maxLines &&
+ fileToView.getline( buf, maxLineLength ) != 0 )
+ {
+ lines[lineCount] = newStr( buf );
+ lineCount++;
+ }
+ }
+}
+
+void deleteFile()
+{
+ for( int i = 0; i < lineCount; i++ )
+ delete lines[i];
+}
+
+class TMyApp : public TApplication
+{
+
+public:
+ TMyApp();
+ static TStatusLine *initStatusLine( TRect r );
+ static TMenuBar *initMenuBar( TRect r );
+ virtual void handleEvent( TEvent& event);
+ void myNewWindow();
+};
+
+
+static short winNumber = 0; // initialize window number
+
+class TDemoWindow : public TWindow // define a new window class
+{
+
+public:
+
+ TDemoWindow( const TRect& bounds, const char *aTitle, short aNumber );
+ void makeInterior();
+
+};
+
+class TInterior : public TScroller
+{
+
+public:
+
+ TInterior( const TRect& bounds, TScrollBar *aHScrollBar,
+ TScrollBar *aVScrollBar ); // constructor
+ virtual void draw(); // override TView::draw
+};
+
+TInterior::TInterior( const TRect& bounds, TScrollBar *aHScrollBar,
+ TScrollBar *aVScrollBar ) :
+ TScroller( bounds, aHScrollBar, aVScrollBar )
+{
+ growMode = gfGrowHiX | gfGrowHiY;
+ options = options | ofFramed;
+ setLimit( maxLineLength, maxLines );
+}
+
+void TInterior::draw() // modified for scroller
+{
+ ushort color = getColor(0x0301);
+ for( int i = 0; i < size.y; i++ )
+ // for each line:
+ {
+ TDrawBuffer b;
+ b.moveChar( 0, ' ', color, size.x );
+ // fill line buffer with spaces
+ int j = delta.y + i; // delta is scroller offset
+ if( lines[j] )
+ {
+ char s[maxLineLength];
+ if( delta.x > (int)strlen(lines[j] ) )
+ s[0] = EOS;
+ else
+ {
+ strncpy( s, lines[j]+delta.x, size.x );
+ s[size.x] = EOS;
+ }
+ b.moveStr( 0, s, color );
+ }
+ writeLine( 0, i, size.x, 1, b);
+ }
+}
+
+void TDemoWindow::makeInterior()
+{
+ TScrollBar *vScrollBar =
+ standardScrollBar( sbVertical | sbHandleKeyboard );
+ TScrollBar *hScrollBar =
+ standardScrollBar( sbHorizontal | sbHandleKeyboard );
+ TRect r = getClipRect(); // get exposed view bounds
+ r.grow( -1, -1 ); // shrink to fit inside window frame
+ insert( new TInterior( r, hScrollBar, vScrollBar ));
+}
+
+TMyApp::TMyApp() :
+ TProgInit( &TMyApp::initStatusLine,
+ &TMyApp::initMenuBar,
+ &TMyApp::initDeskTop
+ )
+{
+}
+
+TStatusLine *TMyApp::initStatusLine(TRect r)
+{
+ r.a.y = r.b.y - 1; // move top to 1 line above bottom
+ return new TStatusLine( r,
+ *new TStatusDef( 0, 0xFFFF ) +
+ // set range of help contexts
+ *new TStatusItem( 0, kbF10, cmMenu ) +
+ // define an item
+ *new TStatusItem( "~Alt-X~ Exit", kbAltX, cmQuit ) +
+ // and another one
+ *new TStatusItem( "~Alt-F3~ Close", kbAltF3, cmClose )
+ // and another one
+ );
+}
+
+TMenuBar *TMyApp::initMenuBar( TRect r )
+{
+ r.b.y = r.a.y + 1; // set bottom line 1 line below top line
+ return new TMenuBar( r,
+ *new TSubMenu( "~F~ile", kbAltF )+
+ *new TMenuItem( "~O~pen", cmMyFileOpen, kbF3, hcNoContext, "F3" )+
+ *new TMenuItem( "~N~ew", cmMyNewWin, kbF4, hcNoContext, "F4" )+
+ newLine()+
+ *new TMenuItem( "E~x~it", cmQuit, cmQuit, hcNoContext, "Alt-X" )+
+ *new TSubMenu( "~W~indow", kbAltW )+
+ *new TMenuItem( "~N~ext", cmNext, kbF6, hcNoContext, "F6" )+
+ *new TMenuItem( "~Z~oom", cmZoom, kbF5, hcNoContext, "F5" )
+ );
+}
+
+void TMyApp::handleEvent(TEvent& event)
+{
+ TApplication::handleEvent(event); // act like base!
+ if( event.what == evCommand )
+ {
+ switch( event.message.command )
+ {
+ case cmMyNewWin: // but respond to additional commands
+ myNewWindow(); // define action for cmMyNewWin // command
+ break;
+ default:
+ return;
+ }
+ clearEvent( event ); // clear event after handling
+ }
+}
+
+void TMyApp::myNewWindow()
+{
+ TRect r( 0, 0, 26, 7 ); // set initial size and position
+
+ /* SS: micro change here */
+
+ //r.move( random(53), random(16) ); // randomly move around screen
+ r.move( random() % 53, random() % 16 ); // randomly move around screen
+ TDemoWindow *window = new TDemoWindow ( r, "Demo Window", ++winNumber);
+ deskTop->insert(window); // put window into desktop and draw it
+}
+
+TDemoWindow::TDemoWindow( const TRect& bounds, const char *aTitle,
+ short aNumber) :
+ TWindow( bounds, aTitle, aNumber),
+ TWindowInit( &TDemoWindow::initFrame )
+{
+ makeInterior(); // creates scrollable interior and inserts into window
+}
+
+
+int main()
+{
+ readFile( fileToRead );
+ TMyApp myApp;
+ myApp.run();
+ deleteFile();
+ return 0;
+}
diff --git a/freebsdtvision/tutorial/tvguid09.cc b/freebsdtvision/tutorial/tvguid09.cc
new file mode 100644
index 0000000..21cff09
--- /dev/null
+++ b/freebsdtvision/tutorial/tvguid09.cc
@@ -0,0 +1,278 @@
+/*---------------------------------------------------------*/
+/* */
+/* Turbo Vision 1.0 */
+/* TVGUID09 Demo Source File */
+/* Copyright (c) 1991 by Borland International */
+/* */
+/*---------------------------------------------------------*/
+/*
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
+ */
+
+// same as tvguid08 except for multiple panes
+// modify TDemoWindow::makeInterior and constructor
+
+#define Uses_TEventQueue
+#define Uses_TEvent
+#define Uses_TProgram
+#define Uses_TApplication
+#define Uses_TKeys
+#define Uses_TRect
+#define Uses_TMenuBar
+#define Uses_TSubMenu
+#define Uses_TMenuItem
+#define Uses_TStatusLine
+#define Uses_TStatusItem
+#define Uses_TStatusDef
+#define Uses_TDeskTop
+#define Uses_TView
+#define Uses_TWindow
+#define Uses_TFrame
+#define Uses_TScroller
+#define Uses_TScrollBar
+#include <tvision/tv.h>
+
+#include <iostream>
+#include <fstream>
+
+#include <stdlib.h> // for exit(), random()
+#include <stdio.h> // for puts() etc
+#include <string.h> // for strlen etc
+#include <ctype.h>
+
+using std::ifstream;
+using std::cout;
+using std::endl;
+
+const int cmMyFileOpen = 200; // assign new command values
+const int cmMyNewWin = 201;
+
+/* SS: micro change here */
+
+const char *fileToRead = "tvguid09.cc";
+//const char *fileToRead = "tvguid09.cpp";
+const int maxLineLength = maxViewWidth+1;
+const int maxLines = 100;
+char *lines[maxLines];
+int lineCount = 0;
+static short winNumber = 0; // initialize window number
+
+class TMyApp : public TApplication
+{
+
+public:
+ TMyApp();
+ static TStatusLine *initStatusLine( TRect r );
+ static TMenuBar *initMenuBar( TRect r );
+ virtual void handleEvent( TEvent& event);
+ void newWindow();
+};
+
+class TInterior : public TScroller
+{
+
+public:
+
+ TInterior( const TRect& bounds, TScrollBar *aHScrollBar,
+ TScrollBar *aVScrollBar ); // constructor
+ virtual void draw(); // override TView::draw
+};
+
+class TDemoWindow : public TWindow // define a new window class
+{
+
+public:
+
+ TDemoWindow( const TRect& bounds, const char *aTitle, short aNumber );
+ TInterior *makeInterior( const TRect& r, Boolean left );
+
+};
+
+void readFile( const char *fileName )
+{
+ ifstream fileToView( fileName );
+ if( !fileToView )
+ {
+ cout << "Invalid file name..." << endl;
+ exit( 1 );
+ }
+ else
+ {
+ char buf[maxLineLength];
+ while( lineCount < maxLines &&
+ fileToView.getline( buf, maxLineLength ) != 0 )
+ {
+ lines[lineCount] = newStr( buf );
+ lineCount++;
+ }
+ }
+}
+
+void deleteFile()
+{
+ for( int i = 0; i < lineCount; i++ )
+ delete lines[i];
+}
+
+TInterior::TInterior( const TRect& bounds, TScrollBar *aHScrollBar,
+ TScrollBar *aVScrollBar ) :
+ TScroller( bounds, aHScrollBar, aVScrollBar )
+{
+ options = options | ofFramed;
+ setLimit( maxLineLength, lineCount );
+}
+
+void TInterior::draw() // modified for scroller
+{
+ ushort color = getColor(0x0301);
+ for( int i = 0; i < size.y; i++ )
+ // for each line:
+ {
+ TDrawBuffer b;
+ b.moveChar( 0, ' ', color, size.x );
+ // fill line buffer with spaces
+ int j = delta.y + i; // delta is scroller offset
+ if( j < lineCount && lines[j] != 0 )
+ {
+ char s[maxLineLength];
+ if( delta.x > (int)strlen(lines[j] ) )
+ s[0] = EOS;
+ else
+ {
+ strncpy( s, lines[j]+delta.x, size.x );
+ s[size.x] = EOS;
+ }
+ b.moveCStr( 0, s, color );
+ }
+ writeLine( 0, i, size.x, 1, b);
+ }
+
+}
+
+TDemoWindow::TDemoWindow( const TRect& bounds, const char *aTitle,
+ short aNumber) :
+ TWindow( bounds, aTitle, aNumber),
+ TWindowInit( &TDemoWindow::initFrame )
+{
+ TRect lbounds = getExtent();
+ TRect r( lbounds.a.x, lbounds.a.y, lbounds.b.x/2+1, lbounds.b.y );
+ TInterior *lInterior = makeInterior( r, True );
+ lInterior->growMode = gfGrowHiY;
+ insert( lInterior );
+ // creates left-side scrollable interior and inserts into window
+ r = TRect( lbounds.b.x/2, lbounds.a.y, lbounds.b.x, lbounds.b.y );
+ TInterior *rInterior = makeInterior( r, False );
+ rInterior->growMode = gfGrowHiX | gfGrowHiY;
+ insert( rInterior );
+ // likewise for right-side scroller
+}
+
+TInterior *TDemoWindow::makeInterior( const TRect& bounds, Boolean left )
+{
+ TRect r = TRect( bounds.b.x-1, bounds.a.y+1, bounds.b.x, bounds.b.y-1 );
+ TScrollBar *vScrollBar = new TScrollBar( r );
+ if( vScrollBar == 0 )
+ {
+ cout << "vScrollbar init error" << endl;
+ exit(1);
+ }
+ // production code would display error dialog box
+ vScrollBar->options |= ofPostProcess;
+ if( left )
+ vScrollBar->growMode = gfGrowHiY;
+ insert( vScrollBar );
+
+ r = TRect( bounds.a.x+2, bounds.b.y-1, bounds.b.x-2, bounds.b.y );
+ TScrollBar *hScrollBar = new TScrollBar( r );
+ if( hScrollBar == 0 )
+ {
+ cout << "hScrollbar init error" << endl;
+ exit(1);
+ }
+ hScrollBar->options |= ofPostProcess;
+ if( left )
+ hScrollBar->growMode = (gfGrowHiY | gfGrowLoY);
+ insert( hScrollBar );
+
+ r = bounds;
+ r.grow( -1, -1 );
+ return new TInterior( r, hScrollBar, vScrollBar );
+}
+
+TMyApp::TMyApp() :
+ TProgInit( &TMyApp::initStatusLine,
+ &TMyApp::initMenuBar,
+ &TMyApp::initDeskTop
+ )
+{
+}
+
+void TMyApp::handleEvent(TEvent& event)
+{
+ TApplication::handleEvent(event); // act like base!
+ if( event.what == evCommand )
+ {
+ switch( event.message.command )
+ {
+ case cmMyNewWin: // but respond to additional commands
+ newWindow(); // define action for cmMyNewWin
+ // command
+ break;
+ default:
+ return;
+ }
+ clearEvent( event ); // clear event after handling
+ }
+}
+
+TMenuBar *TMyApp::initMenuBar( TRect r )
+{
+ r.b.y = r.a.y + 1; // set bottom line 1 line below top line
+ return new TMenuBar( r,
+ *new TSubMenu( "~F~ile", kbAltF )+
+ *new TMenuItem( "~O~pen", cmMyFileOpen, kbF3, hcNoContext, "F3" )+
+ *new TMenuItem( "~N~ew", cmMyNewWin, kbF4, hcNoContext, "F4" )+
+ newLine()+
+ *new TMenuItem( "E~x~it", cmQuit, cmQuit, hcNoContext, "Alt-X" )+
+ *new TSubMenu( "~W~indow", kbAltW )+
+ *new TMenuItem( "~N~ext", cmNext, kbF6, hcNoContext, "F6" )+
+ *new TMenuItem( "~Z~oom", cmZoom, kbF5, hcNoContext, "F5" )
+ );
+}
+
+TStatusLine *TMyApp::initStatusLine( TRect r )
+{
+ r.a.y = r.b.y - 1; // move top to 1 line above bottom
+ return new TStatusLine( r,
+ *new TStatusDef( 0, 0xFFFF ) +
+ // set range of help contexts
+ *new TStatusItem( 0, kbF10, cmMenu ) +
+ // define an item
+ *new TStatusItem( "~Alt-X~ Exit", kbAltX, cmQuit ) +
+ // and another one
+ *new TStatusItem( "~Alt-F3~ Close", kbAltF3, cmClose )
+ // and another one
+ );
+}
+
+void TMyApp::newWindow()
+{
+ TRect r( 0, 0, 45, 13 ); // set initial size and position
+
+ /* SS: micro change here */
+
+ //r.move( random(34), random(11) ); // randomly move around screen
+ r.move( random() % 34, random() % 11 ); // randomly move around screen
+ TDemoWindow *window = new TDemoWindow ( r, "Demo Window", ++winNumber);
+ deskTop->insert(window); // put window into desktop and draw it
+}
+
+int main()
+{
+ readFile( fileToRead );
+ TMyApp myApp;
+ myApp.run();
+ deleteFile();
+ return 0;
+}
diff --git a/freebsdtvision/tutorial/tvguid10.cc b/freebsdtvision/tutorial/tvguid10.cc
new file mode 100644
index 0000000..6a8e2a6
--- /dev/null
+++ b/freebsdtvision/tutorial/tvguid10.cc
@@ -0,0 +1,290 @@
+/*---------------------------------------------------------*/
+/* */
+/* Turbo Vision 1.0 */
+/* TVGUID10 Demo Source File */
+/* Copyright (c) 1991 by Borland International */
+/* */
+/*---------------------------------------------------------*/
+/*
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
+ */
+
+// same as tvguid09 except for better handling of resizing
+// add TDemoWindow::sizeLimits
+
+#define Uses_TEventQueue
+#define Uses_TEvent
+#define Uses_TProgram
+#define Uses_TApplication
+#define Uses_TKeys
+#define Uses_TRect
+#define Uses_TMenuBar
+#define Uses_TSubMenu
+#define Uses_TMenuItem
+#define Uses_TStatusLine
+#define Uses_TStatusItem
+#define Uses_TStatusDef
+#define Uses_TDeskTop
+#define Uses_TView
+#define Uses_TWindow
+#define Uses_TFrame
+#define Uses_TScroller
+#define Uses_TScrollBar
+#include <tvision/tv.h>
+
+#include <iostream>
+#include <fstream>
+
+#include <stdlib.h> // for exit(), random()
+#include <stdio.h> // for puts() etc
+#include <string.h> // for strlen etc
+#include <ctype.h>
+
+using std::cout;
+using std::endl;
+using std::ifstream;
+
+const int cmMyFileOpen = 200; // assign new command values
+const int cmMyNewWin = 201;
+
+/* SS: micro change here */
+
+const char *fileToRead = "tvguid10.cc";
+//const char *fileToRead = "tvguid10.cpp";
+const int maxLineLength = maxViewWidth+1;
+const int maxLines = 100;
+char *lines[maxLines];
+int lineCount = 0;
+static short winNumber = 0; // initialize window number
+
+class TMyApp : public TApplication
+{
+
+public:
+ TMyApp();
+ static TStatusLine *initStatusLine( TRect r );
+ static TMenuBar *initMenuBar( TRect r );
+ virtual void handleEvent( TEvent& event);
+ void newWindow();
+};
+
+class TInterior : public TScroller
+{
+
+public:
+
+ TInterior( const TRect& bounds, TScrollBar *aHScrollBar,
+ TScrollBar *aVScrollBar ); // constructor
+ virtual void draw(); // override TView::draw
+};
+
+class TDemoWindow : public TWindow // define a new window class
+{
+
+public:
+
+ TDemoWindow( const TRect& bounds, const char *aTitle, short aNumber );
+ TInterior *makeInterior( const TRect& r, Boolean left );
+ virtual void sizeLimits( TPoint& minP, TPoint& maxP );
+ // override TWindow::sizeLimits
+
+private:
+
+ TInterior *lInterior, *rInterior;
+
+};
+
+void readFile( const char *fileName )
+{
+ ifstream fileToView( fileName );
+ if( !fileToView )
+ {
+ cout << "Invalid file name..." << endl;
+ exit( 1 );
+ }
+ else
+ {
+ char buf[maxLineLength];
+ while( lineCount < maxLines &&
+ fileToView.getline( buf, maxLineLength ) != 0 )
+ {
+ lines[lineCount] = newStr( buf );
+ lineCount++;
+ }
+ }
+}
+
+void deleteFile()
+{
+ for( int i = 0; i < lineCount; i++ )
+ delete lines[i];
+}
+
+TInterior::TInterior( const TRect& bounds, TScrollBar *aHScrollBar,
+ TScrollBar *aVScrollBar ) :
+ TScroller( bounds, aHScrollBar, aVScrollBar )
+{
+ options = options | ofFramed;
+ setLimit( maxLineLength, lineCount );
+}
+
+void TInterior::draw() // modified for scroller
+{
+ ushort color = getColor(0x0301);
+ for( int i = 0; i < size.y; i++ )
+ // for each line:
+ {
+ TDrawBuffer b;
+ b.moveChar( 0, ' ', color, size.x );
+ // fill line buffer with spaces
+ int j = delta.y + i; // delta is scroller offset
+ if( j < lineCount && lines[j] != 0 )
+ {
+ char s[maxLineLength];
+ if( delta.x > (int)strlen(lines[j] ) )
+ s[0] = EOS;
+ else
+ {
+ strncpy( s, lines[j]+delta.x, size.x );
+ s[size.x] = EOS;
+ }
+ b.moveCStr( 0, s, color );
+ }
+ writeLine( 0, i, size.x, 1, b);
+ }
+
+}
+
+TDemoWindow::TDemoWindow( const TRect& bounds, const char *aTitle,
+ short aNumber) :
+ TWindow( bounds, aTitle, aNumber),
+ TWindowInit( &TDemoWindow::initFrame )
+{
+ TRect lbounds = getExtent();
+ TRect r( lbounds.a.x, lbounds.a.y, lbounds.b.x/2+1, lbounds.b.y );
+ lInterior = makeInterior( r, True );
+ lInterior->growMode = gfGrowHiY;
+ insert( lInterior );
+ // creates left-side scrollable interior and inserts into window
+ r = TRect( lbounds.b.x/2, lbounds.a.y, lbounds.b.x, lbounds.b.y );
+ rInterior = makeInterior( r, False );
+ rInterior->growMode = gfGrowHiX | gfGrowHiY;
+ insert( rInterior );
+ // likewise for right-side scroller
+}
+
+TInterior *TDemoWindow::makeInterior( const TRect& bounds, Boolean left )
+{
+ TRect r = TRect( bounds.b.x-1, bounds.a.y+1, bounds.b.x, bounds.b.y-1 );
+ TScrollBar *vScrollBar = new TScrollBar( r );
+ if( vScrollBar == 0 )
+ {
+ cout << "vScrollbar init error" << endl;
+ exit(1);
+ }
+ // production code would display error dialog box
+ vScrollBar->options |= ofPostProcess;
+ if( left )
+ vScrollBar->growMode = gfGrowHiY;
+ insert( vScrollBar );
+
+ r = TRect( bounds.a.x+2, bounds.b.y-1, bounds.b.x-2, bounds.b.y );
+ TScrollBar *hScrollBar = new TScrollBar( r );
+ if( hScrollBar == 0 )
+ {
+ cout << "hScrollbar init error" << endl;
+ exit(1);
+ }
+ hScrollBar->options |= ofPostProcess;
+ if( left )
+ hScrollBar->growMode = (gfGrowHiY | gfGrowLoY);
+ insert( hScrollBar );
+
+ r = bounds;
+ r.grow( -1, -1 );
+ return new TInterior( r, hScrollBar, vScrollBar );
+}
+
+void TDemoWindow::sizeLimits( TPoint& minP, TPoint& maxP )
+{
+ TWindow::sizeLimits( minP, maxP );
+ minP.x = lInterior->size.x+9;
+}
+
+TMyApp::TMyApp() :
+ TProgInit( &TMyApp::initStatusLine,
+ &TMyApp::initMenuBar,
+ &TMyApp::initDeskTop
+ )
+{
+}
+
+void TMyApp::handleEvent(TEvent& event)
+{
+ TApplication::handleEvent(event); // act like base!
+ if( event.what == evCommand )
+ {
+ switch( event.message.command )
+ {
+ case cmMyNewWin: // but respond to additional commands
+ newWindow(); // define action for cmMyNewWin
+ // command
+ break;
+ default:
+ return;
+ }
+ clearEvent( event ); // clear event after handling
+ }
+}
+
+TMenuBar *TMyApp::initMenuBar( TRect r )
+{
+ r.b.y = r.a.y + 1; // set bottom line 1 line below top line
+ return new TMenuBar( r,
+ *new TSubMenu( "~F~ile", kbAltF )+
+ *new TMenuItem( "~O~pen", cmMyFileOpen, kbF3, hcNoContext, "F3" )+
+ *new TMenuItem( "~N~ew", cmMyNewWin, kbF4, hcNoContext, "F4" )+
+ newLine()+
+ *new TMenuItem( "E~x~it", cmQuit, cmQuit, hcNoContext, "Alt-X" )+
+ *new TSubMenu( "~W~indow", kbAltW )+
+ *new TMenuItem( "~N~ext", cmNext, kbF6, hcNoContext, "F6" )+
+ *new TMenuItem( "~Z~oom", cmZoom, kbF5, hcNoContext, "F5" )
+ );
+}
+
+TStatusLine *TMyApp::initStatusLine( TRect r )
+{
+ r.a.y = r.b.y - 1; // move top to 1 line above bottom
+ return new TStatusLine( r,
+ *new TStatusDef( 0, 0xFFFF ) +
+ // set range of help contexts
+ *new TStatusItem( 0, kbF10, cmMenu ) +
+ // define an item
+ *new TStatusItem( "~Alt-X~ Exit", kbAltX, cmQuit ) +
+ // and another one
+ *new TStatusItem( "~Alt-F3~ Close", kbAltF3, cmClose )
+ // and another one
+ );
+}
+
+void TMyApp::newWindow()
+{
+ TRect r( 0, 0, 45, 13 ); // set initial size and position
+
+ /* SS: micro change here */
+
+ //r.move( random(34), random(11) ); // randomly move around screen
+ r.move( random() % 34, random() % 11 ); // randomly move around screen
+ TDemoWindow *window = new TDemoWindow ( r, "Demo Window", ++winNumber);
+ deskTop->insert(window); // put window into desktop and draw it
+}
+
+int main()
+{
+ readFile( fileToRead );
+ TMyApp myApp;
+ myApp.run();
+ deleteFile();
+ return 0;
+}
diff --git a/freebsdtvision/tutorial/tvguid11.cc b/freebsdtvision/tutorial/tvguid11.cc
new file mode 100644
index 0000000..bfc5c7f
--- /dev/null
+++ b/freebsdtvision/tutorial/tvguid11.cc
@@ -0,0 +1,314 @@
+/*---------------------------------------------------------*/
+/* */
+/* Turbo Vision 1.0 */
+/* TVGUID11 Demo Source File */
+/* Copyright (c) 1991 by Borland International */
+/* */
+/*---------------------------------------------------------*/
+/*
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
+ */
+
+// same as tvguid10 except for added dialog box
+// modify TMyApp
+
+#define Uses_TEventQueue
+#define Uses_TEvent
+#define Uses_TProgram
+#define Uses_TApplication
+#define Uses_TKeys
+#define Uses_TRect
+#define Uses_TMenuBar
+#define Uses_TSubMenu
+#define Uses_TMenuItem
+#define Uses_TStatusLine
+#define Uses_TStatusItem
+#define Uses_TStatusDef
+#define Uses_TDeskTop
+#define Uses_TView
+#define Uses_TWindow
+#define Uses_TScroller
+#define Uses_TScrollBar
+#define Uses_TDialog
+#include <tvision/tv.h>
+
+#include <iostream>
+#include <fstream>
+
+#include <stdlib.h> // for exit(), random()
+#include <stdio.h> // for puts() etc
+#include <string.h> // for strlen etc
+#include <ctype.h>
+
+using std::cout;
+using std::endl;
+using std::ifstream;
+
+// note the extra #define above
+
+const int cmMyFileOpen = 200; // assign new command values
+const int cmMyNewWin = 201;
+
+// added for dialog menu
+const int cmNewDialog = 202;
+
+/* SS: micro change here */
+
+const char *fileToRead = "tvguid11.cc";
+//const char *fileToRead = "tvguid11.cpp";
+const int maxLineLength = maxViewWidth+1;
+const int maxLines = 100;
+char *lines[maxLines];
+int lineCount = 0;
+static short winNumber = 0; // initialize window number
+
+class TMyApp : public TApplication
+{
+
+public:
+ TMyApp();
+ static TStatusLine *initStatusLine( TRect r );
+ static TMenuBar *initMenuBar( TRect r );
+ virtual void handleEvent( TEvent& event);
+ void newWindow();
+ void newDialog();
+ // added member
+};
+
+class TInterior : public TScroller
+{
+
+public:
+
+ TInterior( const TRect& bounds, TScrollBar *aHScrollBar,
+ TScrollBar *aVScrollBar ); // constructor
+ virtual void draw(); // override TView::draw
+};
+
+class TDemoWindow : public TWindow // define a new window class
+{
+
+public:
+
+ TDemoWindow( const TRect& bounds, const char *aTitle, short aNumber );
+ TInterior *makeInterior( const TRect& r, Boolean left );
+ virtual void sizeLimits( TPoint& minP, TPoint& maxP );
+ // override TWindow::sizeLimits
+
+private:
+
+ TInterior *lInterior, *rInterior;
+
+};
+
+void readFile( const char *fileName )
+{
+ ifstream fileToView( fileName );
+ if( !fileToView )
+ {
+ cout << "Invalid file name..." << endl;
+ exit( 1 );
+ }
+ else
+ {
+ char buf[maxLineLength];
+ while( lineCount < maxLines &&
+ fileToView.getline( buf, maxLineLength ) != 0 )
+ {
+ lines[lineCount] = newStr( buf );
+ lineCount++;
+ }
+ }
+}
+
+void deleteFile()
+{
+ for( int i = 0; i < lineCount; i++ )
+ delete lines[i];
+}
+
+TInterior::TInterior( const TRect& bounds, TScrollBar *aHScrollBar,
+ TScrollBar *aVScrollBar ) :
+ TScroller( bounds, aHScrollBar, aVScrollBar )
+{
+ options = options | ofFramed;
+ setLimit( maxLineLength, lineCount );
+}
+
+void TInterior::draw() // modified for scroller
+{
+ ushort color = getColor(0x0301);
+ for( int i = 0; i < size.y; i++ )
+ // for each line:
+ {
+ TDrawBuffer b;
+ b.moveChar( 0, ' ', color, size.x );
+ // fill line buffer with spaces
+ int j = delta.y + i; // delta is scroller offset
+ if( j < lineCount && lines[j] != 0 )
+ {
+ char s[maxLineLength];
+ if( delta.x > (int)strlen(lines[j] ) )
+ s[0] = EOS;
+ else
+ {
+ strncpy( s, lines[j]+delta.x, size.x );
+ s[size.x] = EOS;
+ }
+ b.moveCStr( 0, s, color );
+ }
+ writeLine( 0, i, size.x, 1, b);
+ }
+
+}
+
+TDemoWindow::TDemoWindow( const TRect& bounds, const char *aTitle,
+ short aNumber) :
+ TWindow( bounds, aTitle, aNumber),
+ TWindowInit( &TDemoWindow::initFrame )
+{
+ TRect lbounds = getExtent();
+ TRect r( lbounds.a.x, lbounds.a.y, lbounds.b.x/2+1, lbounds.b.y );
+ lInterior = makeInterior( r, True );
+ lInterior->growMode = gfGrowHiY;
+ insert( lInterior );
+ // creates left-side scrollable interior and inserts into window
+ r = TRect( lbounds.b.x/2, lbounds.a.y, lbounds.b.x, lbounds.b.y );
+ rInterior = makeInterior( r, False );
+ rInterior->growMode = gfGrowHiX | gfGrowHiY;
+ insert( rInterior );
+ // likewise for right-side scroller
+}
+
+TInterior *TDemoWindow::makeInterior( const TRect& bounds, Boolean left )
+{
+ TRect r = TRect( bounds.b.x-1, bounds.a.y+1, bounds.b.x, bounds.b.y-1 );
+ TScrollBar *vScrollBar = new TScrollBar( r );
+ if( vScrollBar == 0 )
+ {
+ cout << "vScrollbar init error" << endl;
+ exit(1);
+ }
+ // production code would display error dialog box
+ vScrollBar->options |= ofPostProcess;
+ if( left )
+ vScrollBar->growMode = gfGrowHiY;
+ insert( vScrollBar );
+
+ r = TRect( bounds.a.x+2, bounds.b.y-1, bounds.b.x-2, bounds.b.y );
+ TScrollBar *hScrollBar = new TScrollBar( r );
+ if( hScrollBar == 0 )
+ {
+ cout << "hScrollbar init error" << endl;
+ exit(1);
+ }
+ hScrollBar->options |= ofPostProcess;
+ if( left )
+ hScrollBar->growMode = (gfGrowHiY | gfGrowLoY);
+ insert( hScrollBar );
+
+ r = bounds;
+ r.grow( -1, -1 );
+ return new TInterior( r, hScrollBar, vScrollBar );
+}
+
+void TDemoWindow::sizeLimits( TPoint& minP, TPoint& maxP )
+{
+ TWindow::sizeLimits( minP, maxP );
+ minP.x = lInterior->size.x+9;
+}
+
+TMyApp::TMyApp() :
+ TProgInit( &TMyApp::initStatusLine,
+ &TMyApp::initMenuBar,
+ &TMyApp::initDeskTop
+ )
+{
+}
+
+void TMyApp::handleEvent(TEvent& event)
+{
+ TApplication::handleEvent(event);
+ if( event.what == evCommand )
+ {
+ switch( event.message.command )
+ {
+ case cmMyNewWin:
+ newWindow();
+ break;
+ case cmNewDialog:
+ newDialog();
+ break;
+ default:
+ return;
+ }
+ clearEvent( event ); // clear event after handling
+ }
+}
+
+TMenuBar *TMyApp::initMenuBar( TRect r )
+{
+ r.b.y = r.a.y + 1; // set bottom line 1 line below top line
+ return new TMenuBar( r,
+ *new TSubMenu( "~F~ile", kbAltF )+
+ *new TMenuItem( "~O~pen", cmMyFileOpen, kbF3, hcNoContext, "F3" )+
+ *new TMenuItem( "~N~ew", cmMyNewWin, kbF4, hcNoContext, "F4" )+
+ newLine()+
+ *new TMenuItem( "E~x~it", cmQuit, cmQuit, hcNoContext, "Alt-X" )+
+ *new TSubMenu( "~W~indow", kbAltW )+
+ *new TMenuItem( "~N~ext", cmNext, kbF6, hcNoContext, "F6" )+
+ *new TMenuItem( "~Z~oom", cmZoom, kbF5, hcNoContext, "F5" )+
+ *new TMenuItem( "~D~ialog", cmNewDialog, kbF2, hcNoContext, "F2" )
+ // new dialog menu added here
+ );
+}
+
+TStatusLine *TMyApp::initStatusLine( TRect r )
+{
+ r.a.y = r.b.y - 1; // move top to 1 line above bottom
+ return new TStatusLine( r,
+ *new TStatusDef( 0, 0xFFFF ) +
+ // set range of help contexts
+ *new TStatusItem( 0, kbF10, cmMenu ) +
+ // define an item
+ *new TStatusItem( "~Alt-X~ Exit", kbAltX, cmQuit ) +
+ // and another one
+ *new TStatusItem( "~Alt-F3~ Close", kbAltF3, cmClose )
+ // and another one
+ );
+}
+
+void TMyApp::newWindow()
+{
+ TRect r( 0, 0, 45, 13 ); // set initial size and position
+
+ /* SS: micro change here */
+
+ //r.move( random(34), random(11) ); // randomly move around screen
+ r.move( random() % 34, random() % 11 ); // randomly move around screen
+ TDemoWindow *window = new TDemoWindow ( r, "Demo Window", ++winNumber);
+ deskTop->insert(window); // put window into desktop and draw it
+}
+
+// TMyApp needs newDialog member
+
+void TMyApp::newDialog()
+{
+ TRect r( 0, 0, 40, 13 );
+
+ /* SS: micro change here */
+
+ //r.move( random(39), random(10) );
+ r.move( random() % 39, random() % 10 );
+ deskTop->insert( new TDialog( r, "Demo Dialog" ));
+}
+
+int main()
+{
+ readFile( fileToRead );
+ TMyApp myApp;
+ myApp.run();
+ deleteFile();
+ return 0;
+}
diff --git a/freebsdtvision/tutorial/tvguid12.cc b/freebsdtvision/tutorial/tvguid12.cc
new file mode 100644
index 0000000..3061ae9
--- /dev/null
+++ b/freebsdtvision/tutorial/tvguid12.cc
@@ -0,0 +1,311 @@
+/*---------------------------------------------------------*/
+/* */
+/* Turbo Vision 1.0 */
+/* TVGUID12 Demo Source File */
+/* Copyright (c) 1991 by Borland International */
+/* */
+/*---------------------------------------------------------*/
+/*
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
+ */
+
+// same as tvguid11 except for making the dialog modal
+// modify TMyApp::newDialog
+
+#define Uses_TEventQueue
+#define Uses_TEvent
+#define Uses_TProgram
+#define Uses_TApplication
+#define Uses_TKeys
+#define Uses_TRect
+#define Uses_TMenuBar
+#define Uses_TSubMenu
+#define Uses_TMenuItem
+#define Uses_TStatusLine
+#define Uses_TStatusItem
+#define Uses_TStatusDef
+#define Uses_TDeskTop
+#define Uses_TView
+#define Uses_TWindow
+#define Uses_TScroller
+#define Uses_TScrollBar
+#define Uses_TDialog
+#include <tvision/tv.h>
+
+#include <iostream>
+#include <fstream>
+
+#include <stdlib.h> // for exit(), random()
+#include <stdio.h> // for puts() etc
+#include <string.h> // for strlen etc
+#include <ctype.h>
+
+using std::cout;
+using std::endl;
+using std::ifstream;
+
+const int cmMyFileOpen = 200; // assign new command values
+const int cmMyNewWin = 201;
+
+// added for dialog menu
+const int cmNewDialog = 202;
+
+/* SS: micro change here */
+
+const char *fileToRead = "tvguid12.cc";
+//const char *fileToRead = "tvguid12.cpp";
+const int maxLineLength = maxViewWidth+1;
+const int maxLines = 100;
+char *lines[maxLines];
+int lineCount = 0;
+static short winNumber = 0; // initialize window number
+
+class TMyApp : public TApplication
+{
+
+public:
+ TMyApp();
+ static TStatusLine *initStatusLine( TRect r );
+ static TMenuBar *initMenuBar( TRect r );
+ virtual void handleEvent( TEvent& event);
+ void newWindow();
+ void newDialog();
+};
+
+class TInterior : public TScroller
+{
+
+public:
+
+ TInterior( const TRect& bounds, TScrollBar *aHScrollBar,
+ TScrollBar *aVScrollBar ); // constructor
+ virtual void draw(); // override TView::draw
+};
+
+class TDemoWindow : public TWindow // define a new window class
+{
+
+public:
+
+ TDemoWindow( const TRect& bounds, const char *aTitle, short aNumber );
+ TInterior *makeInterior( const TRect& r, Boolean left );
+ virtual void sizeLimits( TPoint& minP, TPoint& maxP );
+ // override TWindow::sizeLimits
+
+private:
+
+ TInterior *lInterior, *rInterior;
+
+};
+
+void readFile( const char *fileName )
+{
+ ifstream fileToView( fileName );
+ if( !fileToView )
+ {
+ cout << "Invalid file name..." << endl;
+ exit( 1 );
+ }
+ else
+ {
+ char buf[maxLineLength];
+ while( lineCount < maxLines &&
+ fileToView.getline( buf, maxLineLength ) != 0 )
+ {
+ lines[lineCount] = newStr( buf );
+ lineCount++;
+ }
+ }
+}
+
+void deleteFile()
+{
+ for( int i = 0; i < lineCount; i++ )
+ delete lines[i];
+}
+
+TInterior::TInterior( const TRect& bounds, TScrollBar *aHScrollBar,
+ TScrollBar *aVScrollBar ) :
+ TScroller( bounds, aHScrollBar, aVScrollBar )
+{
+ options = options | ofFramed;
+ setLimit( maxLineLength, lineCount );
+}
+
+void TInterior::draw() // modified for scroller
+{
+ ushort color = getColor(0x0301);
+ for( int i = 0; i < size.y; i++ )
+ // for each line:
+ {
+ TDrawBuffer b;
+ b.moveChar( 0, ' ', color, size.x );
+ // fill line buffer with spaces
+ int j = delta.y + i; // delta is scroller offset
+ if( j < lineCount && lines[j] != 0 )
+ {
+ char s[maxLineLength];
+ if( delta.x > (int)strlen(lines[j] ) )
+ s[0] = EOS;
+ else
+ {
+ strncpy( s, lines[j]+delta.x, size.x );
+ s[size.x] = EOS;
+ }
+ b.moveCStr( 0, s, color );
+ }
+ writeLine( 0, i, size.x, 1, b);
+ }
+
+}
+
+// modified from tvguid08:
+TDemoWindow::TDemoWindow( const TRect& bounds, const char *aTitle,
+ short aNumber) :
+ TWindow( bounds, aTitle, aNumber),
+ TWindowInit( &TDemoWindow::initFrame )
+{
+ TRect lbounds = getExtent();
+ TRect r( lbounds.a.x, lbounds.a.y, lbounds.b.x/2+1, lbounds.b.y );
+ lInterior = makeInterior( r, True );
+ lInterior->growMode = gfGrowHiY;
+ insert( lInterior );
+ // creates left-side scrollable interior and inserts into window
+ r = TRect( lbounds.b.x/2, lbounds.a.y, lbounds.b.x, lbounds.b.y );
+ rInterior = makeInterior( r, False );
+ rInterior->growMode = gfGrowHiX | gfGrowHiY;
+ insert( rInterior );
+ // likewise for right-side scroller
+}
+
+TInterior *TDemoWindow::makeInterior( const TRect& bounds, Boolean left )
+{
+ TRect r = TRect( bounds.b.x-1, bounds.a.y+1, bounds.b.x, bounds.b.y-1 );
+ TScrollBar *vScrollBar = new TScrollBar( r );
+ if( vScrollBar == 0 )
+ {
+ cout << "vScrollbar init error" << endl;
+ exit(1);
+ }
+ // production code would display error dialog box
+ vScrollBar->options |= ofPostProcess;
+ if( left )
+ vScrollBar->growMode = gfGrowHiY;
+ insert( vScrollBar );
+
+ r = TRect( bounds.a.x+2, bounds.b.y-1, bounds.b.x-2, bounds.b.y );
+ TScrollBar *hScrollBar = new TScrollBar( r );
+ if( hScrollBar == 0 )
+ {
+ cout << "hScrollbar init error" << endl;
+ exit(1);
+ }
+ hScrollBar->options |= ofPostProcess;
+ if( left )
+ hScrollBar->growMode = (gfGrowHiY | gfGrowLoY);
+ insert( hScrollBar );
+
+ r = bounds;
+ r.grow( -1, -1 );
+ return new TInterior( r, hScrollBar, vScrollBar );
+}
+
+void TDemoWindow::sizeLimits( TPoint& minP, TPoint& maxP )
+{
+ TWindow::sizeLimits( minP, maxP );
+ minP.x = lInterior->size.x+9;
+}
+
+TMyApp::TMyApp() :
+ TProgInit( &TMyApp::initStatusLine,
+ &TMyApp::initMenuBar,
+ &TMyApp::initDeskTop
+ )
+{
+}
+
+void TMyApp::handleEvent(TEvent& event)
+{
+ TApplication::handleEvent(event);
+ if( event.what == evCommand )
+ {
+ switch( event.message.command )
+ {
+ case cmMyNewWin:
+ newWindow();
+ break;
+ case cmNewDialog:
+ newDialog();
+ break;
+ default:
+ return;
+ }
+ clearEvent( event ); // clear event after handling
+ }
+}
+
+TMenuBar *TMyApp::initMenuBar( TRect r )
+{
+ r.b.y = r.a.y + 1; // set bottom line 1 line below top line
+ return new TMenuBar( r,
+ *new TSubMenu( "~F~ile", kbAltF )+
+ *new TMenuItem( "~O~pen", cmMyFileOpen, kbF3, hcNoContext, "F3" )+
+ *new TMenuItem( "~N~ew", cmMyNewWin, kbF4, hcNoContext, "F4" )+
+ newLine()+
+ *new TMenuItem( "E~x~it", cmQuit, cmQuit, hcNoContext, "Alt-X" )+
+ *new TSubMenu( "~W~indow", kbAltW )+
+ *new TMenuItem( "~N~ext", cmNext, kbF6, hcNoContext, "F6" )+
+ *new TMenuItem( "~Z~oom", cmZoom, kbF5, hcNoContext, "F5" )+
+ *new TMenuItem( "~D~ialog", cmNewDialog, kbF2, hcNoContext, "F2" )
+ // new dialog menu added here
+ );
+}
+
+TStatusLine *TMyApp::initStatusLine( TRect r )
+{
+ r.a.y = r.b.y - 1; // move top to 1 line above bottom
+ return new TStatusLine( r,
+ *new TStatusDef( 0, 0xFFFF ) +
+ // set range of help contexts
+ *new TStatusItem( 0, kbF10, cmMenu ) +
+ // define an item
+ *new TStatusItem( "~Alt-X~ Exit", kbAltX, cmQuit ) +
+ // and another one
+ *new TStatusItem( "~Alt-F3~ Close", kbAltF3, cmClose )
+ // and another one
+ );
+}
+
+void TMyApp::newWindow()
+{
+ TRect r( 0, 0, 45, 13 ); // set initial size and position
+
+ /* SS: micro change here */
+
+ //r.move( random(34), random(11) ); // randomly move around screen
+ r.move( random() % 34, random() % 11 ); // randomly move around screen
+ TDemoWindow *window = new TDemoWindow ( r, "Demo Window", ++winNumber);
+ deskTop->insert(window); // put window into desktop and draw it
+}
+
+// changed from tvguid11: now calls execView
+void TMyApp::newDialog()
+{
+ TRect r( 0, 0, 40, 13 );
+
+ /* SS: micro change here */
+
+ //r.move( random(39), random(10) );
+ r.move( random() % 39, random() % 10 );
+ deskTop->execView( new TDialog( r, "Demo Dialog" ));
+}
+
+int main()
+{
+ readFile( fileToRead );
+ TMyApp myApp;
+ myApp.run();
+ deleteFile();
+ return 0;
+}
diff --git a/freebsdtvision/tutorial/tvguid13.cc b/freebsdtvision/tutorial/tvguid13.cc
new file mode 100644
index 0000000..d565d59
--- /dev/null
+++ b/freebsdtvision/tutorial/tvguid13.cc
@@ -0,0 +1,318 @@
+/*---------------------------------------------------------*/
+/* */
+/* Turbo Vision 1.0 */
+/* TVGUID13 Demo Source File */
+/* Copyright (c) 1991 by Borland International */
+/* */
+/*---------------------------------------------------------*/
+/*
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
+ */
+
+// same as tvguid12 except for extra buttons in dialog
+// modify TMyApp::newDialog
+
+#define Uses_TEventQueue
+#define Uses_TEvent
+#define Uses_TProgram
+#define Uses_TApplication
+#define Uses_TKeys
+#define Uses_TRect
+#define Uses_TMenuBar
+#define Uses_TSubMenu
+#define Uses_TMenuItem
+#define Uses_TStatusLine
+#define Uses_TStatusItem
+#define Uses_TStatusDef
+#define Uses_TDeskTop
+#define Uses_TView
+#define Uses_TWindow
+#define Uses_TScroller
+#define Uses_TScrollBar
+#define Uses_TDialog
+#define Uses_TButton
+#include <tvision/tv.h>
+
+#include <iostream>
+#include <fstream>
+
+#include <stdlib.h> // for exit(), random()
+#include <stdio.h> // for puts() etc
+#include <string.h> // for strlen etc
+#include <ctype.h>
+
+using std::cout;
+using std::endl;
+using std::ifstream;
+
+// note the extra #define above
+
+const int cmMyFileOpen = 200; // assign new command values
+const int cmMyNewWin = 201;
+
+// added for dialog menu
+const int cmNewDialog = 202;
+
+/* SS: micro change here */
+
+const char *fileToRead = "tvguid13.cc";
+//const char *fileToRead = "tvguid13.cpp";
+const int maxLineLength = maxViewWidth+1;
+const int maxLines = 100;
+char *lines[maxLines];
+int lineCount = 0;
+static short winNumber = 0; // initialize window number
+
+class TMyApp : public TApplication
+{
+
+public:
+ TMyApp();
+ static TStatusLine *initStatusLine( TRect r );
+ static TMenuBar *initMenuBar( TRect r );
+ virtual void handleEvent( TEvent& event);
+ void newWindow();
+ void newDialog();
+ // added member
+};
+
+class TInterior : public TScroller
+{
+
+public:
+
+ TInterior( const TRect& bounds, TScrollBar *aHScrollBar,
+ TScrollBar *aVScrollBar ); // constructor
+ virtual void draw(); // override TView::draw
+};
+
+class TDemoWindow : public TWindow // define a new window class
+{
+
+public:
+
+ TDemoWindow( const TRect& bounds, const char *aTitle, short aNumber );
+ TInterior *makeInterior( const TRect& r, Boolean left );
+ virtual void sizeLimits( TPoint& minP, TPoint& maxP );
+ // override TWindow::sizeLimits
+
+private:
+
+ TInterior *lInterior, *rInterior;
+
+};
+
+void readFile( const char *fileName )
+{
+ ifstream fileToView( fileName );
+ if( !fileToView )
+ {
+ cout << "Invalid file name..." << endl;
+ exit( 1 );
+ }
+ else
+ {
+ char buf[maxLineLength];
+ while( lineCount < maxLines &&
+ fileToView.getline( buf, maxLineLength ) != 0 )
+ {
+ lines[lineCount] = newStr( buf );
+ lineCount++;
+ }
+ }
+}
+
+void deleteFile()
+{
+ for( int i = 0; i < lineCount; i++ )
+ delete lines[i];
+}
+
+TInterior::TInterior( const TRect& bounds, TScrollBar *aHScrollBar,
+ TScrollBar *aVScrollBar ) :
+ TScroller( bounds, aHScrollBar, aVScrollBar )
+{
+ options = options | ofFramed;
+ setLimit( maxLineLength, lineCount );
+}
+
+void TInterior::draw() // modified for scroller
+{
+ ushort color = getColor(0x0301);
+ for( int i = 0; i < size.y; i++ )
+ // for each line:
+ {
+ TDrawBuffer b;
+ b.moveChar( 0, ' ', color, size.x );
+ // fill line buffer with spaces
+ int j = delta.y + i; // delta is scroller offset
+ if( j < lineCount && lines[j] != 0 )
+ {
+ char s[maxLineLength];
+ if( delta.x > (int)strlen(lines[j] ) )
+ s[0] = EOS;
+ else
+ {
+ strncpy( s, lines[j]+delta.x, size.x );
+ s[size.x] = EOS;
+ }
+ b.moveCStr( 0, s, color );
+ }
+ writeLine( 0, i, size.x, 1, b);
+ }
+
+}
+
+// modified from tvguid08:
+TDemoWindow::TDemoWindow( const TRect& bounds, const char *aTitle,
+ short aNumber) :
+ TWindow( bounds, aTitle, aNumber),
+ TWindowInit( &TDemoWindow::initFrame )
+{
+ TRect lbounds = getExtent();
+ TRect r( lbounds.a.x, lbounds.a.y, lbounds.b.x/2+1, lbounds.b.y );
+ lInterior = makeInterior( r, True );
+ lInterior->growMode = gfGrowHiY;
+ insert( lInterior );
+ // creates left-side scrollable interior and inserts into window
+ r = TRect( lbounds.b.x/2, lbounds.a.y, lbounds.b.x, lbounds.b.y );
+ rInterior = makeInterior( r, False );
+ rInterior->growMode = gfGrowHiX | gfGrowHiY;
+ insert( rInterior );
+ // likewise for right-side scroller
+}
+
+TInterior *TDemoWindow::makeInterior( const TRect& bounds, Boolean left )
+{
+ TRect r = TRect( bounds.b.x-1, bounds.a.y+1, bounds.b.x, bounds.b.y-1 );
+ TScrollBar *vScrollBar = new TScrollBar( r );
+ if( vScrollBar == 0 )
+ {
+ cout << "vScrollbar init error" << endl;
+ exit(1);
+ }
+ // production code would display error dialog box
+ vScrollBar->options |= ofPostProcess;
+ if( left )
+ vScrollBar->growMode = gfGrowHiY;
+ insert( vScrollBar );
+
+ r = TRect( bounds.a.x+2, bounds.b.y-1, bounds.b.x-2, bounds.b.y );
+ TScrollBar *hScrollBar = new TScrollBar( r );
+ if( hScrollBar == 0 )
+ {
+ cout << "hScrollbar init error" << endl;
+ exit(1);
+ }
+ hScrollBar->options |= ofPostProcess;
+ if( left )
+ hScrollBar->growMode = (gfGrowHiY | gfGrowLoY);
+ insert( hScrollBar );
+
+ r = bounds;
+ r.grow( -1, -1 );
+ return new TInterior( r, hScrollBar, vScrollBar );
+}
+
+void TDemoWindow::sizeLimits( TPoint& minP, TPoint& maxP )
+{
+ TWindow::sizeLimits( minP, maxP );
+ minP.x = lInterior->size.x+9;
+}
+
+TMyApp::TMyApp() :
+ TProgInit( &TMyApp::initStatusLine,
+ &TMyApp::initMenuBar,
+ &TMyApp::initDeskTop
+ )
+{
+}
+
+void TMyApp::handleEvent(TEvent& event)
+{
+ TApplication::handleEvent(event);
+ if( event.what == evCommand )
+ {
+ switch( event.message.command )
+ {
+ case cmMyNewWin:
+ newWindow();
+ break;
+ case cmNewDialog:
+ newDialog();
+ break;
+ default:
+ return;
+ }
+ clearEvent( event ); // clear event after handling
+ }
+}
+
+TMenuBar *TMyApp::initMenuBar( TRect r )
+{
+ r.b.y = r.a.y + 1; // set bottom line 1 line below top line
+ return new TMenuBar( r,
+ *new TSubMenu( "~F~ile", kbAltF )+
+ *new TMenuItem( "~O~pen", cmMyFileOpen, kbF3, hcNoContext, "F3" )+
+ *new TMenuItem( "~N~ew", cmMyNewWin, kbF4, hcNoContext, "F4" )+
+ newLine()+
+ *new TMenuItem( "E~x~it", cmQuit, cmQuit, hcNoContext, "Alt-X" )+
+ *new TSubMenu( "~W~indow", kbAltW )+
+ *new TMenuItem( "~N~ext", cmNext, kbF6, hcNoContext, "F6" )+
+ *new TMenuItem( "~Z~oom", cmZoom, kbF5, hcNoContext, "F5" )+
+ *new TMenuItem( "~D~ialog", cmNewDialog, kbF2, hcNoContext, "F2" )
+ // new dialog menu added here
+ );
+}
+
+TStatusLine *TMyApp::initStatusLine( TRect r )
+{
+ r.a.y = r.b.y - 1; // move top to 1 line above bottom
+ return new TStatusLine( r,
+ *new TStatusDef( 0, 0xFFFF ) +
+ // set range of help contexts
+ *new TStatusItem( 0, kbF10, cmMenu ) +
+ // define an item
+ *new TStatusItem( "~Alt-X~ Exit", kbAltX, cmQuit ) +
+ // and another one
+ *new TStatusItem( "~Alt-F3~ Close", kbAltF3, cmClose )
+ // and another one
+ );
+}
+
+void TMyApp::newWindow()
+{
+ TRect r( 0, 0, 45, 13 ); // set initial size and position
+
+ /* SS: micro change here */
+
+ //r.move( random(34), random(11) ); // randomly move around screen
+ r.move( random() % 34, random() % 11 ); // randomly move around screen
+ TDemoWindow *window = new TDemoWindow ( r, "Demo Window", ++winNumber);
+ deskTop->insert(window); // put window into desktop and draw it
+}
+
+// changed from tvguid12: add buttons
+void TMyApp::newDialog()
+{
+ TDialog *pd = new TDialog( TRect( 20, 6, 60, 19), "Demo Dialog" );
+ if( pd )
+ {
+ pd->insert( new TButton( TRect( 15, 10, 25, 12 ), "~O~K", cmOK,
+ bfDefault ));
+ pd->insert( new TButton( TRect( 28, 10, 38, 12 ), "~C~ancel", cmCancel,
+ bfNormal ));
+ deskTop->execView( pd );
+ }
+ destroy( pd );
+}
+
+int main()
+{
+ readFile( fileToRead );
+ TMyApp myApp;
+ myApp.run();
+ deleteFile();
+ return 0;
+}
diff --git a/freebsdtvision/tutorial/tvguid14.cc b/freebsdtvision/tutorial/tvguid14.cc
new file mode 100644
index 0000000..c54832e
--- /dev/null
+++ b/freebsdtvision/tutorial/tvguid14.cc
@@ -0,0 +1,338 @@
+/*---------------------------------------------------------*/
+/* */
+/* Turbo Vision 1.0 */
+/* TVGUID14 Demo Source File */
+/* Copyright (c) 1991 by Borland International */
+/* */
+/*---------------------------------------------------------*/
+/*
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
+ */
+
+// same as tvguid13 except for extra checkboxes, radiobuttons, and labels
+// modify TMyApp::newDialog
+
+#define Uses_TEventQueue
+#define Uses_TEvent
+#define Uses_TProgram
+#define Uses_TApplication
+#define Uses_TKeys
+#define Uses_TRect
+#define Uses_TMenuBar
+#define Uses_TSubMenu
+#define Uses_TMenuItem
+#define Uses_TStatusLine
+#define Uses_TStatusItem
+#define Uses_TStatusDef
+#define Uses_TDeskTop
+#define Uses_TView
+#define Uses_TWindow
+#define Uses_TScroller
+#define Uses_TScrollBar
+#define Uses_TDialog
+#define Uses_TButton
+#define Uses_TSItem
+#define Uses_TCheckBoxes
+#define Uses_TRadioButtons
+#define Uses_TLabel
+#include <tvision/tv.h>
+
+#include <iostream>
+#include <fstream>
+
+#include <stdlib.h> // for exit(), random()
+#include <stdio.h> // for puts() etc
+#include <string.h> // for strlen etc
+#include <ctype.h>
+
+using std::cout;
+using std::endl;
+using std::ifstream;
+
+// note the extra #defines above
+
+const int cmMyFileOpen = 200; // assign new command values
+const int cmMyNewWin = 201;
+const int cmNewDialog = 202;
+
+/* SS: micro change here */
+
+const char *fileToRead = "tvguid14.cc";
+//const char *fileToRead = "tvguid14.cpp";
+const int maxLineLength = maxViewWidth+1;
+const int maxLines = 100;
+char *lines[maxLines];
+int lineCount = 0;
+static short winNumber = 0; // initialize window number
+
+class TMyApp : public TApplication
+{
+
+public:
+ TMyApp();
+ static TStatusLine *initStatusLine( TRect r );
+ static TMenuBar *initMenuBar( TRect r );
+ virtual void handleEvent( TEvent& event);
+ void newWindow();
+ void newDialog();
+ // added member
+};
+
+class TInterior : public TScroller
+{
+
+public:
+
+ TInterior( const TRect& bounds, TScrollBar *aHScrollBar,
+ TScrollBar *aVScrollBar ); // constructor
+ virtual void draw(); // override TView::draw
+};
+
+class TDemoWindow : public TWindow // define a new window class
+{
+
+public:
+
+ TDemoWindow( const TRect& bounds, const char *aTitle, short aNumber );
+ TInterior *makeInterior( const TRect& r, Boolean left );
+ virtual void sizeLimits( TPoint& minP, TPoint& maxP );
+ // override TWindow::sizeLimits
+
+private:
+
+ TInterior *lInterior, *rInterior;
+
+};
+
+void readFile( const char *fileName )
+{
+ ifstream fileToView( fileName );
+ if( !fileToView )
+ {
+ cout << "Invalid file name..." << endl;
+ exit( 1 );
+ }
+ else
+ {
+ char buf[maxLineLength];
+ while( lineCount < maxLines &&
+ fileToView.getline( buf, maxLineLength ) != 0 )
+ {
+ lines[lineCount] = newStr( buf );
+ lineCount++;
+ }
+ }
+}
+
+void deleteFile()
+{
+ for( int i = 0; i < lineCount; i++ )
+ delete lines[i];
+}
+
+TInterior::TInterior( const TRect& bounds, TScrollBar *aHScrollBar,
+ TScrollBar *aVScrollBar ) :
+ TScroller( bounds, aHScrollBar, aVScrollBar )
+{
+ options = options | ofFramed;
+ setLimit( maxLineLength, lineCount );
+}
+
+void TInterior::draw() // modified for scroller
+{
+ ushort color = getColor(0x0301);
+ for( int i = 0; i < size.y; i++ )
+ // for each line:
+ {
+ TDrawBuffer b;
+ b.moveChar( 0, ' ', color, size.x );
+ // fill line buffer with spaces
+ int j = delta.y + i; // delta is scroller offset
+ if( j < lineCount && lines[j] != 0 )
+ {
+ char s[maxLineLength];
+ if( delta.x > (int)strlen(lines[j] ) )
+ s[0] = EOS;
+ else
+ {
+ strncpy( s, lines[j]+delta.x, size.x );
+ s[size.x] = EOS;
+ }
+ b.moveCStr( 0, s, color );
+ }
+ writeLine( 0, i, size.x, 1, b);
+ }
+
+}
+
+// modified from tvguid08:
+TDemoWindow::TDemoWindow( const TRect& bounds, const char *aTitle,
+ short aNumber) :
+ TWindow( bounds, aTitle, aNumber),
+ TWindowInit( &TDemoWindow::initFrame )
+{
+ TRect lbounds = getExtent();
+ TRect r( lbounds.a.x, lbounds.a.y, lbounds.b.x/2+1, lbounds.b.y );
+ lInterior = makeInterior( r, True );
+ lInterior->growMode = gfGrowHiY;
+ insert( lInterior );
+ // creates left-side scrollable interior and inserts into window
+ r = TRect( lbounds.b.x/2, lbounds.a.y, lbounds.b.x, lbounds.b.y );
+ rInterior = makeInterior( r, False );
+ rInterior->growMode = gfGrowHiX | gfGrowHiY;
+ insert( rInterior );
+ // likewise for right-side scroller
+}
+
+TInterior *TDemoWindow::makeInterior( const TRect& bounds, Boolean left )
+{
+ TRect r = TRect( bounds.b.x-1, bounds.a.y+1, bounds.b.x, bounds.b.y-1 );
+ TScrollBar *vScrollBar = new TScrollBar( r );
+ if( vScrollBar == 0 )
+ {
+ cout << "vScrollbar init error" << endl;
+ exit(1);
+ }
+ // production code would display error dialog box
+ vScrollBar->options |= ofPostProcess;
+ if( left )
+ vScrollBar->growMode = gfGrowHiY;
+ insert( vScrollBar );
+
+ r = TRect( bounds.a.x+2, bounds.b.y-1, bounds.b.x-2, bounds.b.y );
+ TScrollBar *hScrollBar = new TScrollBar( r );
+ if( hScrollBar == 0 )
+ {
+ cout << "hScrollbar init error" << endl;
+ exit(1);
+ }
+ hScrollBar->options |= ofPostProcess;
+ if( left )
+ hScrollBar->growMode = (gfGrowHiY | gfGrowLoY);
+ insert( hScrollBar );
+
+ r = bounds;
+ r.grow( -1, -1 );
+ return new TInterior( r, hScrollBar, vScrollBar );
+}
+
+void TDemoWindow::sizeLimits( TPoint& minP, TPoint& maxP )
+{
+ TWindow::sizeLimits( minP, maxP );
+ minP.x = lInterior->size.x+9;
+}
+
+TMyApp::TMyApp() :
+ TProgInit( &TMyApp::initStatusLine,
+ &TMyApp::initMenuBar,
+ &TMyApp::initDeskTop
+ )
+{
+}
+
+void TMyApp::handleEvent(TEvent& event)
+{
+ TApplication::handleEvent(event);
+ if( event.what == evCommand )
+ {
+ switch( event.message.command )
+ {
+ case cmMyNewWin:
+ newWindow();
+ break;
+ case cmNewDialog:
+ newDialog();
+ break;
+ default:
+ return;
+ }
+ clearEvent( event ); // clear event after handling
+ }
+}
+
+TMenuBar *TMyApp::initMenuBar( TRect r )
+{
+ r.b.y = r.a.y + 1; // set bottom line 1 line below top line
+ return new TMenuBar( r,
+ *new TSubMenu( "~F~ile", kbAltF )+
+ *new TMenuItem( "~O~pen", cmMyFileOpen, kbF3, hcNoContext, "F3" )+
+ *new TMenuItem( "~N~ew", cmMyNewWin, kbF4, hcNoContext, "F4" )+
+ newLine()+
+ *new TMenuItem( "E~x~it", cmQuit, cmQuit, hcNoContext, "Alt-X" )+
+ *new TSubMenu( "~W~indow", kbAltW )+
+ *new TMenuItem( "~N~ext", cmNext, kbF6, hcNoContext, "F6" )+
+ *new TMenuItem( "~Z~oom", cmZoom, kbF5, hcNoContext, "F5" )+
+ *new TMenuItem( "~D~ialog", cmNewDialog, kbF2, hcNoContext, "F2" )
+ // new dialog menu added here
+ );
+}
+
+TStatusLine *TMyApp::initStatusLine( TRect r )
+{
+ r.a.y = r.b.y - 1; // move top to 1 line above bottom
+ return new TStatusLine( r,
+ *new TStatusDef( 0, 0xFFFF ) +
+ // set range of help contexts
+ *new TStatusItem( 0, kbF10, cmMenu ) +
+ // define an item
+ *new TStatusItem( "~Alt-X~ Exit", kbAltX, cmQuit ) +
+ // and another one
+ *new TStatusItem( "~Alt-F3~ Close", kbAltF3, cmClose )
+ // and another one
+ );
+}
+
+void TMyApp::newWindow()
+{
+ TRect r( 0, 0, 45, 13 ); // set initial size and position
+
+ /* SS: micro change here */
+
+ //r.move( random(34), random(11) ); // randomly move around screen
+ r.move( random() % 34, random() % 11 ); // randomly move around screen
+ TDemoWindow *window = new TDemoWindow ( r, "Demo Window", ++winNumber);
+ deskTop->insert(window); // put window into desktop and draw it
+}
+
+// changed from tvguid12: add buttons
+void TMyApp::newDialog()
+{
+ TDialog *pd = new TDialog( TRect( 20, 6, 60, 19), "Demo Dialog" );
+ if( pd )
+ {
+ TView *b = new TCheckBoxes( TRect( 3, 3, 18, 6),
+ new TSItem( "~H~varti",
+ new TSItem( "~T~ilset",
+ new TSItem( "~J~arlsberg", 0 )
+ )));
+ pd->insert( b );
+
+ pd->insert( new TLabel( TRect( 2, 2, 10, 3), "Cheeses", b ));
+
+ b = new TRadioButtons( TRect( 22, 3, 34, 6),
+ new TSItem( "~S~olid",
+ new TSItem( "~R~unny",
+ new TSItem( "~M~elted", 0 )
+ )));
+ pd->insert( b );
+
+ pd->insert( new TLabel( TRect( 21, 2, 33, 3), "Consistency", b ));
+
+ pd->insert( new TButton( TRect( 15, 10, 25, 12 ), "~O~K", cmOK,
+ bfDefault ));
+ pd->insert( new TButton( TRect( 28, 10, 38, 12 ), "~C~ancel", cmCancel,
+ bfNormal ));
+ deskTop->execView( pd );
+ }
+ destroy( pd );
+}
+
+int main()
+{
+ readFile( fileToRead );
+ TMyApp myApp;
+ myApp.run();
+ deleteFile();
+ return 0;
+}
diff --git a/freebsdtvision/tutorial/tvguid15.cc b/freebsdtvision/tutorial/tvguid15.cc
new file mode 100644
index 0000000..7fa2273
--- /dev/null
+++ b/freebsdtvision/tutorial/tvguid15.cc
@@ -0,0 +1,344 @@
+/*---------------------------------------------------------*/
+/* */
+/* Turbo Vision 1.0 */
+/* TVGUID15 Demo Source File */
+/* Copyright (c) 1991 by Borland International */
+/* */
+/*---------------------------------------------------------*/
+/*
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
+ */
+
+// same as tvguid14 except for extra input line in dialog
+// modify TMyApp::newDialog
+
+#define Uses_TEventQueue
+#define Uses_TEvent
+#define Uses_TProgram
+#define Uses_TApplication
+#define Uses_TKeys
+#define Uses_TRect
+#define Uses_TMenuBar
+#define Uses_TSubMenu
+#define Uses_TMenuItem
+#define Uses_TStatusLine
+#define Uses_TStatusItem
+#define Uses_TStatusDef
+#define Uses_TDeskTop
+#define Uses_TView
+#define Uses_TWindow
+#define Uses_TFrame
+#define Uses_TScroller
+#define Uses_TScrollBar
+#define Uses_TDialog
+#define Uses_TButton
+#define Uses_TSItem
+#define Uses_TCheckBoxes
+#define Uses_TRadioButtons
+#define Uses_TLabel
+#define Uses_TInputLine
+#include <tvision/tv.h>
+
+#include <fstream> // for ifstream
+
+#include <stdlib.h> // for exit(), random()
+#include <stdio.h> // for puts() etc
+#include <string.h> // for strlen etc
+#include <ctype.h>
+
+using std::cout;
+using std::endl;
+using std::ifstream;
+
+// note the extra #define above
+
+const int cmMyFileOpen = 200; // assign new command values
+const int cmMyNewWin = 201;
+const int cmNewDialog = 202;
+
+/* SS: micro change here */
+
+const char *fileToRead = "tvguid15.cc";
+//const char *fileToRead = "tvguid15.cpp";
+const int maxLineLength = maxViewWidth+1;
+const int maxLines = 100;
+char *lines[maxLines];
+int lineCount = 0;
+static short winNumber = 0; // initialize window number
+
+class TMyApp : public TApplication
+{
+
+public:
+ TMyApp();
+ static TStatusLine *initStatusLine( TRect r );
+ static TMenuBar *initMenuBar( TRect r );
+ virtual void handleEvent( TEvent& event);
+ void newWindow();
+ void newDialog();
+};
+
+class TInterior : public TScroller
+{
+
+public:
+
+ TInterior( const TRect& bounds, TScrollBar *aHScrollBar,
+ TScrollBar *aVScrollBar ); // constructor
+ virtual void draw(); // override TView::draw
+};
+
+class TDemoWindow : public TWindow // define a new window class
+{
+
+public:
+
+ TDemoWindow( const TRect& bounds, const char *aTitle, short aNumber );
+ TInterior *makeInterior( const TRect& r, Boolean left );
+ virtual void sizeLimits( TPoint& minP, TPoint& maxP );
+ // override TWindow::sizeLimits
+
+private:
+
+ TInterior *lInterior, *rInterior;
+
+};
+
+void readFile( const char *fileName )
+{
+ ifstream fileToView( fileName );
+ if( !fileToView )
+ {
+ cout << "Invalid file name..." << endl;
+ exit( 1 );
+ }
+ else
+ {
+ char buf[maxLineLength];
+ while( lineCount < maxLines &&
+ fileToView.getline( buf, maxLineLength ) != 0 )
+ {
+ lines[lineCount] = newStr( buf );
+ lineCount++;
+ }
+ }
+}
+
+void deleteFile()
+{
+ for( int i = 0; i < lineCount; i++ )
+ delete lines[i];
+}
+
+TInterior::TInterior( const TRect& bounds, TScrollBar *aHScrollBar,
+ TScrollBar *aVScrollBar ) :
+ TScroller( bounds, aHScrollBar, aVScrollBar )
+{
+ options = options | ofFramed;
+ setLimit( maxLineLength, lineCount );
+}
+
+void TInterior::draw() // modified for scroller
+{
+ ushort color = getColor(0x0301);
+ for( int i = 0; i < size.y; i++ )
+ // for each line:
+ {
+ TDrawBuffer b;
+ b.moveChar( 0, ' ', color, size.x );
+ // fill line buffer with spaces
+ int j = delta.y + i; // delta is scroller offset
+ if( j < lineCount && lines[j] != 0 )
+ {
+ char s[maxLineLength];
+ if( delta.x > (int)strlen(lines[j] ) )
+ s[0] = EOS;
+ else
+ {
+ strncpy( s, lines[j]+delta.x, size.x );
+ s[size.x] = EOS;
+ }
+ b.moveCStr( 0, s, color );
+ }
+ writeLine( 0, i, size.x, 1, b);
+ }
+
+}
+
+// modified from tvguid08:
+TDemoWindow::TDemoWindow( const TRect& bounds, const char *aTitle,
+ short aNumber) :
+ TWindow( bounds, aTitle, aNumber),
+ TWindowInit( &TDemoWindow::initFrame )
+{
+ TRect lbounds = getExtent();
+ TRect r( lbounds.a.x, lbounds.a.y, lbounds.b.x/2+1, lbounds.b.y );
+ lInterior = makeInterior( r, True );
+ lInterior->growMode = gfGrowHiY;
+ insert( lInterior );
+ // creates left-side scrollable interior and inserts into window
+ r = TRect( lbounds.b.x/2, lbounds.a.y, lbounds.b.x, lbounds.b.y );
+ rInterior = makeInterior( r, False );
+ rInterior->growMode = gfGrowHiX | gfGrowHiY;
+ insert( rInterior );
+ // likewise for right-side scroller
+}
+
+TInterior *TDemoWindow::makeInterior( const TRect& bounds, Boolean left )
+{
+ TRect r = TRect( bounds.b.x-1, bounds.a.y+1, bounds.b.x, bounds.b.y-1 );
+ TScrollBar *vScrollBar = new TScrollBar( r );
+ if( vScrollBar == 0 )
+ {
+ cout << "vScrollbar init error" << endl;
+ exit(1);
+ }
+ // production code would display error dialog box
+ vScrollBar->options |= ofPostProcess;
+ if( left )
+ vScrollBar->growMode = gfGrowHiY;
+ insert( vScrollBar );
+
+ r = TRect( bounds.a.x+2, bounds.b.y-1, bounds.b.x-2, bounds.b.y );
+ TScrollBar *hScrollBar = new TScrollBar( r );
+ if( hScrollBar == 0 )
+ {
+ cout << "hScrollbar init error" << endl;
+ exit(1);
+ }
+ hScrollBar->options |= ofPostProcess;
+ if( left )
+ hScrollBar->growMode = (gfGrowHiY | gfGrowLoY);
+ insert( hScrollBar );
+
+ r = bounds;
+ r.grow( -1, -1 );
+ return new TInterior( r, hScrollBar, vScrollBar );
+}
+
+void TDemoWindow::sizeLimits( TPoint& minP, TPoint& maxP )
+{
+ TWindow::sizeLimits( minP, maxP );
+ minP.x = lInterior->size.x+9;
+}
+
+TMyApp::TMyApp() :
+ TProgInit( &TMyApp::initStatusLine,
+ &TMyApp::initMenuBar,
+ &TMyApp::initDeskTop
+ )
+{
+}
+
+void TMyApp::handleEvent(TEvent& event)
+{
+ TApplication::handleEvent(event);
+ if( event.what == evCommand )
+ {
+ switch( event.message.command )
+ {
+ case cmMyNewWin:
+ newWindow();
+ break;
+ case cmNewDialog:
+ newDialog();
+ break;
+ default:
+ return;
+ }
+ clearEvent( event ); // clear event after handling
+ }
+}
+
+TMenuBar *TMyApp::initMenuBar( TRect r )
+{
+ r.b.y = r.a.y + 1; // set bottom line 1 line below top line
+ return new TMenuBar( r,
+ *new TSubMenu( "~F~ile", kbAltF )+
+ *new TMenuItem( "~O~pen", cmMyFileOpen, kbF3, hcNoContext, "F3" )+
+ *new TMenuItem( "~N~ew", cmMyNewWin, kbF4, hcNoContext, "F4" )+
+ newLine()+
+ *new TMenuItem( "E~x~it", cmQuit, cmQuit, hcNoContext, "Alt-X" )+
+ *new TSubMenu( "~W~indow", kbAltW )+
+ *new TMenuItem( "~N~ext", cmNext, kbF6, hcNoContext, "F6" )+
+ *new TMenuItem( "~Z~oom", cmZoom, kbF5, hcNoContext, "F5" )+
+ *new TMenuItem( "~D~ialog", cmNewDialog, kbF2, hcNoContext, "F2" )
+ // new dialog menu added here
+ );
+}
+
+TStatusLine *TMyApp::initStatusLine( TRect r )
+{
+ r.a.y = r.b.y - 1; // move top to 1 line above bottom
+ return new TStatusLine( r,
+ *new TStatusDef( 0, 0xFFFF ) +
+ // set range of help contexts
+ *new TStatusItem( 0, kbF10, cmMenu ) +
+ // define an item
+ *new TStatusItem( "~Alt-X~ Exit", kbAltX, cmQuit ) +
+ // and another one
+ *new TStatusItem( "~Alt-F3~ Close", kbAltF3, cmClose )
+ // and another one
+ );
+}
+
+void TMyApp::newWindow()
+{
+ TRect r( 0, 0, 45, 13 ); // set initial size and position
+
+ /* SS: micro change here */
+
+ //r.move( random(34), random(11) ); // randomly move around screen
+ r.move( random() % 34, random() % 11 ); // randomly move around screen
+ TDemoWindow *window = new TDemoWindow ( r, "Demo Window", ++winNumber);
+ deskTop->insert(window); // put window into desktop and draw it
+}
+
+// changed from tvguid12: add buttons
+void TMyApp::newDialog()
+{
+ TDialog *pd = new TDialog( TRect( 20, 6, 60, 19), "Demo Dialog" );
+ if( pd )
+ {
+ TView *b = new TCheckBoxes( TRect( 3, 3, 18, 6),
+ new TSItem( "~H~varti",
+ new TSItem( "~T~ilset",
+ new TSItem( "~J~arlsberg", 0 )
+ )));
+ pd->insert( b );
+
+ pd->insert( new TLabel( TRect( 2, 2, 10, 3), "Cheeses", b ));
+
+ b = new TRadioButtons( TRect( 22, 3, 34, 6),
+ new TSItem( "~S~olid",
+ new TSItem( "~R~unny",
+ new TSItem( "~M~elted", 0 )
+ )));
+ pd->insert( b );
+
+ pd->insert( new TLabel( TRect( 21, 2, 33, 3), "Consistency", b ));
+
+ // add input line
+ b = new TInputLine( TRect( 3, 8, 37, 9 ), 128 );
+ pd->insert( b );
+ pd->insert( new TLabel( TRect( 2, 7, 24, 8 ),
+ "Delivery Instructions", b ));
+
+ pd->insert( new TButton( TRect( 15, 10, 25, 12 ), "~O~K", cmOK,
+ bfDefault ));
+ pd->insert( new TButton( TRect( 28, 10, 38, 12 ), "~C~ancel", cmCancel,
+ bfNormal ));
+ deskTop->execView( pd );
+ }
+ destroy( pd );
+}
+
+int main()
+{
+ readFile( fileToRead );
+ TMyApp myApp;
+ myApp.run();
+ deleteFile();
+ return 0;
+}
diff --git a/freebsdtvision/tutorial/tvguid16.cc b/freebsdtvision/tutorial/tvguid16.cc
new file mode 100644
index 0000000..064134f
--- /dev/null
+++ b/freebsdtvision/tutorial/tvguid16.cc
@@ -0,0 +1,374 @@
+/*---------------------------------------------------------*/
+/* */
+/* Turbo Vision 1.0 */
+/* TVGUID16 Demo Source File */
+/* Copyright (c) 1991 by Borland International */
+/* */
+/*---------------------------------------------------------*/
+/*
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
+ */
+
+// same as tvguid15 except for saving and restoring dialog contents
+// modify TMyApp::newDialog
+
+#define Uses_TEventQueue
+#define Uses_TEvent
+#define Uses_TProgram
+#define Uses_TApplication
+#define Uses_TKeys
+#define Uses_TRect
+#define Uses_TMenuBar
+#define Uses_TSubMenu
+#define Uses_TMenuItem
+#define Uses_TStatusLine
+#define Uses_TStatusItem
+#define Uses_TStatusDef
+#define Uses_TDeskTop
+#define Uses_TView
+#define Uses_TWindow
+#define Uses_TFrame
+#define Uses_TScroller
+#define Uses_TScrollBar
+#define Uses_TDialog
+#define Uses_TButton
+#define Uses_TSItem
+#define Uses_TCheckBoxes
+#define Uses_TRadioButtons
+#define Uses_TLabel
+#define Uses_TInputLine
+#include <tvision/tv.h>
+
+#include <fstream> // for ifstream
+
+#include <stdlib.h> // for exit(), random()
+#include <stdio.h> // for puts() etc
+#include <string.h> // for strlen etc
+#include <ctype.h>
+
+using std::cout;
+using std::endl;
+using std::ifstream;
+
+const int cmMyFileOpen = 200; // assign new command values
+const int cmMyNewWin = 201;
+const int cmNewDialog = 202;
+
+struct DialogData
+{
+ ushort checkBoxData;
+ ushort radioButtonData;
+ char inputLineData[128];
+};
+
+DialogData *demoDialogData;
+
+// we'll save dialog box data in above struct
+
+/* SS: micro change here */
+
+const char *fileToRead = "tvguid16.cc";
+//const char *fileToRead = "tvguid16.cpp";
+const int maxLineLength = maxViewWidth+1;
+const int maxLines = 100;
+char *lines[maxLines];
+int lineCount = 0;
+static short winNumber = 0; // initialize window number
+
+class TMyApp : public TApplication
+{
+
+public:
+ TMyApp();
+ ~TMyApp();
+ static TStatusLine *initStatusLine( TRect r );
+ static TMenuBar *initMenuBar( TRect r );
+ virtual void handleEvent( TEvent& event);
+ void newWindow();
+ void newDialog();
+};
+
+class TInterior : public TScroller
+{
+
+public:
+
+ TInterior( const TRect& bounds, TScrollBar *aHScrollBar,
+ TScrollBar *aVScrollBar ); // constructor
+ virtual void draw(); // override TView::draw
+};
+
+class TDemoWindow : public TWindow // define a new window class
+{
+
+public:
+
+ TDemoWindow( const TRect& bounds, const char *aTitle, short aNumber );
+ TInterior *makeInterior( const TRect& r, Boolean left );
+ virtual void sizeLimits( TPoint& minP, TPoint& maxP );
+ // override TWindow::sizeLimits
+
+private:
+
+ TInterior *lInterior, *rInterior;
+
+};
+
+void readFile( const char *fileName )
+{
+ ifstream fileToView( fileName );
+ if( !fileToView )
+ {
+ cout << "Invalid file name..." << endl;
+ exit( 1 );
+ }
+ else
+ {
+ char buf[maxLineLength];
+ while( lineCount < maxLines &&
+ fileToView.getline( buf, maxLineLength ) != 0 )
+ {
+ lines[lineCount] = newStr( buf );
+ lineCount++;
+ }
+ }
+}
+
+void deleteFile()
+{
+ for( int i = 0; i < lineCount; i++ )
+ delete lines[i];
+}
+
+TInterior::TInterior( const TRect& bounds, TScrollBar *aHScrollBar,
+ TScrollBar *aVScrollBar ) :
+ TScroller( bounds, aHScrollBar, aVScrollBar )
+{
+ options = options | ofFramed;
+ setLimit( maxLineLength, lineCount );
+}
+
+void TInterior::draw() // modified for scroller
+{
+ ushort color = getColor(0x0301);
+ for( int i = 0; i < size.y; i++ )
+ // for each line:
+ {
+ TDrawBuffer b;
+ b.moveChar( 0, ' ', color, size.x );
+ // fill line buffer with spaces
+ int j = delta.y + i; // delta is scroller offset
+ if( j < lineCount && lines[j] != 0 )
+ {
+ char s[maxLineLength];
+ if( delta.x > (int)strlen(lines[j] ) )
+ s[0] = EOS;
+ else
+ {
+ strncpy( s, lines[j]+delta.x, size.x );
+ s[size.x] = EOS;
+ }
+ b.moveCStr( 0, s, color );
+ }
+ writeLine( 0, i, size.x, 1, b);
+ }
+
+}
+
+// modified from tvguid08:
+TDemoWindow::TDemoWindow( const TRect& bounds, const char *aTitle,
+ short aNumber) :
+ TWindow( bounds, aTitle, aNumber),
+ TWindowInit( &TDemoWindow::initFrame )
+{
+ TRect lbounds = getExtent();
+ TRect r( lbounds.a.x, lbounds.a.y, lbounds.b.x/2+1, lbounds.b.y );
+ lInterior = makeInterior( r, True );
+ lInterior->growMode = gfGrowHiY;
+ insert( lInterior );
+ // creates left-side scrollable interior and inserts into window
+ r = TRect( lbounds.b.x/2, lbounds.a.y, lbounds.b.x, lbounds.b.y );
+ rInterior = makeInterior( r, False );
+ rInterior->growMode = gfGrowHiX | gfGrowHiY;
+ insert( rInterior );
+ // likewise for right-side scroller
+}
+
+TInterior *TDemoWindow::makeInterior( const TRect& bounds, Boolean left )
+{
+ TRect r = TRect( bounds.b.x-1, bounds.a.y+1, bounds.b.x, bounds.b.y-1 );
+ TScrollBar *vScrollBar = new TScrollBar( r );
+ if( vScrollBar == 0 )
+ {
+ cout << "vScrollbar init error" << endl;
+ exit(1);
+ }
+ // production code would display error dialog box
+ vScrollBar->options |= ofPostProcess;
+ if( left )
+ vScrollBar->growMode = gfGrowHiY;
+ insert( vScrollBar );
+
+ r = TRect( bounds.a.x+2, bounds.b.y-1, bounds.b.x-2, bounds.b.y );
+ TScrollBar *hScrollBar = new TScrollBar( r );
+ if( hScrollBar == 0 )
+ {
+ cout << "hScrollbar init error" << endl;
+ exit(1);
+ }
+ hScrollBar->options |= ofPostProcess;
+ if( left )
+ hScrollBar->growMode = (gfGrowHiY | gfGrowLoY);
+ insert( hScrollBar );
+
+ r = bounds;
+ r.grow( -1, -1 );
+ return new TInterior( r, hScrollBar, vScrollBar );
+}
+
+void TDemoWindow::sizeLimits( TPoint& minP, TPoint& maxP )
+{
+ TWindow::sizeLimits( minP, maxP );
+ minP.x = lInterior->size.x+9;
+}
+
+TMyApp::TMyApp() :
+ TProgInit( &TMyApp::initStatusLine,
+ &TMyApp::initMenuBar,
+ &TMyApp::initDeskTop
+ )
+{
+ // new for tvguid16: set up initial dialog data
+ demoDialogData = new DialogData;
+ demoDialogData->checkBoxData = 1;
+ demoDialogData->radioButtonData = 2;
+ strcpy( demoDialogData->inputLineData, "Phone Mum!" );
+}
+
+TMyApp::~TMyApp()
+{
+
+ delete demoDialogData;
+
+}
+
+void TMyApp::handleEvent(TEvent& event)
+{
+ TApplication::handleEvent(event);
+ if( event.what == evCommand )
+ {
+ switch( event.message.command )
+ {
+ case cmMyNewWin:
+ newWindow();
+ break;
+ case cmNewDialog:
+ newDialog();
+ break;
+ default:
+ return;
+ }
+ clearEvent( event ); // clear event after handling
+ }
+}
+
+TMenuBar *TMyApp::initMenuBar( TRect r )
+{
+ r.b.y = r.a.y + 1; // set bottom line 1 line below top line
+ return new TMenuBar( r,
+ *new TSubMenu( "~F~ile", kbAltF )+
+ *new TMenuItem( "~O~pen", cmMyFileOpen, kbF3, hcNoContext, "F3" )+
+ *new TMenuItem( "~N~ew", cmMyNewWin, kbF4, hcNoContext, "F4" )+
+ newLine()+
+ *new TMenuItem( "E~x~it", cmQuit, cmQuit, hcNoContext, "Alt-X" )+
+ *new TSubMenu( "~W~indow", kbAltW )+
+ *new TMenuItem( "~N~ext", cmNext, kbF6, hcNoContext, "F6" )+
+ *new TMenuItem( "~Z~oom", cmZoom, kbF5, hcNoContext, "F5" )+
+ *new TMenuItem( "~D~ialog", cmNewDialog, kbF2, hcNoContext, "F2" )
+ // new dialog menu added here
+ );
+}
+
+TStatusLine *TMyApp::initStatusLine( TRect r )
+{
+ r.a.y = r.b.y - 1; // move top to 1 line above bottom
+ return new TStatusLine( r,
+ *new TStatusDef( 0, 0xFFFF ) +
+ // set range of help contexts
+ *new TStatusItem( 0, kbF10, cmMenu ) +
+ // define an item
+ *new TStatusItem( "~Alt-X~ Exit", kbAltX, cmQuit ) +
+ // and another one
+ *new TStatusItem( "~Alt-F3~ Close", kbAltF3, cmClose )
+ // and another one
+ );
+}
+
+void TMyApp::newWindow()
+{
+ TRect r( 0, 0, 45, 13 ); // set initial size and position
+
+ /* SS: micro change here */
+
+ //r.move( random(34), random(11) ); // randomly move around screen
+ r.move( random() % 34, random() % 11 ); // randomly move around screen
+ TDemoWindow *window = new TDemoWindow ( r, "Demo Window", ++winNumber);
+ deskTop->insert(window); // put window into desktop and draw it
+}
+
+// changed from tvguid12: add buttons
+void TMyApp::newDialog()
+{
+ TDialog *pd = new TDialog( TRect( 20, 6, 60, 19), "Demo Dialog" );
+ if( pd )
+ {
+ TView *b = new TCheckBoxes( TRect( 3, 3, 18, 6),
+ new TSItem( "~H~varti",
+ new TSItem( "~T~ilset",
+ new TSItem( "~J~arlsberg", 0 )
+ )));
+ pd->insert( b );
+
+ pd->insert( new TLabel( TRect( 2, 2, 10, 3), "Cheeses", b ));
+
+ b = new TRadioButtons( TRect( 22, 3, 34, 6),
+ new TSItem( "~S~olid",
+ new TSItem( "~R~unny",
+ new TSItem( "~M~elted", 0 )
+ )));
+ pd->insert( b );
+
+ pd->insert( new TLabel( TRect( 21, 2, 33, 3), "Consistency", b ));
+
+ // add input line
+ b = new TInputLine( TRect( 3, 8, 37, 9 ), 128 );
+ pd->insert( b );
+ pd->insert( new TLabel( TRect( 2, 7, 24, 8 ),
+ "Delivery Instructions", b ));
+
+ pd->insert( new TButton( TRect( 15, 10, 25, 12 ), "~O~K", cmOK,
+ bfDefault ));
+ pd->insert( new TButton( TRect( 28, 10, 38, 12 ), "~C~ancel", cmCancel,
+ bfNormal ));
+
+ // we save the dialog data:
+ pd->setData( demoDialogData );
+
+ ushort control = deskTop->execView( pd );
+
+ // and read it back when the dialog box is successfully closed
+ if( control != cmCancel )
+ pd->getData( demoDialogData );
+ }
+ destroy( pd );
+}
+
+int main()
+{
+ readFile( fileToRead );
+ TMyApp myApp;
+ myApp.run();
+ deleteFile();
+ return 0;
+}
diff --git a/freebsdtvision/tutorial/tvlife.cc b/freebsdtvision/tutorial/tvlife.cc
new file mode 100644
index 0000000..d5cf625
--- /dev/null
+++ b/freebsdtvision/tutorial/tvlife.cc
@@ -0,0 +1,947 @@
+/*
+ * TVision example: the classic life example
+ *
+ * Written by Sergio Sigala <sergio@sigala.it>
+ *
+ * The mouse may be used to edit the patterns within the life window.
+ * Clicking with the left button inside the life window will cause a dot to
+ * appear at the cursor location. Clicking with the right mouse button will
+ * remove the dot. This allows the user to create his/her own patterns.
+ *
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
+ */
+
+#define Uses_TApplication
+#define Uses_TButton
+#define Uses_TDeskTop
+#define Uses_TDialog
+#define Uses_TKeys
+#define Uses_TMenuBar
+#define Uses_TMenuItem
+#define Uses_TParamText
+#define Uses_TStatusDef
+#define Uses_TStatusItem
+#define Uses_TStatusLine
+#define Uses_TSubMenu
+#define Uses_TWindow
+#include <tvision/tv.h>
+
+#include <stdlib.h>
+
+enum
+{
+ cmAbout = 101, //about box
+ cmCreate, //creates a new life window
+ cmOneStep, //advance one step
+ cmUpdate, //issued when idle
+ cmStartStop, //starts or stops a life window
+ cmClearBoard, //clears the life board
+ cmRandom, //randomly fills the life board
+ cmPat01, cmPat02, cmPat03, cmPat04, cmPat05,
+ cmPat06, cmPat07, cmPat08, cmPat09, cmPat10,
+ cmPat11, cmPat12, cmPat13, cmPat14, cmPat15,
+ cmPat16, cmPat17, cmPat18, cmPat19, cmPat20,
+ cmPat21, cmPat22, cmPat23, cmPat24, cmPat25,
+ cmPat26, cmPat27, cmPat28, cmPat29
+};
+
+class TLifeInterior: public TView
+{
+ int running;
+ uchar* board;
+public:
+ TLifeInterior(TRect& bounds);
+ ~TLifeInterior();
+ void changeBounds(const TRect& bounds);
+ void clearBoard();
+ void draw();
+ void getPattern(int pat);
+ void handleEvent(TEvent& event);
+ void handleMouse(TEvent& event);
+ void iterateBoard();
+ uchar& map(int x, int y);
+ uchar& map(int x, int y, uchar* work);
+ int present(int x, int y);
+ void randomizeBoard();
+ void setState(ushort aState, Boolean enable);
+};
+
+class TLifeWindow: public TWindow
+{
+ TLifeInterior* life;
+public:
+ static const int minW = 28;
+ static const int minH = 11;
+ TLifeWindow(TRect& bounds, char* str, int num);
+ void sizeLimits(TPoint& min, TPoint& max);
+};
+
+class TMyApp: public TApplication
+{
+ TCommandSet windowCommands;
+public:
+ TMyApp();
+ static TMenuBar* initMenuBar(TRect r);
+ static TStatusLine* initStatusLine(TRect r);
+ void aboutBox();
+ void createLifeWindow();
+ TCommandSet getCommands();
+ void handleEvent(TEvent& event);
+ void idle();
+};
+
+/****************************************************************************
+ *
+ * Patterns for tvlife. Adapted from xlock; original copyright notice below.
+ *
+ * Copyright (c) 1988-91 by Patrick J. Naughton.
+ *
+ * Permission to use, copy, modify, and distribute this software and its
+ * documentation for any purpose and without fee is hereby granted,
+ * provided that the above copyright notice appear in all copies and that
+ * both that copyright notice and this permission notice appear in
+ * supporting documentation.
+ *
+ * This file is provided AS IS with no warranties of any kind. The author
+ * shall have no liability with respect to the infringement of copyrights,
+ * trade secrets or any patents by this file or any part thereof. In no
+ * event will the author be liable for any lost revenue or profits or
+ * other special, indirect and consequential damages.
+ *****************************************************************************/
+
+#define NUMPTS 63
+
+/* Patterns have < NUMPTS pts (and should have a size of <= 32x32,
+ the Gun is an exception) */
+
+static int patterns[][2 * NUMPTS + 1] =
+{
+ { /* GLIDER GUN */
+ 6, -4,
+ 5, -3, 6, -3,
+ -6, -2, -5, -2, 8, -2, 9, -2, 16, -2,
+ -7, -1, 8, -1, 9, -1, 10, -1, 16, -1, 17, -1,
+ -18, 0, -17, 0, -8, 0, 8, 0, 9, 1,
+ -17, 1, -8, 1, 5, 1, 6, 1,
+ -8, 2, 6, 2,
+ -7, 3,
+ -6, 4, -5, 4,
+ 127
+ },
+ { /* FIGURE EIGHT */
+ -3, -3, -2, -3, -1, -3,
+ -3, -2, -2, -2, -1, -2,
+ -3, -1, -2, -1, -1, -1,
+ 0, 0, 1, 0, 2, 0,
+ 0, 1, 1, 1, 2, 1,
+ 0, 2, 1, 2, 2, 2,
+ 127
+ },
+ { /* PULSAR */
+ -2, -1, -1, -1, 0, -1, 1, -1, 2, -1,
+ -2, 0, 2, 0,
+ 127
+ },
+ { /* BARBER POLE P2 */
+ -6, -6, -5, -6,
+ -6, -5, -4, -5,
+ -4, -3, -2, -3,
+ -2, -1, 0, -1,
+ 0, 1, 2, 1,
+ 2, 3, 4, 3,
+ 5, 4,
+ 4, 5, 5, 5,
+ 127
+ },
+ { /* ACHIM P5 */
+ -6, -6, -5, -6,
+ -6, -5,
+ -4, -4,
+ -4, -3, -2, -3,
+ -2, -1, 0, -1,
+ 0, 1, 2, 1,
+ 2, 3, 3, 3,
+ 5, 4,
+ 4, 5, 5, 5,
+ 127
+ },
+ { /* HERTZ P4 */
+ -2, -5, -1, -5,
+ -2, -4, -1, -4,
+ -7, -2, -6, -2, -2, -2, -1, -2, 0, -2, 1, -2, 5, -2, 6, -2,
+ -7, -1, -5, -1, -3, -1, 2, -1, 4, -1, 6, -1,
+ -5, 0, -3, 0, -2, 0, 2, 0, 4, 0,
+ -7, 1, -5, 1, -3, 1, 2, 1, 4, 1, 6, 1,
+ -7, 2, -6, 2, -2, 2, -1, 2, 0, 2, 1, 2, 5, 2, 6, 2,
+ -2, 4, -1, 4,
+ -2, 5, -1, 5,
+ 127
+ },
+ { /* TUMBLER */
+ -2, -3, -1, -3, 1, -3, 2, -3,
+ -2, -2, -1, -2, 1, -2, 2, -2,
+ -1, -1, 1, -1,
+ -3, 0, -1, 0, 1, 0, 3, 0,
+ -3, 1, -1, 1, 1, 1, 3, 1,
+ -3, 2, -2, 2, 2, 2, 3, 2,
+ 127
+ },
+ { /* PULSE1 P4 */
+ 0, -3, 1, -3,
+ -2, -2, 0, -2,
+ -3, -1, 3, -1,
+ -2, 0, 2, 0, 3, 0,
+ 0, 2, 2, 2,
+ 1, 3,
+ 127
+ },
+ { /* SHINING FLOWER P5 */
+ -1, -4, 0, -4,
+ -2, -3, 1, -3,
+ -3, -2, 2, -2,
+ -4, -1, 3, -1,
+ -4, 0, 3, 0,
+ -3, 1, 2, 1,
+ -2, 2, 1, 2,
+ -1, 3, 0, 3,
+ 127
+ },
+ { /* PULSE2 P6 */
+ 0, -4, 1, -4,
+ -4, -3, -3, -3, -1, -3,
+ -4, -2, -3, -2, 0, -2, 3, -2,
+ 1, -1, 3, -1,
+ 2, 0,
+ 1, 2, 2, 2,
+ 1, 3, 2, 3,
+ 127
+ },
+ { /* PINWHEEL, CLOCK P4 */
+ -2, -6, -1, -6,
+ -2, -5, -1, -5,
+ -2, -3, -1, -3, 0, -3, 1, -3,
+ -3, -2, -1, -2, 2, -2, 4, -2, 5, -2,
+ -3, -1, 1, -1, 2, -1, 4, -1, 5, -1,
+ -6, 0, -5, 0, -3, 0, 0, 0, 2, 0,
+ -6, 1, -5, 1, -3, 1, 2, 1,
+ -2, 2, -1, 2, 0, 2, 1, 2,
+ 0, 4, 1, 4,
+ 0, 5, 1, 5,
+ 127
+ },
+ { /* PENTADECATHOLON */
+ -5, 0, -4, 0, -3, 0, -2, 0, -1, 0, 0, 0, 1, 0, 2, 0, 3, 0, 4, 0,
+ 127
+ },
+ { /* PISTON */
+ 1, -3, 2, -3,
+ 0, -2,
+ -10, -1, -1, -1,
+ -11, 0, -10, 0, -1, 0, 9, 0, 10, 0,
+ -1, 1, 9, 1,
+ 0, 2,
+ 1, 3, 2, 3,
+ 127
+ },
+ { /* PISTON2 */
+ -3, -5,
+ -14, -4, -13, -4, -4, -4, -3, -4, 13, -4, 14, -4,
+ -14, -3, -13, -3, -5, -3, -4, -3, 13, -3, 14, -3,
+ -4, -2, -3, -2, 0, -2, 1, -2,
+ -4, 2, -3, 2, 0, 2, 1, 2,
+ -14, 3, -13, 3, -5, 3, -4, 3, 13, 3, 14, 3,
+ -14, 4, -13, 4, -4, 4, -3, 4, 13, 4, 14, 4,
+ -3, 5,
+ 127
+ },
+ { /* SWITCH ENGINE */
+ -12, -3, -10, -3,
+ -13, -2,
+ -12, -1, -9, -1,
+ -10, 0, -9, 0, -8, 0,
+ 13, 2, 14, 2,
+ 13, 3,
+ 127
+ },
+ { /* GEARS (gear, flywheel, blinker) */
+ -1, -4,
+ -1, -3, 1, -3,
+ -3, -2,
+ 2, -1, 3, -1,
+ -4, 0, -3, 0,
+ 2, 1,
+ -2, 2, 0, 2,
+ 0, 3,
+
+ 5, 3,
+ 3, 4, 4, 4,
+ 5, 5, 6, 5,
+ 4, 6,
+
+ 8, 0,
+ 8, 1,
+ 8, 2,
+ 127
+ },
+ { /* TURBINE8 */
+ -4, -4, -3, -4, -2, -4, -1, -4, 0, -4, 1, -4, 3, -4, 4, -4,
+ -4, -3, -3, -3, -2, -3, -1, -3, 0, -3, 1, -3, 3, -3, 4, -3,
+ 3, -2, 4, -2,
+ -4, -1, -3, -1, 3, -1, 4, -1,
+ -4, 0, -3, 0, 3, 0, 4, 0,
+ -4, 1, -3, 1, 3, 1, 4, 1,
+ -4, 2, -3, 2,
+ -4, 3, -3, 3, -1, 3, 0, 3, 1, 3, 2, 3, 3, 3, 4, 3,
+ -4, 4, -3, 4, -1, 4, 0, 4, 1, 4, 2, 4, 3, 4, 4, 4,
+ 127
+ },
+ { /* P16 */
+ -3, -6, 1, -6, 2, -6,
+ -3, -5, 0, -5, 3, -5,
+ 3, -4,
+ -5, -3, -4, -3, 1, -3, 2, -3, 5, -3, 6, -3,
+ -6, -2, -3, -2,
+ -6, -1, -3, -1,
+ -5, 0, 5, 0,
+ 3, 1, 6, 1,
+ 3, 2, 6, 2,
+ -6, 3, -5, 3, -2, 3, -1, 3, 4, 3, 5, 3,
+ -3, 4,
+ -3, 5, 0, 5, 3, 5,
+ -2, 6, -1, 6, 3, 6,
+ 127
+ },
+ { /* PUFFER */
+ 1, -9,
+ 2, -8,
+ -2, -7, 2, -7,
+ -1, -6, 0, -6, 1, -6, 2, -6,
+ -2, -2,
+ -1, -1, 0, -1,
+ 0, 0,
+ 0, 1,
+ -1, 2,
+ 1, 5,
+ 2, 6,
+ -2, 7, 2, 7,
+ -1, 8, 0, 8, 1, 8, 2, 8,
+ 127
+ },
+ { /* ESCORT */
+ 3, -8,
+ 4, -7,
+ -2, -6, 4, -6,
+ -1, -5, 0, -5, 1, -5, 2, -5, 3, -5, 4, -5,
+ -5, -1, -4, -1, -3, -1, -2, -1, -1, -1, 0, -1,
+ 1, -1, 2, -1, 3, -1, 4, -1, 5, -1, 6, -1,
+ -6, 0, 6, 0,
+ 6, 1,
+ 5, 2,
+ 3, 4,
+ 4, 5,
+ -2, 6, 4, 6,
+ -1, 7, 0, 7, 1, 7, 2, 7, 3, 7, 4, 7,
+ 127
+ },
+ { /* DART SPEED 1/3 */
+ 3, -7,
+ 2, -6, 4, -6,
+ 1, -5, 2, -5,
+ 4, -4,
+ 0, -3, 4, -3,
+ -3, -2, 0, -2,
+ -4, -1, -2, -1, 1, -1, 2, -1, 3, -1, 4, -1,
+ -5, 0, -2, 0,
+ -4, 1, -2, 1, 1, 1, 2, 1, 3, 1, 4, 1,
+ -3, 2, 0, 2,
+ 0, 3, 4, 3,
+ 4, 4,
+ 1, 5, 2, 5,
+ 2, 6, 4, 6,
+ 3, 7,
+ 127
+ },
+ { /* PERIOD 4 SPEED 1/2 */
+ -3, -5,
+ -4, -4, -3, -4, -2, -4, -1, -4, 0, -4,
+ -5, -3, -4, -3, 0, -3, 1, -3, 3, -3,
+ -4, -2, 4, -2,
+ -3, -1, -2, -1, 1, -1, 3, -1,
+ -3, 1, -2, 1, 1, 1, 3, 1,
+ -4, 2, 4, 2,
+ -5, 3, -4, 3, 0, 3, 1, 3, 3, 3,
+ -4, 4, -3, 4, -2, 4, -1, 4, 0, 4,
+ -3, 5,
+ 127
+ },
+ { /* ANOTHER PERIOD 4 SPEED 1/2 */
+ -4, -7, -3, -7, -1, -7, 0, -7, 1, -7, 2, -7, 3, -7, 4, -7,
+ -5, -6, -4, -6, -3, -6, -2, -6, 5, -6,
+ -6, -5, -5, -5,
+ -5, -4, 5, -4,
+ -4, -3, -3, -3, -2, -3, 0, -3,
+ -2, -2,
+ -2, -1,
+ -1, 0,
+ -2, 1,
+ -2, 2,
+ -4, 3, -3, 3, -2, 3, 0, 3,
+ -5, 4, 5, 4,
+ -6, 5, -5, 5,
+ -5, 6, -4, 6, -3, 6, -2, 6, 5, 6,
+ -4, 7, -3, 7, -1, 7, 0, 7, 1, 7, 2, 7, 3, 7, 4, 7,
+ 127
+ },
+ { /* SMALLEST KNOWN PERIOD 3 SPACESHIP SPEED 1/3 */
+ 0, -8,
+ -1, -7, 1, -7,
+ -1, -6, 1, -6,
+ -1, -5,
+ -2, -3, -1, -3,
+ -1, -2, 1, -2,
+ -2, -1, 0, -1,
+ -2, 0, -1, 0, 0, 0,
+ -1, 2, 1, 2,
+ -1, 3, 0, 3,
+ 0, 4,
+ 0, 5, 2, 5,
+ 0, 6, 2, 6,
+ 1, 7,
+ 127
+ },
+ { /* TURTLE SPEED 1/3 */
+ -4, -5, -3, -5, -2, -5, 6, -5,
+ -4, -4, -3, -4, 0, -4, 2, -4, 3, -4, 5, -4, 6, -4,
+ -2, -3, -1, -3, 0, -3, 5, -3,
+ -4, -2, -1, -2, 1, -2, 5, -2,
+ -5, -1, 0, -1, 5, -1,
+ -5, 0, 0, 0, 5, 0,
+ -4, 1, -1, 1, 1, 1, 5, 1,
+ -2, 2, -1, 2, 0, 2, 5, 2,
+ -4, 3, -3, 3, 0, 3, 2, 3, 3, 3, 5, 3, 6, 3,
+ -4, 4, -3, 4, -2, 4, 6, 4,
+ 127
+ },
+ { /* SMALLEST KNOWN PERIOD 5 SPEED 2/5 */
+ 1, -7, 3, -7,
+ -2, -6, 3, -6,
+ -3, -5, -2, -5, -1, -5, 4, -5,
+ -4, -4, -2, -4,
+ -5, -3, -4, -3, -1, -3, 0, -3, 5, -3,
+ -4, -2, -3, -2, 0, -2, 1, -2, 2, -2, 3, -2, 4, -2,
+ -4, 2, -3, 2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 2,
+ -5, 3, -4, 3, -1, 3, 0, 3, 5, 3,
+ -4, 4, -2, 4,
+ -3, 5, -2, 5, -1, 5, 4, 5,
+ -2, 6, 3, 6,
+ 1, 7, 3, 7,
+ 127
+ },
+ { /* SYM PUFFER */
+ 1, -4, 2, -4, 3, -4, 4, -4,
+ 0, -3, 4, -3,
+ 4, -2,
+ -4, -1, -3, -1, 0, -1, 3, -1,
+ -4, 0, -3, 0, -2, 0,
+ -4, 1, -3, 1, 0, 1, 3, 1,
+ 4, 2,
+ 0, 3, 4, 3,
+ 1, 4, 2, 4, 3, 4, 4, 4,
+ 127
+ },
+ { /* ], NEAR SHIP, PI HEPTOMINO */
+ -2, -1, -1, -1, 0, -1,
+ 1, 0,
+ -2, 1, -1, 1, 0, 1,
+ 127
+ },
+ { /* R PENTOMINO */
+ 0, -1, 1, -1,
+ -1, 0, 0, 0,
+ 0, 1,
+ 127
+ }
+};
+
+#define NPATS (sizeof patterns / sizeof patterns[0])
+
+TLifeInterior::TLifeInterior(TRect& bounds)
+ : TView(bounds), running(0), board(NULL)
+{
+ eventMask = evMouseDown | evKeyDown | evCommand | evBroadcast;
+ growMode = gfGrowHiX | gfGrowHiY;
+ options |= ofSelectable;
+
+ board = new uchar[size.x * size.y]; //get memory
+ getPattern(0);
+}
+
+TLifeInterior::~TLifeInterior()
+{
+ if (board != 0) delete[] board; //release memory
+}
+
+void TLifeInterior::changeBounds(const TRect& bounds)
+{
+ if (board == 0) return; //exit if no board
+
+ TPoint oldSize = size; //calculate sizes
+ TPoint newSize = bounds.b - bounds.a;
+
+ uchar* work = new uchar[newSize.x * newSize.y]; //get memory
+ if (work == 0) return;
+
+ //clear board
+
+ for (int i = 0; i < newSize.x * newSize.y; i++)
+ work[i] = 0;
+
+ //copy
+
+ for (int y = 0; y < min(oldSize.y, newSize.y); y++)
+ for (int x = 0; x < min(oldSize.x, newSize.x); x++)
+ {
+ uchar *from = &board[oldSize.x * y + x];
+ uchar *to = &work[newSize.x * y + x ];
+
+ *to = *from; //copy a cell
+ }
+ uchar* old = board; //swap buffers
+ board = work;
+ delete[] old;
+
+ TView::changeBounds(bounds); //update size and redraw
+}
+
+void TLifeInterior::clearBoard()
+{
+ if (board == 0) return; //exit if no board
+
+ //clear board
+
+ for (int i = 0; i < size.x * size.y; i++)
+ board[i] = 0;
+}
+
+void TLifeInterior::draw()
+{
+ uchar color = running ? 0x4f : 0x1f;
+ uchar* from = board;
+
+#if 1
+ int i = size.x * size.y;
+ ushort *buf = new ushort[i];
+ ushort *to = buf;
+
+ while (i-- > 0)
+ {
+ *to = (*from++ != 0) ? '*' : ' ';
+ *to |= (color << 8);
+ to++;
+ }
+ writeBuf(0, 0, size.x, size.y, buf);
+ delete[] buf;
+#else
+ TDrawBuffer b;
+ b.moveChar(0, ' ', color, size.x);
+
+ for (int i = 0; i < size.y; i++)
+ {
+ TDrawBuffer d = b;
+
+ if (from != 0)
+ {
+ for (int j = 0; j < size.x; j++)
+ {
+ if (*from != 0) d.putChar(j, '*');
+ from++;
+ }
+ }
+ writeLine(0, i, size.x, 1, d);
+ }
+#endif
+}
+
+void TLifeInterior::getPattern(int pat)
+{
+ if (board == 0) return; //exit if no board
+ clearBoard();
+
+ int i = pat % NPATS;
+ int *patptr = &patterns[i][0];
+ int col;
+
+ while ((col = *patptr++) != 127)
+ {
+ int row = *patptr++;
+
+ col += size.x / 2;
+ row += size.y / 2;
+ map(col, row) = 1;
+ }
+ drawView();
+}
+
+void TLifeInterior::handleEvent(TEvent& event)
+{
+ TView::handleEvent(event);
+ switch (event.what)
+ {
+ case evBroadcast:
+ if (event.message.command == cmUpdate && running)
+ {
+ iterateBoard();
+ drawView();
+ }
+ break;
+ case evCommand:
+ if (event.message.command >= cmPat01 &&
+ event.message.command < cmPat01 + NPATS)
+ {
+ getPattern(event.message.command - cmPat01);
+ }
+ else switch (event.message.command)
+ {
+ case cmOneStep:
+ iterateBoard();
+ drawView();
+ break;
+ case cmClearBoard:
+ clearBoard();
+ drawView();
+ break;
+ case cmRandom:
+ randomizeBoard();
+ drawView();
+ break;
+ case cmStartStop:
+ running = 1 - running;
+ drawView();
+ break;
+ default:
+ return;
+ }
+ clearEvent(event);
+ break;
+ case evMouseDown:
+ handleMouse(event);
+ }
+}
+
+void TLifeInterior::handleMouse(TEvent& event)
+{
+ TRect clickRect = getExtent();
+ do
+ {
+ TPoint mouse = makeLocal(event.mouse.where);
+ if (clickRect.contains(mouse))
+ {
+ if ((event.mouse.buttons & mbLeftButton) != 0)
+ map(mouse.x, mouse.y) = 1;
+ if ((event.mouse.buttons & mbRightButton) != 0)
+ map(mouse.x, mouse.y) = 0;
+ drawView();
+ }
+ }
+ while (mouseEvent(event, evMouseMove));
+ clearEvent(event);
+}
+
+void TLifeInterior::iterateBoard()
+{
+ if (board == 0) return; //exit if no board
+
+ uchar* work = new uchar[size.x * size.y]; //get memory
+ if (work == 0) return;
+
+ //clear board
+
+ for (int i = 0; i < size.x * size.y; i++)
+ work[i] = 0;
+
+ int differences = 0;
+
+ //iterate
+
+ for (int y = 0; y < size.y; y++)
+ for (int x = 0; x < size.x; x++)
+ {
+ //find number of neighbors
+
+ int n = present(x-1, y-1) + present(x, y-1) +
+ present(x+1, y-1) + present(x-1, y) +
+ present(x+1, y) + present(x-1, y+1) +
+ present(x, y+1) + present(x+1, y+1);
+
+ if (map(x, y) == 1)
+ {
+ if (n == 2 || n == 3) map(x, y, work) = 1;
+ }
+ if (map(x, y) == 0)
+ {
+ if (n == 3) map(x, y, work) = 1;
+ }
+ if (map(x, y) != map(x, y, work)) differences++;
+ }
+ uchar* old = board; //swap buffers
+ board = work;
+ delete[] old;
+
+ if (differences == 0) running = 0;
+}
+
+uchar& TLifeInterior::map(int x, int y)
+{
+ return board[size.x * y + x];
+}
+
+uchar& TLifeInterior::map(int x, int y, uchar* work)
+{
+ return work[size.x * y + x];
+}
+
+int TLifeInterior::present(int x, int y)
+{
+ //exit if the position is outside the rectangle
+
+ if (x < 0 || x >= size.x || y < 0 || y >= size.y) return 0;
+ if (board[size.x * y + x] == 0) return 0;
+ return 1;
+}
+
+inline int range(int test, int min, int max)
+{
+ return test < min ? min : test > max ? max : test;
+}
+
+void TLifeInterior::randomizeBoard()
+{
+ if (board == 0) return; //exit if no board
+ clearBoard();
+
+ //insert random cells
+
+ int howMany = size.x * size.y / 5;
+ for (int i = 0; i < howMany; i++)
+ {
+ int x, y;
+
+ do
+ {
+ x = (int) (((double) rand() * size.x) / RAND_MAX);
+ y = (int) (((double) rand() * size.y) / RAND_MAX);
+
+ x = range(0, x, size.x - 1);
+ y = range(0, y, size.y - 1);
+ }
+ while (map(x, y) != 0);
+ map(x, y) = 1;
+ }
+}
+
+void TLifeInterior::setState(ushort aState, Boolean enable)
+{
+ TView::setState(aState, enable);
+/* TCommandSet windowCommands;
+ if ((aState & sfFocused) != 0)
+ {
+ if (running) windowCommands += cmStop;
+ else windowCommands += cmStart;
+ if (enable != False) enableCommands(windowCommands);
+ else disableCommands(windowCommands);
+ }*/
+}
+
+TLifeWindow::TLifeWindow(TRect& bounds, char* str, int num):
+ TWindow(bounds, str, num), TWindowInit(&TLifeWindow::initFrame)
+{
+ options |= ofFirstClick | ofTileable;
+
+ TRect r = getClipRect();
+ r.grow(-1, -1);
+ insert(life = new TLifeInterior(r));
+}
+
+void TLifeWindow::sizeLimits(TPoint &min, TPoint &max)
+{
+ TView::sizeLimits(min, max);
+ min.x = minW;
+ min.y = minH;
+}
+
+TMyApp::TMyApp(): TProgInit(&TMyApp::initStatusLine, &TMyApp::initMenuBar,
+ &TMyApp::initDeskTop), windowCommands(getCommands())
+{
+}
+
+void TMyApp::aboutBox()
+{
+ TDialog *box = new TDialog(TRect(0, 0, 32, 10), "About");
+ box->insert(new TStaticText(TRect(1, 2, 1+30, 2+5),
+ "\003TVLIFE\n"
+ "\003The classic life example\n\n"
+ "\003Written by Sergio Sigala"));
+ box->insert(new TButton(TRect(11, 7, 11+10, 9), "O~K~", cmOK,
+ bfDefault));
+ box->options |= ofCentered;
+ executeDialog(box);
+}
+
+void TMyApp::createLifeWindow()
+{
+// TRect r(0, 0, TLifeWindow::minW, TLifeWindow::minH);
+// r.move(random() % 53, random() % 16); //randomly move around screen
+ TRect r;
+ r = deskTop->getExtent();
+ r.grow(-1, -1);
+
+ TView *w = validView(new TLifeWindow(r, "Life", 0));
+ if (w != 0) deskTop->insert(w);
+}
+
+TCommandSet TMyApp::getCommands()
+{
+ TCommandSet wc;
+
+ wc += cmCascade; //add window commands
+ wc += cmClearBoard;
+ wc += cmOneStep;
+ wc += cmRandom;
+ wc += cmStartStop;
+ wc += cmTile;
+ for (uint i = 0; i < NPATS; i++) //scan pattern commands
+ {
+ wc += cmPat01 + i; //add pattern commands
+ }
+ return wc;
+}
+
+void TMyApp::handleEvent(TEvent &event)
+{
+ TApplication::handleEvent(event);
+ if (event.what == evCommand)
+ {
+ switch (event.message.command)
+ {
+ case cmAbout:
+ aboutBox();
+ break;
+ case cmCascade:
+ deskTop->cascade(deskTop->getExtent());
+ break;
+ case cmCreate:
+ createLifeWindow();
+ break;
+ case cmTile:
+ deskTop->tile(deskTop->getExtent());
+ break;
+ default:
+ return;
+ }
+ clearEvent(event);
+ }
+}
+
+static Boolean isTileable(TView *p, void *)
+{
+ if ((p->options & ofTileable) != 0) return True;
+ else return False;
+}
+
+void TMyApp::idle()
+{
+ TApplication::idle();
+ if (deskTop->firstThat(isTileable, 0) != 0)
+ enableCommands(windowCommands);
+ else disableCommands(windowCommands);
+ message(deskTop, evBroadcast, cmUpdate, 0);
+}
+
+#define ITEM(name, comm) *new TMenuItem(name, comm, kbNoKey, hcNoContext)
+
+TMenuBar* TMyApp::initMenuBar(TRect r)
+{
+ TSubMenu& sub1 = *new TSubMenu("~\360~", 0, hcNoContext) +
+ *new TMenuItem("~A~bout...", cmAbout, kbNoKey, hcNoContext);
+
+ TSubMenu& sub2 = *new TSubMenu("~F~ile", 0) +
+ *new TMenuItem("~L~ife window", cmCreate, kbF9, hcNoContext, "F9") +
+ newLine() +
+ *new TMenuItem("E~x~it", cmQuit, kbAltX, hcNoContext, "Alt-X");
+
+ TSubMenu& sub3 = *new TSubMenu("~A~ction", 0) +
+ *new TMenuItem("~C~lear", cmClearBoard, kbNoKey, hcNoContext) +
+ *new TMenuItem("~O~ne step", cmOneStep, kbNoKey, hcNoContext) +
+ *new TMenuItem("~R~andomize", cmRandom, kbNoKey, hcNoContext) +
+ *new TMenuItem("~S~tart/Stop", cmStartStop, kbNoKey, hcNoContext);
+
+ TSubMenu& sub4 = *new TSubMenu("~W~indow", 0) +
+ *new TMenuItem("~S~ize/move", cmResize, kbCtrlF5, hcNoContext, "Ctrl-F5") +
+ *new TMenuItem("~Z~oom", cmZoom, kbF5, hcNoContext, "F5") +
+ *new TMenuItem("~N~ext", cmNext, kbF6, hcNoContext, "F6") +
+ *new TMenuItem("~P~revious", cmPrev, kbShiftF6, hcNoContext, "Shift-F6") +
+ *new TMenuItem("~C~lose", cmClose, kbAltF3, hcNoContext, "Alt-F3") +
+ newLine() +
+ *new TMenuItem("~T~ile", cmTile, kbNoKey, hcNoContext) +
+ *new TMenuItem("C~a~scade", cmCascade, kbNoKey, hcNoContext);
+
+ TSubMenu& sub5 = *new TSubMenu("Patterns ~1~", 0) +
+ ITEM("Glider Gun", cmPat01) +
+ ITEM("Figure Eight", cmPat02) +
+ ITEM("Pulsar", cmPat03) +
+ ITEM("Barber Pole P2", cmPat04) +
+ ITEM("Achim P5", cmPat05) +
+ ITEM("Hertz P4", cmPat06) +
+ ITEM("Tumbler", cmPat07) +
+ ITEM("Pulse1 P4", cmPat08) +
+ ITEM("Shining Flower P5", cmPat09) +
+ ITEM("Pulse2 P6", cmPat10) +
+ ITEM("Pinwheel, Clock P4", cmPat11) +
+ ITEM("Pentadecatholon", cmPat12) +
+ ITEM("Piston", cmPat13) +
+ ITEM("Piston2", cmPat14) +
+ ITEM("Switch Engine", cmPat15);
+
+ TSubMenu& sub6 = *new TSubMenu("Patterns ~2~", 0) +
+ ITEM("Gears (Gear, Flywheel, Blinker)", cmPat16) +
+ ITEM("Turbine8", cmPat17) +
+ ITEM("P16", cmPat18) +
+ ITEM("Puffer", cmPat19) +
+ ITEM("Escort", cmPat20) +
+ ITEM("Dart Speed 1/3", cmPat21) +
+ ITEM("Period 4 Speed 1/2", cmPat22) +
+ ITEM("Another Period 4 Speed 1/2", cmPat23) +
+ ITEM("Smallest Known Period 3 Spaceship Speed 1/3", cmPat24) +
+ ITEM("Turtle Speed 1/3", cmPat25) +
+ ITEM("Smallest Known Period 5 Speed 2/5", cmPat26) +
+ ITEM("Sym Puffer", cmPat27) +
+ ITEM("], Near Ship, Pi Heptomino", cmPat28) +
+ ITEM("R Pentomino", cmPat29);
+
+ r.b.y = r.a.y + 1;
+ return new TMenuBar(r, sub1 + sub2 + sub3 + sub4 + sub5 + sub6);
+}
+
+TStatusLine* TMyApp::initStatusLine(TRect r)
+{
+ r.a.y = r.b.y - 1;
+ return new TStatusLine(r,
+ *new TStatusDef(0, 50) +
+ *new TStatusItem("~Alt-X~ Exit", kbAltX, cmQuit) +
+ *new TStatusItem("~F9~ Life Window", kbF9, cmCreate) +
+ *new TStatusItem("~Alt-F3~ Close", kbAltF3, cmClose) +
+ *new TStatusItem("One step", kbNoKey, cmOneStep) +
+ *new TStatusItem("Randomize", kbNoKey, cmRandom) +
+ *new TStatusItem("Start/Stop", kbNoKey, cmStartStop) +
+ *new TStatusItem(0, kbF10, cmMenu) +
+ *new TStatusItem(0, kbF5, cmZoom) +
+ *new TStatusItem(0, kbCtrlF5, cmResize));
+}
+
+int main()
+{
+ TMyApp a;
+
+ a.run();
+ return 0;
+}
diff --git a/freebsdtvision/tutorial/validator.cc b/freebsdtvision/tutorial/validator.cc
new file mode 100644
index 0000000..63c4000
--- /dev/null
+++ b/freebsdtvision/tutorial/validator.cc
@@ -0,0 +1,137 @@
+/*
+ * TVision example: how to use range validators in input lines
+ *
+ * Written by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
+ */
+
+#define Uses_TApplication
+#define Uses_TButton
+#define Uses_TCombo
+#define Uses_TDeskTop
+#define Uses_TDialog
+#define Uses_TInputLine
+#define Uses_TKeys
+#define Uses_TLabel
+#define Uses_TMemo
+#define Uses_TMenuBar
+#define Uses_TMenuItem
+#define Uses_TPXPictureValidator
+#define Uses_TRangeValidator
+#define Uses_TScrollBar
+#define Uses_TSubMenu
+#define Uses_TStaticText
+
+#include <tvision/tv.h>
+
+const int cmOpenDialog = 100;
+
+class Demo: public TApplication
+{
+public:
+ Demo();
+ void handleEvent(TEvent &event);
+ static TMenuBar *initMenuBar(TRect r);
+};
+
+class MyDialog: public TDialog
+{
+public:
+ MyDialog();
+};
+
+Demo::Demo(): TProgInit(&Demo::initStatusLine, &Demo::initMenuBar,
+ &Demo::initDeskTop)
+{
+}
+
+void Demo::handleEvent(TEvent &event)
+{
+ TApplication::handleEvent(event);
+
+ if (event.what == evCommand)
+ {
+ switch (event.message.command)
+ {
+ case cmOpenDialog:
+ {
+ MyDialog *d = new MyDialog;
+ executeDialog(d);
+ }
+ break;
+ default:
+ return;
+ }
+ clearEvent (event);
+ }
+}
+
+TMenuBar *Demo::initMenuBar(TRect r)
+{
+ r.b.y = r.a.y + 1;
+
+ return new TMenuBar(r,
+ *new TSubMenu( "~F~ile", kbAltF, hcNoContext ) +
+ *new TMenuItem( "~D~ialog...", cmOpenDialog, kbNoKey, hcNoContext) +
+ newLine() +
+ *new TMenuItem( "E~x~it...", cmQuit, kbAltX, hcNoContext)
+ );
+}
+
+MyDialog::MyDialog():
+ TDialog(TRect(0, 0, 42, 16), "TValidator example"),
+ TWindowInit( &TDialog::initFrame )
+{
+ TInputLine *line;
+ TView *obj;
+
+ options |= ofCentered;
+
+ insert(obj = new TInputLine(TRect(23, 1, 40, 2), 40));
+ insert(new TLabel(TRect(1, 1, 22, 2), "No validator", obj));
+
+ //first approach: create the validator and next attach it to the
+ //input line
+
+ insert(obj = new TInputLine(TRect(23, 3, 27, 4), 3,
+ new TRangeValidator(1, 31)));
+ insert(new TLabel(TRect(1, 3, 22, 4), "Date style", obj));
+ insert(new TStaticText(TRect(27, 3, 28, 4), "/"));
+
+ //second approach: create the input line and then add the
+ //validator
+
+ insert(line = new TInputLine(TRect(28, 3, 32, 4), 3));
+ line->setValidator(new TRangeValidator(1, 12));
+
+ insert(new TStaticText(TRect(32, 3, 33, 4), "/"));
+ insert(new TInputLine(TRect(33, 3, 39, 4), 5,
+ new TRangeValidator(1950, 2050)));
+
+ insert(obj = new TInputLine(TRect(23, 5, 27, 6), 10,
+ new TPXPictureValidator("&&", False)));
+ insert(new TLabel(TRect(1, 5, 22, 6), "Two letters", obj));
+
+ insert(obj = new TInputLine(TRect(23, 7, 40, 8), 20,
+ new TPXPictureValidator("#####-###", True)));
+ insert(new TLabel(TRect(1, 7, 22, 8), "Fixed-length code", obj));
+
+ insert(obj = new TInputLine(TRect(23, 9, 40, 10), 10,
+ new TPXPictureValidator("*#", False)));
+ insert(new TLabel(TRect(1, 9, 22, 10), "Variable-length code", obj));
+
+ insert(obj = new TInputLine(TRect(23, 11, 40, 12), 20,
+ new TPXPictureValidator("##/##/####", True)));
+ insert(new TLabel(TRect(1, 11, 22, 12), "Another date style", obj));
+
+ insert(new TButton(TRect(1, 13, 11, 15), "O~K~", cmOK, bfDefault));
+ insert(new TButton(TRect(12, 13, 24, 15), "~C~ancel", cmCancel,
+ bfNormal));
+ selectNext(False);
+}
+
+int main()
+{
+ Demo a;
+ a.run();
+}
diff --git a/freebsdtvision/tvhc/DEMOHELP.TXT b/freebsdtvision/tvhc/DEMOHELP.TXT
new file mode 100644
index 0000000..44a9b37
--- /dev/null
+++ b/freebsdtvision/tvhc/DEMOHELP.TXT
@@ -0,0 +1,505 @@
+.topic Nocontext=0
+ Turbo Vision demonstration Ü
+ ßßßßßßßßßßßßßßßßßßßßßßßßßßß
+Welcome to Turbo Vision. This is a demonstration program that allows
+you to view some of the capablilities of Turbo Vision. The ð menu is
+accessed by pressing Alt-Space. All the other menus are accessed by
+pressing Alt-Z, where Z is the first letter of the menu. For example,
+the "File" menu is pulled down by Alt-F.
+
+Press ESC to put this help screen away.
+
+.topic Viewer=2
+ File viewer Ü
+ ßßßßßßßßßßßß
+A file viewer views the contents of a text file. You can use the
+arrow keys to move about in the file. A file is loaded via the
+{File³Open:FOpen} menu item.
+
+ Up Move up one line
+ Down Move down one line
+ Right Move right one column
+ Left Move left one column
+ PgUp Move one page up
+ PgDn Move one page down
+ Home View right most column of the file
+ End View left most column of the file
+ Ctrl-PgUp View top of file
+ Ctrl-PgDn View bottom of file.
+
+File viewers can be resized and moved using the {Windows} menu.
+
+.topic Puzzle
+ Puzzle Ü
+ ßßßßßßß
+The puzzle window is a small game. The object is to get the characters
+to form the following pattern:
+
+ A B C D
+ E F G H
+ I J K L
+ M N O
+
+Clicking the mouse on a tile next to the empty space moves the tile
+into the space. Pressing one of the cursor keys (up, down, left, or
+right arrow) moves a tile into the empty space in the direction
+indicated by the cursor key. The move counter is updated every time
+a tile is moved.
+
+.topic Calculator
+ Calculator Ü
+ ßßßßßßßßßßß
+The calculator is a simple four-function calculator with add, subtract,
+multiply, and divide. To operate the calculator you can either use the
+keyboard or press the buttons on the calculator with the mouse. The 'C'
+key clears the calculator, the '' key will erases the last character
+typed, and the 'ñ' key toggles the value from positive to negative (the
+keyboard equivalent of 'ñ' is '_').
+
+.topic Calendar
+ Calendar Ü
+ ßßßßßßßßß
+The calendar displays the current month, highlighting todays date. The
+next and previous months can be viewed using the '+' or '-' keys
+respectivly. The mouse can also be used to change the month by pressing
+the  or  icons.
+
+.topic AsciiTable
+ ASCII Table Ü
+ ßßßßßßßßßßßß
+The ASCII table displays the entire IBM PC character set. The current
+character is marked by a blinking block cursor, and the hexadecimal and
+decimal ASCII values of the character are displayed below the chart. A
+new character is selected by pressing it on the keyboard, by clicking
+the mouse on it in the chart, or by moving the cursor using the cursor
+keys.
+
+.topic System
+ ð (System) menu Ü (Alt-Spacebar)
+ ßßßßßßßßßßßßßßßß
+The System menu appears on the far left of the menu bar and is
+represented by the ð symbol.
+
+When you pull down the ð menu, you see
+
+ {About:SAbout} {Puzzle:SPuzzle}
+ {Calendar:SCalendar} {Ascii Table:SAsciiTable}
+ {Calculator:SCalculator}
+
+.topic SAbout
+ ð³About Ü
+ ßßßßßßßß
+When you choose the About command from the ð (System) menu, a
+dialog box appears, showing copyright and version information.
+
+To close the box, press Esc, Space, or Enter, or click the OK
+button.
+
+.topic SPuzzle
+ ð³Puzzle Ü
+ ßßßßßßßßß
+The Puzzle menu item opens a small {Puzzle} game.
+
+.topic SCalendar
+ ð³Calendar Ü
+ ßßßßßßßßßßß
+The Calendar menu item opens a small {Calendar} which displays
+the current month. It also allows you to view other months.
+
+.topic SAsciiTable
+ ð³ASCII table Ü
+ ßßßßßßßßßßßßßß
+The ASCII menu items opens an {ASCII Table:AsciiTable} that
+displays the IBM PC character set.
+
+.topic SCalculator
+ ð³Calculator Ü
+ ßßßßßßßßßßßßß
+When you choose Calculator, a four-function {Calculator} is
+opened on the desktop.
+
+.topic File
+ File (Alt-F) Ü
+ ßßßßßßßßßßßßßß
+The File menu offers choices for opening files, changing
+directories, and exiting the program.
+
+ {Open:FOpen} {Change Dir:FChangeDir} {FExit}
+
+.topic FOpen
+ File³Open (F3) Ü
+ ßßßßßßßßßßßßßßßß
+The Open command displays the Open a File dialog box. In this
+dialog box you select the text file you want browse in a
+{file viewer:Viewer}.
+
+The {Open a File:FOFileOpenDBox} dialog box contains:
+
+ þ an {input box:FOName} with a history list
+ þ a {list box:FOFiles} to browse the directory
+ þ the standard {Cancel:CancelBtn} button
+ þ {Open:FOOpenBtn} action button
+ þ an information panel that describes the
+ selected file
+
+.topic FChangeDir
+ File³Change Dir...Ü
+ ßßßßßßßßßßßßßßßßßß
+File³Change Dir brings up the {Change Directory:FCChDirDBox}
+dialog box, in which you can change the current directory.
+
+.topic FDosShell
+ File³DOS Shell Ü
+ ßßßßßßßßßßßßßßß
+With the DOS Shell command, you can leave the program temporarily
+to perform a DOS command or run another program.
+
+To return to this program, type EXIT at the DOS prompt.
+
+.topic FExit
+ File³Exit Ü (Alt-X)
+ ßßßßßßßßßß
+The Exit command terminates this program.
+
+.topic Windows
+ Window Ü (Alt-W)
+ ßßßßßßß
+The Window menu contains commands to close, move and perform
+other window-management commands.
+
+Most of the windows in this program have all the standard window
+elements, including scroll bars, a close box, and zoom icons.
+
+For more about windows and their elements, refer to windows.
+
+
+ Window-management commands
+ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
+
+ {Size/Move:WSizeMove} {Zoom:WZoom}
+ {Tile:WTile} {Cascade:WCascade}
+ {Next:WNext} {Previous:WPrevious}
+ {Close:WClose}
+
+.topic WSizeMove
+ Window³Size/Move Ü (Ctrl-F5)
+ ßßßßßßßßßßßßßßßßß
+Choose this command to change the size or position of the active
+window.
+
+ ÜÜÜÜÜÜ
+ Size
+ ßßßßßß
+If you press Shift while you use the arrow keys, you can change
+the size of the active window. Once you've adjusted its size or
+position, press Enter.
+
+If a window has a Resize corner, you can drag that corner to
+resize the window.
+
+ ÜÜÜÜÜÜ
+ Move
+ ßßßßßß
+When you choose Window³Size/Move, the active window moves in
+response to the arrow keys. Once you've moved the window to where
+you want it, press Enter.
+
+You can also move a window by dragging its title bar with the
+mouse.
+
+.topic WZoom
+ Window³Zoom Ü (F5)
+ ßßßßßßßßßßßß
+Choose Zoom to resize the active window to the maximum size. If
+the window is already zoomed, you can choose this command to
+restore it to its previous size.
+
+You can also double-click anywhere on the window's title bar
+(except where an icon appears) to zoom or unzoom the window.
+
+.topic WTile
+ Window³Tile Ü
+ ßßßßßßßßßßßß
+Choose Window³Tile to tile all file viewers on the desktop.
+
+ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
+ ³ ÉÍÍÍÍÍÍÍÍÍÍÍÍ1ÍÍ»ÚÄÄÄÄÄÄÄÄÄÄÄÄ2ÄÄ¿ ³
+ ³ º º³ ³ ³
+ ³ º º³ ³ ³
+ ³ º º³ ³ ³
+ ³ º º³ ³ ³
+ ³ ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³
+ ³ ÚÄÄÄÄÄÄÄÄÄÄÄÄ3ÄÄ¿ÚÄÄÄÄÄÄÄÄÄÄÄÄ4ÄÄ¿ ³
+ ³ ³ ³³ ³ ³
+ ³ ³ ³³ ³ ³
+ ³ ³ ³³ ³ ³
+ ³ ³ ³³ ³ ³
+ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³
+ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
+ Tiled Windows
+
+.topic WCascade
+ Window³Cascade Ü
+ ßßßßßßßßßßßßßßß
+Choose Window³Cascade to stack all file viewers on the desktop.
+
+ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ1Ä¿
+ ³ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ2Ä¿
+ ³³ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ3Ä¿
+ ³³³ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ4Í»
+ ³³³º º
+ ³³³º º
+ ³³³º º
+ ³³³º º
+ ³³³º º
+ ÀÀÀÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
+
+ Cascaded Windows
+
+.topic WNext
+ Window³Next Ü
+ ßßßßßßßßßßßß
+Choose Next to cycle forwards through the windows on the desktop.
+
+.topic WPrevious
+ Window³Previous Ü
+ ßßßßßßßßßßßßßßßß
+Choose Previous to cycle backwards through the windows on the desktop.
+
+.topic WClose
+ Window³Close Ü (Alt-F3)
+ ßßßßßßßßßßßßß
+Choose Close to close the active window.
+
+You can also click the Close box in the upper right corner to
+close a window.
+
+.topic Options
+ Options (Alt-O) Ü
+ ßßßßßßßßßßßßßßßßß
+The Options menu contains commands that let
+you change {color:OColors} and {mouse:OMouse} default settings.
+
+.topic OMouse
+ Options³Mouse... Ü
+ ßßßßßßßßßßßßßßßßß
+The Mouse command brings up the {Mouse Options:OMMouseDBox}
+dialog box, where you can set various options that control how your
+mouse works, including:
+
+ þ how fast a double-click is
+ þ which mouse button (right or left) is
+ active
+
+.topic OColors
+ Options³Colors... Ü
+ ßßßßßßßßßßßßßßßßßß
+The Colors item brings up the {Colors dialog:OCColorsDBox} box,
+where you can customize the colors of the display.
+
+.topic OSaveDesktop
+ Options³Save Desktop Ü
+ ßßßßßßßßßßßßßßßßßßßßß
+Saves the state of all open windows to a file call TVDEMO.DSK. This
+file can be reloaded by selecting {Options³Restore Desktop:ORestoreDesktop}.
+
+.topic ORestoreDesktop
+ Options³Restore Desktop Ü
+ ßßßßßßßßßßßßßßßßßßßßßßßß
+Restore a previously-saved state of all open windows from a file
+call TVDEMO.DSK. This file is saved via the
+{Options³Save Desktop:OSaveDesktop} menu command.
+
+.topic FOFileOpenDBox
+ Help on Open a File Dialog Box Ü
+ ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
+The Open a File dialog box contains an input box, a {file list:FOFiles},
+a file information panel, the standard button {Cancel:CancelBtn},
+one other action button ({Open:FOOpenBtn}), plus a history list
+that's attached to the {Name inputbox:FOName}.
+
+.topic FOName
+ ÚÄ Name ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
+ ³ ³
+ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
+The Name input box is where you enter the name of the file to
+load, or the file-name mask to use as a filter for the Files list
+box (for example, *.*).
+
+.topic FOFiles
+ Ú Files ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
+ ³ ³
+ ³ FILENM01.PAS ³ FILENM09.PAS ³
+ ³ FILENM02.PAS ³ FILENM10.PAS ³
+ ³ FILENM03.PAS ³ FILENM11.PAS ³
+ ³ FILENM04.PAS ³ FILENM12.PAS ³
+ ³ FILENM05.PAS ³ .. ³
+ ³ FILENM06.PAS ³ \MOREXAMP ³
+ ³ FILENM07.PAS ³ \TOURS ³
+ ³ FILENM08.PAS ³ \ANSWERS.DIR ³
+ ³ ±±±þ±±±±±±±±±±±±±±±±±±±±±± ³
+ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
+The Files list box lists the names of files in the current
+directory that match the file-name mask in the Name input box,
+plus the parent directory and all subdirectories.
+
+ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
+ ³ C:\TP\EXAMPLES\*.PAS ³
+ ³ HELLO.PAS 52 Jul 14,1990 12:00pm ³
+ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
+The File information panel shows the path name, file name, date,
+time, and size of the selected file.
+
+None of the items on this information panel are selectable.
+
+.topic FOOpenBtn
+ ÚÄÄÄÄÄÄÄÄÄÄ¿
+ ³ [ Open ] ³
+ ÀÄÄÄÄÄÄÄÄÄÄÙ
+The Open button opens a new Viewer window and places the selected
+file in that window.
+
+.topic CancelBtn
+ ÚÄÄÄÄÄÄÄÄÄÄÄÄ¿
+ ³ [ Cancel ] ³
+ ÀÄÄÄÄÄÄÄÄÄÄÄÄÙ
+
+If you choose Cancel, nothing changes and no action occurs, and
+the dialog box is put away.
+
+(Esc always cancels a dialog box, even if a Cancel button does
+not appear.)
+
+.topic OpenBtn
+ ÚÄÄÄÄÄÄÄÄÄÄ¿
+ ³ [ Open ] ³
+ ÀÄÄÄÄÄÄÄÄÄÄÙ
+
+In the Open a File dialog box, if you choose the Open button
+TVDEMO opens a new {file viewer:Viewer} and places the selected
+file in that window.
+
+.topic FCChDirDBox
+ Help on the Change Directory dialog box Ü
+ ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
+The Change Directory dialog box consists of an input box, a list
+box, the standard OK and Help buttons, and two other buttons
+(Chdir and Revert).
+
+ Ú Directory Name ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
+ ³ ³
+ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
+The Directory Name input box is where you type in the path of the
+new directory.
+
+ Ú Directory Tree ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
+ ³ Drives ³
+ ³ ÀÄÂC:\ ³
+ ³ ÀÄÂTP ³
+ ³ ÀÄÄTVISION ³
+ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
+The Directory Tree list box enables you to navigate directories
+by using the selecting bar and pressing Enter.
+
+If you're using the keyboard, press Enter to make the selected
+directory be the current directory, then choose OK or press Esc
+to exit the dialog box.
+
+ ÚÄÄÄÄÄÄÄÄÄÄ¿
+ ³ [Chdir ] ³
+ ÀÄÄÄÄÄÄÄÄÄÄÙ
+The Chdir button changes the current directory once you've
+selected or typed in a directory name.
+
+ ÚÄÄÄÄÄÄÄÄÄÄ¿
+ ³ [Revert] ³
+ ÀÄÄÄÄÄÄÄÄÄÄÙ
+The Revert button goes back to the previous directory, as long as
+you haven't yet exited the dialog box.
+
+.topic OMMouseDBox
+ Help on the Mouse Options dialog box Ü
+ ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
+This dialog box consists of one check box, one slider bar, and
+the standard buttons OK and Cancel.
+
+ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
+ ³ Mouse Double Click ³
+ ³ Slow Medium Fast ³
+ ³ ±±±±±±±±±±±þ±±±±±±±±±± ³
+ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
+The Mouse Double Click slider bar adjusts the double-click speed of
+your mouse.
+
+ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
+ ³ [X] Reverse Mouse Buttons ³
+ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
+Reverse Mouse Buttons makes the right mouse button take on the
+normal functions of the left--and vice versa.
+
+ See also:
+ ÍÍÍÍÍÍÍÍÍ
+ {Options³Mouse... menu command:OMouse}
+
+.topic OCColorsDBox
+ Help on the Colors dialog box Ü
+ ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
+The Colors dialog box consists of two list boxes, a text display
+area, the standard OK, Cancel, and Help buttons, and one of the
+following:
+
+ þ On color and black-and-white systems, it
+ also contains two color palettes.
+ þ On monochrome systems, it contains a set
+ of radio buttons instead of the palettes.
+
+This dialog box is where you can change the colors of different
+parts of this program.
+
+ ÚÄ Group ÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
+ ³ Desktop ³
+ ³ Menus þ³
+ ³ Dialogs/Calc ±³
+ ³ Puzzle ±³
+ ³ Calendar ±³
+ ³ Ascii table ±³
+ ³ ³
+ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
+The Group list box contains the names of the different regions of
+the program that you can customize.
+
+ ÚÄ Item ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
+ ³ Color ³
+ ³ þ³
+
+When you select a group from the Group list, the Item list box
+displays the names of the different views in that region.
+
+ Ú Foreground ¿ Ú Background ¿
+ ³ °±²°±²°±²° ³ ³ ²°±²°±²°±² ³
+ ³ ²°±²°±²°±² ³ ³ °±²°±²°±²° ³
+ ³ ±²°±²°±²°± ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÙ
+ ÀÄÄÄÄÄÄÄÄÄÄÄÄÙ
+On color and black-and-white systems, you use the Foreground and
+Background palettes to modify colors.
+
+ Ú Colors ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
+ ³ (ù) Mono low ³
+ ³ ( ) Mono high ³
+ ³ ( ) Mono underscore ³
+ ³ ( ) Mono inverse ³
+ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
+
+On monochrome systems, you use the Colors set of radio buttons
+systems to modify the character attributes.
+
+ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
+ ³ Text Text Text ³
+ ³ Text Text Text ³
+ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
+On all systems, the display text (above the Help button) shows
+the current color or attribute settings.
+
+Changes do not take effect on the desktop until you close the
+Colors dialog box by choosing OK.
+
diff --git a/freebsdtvision/tvhc/Makefile.am b/freebsdtvision/tvhc/Makefile.am
new file mode 100644
index 0000000..2f437e1
--- /dev/null
+++ b/freebsdtvision/tvhc/Makefile.am
@@ -0,0 +1,11 @@
+AUTOMAKE_OPTIONS = foreign
+
+noinst_PROGRAMS = tvhc
+
+tvhc_SOURCES = tvhc.cc tvhc.h
+
+LDADD = ../lib/libtvision.a
+
+INCLUDES = -I../lib
+
+EXTRA_DIST = DEMOHELP.TXT README
diff --git a/freebsdtvision/tvhc/Makefile.in b/freebsdtvision/tvhc/Makefile.in
new file mode 100644
index 0000000..3d85e24
--- /dev/null
+++ b/freebsdtvision/tvhc/Makefile.in
@@ -0,0 +1,423 @@
+# Makefile.in generated by automake 1.7.3 from Makefile.am.
+# @configure_input@
+
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+# Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ..
+
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_triplet = @host@
+ACLOCAL = @ACLOCAL@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+AUTOMAKE_OPTIONS = foreign
+
+noinst_PROGRAMS = tvhc
+
+tvhc_SOURCES = tvhc.cc tvhc.h
+
+LDADD = ../lib/libtvision.a
+
+INCLUDES = -I../lib
+
+EXTRA_DIST = DEMOHELP.TXT README
+subdir = tvhc
+mkinstalldirs = $(SHELL) $(top_srcdir)/util/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+noinst_PROGRAMS = tvhc$(EXEEXT)
+PROGRAMS = $(noinst_PROGRAMS)
+
+am_tvhc_OBJECTS = tvhc.$(OBJEXT)
+tvhc_OBJECTS = $(am_tvhc_OBJECTS)
+tvhc_LDADD = $(LDADD)
+tvhc_DEPENDENCIES = ../lib/libtvision.a
+tvhc_LDFLAGS =
+
+DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/util/depcomp
+am__depfiles_maybe = depfiles
+@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/tvhc.Po
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \
+ $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+DIST_SOURCES = $(tvhc_SOURCES)
+DIST_COMMON = README Makefile.am Makefile.in
+SOURCES = $(tvhc_SOURCES)
+
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cc .lo .o .obj
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign tvhc/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+
+clean-noinstPROGRAMS:
+ @list='$(noinst_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+tvhc$(EXEEXT): $(tvhc_OBJECTS) $(tvhc_DEPENDENCIES)
+ @rm -f tvhc$(EXEEXT)
+ $(CXXLINK) $(tvhc_LDFLAGS) $(tvhc_OBJECTS) $(tvhc_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT) core *.core
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tvhc.Po@am__quote@
+
+distclean-depend:
+ -rm -rf ./$(DEPDIR)
+
+.cc.o:
+@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
+@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
+@am__fastdepCXX_TRUE@ then mv "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
+@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
+@am__fastdepCXX_TRUE@ fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
+
+.cc.obj:
+@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
+@am__fastdepCXX_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \
+@am__fastdepCXX_TRUE@ then mv "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
+@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
+@am__fastdepCXX_TRUE@ fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`
+
+.cc.lo:
+@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
+@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
+@am__fastdepCXX_TRUE@ then mv "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \
+@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
+@am__fastdepCXX_TRUE@ fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+distclean-libtool:
+ -rm -f libtool
+uninstall-info-am:
+
+ETAGS = etags
+ETAGSFLAGS =
+
+CTAGS = ctags
+CTAGSFLAGS =
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ mkid -fID $$unique
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$tags$$unique" \
+ || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique
+
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+
+top_distdir = ..
+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkinstalldirs) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS)
+
+installdirs:
+
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
+ mostlyclean-am
+
+distclean: distclean-am
+
+distclean-am: clean-am distclean-compile distclean-depend \
+ distclean-generic distclean-libtool distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-noinstPROGRAMS ctags distclean \
+ distclean-compile distclean-depend distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am info \
+ info-am install install-am install-data install-data-am \
+ install-exec install-exec-am install-info install-info-am \
+ install-man install-strip installcheck installcheck-am \
+ installdirs maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
+ uninstall-am uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/freebsdtvision/tvhc/README b/freebsdtvision/tvhc/README
new file mode 100644
index 0000000..e09906f
--- /dev/null
+++ b/freebsdtvision/tvhc/README
@@ -0,0 +1,83 @@
+
+Help compiler documentation
+---------------------------
+
+Here is some minimal documentation about the help compiler. This program
+can handle both dos and unix files, you don't need to translate them.
+
+File `DEMOHELP.TXT' was used by Borland to generate the binary help file
+`DEMOHELP.H32' that you should find in the `demo' subdirectory. Note: if you
+compile the source help yourself and compare the result with `DEMOHELP.H32'
+you'll get a different file, even if the sources seem identical.
+
+/*===== TVHC ============================================================*/
+/* Turbo Vision help file compiler documentation. */
+/*=======================================================================*/
+/* */
+/* Refer to DEMOHELP.TXT for an example of a help source file. */
+/* */
+/* This program takes a help script and produces a help file (.HLP) */
+/* and a help context file (.H). The format for the help file is */
+/* very simple. Each context is given a symbolic name (i.e FileOpen) */
+/* which is then put in the context file (i.e. hcFileOpen). The text */
+/* following the topic line is put into the help file. Since the */
+/* help file can be resized, some of the text will need to be wrapped */
+/* to fit into the window. If a line of text is flush left with */
+/* no preceeding white space, the line will be wrapped. All adjacent */
+/* wrappable lines are wrapped as a paragraph. If a line begins with */
+/* a space it will not be wrapped. For example, the following is a */
+/* help topic for a File|Open menu item. */
+/* */
+/* |.topic FileOpen */
+/* | File|Open */
+/* | --------- */
+/* |This menu item will bring up a dialog... */
+/* */
+/* The "File|Open" will not be wrapped with the "----" line since */
+/* they both begin with a space, but the "This menu..." line will */
+/* be wrapped. */
+/* The syntax for a ".topic" line is: */
+/* */
+/* .topic symbol[=number][, symbol[=number][...]] */
+/* */
+/* Note a topic can have multiple symbols that define it so that one */
+/* topic can be used by multiple contexts. The number is optional */
+/* and will be the value of the hcXXX context in the context file */
+/* Once a number is assigned all following topic symbols will be */
+/* assigned numbers in sequence. For example, */
+/* */
+/* .topic FileOpen=3, OpenFile, FFileOpen */
+/* */
+/* will produce the follwing help context number definitions, */
+/* */
+/* hcFileOpen = 3; */
+/* hcOpenFile = 4; */
+/* hcFFileOpen = 5; */
+/* */
+/* Cross references can be imbedded in the text of a help topic which */
+/* allows the user to quickly access related topics. The format for */
+/* a cross reference is as follows, */
+/* */
+/* {text[:alias]} */
+/* */
+/* The text in the brackets is highlighted by the help viewer. This */
+/* text can be selected by the user and will take the user to the */
+/* topic by the name of the text. Sometimes the text will not be */
+/* the same as a topic symbol. In this case you can use the optional */
+/* alias syntax. The symbol you wish to use is placed after the text */
+/* after a ':'. The following is a paragraph of text using cross */
+/* references, */
+/* */
+/* |The {file open dialog:FileOpen} allows you specify which */
+/* |file you wish to view. If it also allow you to navigate */
+/* |directories. To change to a given directory use the */
+/* |{change directory dialog:ChDir}. */
+/* */
+/* The user can tab or use the mouse to select more information about */
+/* the "file open dialog" or the "change directory dialog". The help */
+/* compiler handles forward references so a topic need not be defined */
+/* before it is referenced. If a topic is referenced but not */
+/* defined, the compiler will give a warning but will still create a */
+/* useable help file. If the undefined reference is used, a message */
+/* ("No help available...") will appear in the help window. */
+/*=======================================================================*/
diff --git a/freebsdtvision/tvhc/tvhc.cc b/freebsdtvision/tvhc/tvhc.cc
new file mode 100644
index 0000000..51e7c2f
--- /dev/null
+++ b/freebsdtvision/tvhc/tvhc.cc
@@ -0,0 +1,999 @@
+/*-----------------------------------------------------------------------*/
+/* */
+/* Turbo Vision 1.0 */
+/* Turbo Vision Help Compiler Source File */
+/* Copyright (c) 1991 by Borland International */
+/* */
+/*-----------------------------------------------------------------------*/
+
+/*
+ * Modified by Sergey Clushin <serg@lamport.ru>, <Clushin@deol.ru>
+ * Modified by Sergio Sigala <sergio@sigala.it>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
+ */
+
+/*===== TVHC ============================================================*/
+/* Turbo Vision help file compiler documentation. */
+/*=======================================================================*/
+/* */
+/* Refer to DEMOHELP.TXT for an example of a help source file. */
+/* */
+/* This program takes a help script and produces a help file (.HLP) */
+/* and a help context file (.H). The format for the help file is */
+/* very simple. Each context is given a symbolic name (i.e FileOpen) */
+/* which is then put in the context file (i.e. hcFileOpen). The text */
+/* following the topic line is put into the help file. Since the */
+/* help file can be resized, some of the text will need to be wrapped */
+/* to fit into the window. If a line of text is flush left with */
+/* no preceeding white space, the line will be wrapped. All adjacent */
+/* wrappable lines are wrapped as a paragraph. If a line begins with */
+/* a space it will not be wrapped. For example, the following is a */
+/* help topic for a File|Open menu item. */
+/* */
+/* |.topic FileOpen */
+/* | File|Open */
+/* | --------- */
+/* |This menu item will bring up a dialog... */
+/* */
+/* The "File|Open" will not be wrapped with the "----" line since */
+/* they both begin with a space, but the "This menu..." line will */
+/* be wrapped. */
+/* The syntax for a ".topic" line is: */
+/* */
+/* .topic symbol[=number][, symbol[=number][...]] */
+/* */
+/* Note a topic can have multiple symbols that define it so that one */
+/* topic can be used by multiple contexts. The number is optional */
+/* and will be the value of the hcXXX context in the context file */
+/* Once a number is assigned all following topic symbols will be */
+/* assigned numbers in sequence. For example, */
+/* */
+/* .topic FileOpen=3, OpenFile, FFileOpen */
+/* */
+/* will produce the follwing help context number definitions, */
+/* */
+/* hcFileOpen = 3; */
+/* hcOpenFile = 4; */
+/* hcFFileOpen = 5; */
+/* */
+/* Cross references can be imbedded in the text of a help topic which */
+/* allows the user to quickly access related topics. The format for */
+/* a cross reference is as follows, */
+/* */
+/* {text[:alias]} */
+/* */
+/* The text in the brackets is highlighted by the help viewer. This */
+/* text can be selected by the user and will take the user to the */
+/* topic by the name of the text. Sometimes the text will not be */
+/* the same as a topic symbol. In this case you can use the optional */
+/* alias syntax. The symbol you wish to use is placed after the text */
+/* after a ':'. The following is a paragraph of text using cross */
+/* references, */
+/* */
+/* |The {file open dialog:FileOpen} allows you specify which */
+/* |file you wish to view. If it also allow you to navigate */
+/* |directories. To change to a given directory use the */
+/* |{change directory dialog:ChDir}. */
+/* */
+/* The user can tab or use the mouse to select more information about */
+/* the "file open dialog" or the "change directory dialog". The help */
+/* compiler handles forward references so a topic need not be defined */
+/* before it is referenced. If a topic is referenced but not */
+/* defined, the compiler will give a warning but will still create a */
+/* useable help file. If the undefined reference is used, a message */
+/* ("No help available...") will appear in the help window. */
+/*=======================================================================*/
+
+#define Uses_fpstream
+#define Uses_TSortedCollection
+#include <tv.h>
+
+#include "tvhc.h"
+
+#include <string.h>
+#include <limits.h>
+#include <unistd.h>
+#include <ctype.h>
+#include <stdlib.h>
+#include <errno.h>
+
+#include <fstream>
+#include <sstream>
+#include <string>
+
+using std::cerr;
+using std::cin;
+using std::cout;
+using std::ends;
+using std::fstream;
+using std::ios;
+using std::ostringstream;
+using std::string;
+
+static const int MAXSTRSIZE=256;
+static const char commandChar[] = ".";
+static const int bufferSize = 4096;
+
+typedef enum State { undefined, wrapping, notWrapping };
+
+static char *helpName;
+static uchar buffer[bufferSize];
+static int ofs;
+static TRefTable *refTable = 0;
+static TCrossRefNode *xRefs;
+static char line[MAXSTRSIZE] = "";
+static Boolean lineInBuffer = False;
+static int lineCount = 0;
+
+//======================= File Management ===============================//
+
+TProtectedStream::TProtectedStream( char *aFileName, ios::openmode aMode) :
+ fstream( aFileName, aMode )
+{
+ strcpy(fileName, aFileName);
+ mode = aMode;
+}
+
+//----- replaceExt(fileName, nExt, force) -------------------------------//
+// Replace the extension of the given file with the given extension. //
+// If an extension already exists Force indicates if it should be //
+// replaced anyway. //
+//-----------------------------------------------------------------------//
+
+#if 0
+char *replaceExt( char *fileName, char *nExt, Boolean force )
+{
+ char dir[MAXPATH];
+ char name[MAXFILE];
+ char ext[MAXEXT];
+ char drive[MAXDRIVE];
+ string buffer;
+ ostringstream os(buffer);
+
+ fnsplit(fileName, drive, dir, name, ext);
+ if (force || (strlen(ext) == 0))
+ {
+ os << dir << name << nExt << ends;
+ return os.str();
+ }
+ else
+ return fileName;
+}
+#endif
+
+//----- fExist(fileName) ------------------------------------------------/
+// Returns true if the file exists false otherwise. /
+//-----------------------------------------------------------------------/
+
+static bool
+fExists(const string &fileName)
+{
+ return (access(fileName.c_str(), R_OK) == 0) ? true : false;
+}
+
+//======================== Line Management ==============================//
+//----- getLine(s) ------------------------------------------------------//
+// Returns the next line out of the stream. //
+//-----------------------------------------------------------------------//
+
+char *getLine( fstream& s)
+{
+ if (s.eof())
+ {
+ strcpy(line, "\x1A");
+ return line;
+ }
+ if (!lineInBuffer)
+ {
+ s.getline(line, MAXSTRSIZE, '\n');
+
+ //SS: remove carriage return, if present. After this simple fix the
+ //program will both handle unix and dos files.
+
+ int l;
+ if ((l = strlen(line)) >= 1 && line[l - 1] == '\r')
+ {
+ line[l - 1] = '\0';
+ }
+ }
+ lineInBuffer = False;
+ ++lineCount;
+ return line;
+}
+
+//----- unGetLine(s) ----------------------------------------------------//
+// Return given line into the stream. //
+//-----------------------------------------------------------------------//
+
+void unGetLine( char *s )
+{
+ strcpy(line,s);
+ lineInBuffer = True;
+ --lineCount;
+}
+
+//========================= Error routines ==============================//
+
+//----- prntMsg(text) ---------------------------------------------------//
+// Used by Error and Warning to print the message. //
+//-----------------------------------------------------------------------//
+
+void
+prntMsg(const string &pref, char *text)
+{
+ if (lineCount > 0)
+ cout << pref << ": " << helpName << "("
+ << lineCount << "): " << text << "\n";
+ else
+ cout << pref << ": " << helpName << " "
+ << text << "\n";
+}
+
+//----- error(text) -----------------------------------------------------//
+// Used to indicate an error. Terminates the program //
+//-----------------------------------------------------------------------//
+
+void
+error(char *text)
+{
+ prntMsg("Error", text);
+ exit(1);
+}
+
+//----- warning(text) ---------------------------------------------------//
+// Used to indicate an warning. //
+//-----------------------------------------------------------------------//
+
+void warning( char *text )
+{
+ prntMsg("Warning", text);
+}
+
+//====================== Topic Reference Management =====================//
+
+void disposeFixUps( TFixUp *&p )
+{
+ TFixUp *q;
+
+ while (p != 0)
+ {
+ q = p->next;
+ delete p;
+ p = q;
+ }
+}
+
+//----- TRefTable -------------------------------------------------------//
+// TRefTable is a collection of TReference pointers used as a symbol //
+// table. If the topic has not been seen, a forward reference is //
+// inserted and a fix-up list is started. When the topic is seen all //
+// forward references are resolved. If the topic has been seen already //
+// the value it has is used. //
+//-----------------------------------------------------------------------//
+
+TRefTable::TRefTable( ccIndex aLimit, ccIndex aDelta ) :
+ TSortedCollection( aLimit, aDelta )
+{
+}
+
+int TRefTable::compare( void *key1, void *key2 )
+{
+ int compValue;
+
+
+ compValue = strcmp( (char *)key1, (char *)key2 );
+ if (compValue > 0)
+ return 1;
+ else if (compValue < 0)
+ return (-1);
+ else
+ return(0);
+}
+
+void TRefTable::freeItem( void *item )
+{
+ TReference *ref;
+
+ ref = (TReference *) item;
+ if (ref->resolved == False)
+ disposeFixUps(ref->val.fixUpList);
+ delete ref->topic;
+ delete ref;
+}
+
+TReference *TRefTable::getReference( char *topic )
+{
+ TReference *ref;
+ int i;
+
+ if (search(topic, i))
+ ref = (TReference *) at(i);
+ else
+ {
+ ref = new TReference;
+ ref->topic = newStr(topic);
+ ref->resolved = False;
+ ref->val.fixUpList = 0;
+ insert(ref);
+ }
+ return(ref);
+}
+
+void* TRefTable::keyOf( void *item )
+{
+ return(((TReference *)item)->topic);
+}
+
+//----- initRefTable ---------------------------------------------------//
+// Make sure the reference table is initialized. //
+//----------------------------------------------------------------------//
+
+void initRefTable()
+{
+ if (refTable == 0)
+ refTable = new TRefTable(5,5);
+}
+
+//---- RecordReference -------------------------------------------------//
+// Record a reference to a topic to the given stream. This routine //
+// handles forward references. //
+//----------------------------------------------------------------------//
+
+void recordReference( char *topic, opstream& s )
+{
+ int i;
+ TReference *ref;
+ TFixUp *fixUp;
+
+ initRefTable();
+ ref = refTable->getReference(topic);
+ if (ref->resolved == True)
+ s << ref->val.value;
+ else
+ {
+ fixUp = new TFixUp;
+ fixUp->pos = s.tellp();
+ i = -1;
+// s << i;
+ s << (typeof(ref->val.value))i; // SC
+ fixUp->next = ref->val.fixUpList;
+ ref->val.fixUpList = fixUp;
+ }
+}
+
+void doFixUps( TFixUp *p, ushort value, fpstream& s )
+{
+ long pos;
+
+// for(pos = s.tellg(); (p != 0); p = p->next)
+ for(pos = s.tellp(); (p != 0); p = p->next) // SC
+ {
+ s.seekp(p->pos);
+// s << value;
+ TReference *ref; // SC
+ s << (typeof(ref->val.value))value; //
+ }
+ s.seekp(pos);
+}
+
+//----- resolveReference -----------------------------------------------//
+// Resolve a reference to a topic to the given stream. This function //
+// handles forward references. //
+//----------------------------------------------------------------------//
+
+void resolveReference( char *topic, ushort value, fpstream& s )
+{
+ TReference *ref;
+ char bufStr[MAXSIZE];
+
+ initRefTable();
+ ref = refTable->getReference(topic);
+ if (ref->resolved )
+ {
+ strcpy(bufStr,"Redefinition of ");
+ strcat(bufStr,ref->topic);
+ error(bufStr);
+ }
+ else
+ {
+ doFixUps(ref->val.fixUpList,value,s);
+ disposeFixUps(ref->val.fixUpList);
+ ref->resolved = True;
+ ref->val.value = value;
+ }
+}
+
+//======================= Help file parser =============================//
+
+void skipWhite( char *line,int& i )
+{
+ while (i <= (int)strlen(line) && (line[i] == ' ') || (line[i] == 8))
+ ++i;
+}
+
+int checkForValidChar( char ch )
+{
+ if (isalnum(ch) || (ch == '_'))
+ return(0);
+ return(-1);
+}
+
+
+void skipToNonWord( char *line, int& i )
+{
+ while (i <= (int)strlen(line) && (!checkForValidChar(line[i])))
+ ++i;
+}
+
+//----- getWord --------------------------------------------------------//
+// Extract the next word from the given line at offset i. //
+//----------------------------------------------------------------------//
+
+char *getWord( char *line, int &i )
+{
+ int j;
+ char *strptr;
+ static char getword[MAXSIZE]; // SS
+
+ skipWhite(line,i);
+ j = i;
+ if (j > (int)strlen(line))
+ strcpy(getword,"");
+ else
+ {
+ ++i;
+ if (!checkForValidChar(line[j]))
+ skipToNonWord(line, i);
+ strptr = line + j;
+ strncpy(getword,strptr,i - j);
+ getword[i-j] = '\0';
+ }
+ return getword;
+}
+
+//---- topicDefinition -------------------------------------------------//
+// Extracts the next topic definition from the given line at i. //
+//----------------------------------------------------------------------//
+
+TTopicDefinition::TTopicDefinition( char *aTopic, ushort aValue )
+{
+ topic = newStr(aTopic);
+ value = aValue;
+ next = 0;
+}
+
+TTopicDefinition::~TTopicDefinition()
+{
+ delete topic;
+ if (next != 0)
+ delete next;
+}
+
+int is_numeric(char *str)
+{
+ int i;
+
+ for(i = 0; i < (int)strlen(str); ++i)
+ if (!isdigit(str[i]))
+ return 0;
+ return 1;
+}
+
+TTopicDefinition *topicDefinition( char *line, int& i )
+{
+ int j;
+ char topic[MAXSTRSIZE], w[MAXSTRSIZE], *endptr;
+ static int helpCounter = 2; //1 is hcDragging
+
+ strcpy(topic,getWord(line, i));
+ if (strlen(topic) == 0)
+ {
+ error("Expected topic definition");
+ return(0);
+ }
+ else
+ {
+ j = i;
+ strcpy(w,getWord(line, j));
+ if (strcmp(w,"=") == 0)
+ {
+ i = j;
+ strcpy(w,getWord(line, i));
+ if (!is_numeric(w))
+ error("Expected numeric");
+ else
+ helpCounter = (int) strtol(w, &endptr,10);
+ }
+ else
+ ++helpCounter;
+ return(new TTopicDefinition(topic, helpCounter));
+ }
+}
+
+//---- topicDefinitionList----------------------------------------------//
+// Extracts a list of topic definitions from the given line at i. //
+//----------------------------------------------------------------------//
+
+TTopicDefinition *topicDefinitionList( char *line, int &i )
+{
+ int j;
+ char w[MAXSTRSIZE];
+ TTopicDefinition *topicList, *p;
+
+ j = i;
+ topicList = 0;
+ do {
+ i = j;
+ p = topicDefinition(line, i);
+ if (p == 0 )
+ {
+ if (topicList != 0)
+ delete topicList;
+ return(0);
+ }
+ p->next = topicList;
+ topicList = p;
+ j = i;
+ strcpy(w,getWord(line, j));
+ } while ( strcmp(w,",") == 0);
+ return(topicList);
+}
+
+//---- topicHeader -----------------------------------------------------//
+// Parse a Topic header //
+//----------------------------------------------------------------------//
+
+TTopicDefinition *topicHeader( char *line )
+{
+ int i;
+ char w[75];
+
+ i = 0;
+ strcpy(w, getWord(line, i));
+ if (strcmp(w, commandChar) != 0)
+ return(0);
+ strcpy(w, getWord(line, i));
+ if (strcasecmp(w, "TOPIC") == 0)
+ return topicDefinitionList(line, i);
+ else
+ {
+ error("TOPIC expected");
+ return(0);
+ }
+}
+
+void addToBuffer( char *line, Boolean wrapping )
+{
+ uchar *bufptr;
+
+ bufptr = &buffer[ofs];
+ ofs += strlen(line);
+ if( ofs > bufferSize )
+ error("Text too long");
+ strcpy((char *)bufptr, line);
+ bufptr += (strlen(line));
+ if (wrapping == False)
+ *bufptr = '\n';
+ else
+ *bufptr = ' ';
+ ofs++;
+}
+
+
+void addXRef( char *xRef, int offset, uchar length, TCrossRefNode *&xRefs )
+{
+ TCrossRefNode *p, *pp, *prev;
+
+ p = new TCrossRefNode;
+ p->topic = newStr(xRef);
+ p->offset = offset;
+ p->length = length;
+ p->next = 0;
+ if (xRefs == 0)
+ xRefs = p;
+ else
+ {
+ pp = xRefs;
+ prev = pp;
+ while (pp != 0)
+ {
+ prev = pp;
+ pp = pp->next;
+ }
+ prev->next = p;
+ }
+}
+
+void replaceSpacesWithFF( char *line, int start, uchar length )
+{
+ int i;
+
+ for(i = start; i <= (start + length); ++i)
+ if (line[i] == ' ')
+ line[i] = 0xFF;
+}
+
+void strdel(char *string, int pos, int len)
+{
+ char tempstr[MAXSTRSIZE];
+ char *strptr;
+
+ strncpy(tempstr, string, pos);
+ tempstr[pos] = 0;
+ strptr = string + pos + len;
+ strcat(tempstr, strptr);
+ strcpy(string, tempstr);
+}
+
+void scanForCrossRefs( char *line, int& offset, TCrossRefNode *&xRefs )
+{
+ int i;
+ char begXRef = '{';
+ char endXRef = '}';
+ char aliasCh = ':';
+ char *begPtr, *endPtr, *aliasPtr, *tempPtr;
+ int begPos, endPos, aliasPos;
+ char xRef[75];
+
+ i = 0;
+ do {
+ if ((begPtr = strchr(line+i,begXRef)) == 0)
+ i = 0;
+ else
+ {
+ begPos = (int)(begPtr - (line+i));
+ i += begPos + 1;
+// if (line[i + 1] == begXRef)
+ if (line[i] == begXRef) // S.I. Clushin
+ {
+ strdel(line, i, 1);
+ ++i;
+ }
+ else
+ {
+ if ((endPtr = strchr(line+i,endXRef)) == 0)
+ {
+ error("Unterminated topic reference.");
+ ++i;
+ }
+ else
+ {
+ endPos = (int)(endPtr - (line + i));
+ aliasPtr = strchr(line+i, aliasCh);
+ if ((aliasPtr == 0) || (aliasPtr > endPtr))
+ {
+ tempPtr = line + i;
+ strncpy(xRef, tempPtr, endPos);
+ xRef[endPos] = 0;
+ addXRef(xRef, (offset + ofs + i), endPos, xRefs);
+ }
+ else
+ {
+ aliasPos = (int)(aliasPtr - (line + i));
+ tempPtr = line ;
+ tempPtr += aliasPos+i+1;
+ strncpy(xRef, tempPtr, (endPos - aliasPos -1));
+ xRef[endPos - aliasPos -1] = 0;
+ addXRef(xRef, (offset + ofs + i), (aliasPos), xRefs);
+ strdel(line, (i + aliasPos), (endPos - aliasPos));
+ endPtr = aliasPtr;
+ endPos = aliasPos;
+ }
+ replaceSpacesWithFF(line, i, endPos -1);
+ strdel(line, i + endPos, 1);
+ strdel(line, i-1, 1);
+ i += (endPos - 2);
+ }
+ }
+ }
+
+ } while (i != 0);
+}
+
+
+Boolean isEndParagraph( State state )
+{
+ int flag;
+ int wrapping = 1;
+ int notWrapping = 2;
+
+ flag =
+ ((line[0] == 0) ||
+ (line[0] == commandChar[0]) ||
+ (line[0] == 26) ||
+ ((line[0] == ' ') && (state == wrapping)) ||
+ ((line[0] != ' ') && (state == notWrapping)));
+ if (flag)
+ return(True);
+ else
+ return(False);
+}
+
+//---- readParagraph ----------------------------------------------------//
+// Read a paragraph of the screen. Returns the paragraph or 0 if the //
+// paragraph was not found in the given stream. Searches for cross //
+// references and updates the xRefs variable. //
+//-----------------------------------------------------------------------//
+
+TParagraph *readParagraph( fstream& textFile, int& offset, TCrossRefNode *&xRefs )
+{
+ State state;
+ Boolean flag;
+ char line[MAXSTRSIZE];
+ TParagraph *p;
+
+ ofs = 0;
+ state = undefined;
+ strcpy(line, getLine(textFile));
+ while (strlen(line) == 0)
+ {
+ flag = (state == wrapping)? True: False;
+ addToBuffer(line, flag);
+ strcpy(line, getLine(textFile));
+ }
+
+ if (isEndParagraph(state) == True)
+ {
+ unGetLine(line);
+ return(0);
+ }
+ while (isEndParagraph(state) == False)
+ {
+ if (state == undefined )
+ if (line[0] == ' ')
+ state = notWrapping;
+ else
+ state = wrapping;
+ scanForCrossRefs(line, offset, xRefs);
+ flag = (state == wrapping)? True: False;
+ addToBuffer(line, flag);
+ strcpy(line, getLine(textFile));
+ }
+ unGetLine(line);
+ p = new TParagraph;
+ p->size = ofs;
+ p->wrap = (state == wrapping)? True: False;
+ p->text = new char[ofs];
+ memmove(p->text, buffer, ofs);
+ p->next = 0;
+ offset += ofs;
+ return(p);
+}
+
+void handleCrossRefs( opstream& s, int xRefValue )
+{
+ TCrossRefNode *p;
+
+ for(p = xRefs; (xRefValue > 0) ; --xRefValue)
+ {
+ if (p != 0)
+ p = p->next;
+ }
+ if (p != 0)
+ recordReference((p->topic), s);
+}
+
+void skipBlankLines( fstream& s )
+{
+ char line[256];
+
+ line[0] = 0;
+ while (line[0] == 0)
+ strcpy(line,getLine(s));
+ unGetLine(line);
+}
+
+int xRefCount()
+{
+ int i;
+ TCrossRefNode *p;
+
+ i = 0;
+ for (p=xRefs; (p != 0); p=p->next)
+ ++i;
+ return(i);
+}
+
+void disposeXRefs( TCrossRefNode *p )
+{
+ TCrossRefNode *q;
+
+ while (p != 0)
+ {
+ q = p;
+ p = p->next;
+ delete q->topic;
+ delete q;
+ }
+}
+
+void recordTopicDefinitions( TTopicDefinition *p, THelpFile& helpFile )
+{
+ while (p != 0)
+ {
+ resolveReference(p->topic, p->value, *(helpFile.stream));
+ helpFile.recordPositionInIndex(p->value);
+ p = p->next;
+ }
+}
+
+//---- readTopic -------------------------------------------------------//
+// Read a topic from the source file and write it to the help file //
+//----------------------------------------------------------------------//
+
+void readTopic( fstream& textFile, THelpFile& helpFile )
+{
+ TParagraph *p;
+ THelpTopic *topic;
+ TTopicDefinition *topicDef;
+ int i, j, offset;
+ TCrossRef ref;
+ TCrossRefNode *refNode;
+
+ // Get screen command
+ skipBlankLines(textFile);
+ strcpy(line, getLine(textFile));
+
+ topicDef = topicHeader(line);
+
+ topic = new THelpTopic;
+
+ // read paragraphs
+ xRefs = 0;
+ offset = 0;
+ p = readParagraph(textFile, offset, xRefs);
+ while (p != 0)
+ {
+ topic->addParagraph(p);
+ p = readParagraph(textFile, offset, xRefs);
+ }
+
+ i = xRefCount();
+ topic->setNumCrossRefs(i);
+ refNode = xRefs;
+ for( j = 0; j < i; ++j)
+ {
+ ref.offset = refNode->offset;
+ ref.length = refNode->length;
+ ref.ref = j;
+ topic->setCrossRef(j, ref);
+ refNode = refNode->next;
+ }
+
+ recordTopicDefinitions(topicDef, helpFile);
+
+ crossRefHandler = handleCrossRefs;
+ helpFile.putTopic(topic);
+
+
+ if (topic != 0)
+ delete topic;
+ if (topicDef != 0)
+ delete topicDef;
+ disposeXRefs(xRefs);
+
+ skipBlankLines(textFile);
+}
+
+void doWriteSymbol(void *p, void *p1)
+{
+ int numBlanks, i;
+ ostringstream os(line);
+
+ TProtectedStream *symbFile = (TProtectedStream *)p1;
+ if (((TReference *)p)->resolved )
+ {
+ os << " hc" << (char *)((TReference *)p)->topic;
+ numBlanks = 20 - strlen((char *)((TReference *)p)->topic);
+ for (i = 0; i < numBlanks; ++i)
+ os << ' ';
+ os << " = " << ((TReference *)p)->val.value << ","<< ends;
+ *symbFile << os.str() << "\n";
+ }
+ else
+ {
+ os << "Unresolved forward reference \""
+ << ((TReference *)p)->topic << "\"" << ends;
+ warning(const_cast<char *>(os.str().c_str()));
+ }
+}
+
+//---- writeSymbFile ---------------------------------------------------//
+// Write the .H file containing all screen titles as constants. //
+//----------------------------------------------------------------------//
+
+void writeSymbFile( TProtectedStream *symbFile )
+{
+ char header1[] = "const\n";
+
+ *symbFile << header1;
+ refTable->forEach(doWriteSymbol, symbFile);
+ symbFile->seekp(-2L, ios::end);
+ *symbFile << ";\n";
+
+}
+
+//---- processtext -----------------------------------------------------//
+// Compile the given stream, and output a help file. //
+//----------------------------------------------------------------------//
+
+void processText( TProtectedStream& textFile,
+ fpstream& helpFile,
+ TProtectedStream& symbFile )
+{
+ THelpFile *helpRez;
+
+ helpRez = new THelpFile(helpFile);
+
+ while (!textFile.eof())
+ readTopic(textFile, *helpRez);
+ writeSymbFile(&symbFile);
+ delete helpRez;
+}
+
+//---- checkOverwrite --------------------------------------------------//
+// Check whether the output file name exists. If it does, ask whether //
+// it's ok to overwrite it. //
+//----------------------------------------------------------------------//
+
+static void
+checkOverwrite(const string &fName)
+{
+ if (fExists(fName)) {
+ cerr << "File already exists: " << fName << ". Overwrite? (y/n) ";
+
+ char ch;
+ cin >> ch;
+ if (toupper(ch) != 'Y') {
+ exit(1);
+ }
+ }
+}
+
+//========================== Program Block ==========================//
+
+int
+main(int argc, char **argv)
+{
+ // Banner messages
+ char initialText[] = "Help Compiler Version 1.0 Copyright (c) 1991"
+ " Borland International.\n";
+ char helpText[] =
+ "\n Syntax TVHC <Help text> <Help file> <Symbol file>\n"
+ "\n"
+ " Help text = Help file source\n"
+ " Help file = Compiled help file\n"
+ " Symbol file = An include file containing all the screen names as const's\n";
+
+ char bufStr[MAXSTRSIZE];
+
+ cout << initialText;
+ if (argc != 4)
+ {
+ cout << helpText;
+ exit(1);
+ }
+
+ // Calculate file names
+ char *textName = argv[1];
+ if (!fExists(textName))
+ {
+ strcpy(bufStr,"File ");
+ strcat(bufStr, textName);
+ strcat(bufStr, " not found.");
+ error(bufStr);
+ }
+
+ helpName = argv[2];
+ checkOverwrite(helpName);
+
+ char *symbName = argv[3];
+ checkOverwrite(symbName);
+
+ TProtectedStream textStrm(textName, ios::in);
+ TProtectedStream symbStrm(symbName, ios::out | ios::trunc);
+
+ fpstream helpStrm(helpName, ios::out | ios::trunc);
+ processText(textStrm, helpStrm, symbStrm);
+ return 0;
+}
diff --git a/freebsdtvision/tvhc/tvhc.h b/freebsdtvision/tvhc/tvhc.h
new file mode 100644
index 0000000..5bddb48
--- /dev/null
+++ b/freebsdtvision/tvhc/tvhc.h
@@ -0,0 +1,113 @@
+/*-----------------------------------------------------*/
+/* */
+/* Turbo Vision 1.0 */
+/* Turbo Vision TVHC header file */
+/* Copyright (c) 1991 by Borland International */
+/* */
+/*-----------------------------------------------------*/
+
+/*
+ * Modified by Sergey Clushin <serg@lamport.ru>, <Clushin@deol.ru>
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
+ */
+
+#if !defined( __TVHC_H )
+#define __TVHC_H
+
+#define Uses_fstream
+#define Uses_TSortedCollection
+#define Uses_TObject
+#define Uses_TPoint
+#include <tv.h>
+
+#include "helpbase.h"
+
+#include <fstream>
+
+const int MAXSIZE = 80;
+
+class TProtectedStream : public std::fstream
+{
+
+public:
+ TProtectedStream( char *aFileName, std::ios::openmode aMode );
+
+private:
+
+ char fileName[MAXSIZE];
+ std::ios::openmode mode;
+
+};
+
+// Topic Reference
+
+struct TFixUp
+{
+
+ long pos;
+ TFixUp *next;
+
+};
+
+union Content
+{
+
+// ushort value;
+ int value; // SC: must be the same type as TCrossRef::ref!
+ TFixUp *fixUpList;
+
+};
+
+struct TReference
+{
+
+ char *topic;
+ Boolean resolved;
+ Content val;
+
+};
+
+class TRefTable : public TSortedCollection
+{
+
+public:
+
+ TRefTable( ccIndex aLimit, ccIndex aDelta );
+
+ virtual int compare( void *key1,void *key2 );
+ virtual void freeItem( void *item );
+ TReference *getReference( char *topic );
+ virtual void *keyOf( void *item );
+
+private:
+
+ virtual void *readItem( ipstream& ) { return 0; };
+ virtual void writeItem( void *, opstream& ) {};
+
+};
+
+struct TCrossRefNode
+{
+
+ char *topic;
+ int offset;
+ uchar length;
+ TCrossRefNode *next;
+
+};
+
+class TTopicDefinition : public TObject
+{
+
+public:
+
+ TTopicDefinition(char *aTopic, ushort aValue);
+ ~TTopicDefinition(void);
+
+ char *topic;
+ ushort value;
+ TTopicDefinition *next;
+
+};
+
+#endif // __TVHC_H
diff --git a/freebsdtvision/util/config.guess b/freebsdtvision/util/config.guess
new file mode 100755
index 0000000..5145e35
--- /dev/null
+++ b/freebsdtvision/util/config.guess
@@ -0,0 +1,1363 @@
+#! /bin/sh
+# Attempt to guess a canonical system name.
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+# 2000, 2001, 2002 Free Software Foundation, Inc.
+
+timestamp='2002-10-21'
+
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# Originally written by Per Bothner <per@bothner.com>.
+# Please send patches to <config-patches@gnu.org>. Submit a context
+# diff and a properly formatted ChangeLog entry.
+#
+# This script attempts to guess a canonical system name similar to
+# config.sub. If it succeeds, it prints the system name on stdout, and
+# exits with 0. Otherwise, it exits with 1.
+#
+# The plan is that this can be called by configure scripts if you
+# don't specify an explicit build system type.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION]
+
+Output the configuration name of the system \`$me' is run on.
+
+Operation modes:
+ -h, --help print this help, then exit
+ -t, --time-stamp print date of last modification, then exit
+ -v, --version print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.guess ($timestamp)
+
+Originally written by Per Bothner.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions. There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+ case $1 in
+ --time-stamp | --time* | -t )
+ echo "$timestamp" ; exit 0 ;;
+ --version | -v )
+ echo "$version" ; exit 0 ;;
+ --help | --h* | -h )
+ echo "$usage"; exit 0 ;;
+ -- ) # Stop option processing
+ shift; break ;;
+ - ) # Use stdin as input.
+ break ;;
+ -* )
+ echo "$me: invalid option $1$help" >&2
+ exit 1 ;;
+ * )
+ break ;;
+ esac
+done
+
+if test $# != 0; then
+ echo "$me: too many arguments$help" >&2
+ exit 1
+fi
+
+trap 'exit 1' 1 2 15
+
+# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
+# compiler to aid in system detection is discouraged as it requires
+# temporary files to be created and, as you can see below, it is a
+# headache to deal with in a portable fashion.
+
+# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
+# use `HOST_CC' if defined, but it is deprecated.
+
+# This shell variable is my proudest work .. or something. --bje
+
+set_cc_for_build='tmpdir=${TMPDIR-/tmp}/config-guess-$$ ;
+(old=`umask` && umask 077 && mkdir $tmpdir && umask $old && unset old)
+ || (echo "$me: cannot create $tmpdir" >&2 && exit 1) ;
+dummy=$tmpdir/dummy ;
+files="$dummy.c $dummy.o $dummy.rel $dummy" ;
+trap '"'"'rm -f $files; rmdir $tmpdir; exit 1'"'"' 1 2 15 ;
+case $CC_FOR_BUILD,$HOST_CC,$CC in
+ ,,) echo "int x;" > $dummy.c ;
+ for c in cc gcc c89 c99 ; do
+ if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
+ CC_FOR_BUILD="$c"; break ;
+ fi ;
+ done ;
+ rm -f $files ;
+ if test x"$CC_FOR_BUILD" = x ; then
+ CC_FOR_BUILD=no_compiler_found ;
+ fi
+ ;;
+ ,,*) CC_FOR_BUILD=$CC ;;
+ ,*,*) CC_FOR_BUILD=$HOST_CC ;;
+esac ;
+unset files'
+
+# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
+# (ghazi@noc.rutgers.edu 1994-08-24)
+if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
+ PATH=$PATH:/.attbin ; export PATH
+fi
+
+UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
+UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
+UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
+UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
+
+# Note: order is significant - the case branches are not exclusive.
+
+case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+ *:NetBSD:*:*)
+ # NetBSD (nbsd) targets should (where applicable) match one or
+ # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
+ # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
+ # switched to ELF, *-*-netbsd* would select the old
+ # object file format. This provides both forward
+ # compatibility and a consistent mechanism for selecting the
+ # object file format.
+ #
+ # Note: NetBSD doesn't particularly care about the vendor
+ # portion of the name. We always set it to "unknown".
+ sysctl="sysctl -n hw.machine_arch"
+ UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
+ /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
+ case "${UNAME_MACHINE_ARCH}" in
+ armeb) machine=armeb-unknown ;;
+ arm*) machine=arm-unknown ;;
+ sh3el) machine=shl-unknown ;;
+ sh3eb) machine=sh-unknown ;;
+ *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
+ esac
+ # The Operating System including object format, if it has switched
+ # to ELF recently, or will in the future.
+ case "${UNAME_MACHINE_ARCH}" in
+ arm*|i386|m68k|ns32k|sh3*|sparc|vax)
+ eval $set_cc_for_build
+ if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep __ELF__ >/dev/null
+ then
+ # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
+ # Return netbsd for either. FIX?
+ os=netbsd
+ else
+ os=netbsdelf
+ fi
+ ;;
+ *)
+ os=netbsd
+ ;;
+ esac
+ # The OS release
+ release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+ # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
+ # contains redundant information, the shorter form:
+ # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
+ echo "${machine}-${os}${release}"
+ exit 0 ;;
+ amiga:OpenBSD:*:*)
+ echo m68k-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
+ arc:OpenBSD:*:*)
+ echo mipsel-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
+ hp300:OpenBSD:*:*)
+ echo m68k-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
+ mac68k:OpenBSD:*:*)
+ echo m68k-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
+ macppc:OpenBSD:*:*)
+ echo powerpc-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
+ mvme68k:OpenBSD:*:*)
+ echo m68k-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
+ mvme88k:OpenBSD:*:*)
+ echo m88k-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
+ mvmeppc:OpenBSD:*:*)
+ echo powerpc-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
+ pmax:OpenBSD:*:*)
+ echo mipsel-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
+ sgi:OpenBSD:*:*)
+ echo mipseb-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
+ sun3:OpenBSD:*:*)
+ echo m68k-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
+ wgrisc:OpenBSD:*:*)
+ echo mipsel-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
+ *:OpenBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
+ alpha:OSF1:*:*)
+ if test $UNAME_RELEASE = "V4.0"; then
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
+ fi
+ # A Vn.n version is a released version.
+ # A Tn.n version is a released field test version.
+ # A Xn.n version is an unreleased experimental baselevel.
+ # 1.2 uses "1.2" for uname -r.
+ eval $set_cc_for_build
+ cat <<EOF >$dummy.s
+ .data
+\$Lformat:
+ .byte 37,100,45,37,120,10,0 # "%d-%x\n"
+
+ .text
+ .globl main
+ .align 4
+ .ent main
+main:
+ .frame \$30,16,\$26,0
+ ldgp \$29,0(\$27)
+ .prologue 1
+ .long 0x47e03d80 # implver \$0
+ lda \$2,-1
+ .long 0x47e20c21 # amask \$2,\$1
+ lda \$16,\$Lformat
+ mov \$0,\$17
+ not \$1,\$18
+ jsr \$26,printf
+ ldgp \$29,0(\$26)
+ mov 0,\$16
+ jsr \$26,exit
+ .end main
+EOF
+ $CC_FOR_BUILD -o $dummy $dummy.s 2>/dev/null
+ if test "$?" = 0 ; then
+ case `$dummy` in
+ 0-0)
+ UNAME_MACHINE="alpha"
+ ;;
+ 1-0)
+ UNAME_MACHINE="alphaev5"
+ ;;
+ 1-1)
+ UNAME_MACHINE="alphaev56"
+ ;;
+ 1-101)
+ UNAME_MACHINE="alphapca56"
+ ;;
+ 2-303)
+ UNAME_MACHINE="alphaev6"
+ ;;
+ 2-307)
+ UNAME_MACHINE="alphaev67"
+ ;;
+ 2-1307)
+ UNAME_MACHINE="alphaev68"
+ ;;
+ 3-1307)
+ UNAME_MACHINE="alphaev7"
+ ;;
+ esac
+ fi
+ rm -f $dummy.s $dummy && rmdir $tmpdir
+ echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ exit 0 ;;
+ Alpha\ *:Windows_NT*:*)
+ # How do we know it's Interix rather than the generic POSIX subsystem?
+ # Should we change UNAME_MACHINE based on the output of uname instead
+ # of the specific Alpha model?
+ echo alpha-pc-interix
+ exit 0 ;;
+ 21064:Windows_NT:50:3)
+ echo alpha-dec-winnt3.5
+ exit 0 ;;
+ Amiga*:UNIX_System_V:4.0:*)
+ echo m68k-unknown-sysv4
+ exit 0;;
+ *:[Aa]miga[Oo][Ss]:*:*)
+ echo ${UNAME_MACHINE}-unknown-amigaos
+ exit 0 ;;
+ *:[Mm]orph[Oo][Ss]:*:*)
+ echo ${UNAME_MACHINE}-unknown-morphos
+ exit 0 ;;
+ *:OS/390:*:*)
+ echo i370-ibm-openedition
+ exit 0 ;;
+ arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
+ echo arm-acorn-riscix${UNAME_RELEASE}
+ exit 0;;
+ SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
+ echo hppa1.1-hitachi-hiuxmpp
+ exit 0;;
+ Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
+ # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
+ if test "`(/bin/universe) 2>/dev/null`" = att ; then
+ echo pyramid-pyramid-sysv3
+ else
+ echo pyramid-pyramid-bsd
+ fi
+ exit 0 ;;
+ NILE*:*:*:dcosx)
+ echo pyramid-pyramid-svr4
+ exit 0 ;;
+ DRS?6000:UNIX_SV:4.2*:7*)
+ case `/usr/bin/uname -p` in
+ sparc) echo sparc-icl-nx7 && exit 0 ;;
+ esac ;;
+ sun4H:SunOS:5.*:*)
+ echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit 0 ;;
+ sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
+ echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit 0 ;;
+ i86pc:SunOS:5.*:*)
+ echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit 0 ;;
+ sun4*:SunOS:6*:*)
+ # According to config.sub, this is the proper way to canonicalize
+ # SunOS6. Hard to guess exactly what SunOS6 will be like, but
+ # it's likely to be more like Solaris than SunOS4.
+ echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit 0 ;;
+ sun4*:SunOS:*:*)
+ case "`/usr/bin/arch -k`" in
+ Series*|S4*)
+ UNAME_RELEASE=`uname -v`
+ ;;
+ esac
+ # Japanese Language versions have a version number like `4.1.3-JL'.
+ echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
+ exit 0 ;;
+ sun3*:SunOS:*:*)
+ echo m68k-sun-sunos${UNAME_RELEASE}
+ exit 0 ;;
+ sun*:*:4.2BSD:*)
+ UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
+ test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
+ case "`/bin/arch`" in
+ sun3)
+ echo m68k-sun-sunos${UNAME_RELEASE}
+ ;;
+ sun4)
+ echo sparc-sun-sunos${UNAME_RELEASE}
+ ;;
+ esac
+ exit 0 ;;
+ aushp:SunOS:*:*)
+ echo sparc-auspex-sunos${UNAME_RELEASE}
+ exit 0 ;;
+ # The situation for MiNT is a little confusing. The machine name
+ # can be virtually everything (everything which is not
+ # "atarist" or "atariste" at least should have a processor
+ # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
+ # to the lowercase version "mint" (or "freemint"). Finally
+ # the system name "TOS" denotes a system which is actually not
+ # MiNT. But MiNT is downward compatible to TOS, so this should
+ # be no problem.
+ atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
+ echo m68k-atari-mint${UNAME_RELEASE}
+ exit 0 ;;
+ atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
+ echo m68k-atari-mint${UNAME_RELEASE}
+ exit 0 ;;
+ *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
+ echo m68k-atari-mint${UNAME_RELEASE}
+ exit 0 ;;
+ milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
+ echo m68k-milan-mint${UNAME_RELEASE}
+ exit 0 ;;
+ hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
+ echo m68k-hades-mint${UNAME_RELEASE}
+ exit 0 ;;
+ *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
+ echo m68k-unknown-mint${UNAME_RELEASE}
+ exit 0 ;;
+ powerpc:machten:*:*)
+ echo powerpc-apple-machten${UNAME_RELEASE}
+ exit 0 ;;
+ RISC*:Mach:*:*)
+ echo mips-dec-mach_bsd4.3
+ exit 0 ;;
+ RISC*:ULTRIX:*:*)
+ echo mips-dec-ultrix${UNAME_RELEASE}
+ exit 0 ;;
+ VAX*:ULTRIX*:*:*)
+ echo vax-dec-ultrix${UNAME_RELEASE}
+ exit 0 ;;
+ 2020:CLIX:*:* | 2430:CLIX:*:*)
+ echo clipper-intergraph-clix${UNAME_RELEASE}
+ exit 0 ;;
+ mips:*:*:UMIPS | mips:*:*:RISCos)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+#ifdef __cplusplus
+#include <stdio.h> /* for printf() prototype */
+ int main (int argc, char *argv[]) {
+#else
+ int main (argc, argv) int argc; char *argv[]; {
+#endif
+ #if defined (host_mips) && defined (MIPSEB)
+ #if defined (SYSTYPE_SYSV)
+ printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
+ #endif
+ #if defined (SYSTYPE_SVR4)
+ printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
+ #endif
+ #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
+ printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
+ #endif
+ #endif
+ exit (-1);
+ }
+EOF
+ $CC_FOR_BUILD -o $dummy $dummy.c \
+ && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
+ && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
+ rm -f $dummy.c $dummy && rmdir $tmpdir
+ echo mips-mips-riscos${UNAME_RELEASE}
+ exit 0 ;;
+ Motorola:PowerMAX_OS:*:*)
+ echo powerpc-motorola-powermax
+ exit 0 ;;
+ Motorola:*:4.3:PL8-*)
+ echo powerpc-harris-powermax
+ exit 0 ;;
+ Night_Hawk:*:*:PowerMAX_OS)
+ echo powerpc-harris-powermax
+ exit 0 ;;
+ Night_Hawk:Power_UNIX:*:*)
+ echo powerpc-harris-powerunix
+ exit 0 ;;
+ m88k:CX/UX:7*:*)
+ echo m88k-harris-cxux7
+ exit 0 ;;
+ m88k:*:4*:R4*)
+ echo m88k-motorola-sysv4
+ exit 0 ;;
+ m88k:*:3*:R3*)
+ echo m88k-motorola-sysv3
+ exit 0 ;;
+ AViiON:dgux:*:*)
+ # DG/UX returns AViiON for all architectures
+ UNAME_PROCESSOR=`/usr/bin/uname -p`
+ if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
+ then
+ if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
+ [ ${TARGET_BINARY_INTERFACE}x = x ]
+ then
+ echo m88k-dg-dgux${UNAME_RELEASE}
+ else
+ echo m88k-dg-dguxbcs${UNAME_RELEASE}
+ fi
+ else
+ echo i586-dg-dgux${UNAME_RELEASE}
+ fi
+ exit 0 ;;
+ M88*:DolphinOS:*:*) # DolphinOS (SVR3)
+ echo m88k-dolphin-sysv3
+ exit 0 ;;
+ M88*:*:R3*:*)
+ # Delta 88k system running SVR3
+ echo m88k-motorola-sysv3
+ exit 0 ;;
+ XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
+ echo m88k-tektronix-sysv3
+ exit 0 ;;
+ Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
+ echo m68k-tektronix-bsd
+ exit 0 ;;
+ *:IRIX*:*:*)
+ echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
+ exit 0 ;;
+ ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
+ echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
+ exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
+ i*86:AIX:*:*)
+ echo i386-ibm-aix
+ exit 0 ;;
+ ia64:AIX:*:*)
+ if [ -x /usr/bin/oslevel ] ; then
+ IBM_REV=`/usr/bin/oslevel`
+ else
+ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+ fi
+ echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
+ exit 0 ;;
+ *:AIX:2:3)
+ if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #include <sys/systemcfg.h>
+
+ main()
+ {
+ if (!__power_pc())
+ exit(1);
+ puts("powerpc-ibm-aix3.2.5");
+ exit(0);
+ }
+EOF
+ $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
+ rm -f $dummy.c $dummy && rmdir $tmpdir
+ echo rs6000-ibm-aix3.2.5
+ elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
+ echo rs6000-ibm-aix3.2.4
+ else
+ echo rs6000-ibm-aix3.2
+ fi
+ exit 0 ;;
+ *:AIX:*:[45])
+ IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
+ if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
+ IBM_ARCH=rs6000
+ else
+ IBM_ARCH=powerpc
+ fi
+ if [ -x /usr/bin/oslevel ] ; then
+ IBM_REV=`/usr/bin/oslevel`
+ else
+ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+ fi
+ echo ${IBM_ARCH}-ibm-aix${IBM_REV}
+ exit 0 ;;
+ *:AIX:*:*)
+ echo rs6000-ibm-aix
+ exit 0 ;;
+ ibmrt:4.4BSD:*|romp-ibm:BSD:*)
+ echo romp-ibm-bsd4.4
+ exit 0 ;;
+ ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
+ echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
+ exit 0 ;; # report: romp-ibm BSD 4.3
+ *:BOSX:*:*)
+ echo rs6000-bull-bosx
+ exit 0 ;;
+ DPX/2?00:B.O.S.:*:*)
+ echo m68k-bull-sysv3
+ exit 0 ;;
+ 9000/[34]??:4.3bsd:1.*:*)
+ echo m68k-hp-bsd
+ exit 0 ;;
+ hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
+ echo m68k-hp-bsd4.4
+ exit 0 ;;
+ 9000/[34678]??:HP-UX:*:*)
+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+ case "${UNAME_MACHINE}" in
+ 9000/31? ) HP_ARCH=m68000 ;;
+ 9000/[34]?? ) HP_ARCH=m68k ;;
+ 9000/[678][0-9][0-9])
+ if [ -x /usr/bin/getconf ]; then
+ sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
+ sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
+ case "${sc_cpu_version}" in
+ 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
+ 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+ 532) # CPU_PA_RISC2_0
+ case "${sc_kernel_bits}" in
+ 32) HP_ARCH="hppa2.0n" ;;
+ 64) HP_ARCH="hppa2.0w" ;;
+ '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
+ esac ;;
+ esac
+ fi
+ if [ "${HP_ARCH}" = "" ]; then
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+
+ #define _HPUX_SOURCE
+ #include <stdlib.h>
+ #include <unistd.h>
+
+ int main ()
+ {
+ #if defined(_SC_KERNEL_BITS)
+ long bits = sysconf(_SC_KERNEL_BITS);
+ #endif
+ long cpu = sysconf (_SC_CPU_VERSION);
+
+ switch (cpu)
+ {
+ case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
+ case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
+ case CPU_PA_RISC2_0:
+ #if defined(_SC_KERNEL_BITS)
+ switch (bits)
+ {
+ case 64: puts ("hppa2.0w"); break;
+ case 32: puts ("hppa2.0n"); break;
+ default: puts ("hppa2.0"); break;
+ } break;
+ #else /* !defined(_SC_KERNEL_BITS) */
+ puts ("hppa2.0"); break;
+ #endif
+ default: puts ("hppa1.0"); break;
+ }
+ exit (0);
+ }
+EOF
+ (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+ if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi
+ rm -f $dummy.c $dummy && rmdir $tmpdir
+ fi ;;
+ esac
+ echo ${HP_ARCH}-hp-hpux${HPUX_REV}
+ exit 0 ;;
+ ia64:HP-UX:*:*)
+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+ echo ia64-hp-hpux${HPUX_REV}
+ exit 0 ;;
+ 3050*:HI-UX:*:*)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #include <unistd.h>
+ int
+ main ()
+ {
+ long cpu = sysconf (_SC_CPU_VERSION);
+ /* The order matters, because CPU_IS_HP_MC68K erroneously returns
+ true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
+ results, however. */
+ if (CPU_IS_PA_RISC (cpu))
+ {
+ switch (cpu)
+ {
+ case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
+ case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
+ case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
+ default: puts ("hppa-hitachi-hiuxwe2"); break;
+ }
+ }
+ else if (CPU_IS_HP_MC68K (cpu))
+ puts ("m68k-hitachi-hiuxwe2");
+ else puts ("unknown-hitachi-hiuxwe2");
+ exit (0);
+ }
+EOF
+ $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
+ rm -f $dummy.c $dummy && rmdir $tmpdir
+ echo unknown-hitachi-hiuxwe2
+ exit 0 ;;
+ 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
+ echo hppa1.1-hp-bsd
+ exit 0 ;;
+ 9000/8??:4.3bsd:*:*)
+ echo hppa1.0-hp-bsd
+ exit 0 ;;
+ *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
+ echo hppa1.0-hp-mpeix
+ exit 0 ;;
+ hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
+ echo hppa1.1-hp-osf
+ exit 0 ;;
+ hp8??:OSF1:*:*)
+ echo hppa1.0-hp-osf
+ exit 0 ;;
+ i*86:OSF1:*:*)
+ if [ -x /usr/sbin/sysversion ] ; then
+ echo ${UNAME_MACHINE}-unknown-osf1mk
+ else
+ echo ${UNAME_MACHINE}-unknown-osf1
+ fi
+ exit 0 ;;
+ parisc*:Lites*:*:*)
+ echo hppa1.1-hp-lites
+ exit 0 ;;
+ C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
+ echo c1-convex-bsd
+ exit 0 ;;
+ C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
+ if getsysinfo -f scalar_acc
+ then echo c32-convex-bsd
+ else echo c2-convex-bsd
+ fi
+ exit 0 ;;
+ C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
+ echo c34-convex-bsd
+ exit 0 ;;
+ C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
+ echo c38-convex-bsd
+ exit 0 ;;
+ C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
+ echo c4-convex-bsd
+ exit 0 ;;
+ CRAY*Y-MP:*:*:*)
+ echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit 0 ;;
+ CRAY*[A-Z]90:*:*:*)
+ echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
+ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
+ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
+ -e 's/\.[^.]*$/.X/'
+ exit 0 ;;
+ CRAY*TS:*:*:*)
+ echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit 0 ;;
+ CRAY*T3D:*:*:*)
+ echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit 0 ;;
+ CRAY*T3E:*:*:*)
+ echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit 0 ;;
+ CRAY*SV1:*:*:*)
+ echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit 0 ;;
+ F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
+ FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+ echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+ exit 0 ;;
+ i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
+ echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+ exit 0 ;;
+ sparc*:BSD/OS:*:*)
+ echo sparc-unknown-bsdi${UNAME_RELEASE}
+ exit 0 ;;
+ *:BSD/OS:*:*)
+ echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
+ exit 0 ;;
+ *:FreeBSD:*:*)
+ # Determine whether the default compiler uses glibc.
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #include <features.h>
+ #if __GLIBC__ >= 2
+ LIBC=gnu
+ #else
+ LIBC=
+ #endif
+EOF
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
+ rm -f $dummy.c && rmdir $tmpdir
+ echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
+ exit 0 ;;
+ i*:CYGWIN*:*)
+ echo ${UNAME_MACHINE}-pc-cygwin
+ exit 0 ;;
+ i*:MINGW*:*)
+ echo ${UNAME_MACHINE}-pc-mingw32
+ exit 0 ;;
+ i*:PW*:*)
+ echo ${UNAME_MACHINE}-pc-pw32
+ exit 0 ;;
+ x86:Interix*:3*)
+ echo i386-pc-interix3
+ exit 0 ;;
+ i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
+ # How do we know it's Interix rather than the generic POSIX subsystem?
+ # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
+ # UNAME_MACHINE based on the output of uname instead of i386?
+ echo i386-pc-interix
+ exit 0 ;;
+ i*:UWIN*:*)
+ echo ${UNAME_MACHINE}-pc-uwin
+ exit 0 ;;
+ p*:CYGWIN*:*)
+ echo powerpcle-unknown-cygwin
+ exit 0 ;;
+ prep*:SunOS:5.*:*)
+ echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit 0 ;;
+ *:GNU:*:*)
+ echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+ exit 0 ;;
+ i*86:Minix:*:*)
+ echo ${UNAME_MACHINE}-pc-minix
+ exit 0 ;;
+ arm*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit 0 ;;
+ ia64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit 0 ;;
+ m68*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit 0 ;;
+ mips:Linux:*:*)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #undef CPU
+ #undef mips
+ #undef mipsel
+ #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+ CPU=mipsel
+ #else
+ #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+ CPU=mips
+ #else
+ CPU=
+ #endif
+ #endif
+EOF
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
+ rm -f $dummy.c && rmdir $tmpdir
+ test x"${CPU}" != x && echo "${CPU}-pc-linux-gnu" && exit 0
+ ;;
+ ppc:Linux:*:*)
+ echo powerpc-unknown-linux-gnu
+ exit 0 ;;
+ ppc64:Linux:*:*)
+ echo powerpc64-unknown-linux-gnu
+ exit 0 ;;
+ alpha:Linux:*:*)
+ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
+ EV5) UNAME_MACHINE=alphaev5 ;;
+ EV56) UNAME_MACHINE=alphaev56 ;;
+ PCA56) UNAME_MACHINE=alphapca56 ;;
+ PCA57) UNAME_MACHINE=alphapca56 ;;
+ EV6) UNAME_MACHINE=alphaev6 ;;
+ EV67) UNAME_MACHINE=alphaev67 ;;
+ EV68*) UNAME_MACHINE=alphaev68 ;;
+ esac
+ objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
+ if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
+ echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+ exit 0 ;;
+ parisc:Linux:*:* | hppa:Linux:*:*)
+ # Look for CPU level
+ case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
+ PA7*) echo hppa1.1-unknown-linux-gnu ;;
+ PA8*) echo hppa2.0-unknown-linux-gnu ;;
+ *) echo hppa-unknown-linux-gnu ;;
+ esac
+ exit 0 ;;
+ parisc64:Linux:*:* | hppa64:Linux:*:*)
+ echo hppa64-unknown-linux-gnu
+ exit 0 ;;
+ s390:Linux:*:* | s390x:Linux:*:*)
+ echo ${UNAME_MACHINE}-ibm-linux
+ exit 0 ;;
+ sh*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit 0 ;;
+ sparc:Linux:*:* | sparc64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit 0 ;;
+ x86_64:Linux:*:*)
+ echo x86_64-unknown-linux-gnu
+ exit 0 ;;
+ i*86:Linux:*:*)
+ # The BFD linker knows what the default object file format is, so
+ # first see if it will tell us. cd to the root directory to prevent
+ # problems with other programs or directories called `ld' in the path.
+ # Set LC_ALL=C to ensure ld outputs messages in English.
+ ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
+ | sed -ne '/supported targets:/!d
+ s/[ ][ ]*/ /g
+ s/.*supported targets: *//
+ s/ .*//
+ p'`
+ case "$ld_supported_targets" in
+ elf32-i386)
+ TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
+ ;;
+ a.out-i386-linux)
+ echo "${UNAME_MACHINE}-pc-linux-gnuaout"
+ exit 0 ;;
+ coff-i386)
+ echo "${UNAME_MACHINE}-pc-linux-gnucoff"
+ exit 0 ;;
+ "")
+ # Either a pre-BFD a.out linker (linux-gnuoldld) or
+ # one that does not give us useful --help.
+ echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
+ exit 0 ;;
+ esac
+ # Determine whether the default compiler is a.out or elf
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #include <features.h>
+ #ifdef __ELF__
+ # ifdef __GLIBC__
+ # if __GLIBC__ >= 2
+ LIBC=gnu
+ # else
+ LIBC=gnulibc1
+ # endif
+ # else
+ LIBC=gnulibc1
+ # endif
+ #else
+ #ifdef __INTEL_COMPILER
+ LIBC=gnu
+ #else
+ LIBC=gnuaout
+ #endif
+ #endif
+EOF
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
+ rm -f $dummy.c && rmdir $tmpdir
+ test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
+ test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
+ ;;
+ i*86:DYNIX/ptx:4*:*)
+ # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
+ # earlier versions are messed up and put the nodename in both
+ # sysname and nodename.
+ echo i386-sequent-sysv4
+ exit 0 ;;
+ i*86:UNIX_SV:4.2MP:2.*)
+ # Unixware is an offshoot of SVR4, but it has its own version
+ # number series starting with 2...
+ # I am not positive that other SVR4 systems won't match this,
+ # I just have to hope. -- rms.
+ # Use sysv4.2uw... so that sysv4* matches it.
+ echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
+ exit 0 ;;
+ i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
+ UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
+ if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
+ echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
+ else
+ echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
+ fi
+ exit 0 ;;
+ i*86:*:5:[78]*)
+ case `/bin/uname -X | grep "^Machine"` in
+ *486*) UNAME_MACHINE=i486 ;;
+ *Pentium) UNAME_MACHINE=i586 ;;
+ *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
+ esac
+ echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
+ exit 0 ;;
+ i*86:*:3.2:*)
+ if test -f /usr/options/cb.name; then
+ UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
+ echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
+ elif /bin/uname -X 2>/dev/null >/dev/null ; then
+ UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
+ (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
+ (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
+ && UNAME_MACHINE=i586
+ (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
+ && UNAME_MACHINE=i686
+ (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
+ && UNAME_MACHINE=i686
+ echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
+ else
+ echo ${UNAME_MACHINE}-pc-sysv32
+ fi
+ exit 0 ;;
+ i*86:*DOS:*:*)
+ echo ${UNAME_MACHINE}-pc-msdosdjgpp
+ exit 0 ;;
+ pc:*:*:*)
+ # Left here for compatibility:
+ # uname -m prints for DJGPP always 'pc', but it prints nothing about
+ # the processor, so we play safe by assuming i386.
+ echo i386-pc-msdosdjgpp
+ exit 0 ;;
+ Intel:Mach:3*:*)
+ echo i386-pc-mach3
+ exit 0 ;;
+ paragon:*:*:*)
+ echo i860-intel-osf1
+ exit 0 ;;
+ i860:*:4.*:*) # i860-SVR4
+ if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
+ echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
+ else # Add other i860-SVR4 vendors below as they are discovered.
+ echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
+ fi
+ exit 0 ;;
+ mini*:CTIX:SYS*5:*)
+ # "miniframe"
+ echo m68010-convergent-sysv
+ exit 0 ;;
+ mc68k:UNIX:SYSTEM5:3.51m)
+ echo m68k-convergent-sysv
+ exit 0 ;;
+ M68*:*:R3V[567]*:*)
+ test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
+ 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0)
+ OS_REL=''
+ test -r /etc/.relid \
+ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && echo i486-ncr-sysv4.3${OS_REL} && exit 0
+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+ && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
+ 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && echo i486-ncr-sysv4 && exit 0 ;;
+ m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
+ echo m68k-unknown-lynxos${UNAME_RELEASE}
+ exit 0 ;;
+ mc68030:UNIX_System_V:4.*:*)
+ echo m68k-atari-sysv4
+ exit 0 ;;
+ i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
+ echo i386-unknown-lynxos${UNAME_RELEASE}
+ exit 0 ;;
+ TSUNAMI:LynxOS:2.*:*)
+ echo sparc-unknown-lynxos${UNAME_RELEASE}
+ exit 0 ;;
+ rs6000:LynxOS:2.*:*)
+ echo rs6000-unknown-lynxos${UNAME_RELEASE}
+ exit 0 ;;
+ PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
+ echo powerpc-unknown-lynxos${UNAME_RELEASE}
+ exit 0 ;;
+ SM[BE]S:UNIX_SV:*:*)
+ echo mips-dde-sysv${UNAME_RELEASE}
+ exit 0 ;;
+ RM*:ReliantUNIX-*:*:*)
+ echo mips-sni-sysv4
+ exit 0 ;;
+ RM*:SINIX-*:*:*)
+ echo mips-sni-sysv4
+ exit 0 ;;
+ *:SINIX-*:*:*)
+ if uname -p 2>/dev/null >/dev/null ; then
+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
+ echo ${UNAME_MACHINE}-sni-sysv4
+ else
+ echo ns32k-sni-sysv
+ fi
+ exit 0 ;;
+ PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+ # says <Richard.M.Bartel@ccMail.Census.GOV>
+ echo i586-unisys-sysv4
+ exit 0 ;;
+ *:UNIX_System_V:4*:FTX*)
+ # From Gerald Hewes <hewes@openmarket.com>.
+ # How about differentiating between stratus architectures? -djm
+ echo hppa1.1-stratus-sysv4
+ exit 0 ;;
+ *:*:*:FTX*)
+ # From seanf@swdc.stratus.com.
+ echo i860-stratus-sysv4
+ exit 0 ;;
+ *:VOS:*:*)
+ # From Paul.Green@stratus.com.
+ echo hppa1.1-stratus-vos
+ exit 0 ;;
+ mc68*:A/UX:*:*)
+ echo m68k-apple-aux${UNAME_RELEASE}
+ exit 0 ;;
+ news*:NEWS-OS:6*:*)
+ echo mips-sony-newsos6
+ exit 0 ;;
+ R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
+ if [ -d /usr/nec ]; then
+ echo mips-nec-sysv${UNAME_RELEASE}
+ else
+ echo mips-unknown-sysv${UNAME_RELEASE}
+ fi
+ exit 0 ;;
+ BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
+ echo powerpc-be-beos
+ exit 0 ;;
+ BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
+ echo powerpc-apple-beos
+ exit 0 ;;
+ BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
+ echo i586-pc-beos
+ exit 0 ;;
+ SX-4:SUPER-UX:*:*)
+ echo sx4-nec-superux${UNAME_RELEASE}
+ exit 0 ;;
+ SX-5:SUPER-UX:*:*)
+ echo sx5-nec-superux${UNAME_RELEASE}
+ exit 0 ;;
+ SX-6:SUPER-UX:*:*)
+ echo sx6-nec-superux${UNAME_RELEASE}
+ exit 0 ;;
+ Power*:Rhapsody:*:*)
+ echo powerpc-apple-rhapsody${UNAME_RELEASE}
+ exit 0 ;;
+ *:Rhapsody:*:*)
+ echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
+ exit 0 ;;
+ *:Darwin:*:*)
+ echo `uname -p`-apple-darwin${UNAME_RELEASE}
+ exit 0 ;;
+ *:procnto*:*:* | *:QNX:[0123456789]*:*)
+ UNAME_PROCESSOR=`uname -p`
+ if test "$UNAME_PROCESSOR" = "x86"; then
+ UNAME_PROCESSOR=i386
+ UNAME_MACHINE=pc
+ fi
+ echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
+ exit 0 ;;
+ *:QNX:*:4*)
+ echo i386-pc-qnx
+ exit 0 ;;
+ NSR-[DGKLNPTVW]:NONSTOP_KERNEL:*:*)
+ echo nsr-tandem-nsk${UNAME_RELEASE}
+ exit 0 ;;
+ *:NonStop-UX:*:*)
+ echo mips-compaq-nonstopux
+ exit 0 ;;
+ BS2000:POSIX*:*:*)
+ echo bs2000-siemens-sysv
+ exit 0 ;;
+ DS/*:UNIX_System_V:*:*)
+ echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
+ exit 0 ;;
+ *:Plan9:*:*)
+ # "uname -m" is not consistent, so use $cputype instead. 386
+ # is converted to i386 for consistency with other x86
+ # operating systems.
+ if test "$cputype" = "386"; then
+ UNAME_MACHINE=i386
+ else
+ UNAME_MACHINE="$cputype"
+ fi
+ echo ${UNAME_MACHINE}-unknown-plan9
+ exit 0 ;;
+ i*86:OS/2:*:*)
+ # If we were able to find `uname', then EMX Unix compatibility
+ # is probably installed.
+ echo ${UNAME_MACHINE}-pc-os2-emx
+ exit 0 ;;
+ *:TOPS-10:*:*)
+ echo pdp10-unknown-tops10
+ exit 0 ;;
+ *:TENEX:*:*)
+ echo pdp10-unknown-tenex
+ exit 0 ;;
+ KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
+ echo pdp10-dec-tops20
+ exit 0 ;;
+ XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
+ echo pdp10-xkl-tops20
+ exit 0 ;;
+ *:TOPS-20:*:*)
+ echo pdp10-unknown-tops20
+ exit 0 ;;
+ *:ITS:*:*)
+ echo pdp10-unknown-its
+ exit 0 ;;
+ i*86:XTS-300:*:STOP)
+ echo ${UNAME_MACHINE}-unknown-stop
+ exit 0 ;;
+ i*86:atheos:*:*)
+ echo ${UNAME_MACHINE}-unknown-atheos
+ exit 0 ;;
+esac
+
+#echo '(No uname command or uname output not recognized.)' 1>&2
+#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
+
+eval $set_cc_for_build
+cat >$dummy.c <<EOF
+#ifdef _SEQUENT_
+# include <sys/types.h>
+# include <sys/utsname.h>
+#endif
+main ()
+{
+#if defined (sony)
+#if defined (MIPSEB)
+ /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
+ I don't know.... */
+ printf ("mips-sony-bsd\n"); exit (0);
+#else
+#include <sys/param.h>
+ printf ("m68k-sony-newsos%s\n",
+#ifdef NEWSOS4
+ "4"
+#else
+ ""
+#endif
+ ); exit (0);
+#endif
+#endif
+
+#if defined (__arm) && defined (__acorn) && defined (__unix)
+ printf ("arm-acorn-riscix"); exit (0);
+#endif
+
+#if defined (hp300) && !defined (hpux)
+ printf ("m68k-hp-bsd\n"); exit (0);
+#endif
+
+#if defined (NeXT)
+#if !defined (__ARCHITECTURE__)
+#define __ARCHITECTURE__ "m68k"
+#endif
+ int version;
+ version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
+ if (version < 4)
+ printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
+ else
+ printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
+ exit (0);
+#endif
+
+#if defined (MULTIMAX) || defined (n16)
+#if defined (UMAXV)
+ printf ("ns32k-encore-sysv\n"); exit (0);
+#else
+#if defined (CMU)
+ printf ("ns32k-encore-mach\n"); exit (0);
+#else
+ printf ("ns32k-encore-bsd\n"); exit (0);
+#endif
+#endif
+#endif
+
+#if defined (__386BSD__)
+ printf ("i386-pc-bsd\n"); exit (0);
+#endif
+
+#if defined (sequent)
+#if defined (i386)
+ printf ("i386-sequent-dynix\n"); exit (0);
+#endif
+#if defined (ns32000)
+ printf ("ns32k-sequent-dynix\n"); exit (0);
+#endif
+#endif
+
+#if defined (_SEQUENT_)
+ struct utsname un;
+
+ uname(&un);
+
+ if (strncmp(un.version, "V2", 2) == 0) {
+ printf ("i386-sequent-ptx2\n"); exit (0);
+ }
+ if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
+ printf ("i386-sequent-ptx1\n"); exit (0);
+ }
+ printf ("i386-sequent-ptx\n"); exit (0);
+
+#endif
+
+#if defined (vax)
+# if !defined (ultrix)
+# include <sys/param.h>
+# if defined (BSD)
+# if BSD == 43
+ printf ("vax-dec-bsd4.3\n"); exit (0);
+# else
+# if BSD == 199006
+ printf ("vax-dec-bsd4.3reno\n"); exit (0);
+# else
+ printf ("vax-dec-bsd\n"); exit (0);
+# endif
+# endif
+# else
+ printf ("vax-dec-bsd\n"); exit (0);
+# endif
+# else
+ printf ("vax-dec-ultrix\n"); exit (0);
+# endif
+#endif
+
+#if defined (alliant) && defined (i860)
+ printf ("i860-alliant-bsd\n"); exit (0);
+#endif
+
+ exit (1);
+}
+EOF
+
+$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
+rm -f $dummy.c $dummy && rmdir $tmpdir
+
+# Apollos put the system type in the environment.
+
+test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
+
+# Convex versions that predate uname can use getsysinfo(1)
+
+if [ -x /usr/convex/getsysinfo ]
+then
+ case `getsysinfo -f cpu_type` in
+ c1*)
+ echo c1-convex-bsd
+ exit 0 ;;
+ c2*)
+ if getsysinfo -f scalar_acc
+ then echo c32-convex-bsd
+ else echo c2-convex-bsd
+ fi
+ exit 0 ;;
+ c34*)
+ echo c34-convex-bsd
+ exit 0 ;;
+ c38*)
+ echo c38-convex-bsd
+ exit 0 ;;
+ c4*)
+ echo c4-convex-bsd
+ exit 0 ;;
+ esac
+fi
+
+cat >&2 <<EOF
+$0: unable to guess system type
+
+This script, last modified $timestamp, has failed to recognize
+the operating system you are using. It is advised that you
+download the most up to date version of the config scripts from
+
+ ftp://ftp.gnu.org/pub/gnu/config/
+
+If the version you run ($0) is already up to date, please
+send the following data and any information you think might be
+pertinent to <config-patches@gnu.org> in order to provide the needed
+information to handle your system.
+
+config.guess timestamp = $timestamp
+
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
+/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
+
+hostinfo = `(hostinfo) 2>/dev/null`
+/bin/universe = `(/bin/universe) 2>/dev/null`
+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
+/bin/arch = `(/bin/arch) 2>/dev/null`
+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
+
+UNAME_MACHINE = ${UNAME_MACHINE}
+UNAME_RELEASE = ${UNAME_RELEASE}
+UNAME_SYSTEM = ${UNAME_SYSTEM}
+UNAME_VERSION = ${UNAME_VERSION}
+EOF
+
+exit 1
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff --git a/freebsdtvision/util/config.sub b/freebsdtvision/util/config.sub
new file mode 100755
index 0000000..1dea9b7
--- /dev/null
+++ b/freebsdtvision/util/config.sub
@@ -0,0 +1,1470 @@
+#! /bin/sh
+# Configuration validation subroutine script.
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+# 2000, 2001, 2002 Free Software Foundation, Inc.
+
+timestamp='2002-09-05'
+
+# This file is (in principle) common to ALL GNU software.
+# The presence of a machine in this file suggests that SOME GNU software
+# can handle that machine. It does not imply ALL GNU software can.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# Please send patches to <config-patches@gnu.org>. Submit a context
+# diff and a properly formatted ChangeLog entry.
+#
+# Configuration subroutine to validate and canonicalize a configuration type.
+# Supply the specified configuration type as an argument.
+# If it is invalid, we print an error message on stderr and exit with code 1.
+# Otherwise, we print the canonical config type on stdout and succeed.
+
+# This file is supposed to be the same for all GNU packages
+# and recognize all the CPU types, system types and aliases
+# that are meaningful with *any* GNU software.
+# Each package is responsible for reporting which valid configurations
+# it does not support. The user should be able to distinguish
+# a failure to support a valid configuration from a meaningless
+# configuration.
+
+# The goal of this file is to map all the various variations of a given
+# machine specification into a single specification in the form:
+# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+# or in some cases, the newer four-part form:
+# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
+# It is wrong to echo any other type of specification.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION] CPU-MFR-OPSYS
+ $0 [OPTION] ALIAS
+
+Canonicalize a configuration name.
+
+Operation modes:
+ -h, --help print this help, then exit
+ -t, --time-stamp print date of last modification, then exit
+ -v, --version print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.sub ($timestamp)
+
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions. There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+ case $1 in
+ --time-stamp | --time* | -t )
+ echo "$timestamp" ; exit 0 ;;
+ --version | -v )
+ echo "$version" ; exit 0 ;;
+ --help | --h* | -h )
+ echo "$usage"; exit 0 ;;
+ -- ) # Stop option processing
+ shift; break ;;
+ - ) # Use stdin as input.
+ break ;;
+ -* )
+ echo "$me: invalid option $1$help"
+ exit 1 ;;
+
+ *local*)
+ # First pass through any local machine types.
+ echo $1
+ exit 0;;
+
+ * )
+ break ;;
+ esac
+done
+
+case $# in
+ 0) echo "$me: missing argument$help" >&2
+ exit 1;;
+ 1) ;;
+ *) echo "$me: too many arguments$help" >&2
+ exit 1;;
+esac
+
+# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
+# Here we must recognize all the valid KERNEL-OS combinations.
+maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+case $maybe_os in
+ nto-qnx* | linux-gnu* | freebsd*-gnu* | storm-chaos* | os2-emx* | windows32-* | rtmk-nova*)
+ os=-$maybe_os
+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+ ;;
+ *)
+ basic_machine=`echo $1 | sed 's/-[^-]*$//'`
+ if [ $basic_machine != $1 ]
+ then os=`echo $1 | sed 's/.*-/-/'`
+ else os=; fi
+ ;;
+esac
+
+### Let's recognize common machines as not being operating systems so
+### that things like config.sub decstation-3100 work. We also
+### recognize some manufacturers as not being operating systems, so we
+### can provide default operating systems below.
+case $os in
+ -sun*os*)
+ # Prevent following clause from handling this invalid input.
+ ;;
+ -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
+ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
+ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
+ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
+ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
+ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
+ -apple | -axis)
+ os=
+ basic_machine=$1
+ ;;
+ -sim | -cisco | -oki | -wec | -winbond)
+ os=
+ basic_machine=$1
+ ;;
+ -scout)
+ ;;
+ -wrs)
+ os=-vxworks
+ basic_machine=$1
+ ;;
+ -chorusos*)
+ os=-chorusos
+ basic_machine=$1
+ ;;
+ -chorusrdb)
+ os=-chorusrdb
+ basic_machine=$1
+ ;;
+ -hiux*)
+ os=-hiuxwe2
+ ;;
+ -sco5)
+ os=-sco3.2v5
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco4)
+ os=-sco3.2v4
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco3.2.[4-9]*)
+ os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco3.2v[4-9]*)
+ # Don't forget version if it is 3.2v4 or newer.
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco*)
+ os=-sco3.2v2
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -udk*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -isc)
+ os=-isc2.2
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -clix*)
+ basic_machine=clipper-intergraph
+ ;;
+ -isc*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -lynx*)
+ os=-lynxos
+ ;;
+ -ptx*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
+ ;;
+ -windowsnt*)
+ os=`echo $os | sed -e 's/windowsnt/winnt/'`
+ ;;
+ -psos*)
+ os=-psos
+ ;;
+ -mint | -mint[0-9]*)
+ basic_machine=m68k-atari
+ os=-mint
+ ;;
+esac
+
+# Decode aliases for certain CPU-COMPANY combinations.
+case $basic_machine in
+ # Recognize the basic CPU types without company name.
+ # Some are omitted here because they have special meanings below.
+ 1750a | 580 \
+ | a29k \
+ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
+ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
+ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
+ | clipper \
+ | d10v | d30v | dlx | dsp16xx \
+ | fr30 | frv \
+ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+ | i370 | i860 | i960 | ia64 \
+ | ip2k \
+ | m32r | m68000 | m68k | m88k | mcore \
+ | mips | mipsbe | mipseb | mipsel | mipsle \
+ | mips16 \
+ | mips64 | mips64el \
+ | mips64vr | mips64vrel \
+ | mips64orion | mips64orionel \
+ | mips64vr4100 | mips64vr4100el \
+ | mips64vr4300 | mips64vr4300el \
+ | mips64vr5000 | mips64vr5000el \
+ | mipsisa32 | mipsisa32el \
+ | mipsisa64 | mipsisa64el \
+ | mipsisa64sb1 | mipsisa64sb1el \
+ | mipsisa64sr71k | mipsisa64sr71kel \
+ | mipstx39 | mipstx39el \
+ | mn10200 | mn10300 \
+ | ns16k | ns32k \
+ | openrisc | or32 \
+ | pdp10 | pdp11 | pj | pjl \
+ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
+ | pyramid \
+ | sh | sh[1234] | sh3e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
+ | sh64 | sh64le \
+ | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \
+ | strongarm \
+ | tahoe | thumb | tic80 | tron \
+ | v850 | v850e \
+ | we32k \
+ | x86 | xscale | xstormy16 | xtensa \
+ | z8k)
+ basic_machine=$basic_machine-unknown
+ ;;
+ m6811 | m68hc11 | m6812 | m68hc12)
+ # Motorola 68HC11/12.
+ basic_machine=$basic_machine-unknown
+ os=-none
+ ;;
+ m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
+ ;;
+
+ # We use `pc' rather than `unknown'
+ # because (1) that's what they normally are, and
+ # (2) the word "unknown" tends to confuse beginning users.
+ i*86 | x86_64)
+ basic_machine=$basic_machine-pc
+ ;;
+ # Object if more than one company name word.
+ *-*-*)
+ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+ exit 1
+ ;;
+ # Recognize the basic CPU types with company name.
+ 580-* \
+ | a29k-* \
+ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
+ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
+ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
+ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
+ | avr-* \
+ | bs2000-* \
+ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* \
+ | clipper-* | cydra-* \
+ | d10v-* | d30v-* | dlx-* \
+ | elxsi-* \
+ | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
+ | h8300-* | h8500-* \
+ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+ | i*86-* | i860-* | i960-* | ia64-* \
+ | ip2k-* \
+ | m32r-* \
+ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
+ | m88110-* | m88k-* | mcore-* \
+ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
+ | mips16-* \
+ | mips64-* | mips64el-* \
+ | mips64vr-* | mips64vrel-* \
+ | mips64orion-* | mips64orionel-* \
+ | mips64vr4100-* | mips64vr4100el-* \
+ | mips64vr4300-* | mips64vr4300el-* \
+ | mips64vr5000-* | mips64vr5000el-* \
+ | mipsisa32-* | mipsisa32el-* \
+ | mipsisa64-* | mipsisa64el-* \
+ | mipsisa64sb1-* | mipsisa64sb1el-* \
+ | mipsisa64sr71k-* | mipsisa64sr71kel-* \
+ | mipstx39 | mipstx39el \
+ | none-* | np1-* | ns16k-* | ns32k-* \
+ | orion-* \
+ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
+ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
+ | pyramid-* \
+ | romp-* | rs6000-* \
+ | sh-* | sh[1234]-* | sh3e-* | sh[34]eb-* | shbe-* \
+ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
+ | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \
+ | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
+ | tahoe-* | thumb-* | tic30-* | tic4x-* | tic54x-* | tic80-* | tron-* \
+ | v850-* | v850e-* | vax-* \
+ | we32k-* \
+ | x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \
+ | xtensa-* \
+ | ymp-* \
+ | z8k-*)
+ ;;
+ # Recognize the various machine names and aliases which stand
+ # for a CPU type and a company and sometimes even an OS.
+ 386bsd)
+ basic_machine=i386-unknown
+ os=-bsd
+ ;;
+ 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
+ basic_machine=m68000-att
+ ;;
+ 3b*)
+ basic_machine=we32k-att
+ ;;
+ a29khif)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ adobe68k)
+ basic_machine=m68010-adobe
+ os=-scout
+ ;;
+ alliant | fx80)
+ basic_machine=fx80-alliant
+ ;;
+ altos | altos3068)
+ basic_machine=m68k-altos
+ ;;
+ am29k)
+ basic_machine=a29k-none
+ os=-bsd
+ ;;
+ amdahl)
+ basic_machine=580-amdahl
+ os=-sysv
+ ;;
+ amiga | amiga-*)
+ basic_machine=m68k-unknown
+ ;;
+ amigaos | amigados)
+ basic_machine=m68k-unknown
+ os=-amigaos
+ ;;
+ amigaunix | amix)
+ basic_machine=m68k-unknown
+ os=-sysv4
+ ;;
+ apollo68)
+ basic_machine=m68k-apollo
+ os=-sysv
+ ;;
+ apollo68bsd)
+ basic_machine=m68k-apollo
+ os=-bsd
+ ;;
+ aux)
+ basic_machine=m68k-apple
+ os=-aux
+ ;;
+ balance)
+ basic_machine=ns32k-sequent
+ os=-dynix
+ ;;
+ c90)
+ basic_machine=c90-cray
+ os=-unicos
+ ;;
+ convex-c1)
+ basic_machine=c1-convex
+ os=-bsd
+ ;;
+ convex-c2)
+ basic_machine=c2-convex
+ os=-bsd
+ ;;
+ convex-c32)
+ basic_machine=c32-convex
+ os=-bsd
+ ;;
+ convex-c34)
+ basic_machine=c34-convex
+ os=-bsd
+ ;;
+ convex-c38)
+ basic_machine=c38-convex
+ os=-bsd
+ ;;
+ cray | j90)
+ basic_machine=j90-cray
+ os=-unicos
+ ;;
+ crds | unos)
+ basic_machine=m68k-crds
+ ;;
+ cris | cris-* | etrax*)
+ basic_machine=cris-axis
+ ;;
+ da30 | da30-*)
+ basic_machine=m68k-da30
+ ;;
+ decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
+ basic_machine=mips-dec
+ ;;
+ decsystem10* | dec10*)
+ basic_machine=pdp10-dec
+ os=-tops10
+ ;;
+ decsystem20* | dec20*)
+ basic_machine=pdp10-dec
+ os=-tops20
+ ;;
+ delta | 3300 | motorola-3300 | motorola-delta \
+ | 3300-motorola | delta-motorola)
+ basic_machine=m68k-motorola
+ ;;
+ delta88)
+ basic_machine=m88k-motorola
+ os=-sysv3
+ ;;
+ dpx20 | dpx20-*)
+ basic_machine=rs6000-bull
+ os=-bosx
+ ;;
+ dpx2* | dpx2*-bull)
+ basic_machine=m68k-bull
+ os=-sysv3
+ ;;
+ ebmon29k)
+ basic_machine=a29k-amd
+ os=-ebmon
+ ;;
+ elxsi)
+ basic_machine=elxsi-elxsi
+ os=-bsd
+ ;;
+ encore | umax | mmax)
+ basic_machine=ns32k-encore
+ ;;
+ es1800 | OSE68k | ose68k | ose | OSE)
+ basic_machine=m68k-ericsson
+ os=-ose
+ ;;
+ fx2800)
+ basic_machine=i860-alliant
+ ;;
+ genix)
+ basic_machine=ns32k-ns
+ ;;
+ gmicro)
+ basic_machine=tron-gmicro
+ os=-sysv
+ ;;
+ go32)
+ basic_machine=i386-pc
+ os=-go32
+ ;;
+ h3050r* | hiux*)
+ basic_machine=hppa1.1-hitachi
+ os=-hiuxwe2
+ ;;
+ h8300hms)
+ basic_machine=h8300-hitachi
+ os=-hms
+ ;;
+ h8300xray)
+ basic_machine=h8300-hitachi
+ os=-xray
+ ;;
+ h8500hms)
+ basic_machine=h8500-hitachi
+ os=-hms
+ ;;
+ harris)
+ basic_machine=m88k-harris
+ os=-sysv3
+ ;;
+ hp300-*)
+ basic_machine=m68k-hp
+ ;;
+ hp300bsd)
+ basic_machine=m68k-hp
+ os=-bsd
+ ;;
+ hp300hpux)
+ basic_machine=m68k-hp
+ os=-hpux
+ ;;
+ hp3k9[0-9][0-9] | hp9[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hp9k2[0-9][0-9] | hp9k31[0-9])
+ basic_machine=m68000-hp
+ ;;
+ hp9k3[2-9][0-9])
+ basic_machine=m68k-hp
+ ;;
+ hp9k6[0-9][0-9] | hp6[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hp9k7[0-79][0-9] | hp7[0-79][0-9])
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k78[0-9] | hp78[0-9])
+ # FIXME: really hppa2.0-hp
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
+ # FIXME: really hppa2.0-hp
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[0-9][13679] | hp8[0-9][13679])
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[0-9][0-9] | hp8[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hppa-next)
+ os=-nextstep3
+ ;;
+ hppaosf)
+ basic_machine=hppa1.1-hp
+ os=-osf
+ ;;
+ hppro)
+ basic_machine=hppa1.1-hp
+ os=-proelf
+ ;;
+ i370-ibm* | ibm*)
+ basic_machine=i370-ibm
+ ;;
+# I'm not sure what "Sysv32" means. Should this be sysv3.2?
+ i*86v32)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-sysv32
+ ;;
+ i*86v4*)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-sysv4
+ ;;
+ i*86v)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-sysv
+ ;;
+ i*86sol2)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-solaris2
+ ;;
+ i386mach)
+ basic_machine=i386-mach
+ os=-mach
+ ;;
+ i386-vsta | vsta)
+ basic_machine=i386-unknown
+ os=-vsta
+ ;;
+ iris | iris4d)
+ basic_machine=mips-sgi
+ case $os in
+ -irix*)
+ ;;
+ *)
+ os=-irix4
+ ;;
+ esac
+ ;;
+ isi68 | isi)
+ basic_machine=m68k-isi
+ os=-sysv
+ ;;
+ m88k-omron*)
+ basic_machine=m88k-omron
+ ;;
+ magnum | m3230)
+ basic_machine=mips-mips
+ os=-sysv
+ ;;
+ merlin)
+ basic_machine=ns32k-utek
+ os=-sysv
+ ;;
+ mingw32)
+ basic_machine=i386-pc
+ os=-mingw32
+ ;;
+ miniframe)
+ basic_machine=m68000-convergent
+ ;;
+ *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
+ basic_machine=m68k-atari
+ os=-mint
+ ;;
+ mips3*-*)
+ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
+ ;;
+ mips3*)
+ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
+ ;;
+ mmix*)
+ basic_machine=mmix-knuth
+ os=-mmixware
+ ;;
+ monitor)
+ basic_machine=m68k-rom68k
+ os=-coff
+ ;;
+ morphos)
+ basic_machine=powerpc-unknown
+ os=-morphos
+ ;;
+ msdos)
+ basic_machine=i386-pc
+ os=-msdos
+ ;;
+ mvs)
+ basic_machine=i370-ibm
+ os=-mvs
+ ;;
+ ncr3000)
+ basic_machine=i486-ncr
+ os=-sysv4
+ ;;
+ netbsd386)
+ basic_machine=i386-unknown
+ os=-netbsd
+ ;;
+ netwinder)
+ basic_machine=armv4l-rebel
+ os=-linux
+ ;;
+ news | news700 | news800 | news900)
+ basic_machine=m68k-sony
+ os=-newsos
+ ;;
+ news1000)
+ basic_machine=m68030-sony
+ os=-newsos
+ ;;
+ news-3600 | risc-news)
+ basic_machine=mips-sony
+ os=-newsos
+ ;;
+ necv70)
+ basic_machine=v70-nec
+ os=-sysv
+ ;;
+ next | m*-next )
+ basic_machine=m68k-next
+ case $os in
+ -nextstep* )
+ ;;
+ -ns2*)
+ os=-nextstep2
+ ;;
+ *)
+ os=-nextstep3
+ ;;
+ esac
+ ;;
+ nh3000)
+ basic_machine=m68k-harris
+ os=-cxux
+ ;;
+ nh[45]000)
+ basic_machine=m88k-harris
+ os=-cxux
+ ;;
+ nindy960)
+ basic_machine=i960-intel
+ os=-nindy
+ ;;
+ mon960)
+ basic_machine=i960-intel
+ os=-mon960
+ ;;
+ nonstopux)
+ basic_machine=mips-compaq
+ os=-nonstopux
+ ;;
+ np1)
+ basic_machine=np1-gould
+ ;;
+ nsr-tandem)
+ basic_machine=nsr-tandem
+ ;;
+ op50n-* | op60c-*)
+ basic_machine=hppa1.1-oki
+ os=-proelf
+ ;;
+ or32 | or32-*)
+ basic_machine=or32-unknown
+ os=-coff
+ ;;
+ OSE68000 | ose68000)
+ basic_machine=m68000-ericsson
+ os=-ose
+ ;;
+ os68k)
+ basic_machine=m68k-none
+ os=-os68k
+ ;;
+ pa-hitachi)
+ basic_machine=hppa1.1-hitachi
+ os=-hiuxwe2
+ ;;
+ paragon)
+ basic_machine=i860-intel
+ os=-osf
+ ;;
+ pbd)
+ basic_machine=sparc-tti
+ ;;
+ pbb)
+ basic_machine=m68k-tti
+ ;;
+ pc532 | pc532-*)
+ basic_machine=ns32k-pc532
+ ;;
+ pentium | p5 | k5 | k6 | nexgen | viac3)
+ basic_machine=i586-pc
+ ;;
+ pentiumpro | p6 | 6x86 | athlon | athlon_*)
+ basic_machine=i686-pc
+ ;;
+ pentiumii | pentium2)
+ basic_machine=i686-pc
+ ;;
+ pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
+ basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentiumpro-* | p6-* | 6x86-* | athlon-*)
+ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentiumii-* | pentium2-*)
+ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pn)
+ basic_machine=pn-gould
+ ;;
+ power) basic_machine=power-ibm
+ ;;
+ ppc) basic_machine=powerpc-unknown
+ ;;
+ ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ppcle | powerpclittle | ppc-le | powerpc-little)
+ basic_machine=powerpcle-unknown
+ ;;
+ ppcle-* | powerpclittle-*)
+ basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ppc64) basic_machine=powerpc64-unknown
+ ;;
+ ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ppc64le | powerpc64little | ppc64-le | powerpc64-little)
+ basic_machine=powerpc64le-unknown
+ ;;
+ ppc64le-* | powerpc64little-*)
+ basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ps2)
+ basic_machine=i386-ibm
+ ;;
+ pw32)
+ basic_machine=i586-unknown
+ os=-pw32
+ ;;
+ rom68k)
+ basic_machine=m68k-rom68k
+ os=-coff
+ ;;
+ rm[46]00)
+ basic_machine=mips-siemens
+ ;;
+ rtpc | rtpc-*)
+ basic_machine=romp-ibm
+ ;;
+ s390 | s390-*)
+ basic_machine=s390-ibm
+ ;;
+ s390x | s390x-*)
+ basic_machine=s390x-ibm
+ ;;
+ sa29200)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ sb1)
+ basic_machine=mipsisa64sb1-unknown
+ ;;
+ sb1el)
+ basic_machine=mipsisa64sb1el-unknown
+ ;;
+ sequent)
+ basic_machine=i386-sequent
+ ;;
+ sh)
+ basic_machine=sh-hitachi
+ os=-hms
+ ;;
+ sparclite-wrs | simso-wrs)
+ basic_machine=sparclite-wrs
+ os=-vxworks
+ ;;
+ sps7)
+ basic_machine=m68k-bull
+ os=-sysv2
+ ;;
+ spur)
+ basic_machine=spur-unknown
+ ;;
+ st2000)
+ basic_machine=m68k-tandem
+ ;;
+ stratus)
+ basic_machine=i860-stratus
+ os=-sysv4
+ ;;
+ sun2)
+ basic_machine=m68000-sun
+ ;;
+ sun2os3)
+ basic_machine=m68000-sun
+ os=-sunos3
+ ;;
+ sun2os4)
+ basic_machine=m68000-sun
+ os=-sunos4
+ ;;
+ sun3os3)
+ basic_machine=m68k-sun
+ os=-sunos3
+ ;;
+ sun3os4)
+ basic_machine=m68k-sun
+ os=-sunos4
+ ;;
+ sun4os3)
+ basic_machine=sparc-sun
+ os=-sunos3
+ ;;
+ sun4os4)
+ basic_machine=sparc-sun
+ os=-sunos4
+ ;;
+ sun4sol2)
+ basic_machine=sparc-sun
+ os=-solaris2
+ ;;
+ sun3 | sun3-*)
+ basic_machine=m68k-sun
+ ;;
+ sun4)
+ basic_machine=sparc-sun
+ ;;
+ sun386 | sun386i | roadrunner)
+ basic_machine=i386-sun
+ ;;
+ sv1)
+ basic_machine=sv1-cray
+ os=-unicos
+ ;;
+ symmetry)
+ basic_machine=i386-sequent
+ os=-dynix
+ ;;
+ t3d)
+ basic_machine=alpha-cray
+ os=-unicos
+ ;;
+ t3e)
+ basic_machine=alphaev5-cray
+ os=-unicos
+ ;;
+ t90)
+ basic_machine=t90-cray
+ os=-unicos
+ ;;
+ tic4x | c4x*)
+ basic_machine=tic4x-unknown
+ os=-coff
+ ;;
+ tic54x | c54x*)
+ basic_machine=tic54x-unknown
+ os=-coff
+ ;;
+ tx39)
+ basic_machine=mipstx39-unknown
+ ;;
+ tx39el)
+ basic_machine=mipstx39el-unknown
+ ;;
+ toad1)
+ basic_machine=pdp10-xkl
+ os=-tops20
+ ;;
+ tower | tower-32)
+ basic_machine=m68k-ncr
+ ;;
+ udi29k)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ ultra3)
+ basic_machine=a29k-nyu
+ os=-sym1
+ ;;
+ v810 | necv810)
+ basic_machine=v810-nec
+ os=-none
+ ;;
+ vaxv)
+ basic_machine=vax-dec
+ os=-sysv
+ ;;
+ vms)
+ basic_machine=vax-dec
+ os=-vms
+ ;;
+ vpp*|vx|vx-*)
+ basic_machine=f301-fujitsu
+ ;;
+ vxworks960)
+ basic_machine=i960-wrs
+ os=-vxworks
+ ;;
+ vxworks68)
+ basic_machine=m68k-wrs
+ os=-vxworks
+ ;;
+ vxworks29k)
+ basic_machine=a29k-wrs
+ os=-vxworks
+ ;;
+ w65*)
+ basic_machine=w65-wdc
+ os=-none
+ ;;
+ w89k-*)
+ basic_machine=hppa1.1-winbond
+ os=-proelf
+ ;;
+ windows32)
+ basic_machine=i386-pc
+ os=-windows32-msvcrt
+ ;;
+ xps | xps100)
+ basic_machine=xps100-honeywell
+ ;;
+ ymp)
+ basic_machine=ymp-cray
+ os=-unicos
+ ;;
+ z8k-*-coff)
+ basic_machine=z8k-unknown
+ os=-sim
+ ;;
+ none)
+ basic_machine=none-none
+ os=-none
+ ;;
+
+# Here we handle the default manufacturer of certain CPU types. It is in
+# some cases the only manufacturer, in others, it is the most popular.
+ w89k)
+ basic_machine=hppa1.1-winbond
+ ;;
+ op50n)
+ basic_machine=hppa1.1-oki
+ ;;
+ op60c)
+ basic_machine=hppa1.1-oki
+ ;;
+ romp)
+ basic_machine=romp-ibm
+ ;;
+ rs6000)
+ basic_machine=rs6000-ibm
+ ;;
+ vax)
+ basic_machine=vax-dec
+ ;;
+ pdp10)
+ # there are many clones, so DEC is not a safe bet
+ basic_machine=pdp10-unknown
+ ;;
+ pdp11)
+ basic_machine=pdp11-dec
+ ;;
+ we32k)
+ basic_machine=we32k-att
+ ;;
+ sh3 | sh4 | sh3eb | sh4eb | sh[1234]le | sh3ele)
+ basic_machine=sh-unknown
+ ;;
+ sh64)
+ basic_machine=sh64-unknown
+ ;;
+ sparc | sparcv9 | sparcv9b)
+ basic_machine=sparc-sun
+ ;;
+ cydra)
+ basic_machine=cydra-cydrome
+ ;;
+ orion)
+ basic_machine=orion-highlevel
+ ;;
+ orion105)
+ basic_machine=clipper-highlevel
+ ;;
+ mac | mpw | mac-mpw)
+ basic_machine=m68k-apple
+ ;;
+ pmac | pmac-mpw)
+ basic_machine=powerpc-apple
+ ;;
+ *-unknown)
+ # Make sure to match an already-canonicalized machine name.
+ ;;
+ *)
+ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+ exit 1
+ ;;
+esac
+
+# Here we canonicalize certain aliases for manufacturers.
+case $basic_machine in
+ *-digital*)
+ basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
+ ;;
+ *-commodore*)
+ basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
+ ;;
+ *)
+ ;;
+esac
+
+# Decode manufacturer-specific aliases for certain operating systems.
+
+if [ x"$os" != x"" ]
+then
+case $os in
+ # First match some system type aliases
+ # that might get confused with valid system types.
+ # -solaris* is a basic system type, with this one exception.
+ -solaris1 | -solaris1.*)
+ os=`echo $os | sed -e 's|solaris1|sunos4|'`
+ ;;
+ -solaris)
+ os=-solaris2
+ ;;
+ -svr4*)
+ os=-sysv4
+ ;;
+ -unixware*)
+ os=-sysv4.2uw
+ ;;
+ -gnu/linux*)
+ os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
+ ;;
+ # First accept the basic system types.
+ # The portable systems comes first.
+ # Each alternative MUST END IN A *, to match a version number.
+ # -sysv* is not here because it comes later, after sysvr4.
+ -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
+ | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
+ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
+ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
+ | -aos* \
+ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
+ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
+ | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
+ | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
+ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
+ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+ | -chorusos* | -chorusrdb* \
+ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+ | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
+ | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \
+ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
+ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
+ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
+ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* | -powermax*)
+ # Remember, each alternative MUST END IN *, to match a version number.
+ ;;
+ -qnx*)
+ case $basic_machine in
+ x86-* | i*86-*)
+ ;;
+ *)
+ os=-nto$os
+ ;;
+ esac
+ ;;
+ -nto*)
+ os=-nto-qnx
+ ;;
+ -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
+ | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
+ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
+ ;;
+ -mac*)
+ os=`echo $os | sed -e 's|mac|macos|'`
+ ;;
+ -linux*)
+ os=`echo $os | sed -e 's|linux|linux-gnu|'`
+ ;;
+ -sunos5*)
+ os=`echo $os | sed -e 's|sunos5|solaris2|'`
+ ;;
+ -sunos6*)
+ os=`echo $os | sed -e 's|sunos6|solaris3|'`
+ ;;
+ -opened*)
+ os=-openedition
+ ;;
+ -wince*)
+ os=-wince
+ ;;
+ -osfrose*)
+ os=-osfrose
+ ;;
+ -osf*)
+ os=-osf
+ ;;
+ -utek*)
+ os=-bsd
+ ;;
+ -dynix*)
+ os=-bsd
+ ;;
+ -acis*)
+ os=-aos
+ ;;
+ -atheos*)
+ os=-atheos
+ ;;
+ -386bsd)
+ os=-bsd
+ ;;
+ -ctix* | -uts*)
+ os=-sysv
+ ;;
+ -nova*)
+ os=-rtmk-nova
+ ;;
+ -ns2 )
+ os=-nextstep2
+ ;;
+ -nsk*)
+ os=-nsk
+ ;;
+ # Preserve the version number of sinix5.
+ -sinix5.*)
+ os=`echo $os | sed -e 's|sinix|sysv|'`
+ ;;
+ -sinix*)
+ os=-sysv4
+ ;;
+ -triton*)
+ os=-sysv3
+ ;;
+ -oss*)
+ os=-sysv3
+ ;;
+ -svr4)
+ os=-sysv4
+ ;;
+ -svr3)
+ os=-sysv3
+ ;;
+ -sysvr4)
+ os=-sysv4
+ ;;
+ # This must come after -sysvr4.
+ -sysv*)
+ ;;
+ -ose*)
+ os=-ose
+ ;;
+ -es1800*)
+ os=-ose
+ ;;
+ -xenix)
+ os=-xenix
+ ;;
+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+ os=-mint
+ ;;
+ -none)
+ ;;
+ *)
+ # Get rid of the `-' at the beginning of $os.
+ os=`echo $os | sed 's/[^-]*-//'`
+ echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
+ exit 1
+ ;;
+esac
+else
+
+# Here we handle the default operating systems that come with various machines.
+# The value should be what the vendor currently ships out the door with their
+# machine or put another way, the most popular os provided with the machine.
+
+# Note that if you're going to try to match "-MANUFACTURER" here (say,
+# "-sun"), then you have to tell the case statement up towards the top
+# that MANUFACTURER isn't an operating system. Otherwise, code above
+# will signal an error saying that MANUFACTURER isn't an operating
+# system, and we'll never get to this point.
+
+case $basic_machine in
+ *-acorn)
+ os=-riscix1.2
+ ;;
+ arm*-rebel)
+ os=-linux
+ ;;
+ arm*-semi)
+ os=-aout
+ ;;
+ # This must come before the *-dec entry.
+ pdp10-*)
+ os=-tops20
+ ;;
+ pdp11-*)
+ os=-none
+ ;;
+ *-dec | vax-*)
+ os=-ultrix4.2
+ ;;
+ m68*-apollo)
+ os=-domain
+ ;;
+ i386-sun)
+ os=-sunos4.0.2
+ ;;
+ m68000-sun)
+ os=-sunos3
+ # This also exists in the configure program, but was not the
+ # default.
+ # os=-sunos4
+ ;;
+ m68*-cisco)
+ os=-aout
+ ;;
+ mips*-cisco)
+ os=-elf
+ ;;
+ mips*-*)
+ os=-elf
+ ;;
+ or32-*)
+ os=-coff
+ ;;
+ *-tti) # must be before sparc entry or we get the wrong os.
+ os=-sysv3
+ ;;
+ sparc-* | *-sun)
+ os=-sunos4.1.1
+ ;;
+ *-be)
+ os=-beos
+ ;;
+ *-ibm)
+ os=-aix
+ ;;
+ *-wec)
+ os=-proelf
+ ;;
+ *-winbond)
+ os=-proelf
+ ;;
+ *-oki)
+ os=-proelf
+ ;;
+ *-hp)
+ os=-hpux
+ ;;
+ *-hitachi)
+ os=-hiux
+ ;;
+ i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
+ os=-sysv
+ ;;
+ *-cbm)
+ os=-amigaos
+ ;;
+ *-dg)
+ os=-dgux
+ ;;
+ *-dolphin)
+ os=-sysv3
+ ;;
+ m68k-ccur)
+ os=-rtu
+ ;;
+ m88k-omron*)
+ os=-luna
+ ;;
+ *-next )
+ os=-nextstep
+ ;;
+ *-sequent)
+ os=-ptx
+ ;;
+ *-crds)
+ os=-unos
+ ;;
+ *-ns)
+ os=-genix
+ ;;
+ i370-*)
+ os=-mvs
+ ;;
+ *-next)
+ os=-nextstep3
+ ;;
+ *-gould)
+ os=-sysv
+ ;;
+ *-highlevel)
+ os=-bsd
+ ;;
+ *-encore)
+ os=-bsd
+ ;;
+ *-sgi)
+ os=-irix
+ ;;
+ *-siemens)
+ os=-sysv4
+ ;;
+ *-masscomp)
+ os=-rtu
+ ;;
+ f30[01]-fujitsu | f700-fujitsu)
+ os=-uxpv
+ ;;
+ *-rom68k)
+ os=-coff
+ ;;
+ *-*bug)
+ os=-coff
+ ;;
+ *-apple)
+ os=-macos
+ ;;
+ *-atari*)
+ os=-mint
+ ;;
+ *)
+ os=-none
+ ;;
+esac
+fi
+
+# Here we handle the case where we know the os, and the CPU type, but not the
+# manufacturer. We pick the logical manufacturer.
+vendor=unknown
+case $basic_machine in
+ *-unknown)
+ case $os in
+ -riscix*)
+ vendor=acorn
+ ;;
+ -sunos*)
+ vendor=sun
+ ;;
+ -aix*)
+ vendor=ibm
+ ;;
+ -beos*)
+ vendor=be
+ ;;
+ -hpux*)
+ vendor=hp
+ ;;
+ -mpeix*)
+ vendor=hp
+ ;;
+ -hiux*)
+ vendor=hitachi
+ ;;
+ -unos*)
+ vendor=crds
+ ;;
+ -dgux*)
+ vendor=dg
+ ;;
+ -luna*)
+ vendor=omron
+ ;;
+ -genix*)
+ vendor=ns
+ ;;
+ -mvs* | -opened*)
+ vendor=ibm
+ ;;
+ -ptx*)
+ vendor=sequent
+ ;;
+ -vxsim* | -vxworks* | -windiss*)
+ vendor=wrs
+ ;;
+ -aux*)
+ vendor=apple
+ ;;
+ -hms*)
+ vendor=hitachi
+ ;;
+ -mpw* | -macos*)
+ vendor=apple
+ ;;
+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+ vendor=atari
+ ;;
+ -vos*)
+ vendor=stratus
+ ;;
+ esac
+ basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
+ ;;
+esac
+
+echo $basic_machine$os
+exit 0
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff --git a/freebsdtvision/util/depcomp b/freebsdtvision/util/depcomp
new file mode 100755
index 0000000..51606f8
--- /dev/null
+++ b/freebsdtvision/util/depcomp
@@ -0,0 +1,464 @@
+#! /bin/sh
+
+# depcomp - compile a program generating dependencies as side-effects
+# Copyright 1999, 2000 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
+
+if test -z "$depmode" || test -z "$source" || test -z "$object"; then
+ echo "depcomp: Variables source, object and depmode must be set" 1>&2
+ exit 1
+fi
+# `libtool' can also be set to `yes' or `no'.
+
+if test -z "$depfile"; then
+ base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'`
+ dir=`echo "$object" | sed 's,/.*$,/,'`
+ if test "$dir" = "$object"; then
+ dir=
+ fi
+ # FIXME: should be _deps on DOS.
+ depfile="$dir.deps/$base"
+fi
+
+tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
+
+rm -f "$tmpdepfile"
+
+# Some modes work just like other modes, but use different flags. We
+# parameterize here, but still list the modes in the big case below,
+# to make depend.m4 easier to write. Note that we *cannot* use a case
+# here, because this file can only contain one case statement.
+if test "$depmode" = hp; then
+ # HP compiler uses -M and no extra arg.
+ gccflag=-M
+ depmode=gcc
+fi
+
+if test "$depmode" = dashXmstdout; then
+ # This is just like dashmstdout with a different argument.
+ dashmflag=-xM
+ depmode=dashmstdout
+fi
+
+case "$depmode" in
+gcc3)
+## gcc 3 implements dependency tracking that does exactly what
+## we want. Yay! Note: for some reason libtool 1.4 doesn't like
+## it if -MD -MP comes after the -MF stuff. Hmm.
+ "$@" -MT "$object" -MD -MP -MF "$tmpdepfile"
+ stat=$?
+ if test $stat -eq 0; then :
+ else
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+ mv "$tmpdepfile" "$depfile"
+ ;;
+
+gcc)
+## There are various ways to get dependency output from gcc. Here's
+## why we pick this rather obscure method:
+## - Don't want to use -MD because we'd like the dependencies to end
+## up in a subdir. Having to rename by hand is ugly.
+## (We might end up doing this anyway to support other compilers.)
+## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
+## -MM, not -M (despite what the docs say).
+## - Using -M directly means running the compiler twice (even worse
+## than renaming).
+ if test -z "$gccflag"; then
+ gccflag=-MD,
+ fi
+ "$@" -Wp,"$gccflag$tmpdepfile"
+ stat=$?
+ if test $stat -eq 0; then :
+ else
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+ rm -f "$depfile"
+ echo "$object : \\" > "$depfile"
+ alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
+## The second -e expression handles DOS-style file names with drive letters.
+ sed -e 's/^[^:]*: / /' \
+ -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
+## This next piece of magic avoids the `deleted header file' problem.
+## The problem is that when a header file which appears in a .P file
+## is deleted, the dependency causes make to die (because there is
+## typically no way to rebuild the header). We avoid this by adding
+## dummy dependencies for each header file. Too bad gcc doesn't do
+## this for us directly.
+ tr ' ' '
+' < "$tmpdepfile" |
+## Some versions of gcc put a space before the `:'. On the theory
+## that the space means something, we add a space to the output as
+## well.
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly. Breaking it into two sed invocations is a workaround.
+ sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+hp)
+ # This case exists only to let depend.m4 do its work. It works by
+ # looking at the text of this script. This case will never be run,
+ # since it is checked for above.
+ exit 1
+ ;;
+
+sgi)
+ if test "$libtool" = yes; then
+ "$@" "-Wp,-MDupdate,$tmpdepfile"
+ else
+ "$@" -MDupdate "$tmpdepfile"
+ fi
+ stat=$?
+ if test $stat -eq 0; then :
+ else
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+ rm -f "$depfile"
+
+ if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
+ echo "$object : \\" > "$depfile"
+
+ # Clip off the initial element (the dependent). Don't try to be
+ # clever and replace this with sed code, as IRIX sed won't handle
+ # lines with more than a fixed number of characters (4096 in
+ # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
+ # the IRIX cc adds comments like `#:fec' to the end of the
+ # dependency line.
+ tr ' ' '
+' < "$tmpdepfile" \
+ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
+ tr '
+' ' ' >> $depfile
+ echo >> $depfile
+
+ # The second pass generates a dummy entry for each header file.
+ tr ' ' '
+' < "$tmpdepfile" \
+ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
+ >> $depfile
+ else
+ # The sourcefile does not contain any dependencies, so just
+ # store a dummy comment line, to avoid errors with the Makefile
+ # "include basename.Plo" scheme.
+ echo "#dummy" > "$depfile"
+ fi
+ rm -f "$tmpdepfile"
+ ;;
+
+aix)
+ # The C for AIX Compiler uses -M and outputs the dependencies
+ # in a .u file. This file always lives in the current directory.
+ # Also, the AIX compiler puts `$object:' at the start of each line;
+ # $object doesn't have directory information.
+ stripped=`echo "$object" | sed -e 's,^.*/,,' -e 's/\(.*\)\..*$/\1/'`
+ tmpdepfile="$stripped.u"
+ outname="$stripped.o"
+ if test "$libtool" = yes; then
+ "$@" -Wc,-M
+ else
+ "$@" -M
+ fi
+
+ stat=$?
+ if test $stat -eq 0; then :
+ else
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+
+ if test -f "$tmpdepfile"; then
+ # Each line is of the form `foo.o: dependent.h'.
+ # Do two passes, one to just change these to
+ # `$object: dependent.h' and one to simply `dependent.h:'.
+ sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile"
+ sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"
+ else
+ # The sourcefile does not contain any dependencies, so just
+ # store a dummy comment line, to avoid errors with the Makefile
+ # "include basename.Plo" scheme.
+ echo "#dummy" > "$depfile"
+ fi
+ rm -f "$tmpdepfile"
+ ;;
+
+icc)
+ # Must come before tru64.
+
+ # Intel's C compiler understands `-MD -MF file'. However
+ # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
+ # will fill foo.d with something like
+ # foo.o: sub/foo.c
+ # foo.o: sub/foo.h
+ # which is wrong. We want:
+ # sub/foo.o: sub/foo.c
+ # sub/foo.o: sub/foo.h
+ # sub/foo.c:
+ # sub/foo.h:
+
+ "$@" -MD -MF "$tmpdepfile"
+ stat=$?
+ if test $stat -eq 0; then :
+ else
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+ rm -f "$depfile"
+ # Each line is of the form `foo.o: dependent.h'.
+ # Do two passes, one to just change these to
+ # `$object: dependent.h' and one to simply `dependent.h:'.
+ sed -e "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
+ sed -e "s,^[^:]*: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+tru64)
+ # The Tru64 compiler uses -MD to generate dependencies as a side
+ # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
+ # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
+ # dependencies in `foo.d' instead, so we check for that too.
+ # Subdirectories are respected.
+ dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
+ test "x$dir" = "x$object" && dir=
+ base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+
+ if test "$libtool" = yes; then
+ tmpdepfile1="$dir.libs/$base.lo.d"
+ tmpdepfile2="$dir.libs/$base.d"
+ "$@" -Wc,-MD
+ else
+ tmpdepfile1="$dir$base.o.d"
+ tmpdepfile2="$dir$base.d"
+ "$@" -MD
+ fi
+
+ stat=$?
+ if test $stat -eq 0; then :
+ else
+ rm -f "$tmpdepfile1" "$tmpdepfile2"
+ exit $stat
+ fi
+
+ if test -f "$tmpdepfile1"; then
+ tmpdepfile="$tmpdepfile1"
+ else
+ tmpdepfile="$tmpdepfile2"
+ fi
+ if test -f "$tmpdepfile"; then
+ sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
+ # That's a space and a tab in the [].
+ sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
+ else
+ echo "#dummy" > "$depfile"
+ fi
+ rm -f "$tmpdepfile"
+ ;;
+
+#nosideeffect)
+ # This comment above is used by automake to tell side-effect
+ # dependency tracking mechanisms from slower ones.
+
+dashmstdout)
+ # Important note: in order to support this mode, a compiler *must*
+ # always write the proprocessed file to stdout, regardless of -o.
+ "$@" || exit $?
+
+ # Remove the call to Libtool.
+ if test "$libtool" = yes; then
+ while test $1 != '--mode=compile'; do
+ shift
+ done
+ shift
+ fi
+
+ # Remove `-o $object'.
+ IFS=" "
+ for arg
+ do
+ case $arg in
+ -o)
+ shift
+ ;;
+ $object)
+ shift
+ ;;
+ *)
+ set fnord "$@" "$arg"
+ shift # fnord
+ shift # $arg
+ ;;
+ esac
+ done
+
+ test -z "$dashmflag" && dashmflag=-M
+ # Require at least two characters before searching for `:'
+ # in the target name. This is to cope with DOS-style filenames:
+ # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
+ "$@" $dashmflag |
+ sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
+ rm -f "$depfile"
+ cat < "$tmpdepfile" > "$depfile"
+ tr ' ' '
+' < "$tmpdepfile" | \
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly. Breaking it into two sed invocations is a workaround.
+ sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+dashXmstdout)
+ # This case only exists to satisfy depend.m4. It is never actually
+ # run, as this mode is specially recognized in the preamble.
+ exit 1
+ ;;
+
+makedepend)
+ "$@" || exit $?
+ # Remove any Libtool call
+ if test "$libtool" = yes; then
+ while test $1 != '--mode=compile'; do
+ shift
+ done
+ shift
+ fi
+ # X makedepend
+ shift
+ cleared=no
+ for arg in "$@"; do
+ case $cleared in
+ no)
+ set ""; shift
+ cleared=yes ;;
+ esac
+ case "$arg" in
+ -D*|-I*)
+ set fnord "$@" "$arg"; shift ;;
+ # Strip any option that makedepend may not understand. Remove
+ # the object too, otherwise makedepend will parse it as a source file.
+ -*|$object)
+ ;;
+ *)
+ set fnord "$@" "$arg"; shift ;;
+ esac
+ done
+ obj_suffix="`echo $object | sed 's/^.*\././'`"
+ touch "$tmpdepfile"
+ ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
+ rm -f "$depfile"
+ cat < "$tmpdepfile" > "$depfile"
+ sed '1,2d' "$tmpdepfile" | tr ' ' '
+' | \
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly. Breaking it into two sed invocations is a workaround.
+ sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile" "$tmpdepfile".bak
+ ;;
+
+cpp)
+ # Important note: in order to support this mode, a compiler *must*
+ # always write the proprocessed file to stdout.
+ "$@" || exit $?
+
+ # Remove the call to Libtool.
+ if test "$libtool" = yes; then
+ while test $1 != '--mode=compile'; do
+ shift
+ done
+ shift
+ fi
+
+ # Remove `-o $object'.
+ IFS=" "
+ for arg
+ do
+ case $arg in
+ -o)
+ shift
+ ;;
+ $object)
+ shift
+ ;;
+ *)
+ set fnord "$@" "$arg"
+ shift # fnord
+ shift # $arg
+ ;;
+ esac
+ done
+
+ "$@" -E |
+ sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
+ sed '$ s: \\$::' > "$tmpdepfile"
+ rm -f "$depfile"
+ echo "$object : \\" > "$depfile"
+ cat < "$tmpdepfile" >> "$depfile"
+ sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+msvisualcpp)
+ # Important note: in order to support this mode, a compiler *must*
+ # always write the proprocessed file to stdout, regardless of -o,
+ # because we must use -o when running libtool.
+ "$@" || exit $?
+ IFS=" "
+ for arg
+ do
+ case "$arg" in
+ "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
+ set fnord "$@"
+ shift
+ shift
+ ;;
+ *)
+ set fnord "$@" "$arg"
+ shift
+ shift
+ ;;
+ esac
+ done
+ "$@" -E |
+ sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
+ rm -f "$depfile"
+ echo "$object : \\" > "$depfile"
+ . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
+ echo " " >> "$depfile"
+ . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+none)
+ exec "$@"
+ ;;
+
+*)
+ echo "Unknown depmode $depmode" 1>&2
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/freebsdtvision/util/install-sh b/freebsdtvision/util/install-sh
new file mode 100755
index 0000000..36f96f3
--- /dev/null
+++ b/freebsdtvision/util/install-sh
@@ -0,0 +1,276 @@
+#!/bin/sh
+#
+# install - install a program, script, or datafile
+# This comes from X11R5 (mit/util/scripts/install.sh).
+#
+# Copyright 1991 by the Massachusetts Institute of Technology
+#
+# Permission to use, copy, modify, distribute, and sell this software and its
+# documentation for any purpose is hereby granted without fee, provided that
+# the above copyright notice appear in all copies and that both that
+# copyright notice and this permission notice appear in supporting
+# documentation, and that the name of M.I.T. not be used in advertising or
+# publicity pertaining to distribution of the software without specific,
+# written prior permission. M.I.T. makes no representations about the
+# suitability of this software for any purpose. It is provided "as is"
+# without express or implied warranty.
+#
+# Calling this script install-sh is preferred over install.sh, to prevent
+# `make' implicit rules from creating a file called install from it
+# when there is no Makefile.
+#
+# This script is compatible with the BSD install script, but was written
+# from scratch. It can only install one file at a time, a restriction
+# shared with many OS's install programs.
+
+
+# set DOITPROG to echo to test this script
+
+# Don't use :- since 4.3BSD and earlier shells don't like it.
+doit="${DOITPROG-}"
+
+
+# put in absolute paths if you don't have them in your path; or use env. vars.
+
+mvprog="${MVPROG-mv}"
+cpprog="${CPPROG-cp}"
+chmodprog="${CHMODPROG-chmod}"
+chownprog="${CHOWNPROG-chown}"
+chgrpprog="${CHGRPPROG-chgrp}"
+stripprog="${STRIPPROG-strip}"
+rmprog="${RMPROG-rm}"
+mkdirprog="${MKDIRPROG-mkdir}"
+
+transformbasename=""
+transform_arg=""
+instcmd="$mvprog"
+chmodcmd="$chmodprog 0755"
+chowncmd=""
+chgrpcmd=""
+stripcmd=""
+rmcmd="$rmprog -f"
+mvcmd="$mvprog"
+src=""
+dst=""
+dir_arg=""
+
+while [ x"$1" != x ]; do
+ case $1 in
+ -c) instcmd=$cpprog
+ shift
+ continue;;
+
+ -d) dir_arg=true
+ shift
+ continue;;
+
+ -m) chmodcmd="$chmodprog $2"
+ shift
+ shift
+ continue;;
+
+ -o) chowncmd="$chownprog $2"
+ shift
+ shift
+ continue;;
+
+ -g) chgrpcmd="$chgrpprog $2"
+ shift
+ shift
+ continue;;
+
+ -s) stripcmd=$stripprog
+ shift
+ continue;;
+
+ -t=*) transformarg=`echo $1 | sed 's/-t=//'`
+ shift
+ continue;;
+
+ -b=*) transformbasename=`echo $1 | sed 's/-b=//'`
+ shift
+ continue;;
+
+ *) if [ x"$src" = x ]
+ then
+ src=$1
+ else
+ # this colon is to work around a 386BSD /bin/sh bug
+ :
+ dst=$1
+ fi
+ shift
+ continue;;
+ esac
+done
+
+if [ x"$src" = x ]
+then
+ echo "$0: no input file specified" >&2
+ exit 1
+else
+ :
+fi
+
+if [ x"$dir_arg" != x ]; then
+ dst=$src
+ src=""
+
+ if [ -d "$dst" ]; then
+ instcmd=:
+ chmodcmd=""
+ else
+ instcmd=$mkdirprog
+ fi
+else
+
+# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
+# might cause directories to be created, which would be especially bad
+# if $src (and thus $dsttmp) contains '*'.
+
+ if [ -f "$src" ] || [ -d "$src" ]
+ then
+ :
+ else
+ echo "$0: $src does not exist" >&2
+ exit 1
+ fi
+
+ if [ x"$dst" = x ]
+ then
+ echo "$0: no destination specified" >&2
+ exit 1
+ else
+ :
+ fi
+
+# If destination is a directory, append the input filename; if your system
+# does not like double slashes in filenames, you may need to add some logic
+
+ if [ -d "$dst" ]
+ then
+ dst=$dst/`basename "$src"`
+ else
+ :
+ fi
+fi
+
+## this sed command emulates the dirname command
+dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
+
+# Make sure that the destination directory exists.
+# this part is taken from Noah Friedman's mkinstalldirs script
+
+# Skip lots of stat calls in the usual case.
+if [ ! -d "$dstdir" ]; then
+defaultIFS='
+ '
+IFS="${IFS-$defaultIFS}"
+
+oIFS=$IFS
+# Some sh's can't handle IFS=/ for some reason.
+IFS='%'
+set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
+IFS=$oIFS
+
+pathcomp=''
+
+while [ $# -ne 0 ] ; do
+ pathcomp=$pathcomp$1
+ shift
+
+ if [ ! -d "$pathcomp" ] ;
+ then
+ $mkdirprog "$pathcomp"
+ else
+ :
+ fi
+
+ pathcomp=$pathcomp/
+done
+fi
+
+if [ x"$dir_arg" != x ]
+then
+ $doit $instcmd "$dst" &&
+
+ if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dst"; else : ; fi &&
+ if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dst"; else : ; fi &&
+ if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dst"; else : ; fi &&
+ if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dst"; else : ; fi
+else
+
+# If we're going to rename the final executable, determine the name now.
+
+ if [ x"$transformarg" = x ]
+ then
+ dstfile=`basename "$dst"`
+ else
+ dstfile=`basename "$dst" $transformbasename |
+ sed $transformarg`$transformbasename
+ fi
+
+# don't allow the sed command to completely eliminate the filename
+
+ if [ x"$dstfile" = x ]
+ then
+ dstfile=`basename "$dst"`
+ else
+ :
+ fi
+
+# Make a couple of temp file names in the proper directory.
+
+ dsttmp=$dstdir/#inst.$$#
+ rmtmp=$dstdir/#rm.$$#
+
+# Trap to clean up temp files at exit.
+
+ trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0
+ trap '(exit $?); exit' 1 2 13 15
+
+# Move or copy the file name to the temp name
+
+ $doit $instcmd "$src" "$dsttmp" &&
+
+# and set any options; do chmod last to preserve setuid bits
+
+# If any of these fail, we abort the whole thing. If we want to
+# ignore errors from any of these, just make sure not to ignore
+# errors from the above "$doit $instcmd $src $dsttmp" command.
+
+ if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dsttmp"; else :;fi &&
+ if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dsttmp"; else :;fi &&
+ if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dsttmp"; else :;fi &&
+ if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dsttmp"; else :;fi &&
+
+# Now remove or move aside any old file at destination location. We try this
+# two ways since rm can't unlink itself on some systems and the destination
+# file might be busy for other reasons. In this case, the final cleanup
+# might fail but the new file should still install successfully.
+
+{
+ if [ -f "$dstdir/$dstfile" ]
+ then
+ $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null ||
+ $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null ||
+ {
+ echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
+ (exit 1); exit
+ }
+ else
+ :
+ fi
+} &&
+
+# Now rename the file to the real destination.
+
+ $doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
+
+fi &&
+
+# The final little trick to "correctly" pass the exit status to the exit trap.
+
+{
+ (exit 0); exit
+}
diff --git a/freebsdtvision/util/ltmain.sh b/freebsdtvision/util/ltmain.sh
new file mode 100644
index 0000000..7e0c9f4
--- /dev/null
+++ b/freebsdtvision/util/ltmain.sh
@@ -0,0 +1,5062 @@
+# ltmain.sh - Provide generalized library-building support services.
+# NOTE: Changing this file will not affect anything until you rerun configure.
+#
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001
+# Free Software Foundation, Inc.
+# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# Check that we have a working $echo.
+if test "X$1" = X--no-reexec; then
+ # Discard the --no-reexec flag, and continue.
+ shift
+elif test "X$1" = X--fallback-echo; then
+ # Avoid inline document here, it may be left over
+ :
+elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
+ # Yippee, $echo works!
+ :
+else
+ # Restart under the correct shell, and then maybe $echo will work.
+ exec $SHELL "$0" --no-reexec ${1+"$@"}
+fi
+
+if test "X$1" = X--fallback-echo; then
+ # used as fallback echo
+ shift
+ cat <<EOF
+$*
+EOF
+ exit 0
+fi
+
+# The name of this program.
+progname=`$echo "$0" | ${SED} 's%^.*/%%'`
+modename="$progname"
+
+# Constants.
+PROGRAM=ltmain.sh
+PACKAGE=libtool
+VERSION=1.4.3
+TIMESTAMP=" (1.922.2.110 2002/10/23 01:39:54)"
+
+default_mode=
+help="Try \`$progname --help' for more information."
+magic="%%%MAGIC variable%%%"
+mkdir="mkdir"
+mv="mv -f"
+rm="rm -f"
+
+# Sed substitution that helps us do robust quoting. It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed="${SED}"' -e 1s/^X//'
+sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'
+# test EBCDIC or ASCII
+case `echo A|od -x` in
+ *[Cc]1*) # EBCDIC based system
+ SP2NL="tr '\100' '\n'"
+ NL2SP="tr '\r\n' '\100\100'"
+ ;;
+ *) # Assume ASCII based system
+ SP2NL="tr '\040' '\012'"
+ NL2SP="tr '\015\012' '\040\040'"
+ ;;
+esac
+
+# NLS nuisances.
+# Only set LANG and LC_ALL to C if already set.
+# These must not be set unconditionally because not all systems understand
+# e.g. LANG=C (notably SCO).
+# We save the old values to restore during execute mode.
+if test "${LC_ALL+set}" = set; then
+ save_LC_ALL="$LC_ALL"; LC_ALL=C; export LC_ALL
+fi
+if test "${LANG+set}" = set; then
+ save_LANG="$LANG"; LANG=C; export LANG
+fi
+
+# Make sure IFS has a sensible default
+: ${IFS=" "}
+
+if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
+ echo "$modename: not configured to build any kind of library" 1>&2
+ echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2
+ exit 1
+fi
+
+# Global variables.
+mode=$default_mode
+nonopt=
+prev=
+prevopt=
+run=
+show="$echo"
+show_help=
+execute_dlfiles=
+lo2o="s/\\.lo\$/.${objext}/"
+o2lo="s/\\.${objext}\$/.lo/"
+
+# Parse our command line options once, thoroughly.
+while test $# -gt 0
+do
+ arg="$1"
+ shift
+
+ case $arg in
+ -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) optarg= ;;
+ esac
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$prev"; then
+ case $prev in
+ execute_dlfiles)
+ execute_dlfiles="$execute_dlfiles $arg"
+ ;;
+ *)
+ eval "$prev=\$arg"
+ ;;
+ esac
+
+ prev=
+ prevopt=
+ continue
+ fi
+
+ # Have we seen a non-optional argument yet?
+ case $arg in
+ --help)
+ show_help=yes
+ ;;
+
+ --version)
+ echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP"
+ exit 0
+ ;;
+
+ --config)
+ ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $0
+ exit 0
+ ;;
+
+ --debug)
+ echo "$progname: enabling shell trace mode"
+ set -x
+ ;;
+
+ --dry-run | -n)
+ run=:
+ ;;
+
+ --features)
+ echo "host: $host"
+ if test "$build_libtool_libs" = yes; then
+ echo "enable shared libraries"
+ else
+ echo "disable shared libraries"
+ fi
+ if test "$build_old_libs" = yes; then
+ echo "enable static libraries"
+ else
+ echo "disable static libraries"
+ fi
+ exit 0
+ ;;
+
+ --finish) mode="finish" ;;
+
+ --mode) prevopt="--mode" prev=mode ;;
+ --mode=*) mode="$optarg" ;;
+
+ --preserve-dup-deps) duplicate_deps="yes" ;;
+
+ --quiet | --silent)
+ show=:
+ ;;
+
+ -dlopen)
+ prevopt="-dlopen"
+ prev=execute_dlfiles
+ ;;
+
+ -*)
+ $echo "$modename: unrecognized option \`$arg'" 1>&2
+ $echo "$help" 1>&2
+ exit 1
+ ;;
+
+ *)
+ nonopt="$arg"
+ break
+ ;;
+ esac
+done
+
+if test -n "$prevopt"; then
+ $echo "$modename: option \`$prevopt' requires an argument" 1>&2
+ $echo "$help" 1>&2
+ exit 1
+fi
+
+# If this variable is set in any of the actions, the command in it
+# will be execed at the end. This prevents here-documents from being
+# left over by shells.
+exec_cmd=
+
+if test -z "$show_help"; then
+
+ # Infer the operation mode.
+ if test -z "$mode"; then
+ case $nonopt in
+ *cc | *++ | gcc* | *-gcc* | xlc*)
+ mode=link
+ for arg
+ do
+ case $arg in
+ -c)
+ mode=compile
+ break
+ ;;
+ esac
+ done
+ ;;
+ *db | *dbx | *strace | *truss)
+ mode=execute
+ ;;
+ *install*|cp|mv)
+ mode=install
+ ;;
+ *rm)
+ mode=uninstall
+ ;;
+ *)
+ # If we have no mode, but dlfiles were specified, then do execute mode.
+ test -n "$execute_dlfiles" && mode=execute
+
+ # Just use the default operation mode.
+ if test -z "$mode"; then
+ if test -n "$nonopt"; then
+ $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2
+ else
+ $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2
+ fi
+ fi
+ ;;
+ esac
+ fi
+
+ # Only execute mode is allowed to have -dlopen flags.
+ if test -n "$execute_dlfiles" && test "$mode" != execute; then
+ $echo "$modename: unrecognized option \`-dlopen'" 1>&2
+ $echo "$help" 1>&2
+ exit 1
+ fi
+
+ # Change the help message to a mode-specific one.
+ generic_help="$help"
+ help="Try \`$modename --help --mode=$mode' for more information."
+
+ # These modes are in order of execution frequency so that they run quickly.
+ case $mode in
+ # libtool compile mode
+ compile)
+ modename="$modename: compile"
+ # Get the compilation command and the source file.
+ base_compile=
+ prev=
+ lastarg=
+ srcfile="$nonopt"
+ suppress_output=
+
+ user_target=no
+ for arg
+ do
+ case $prev in
+ "") ;;
+ xcompiler)
+ # Aesthetically quote the previous argument.
+ prev=
+ lastarg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+
+ case $arg in
+ # Double-quote args containing other shell metacharacters.
+ # Many Bourne shells cannot handle close brackets correctly
+ # in scan sets, so we specify it separately.
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
+ arg="\"$arg\""
+ ;;
+ esac
+
+ # Add the previous argument to base_compile.
+ if test -z "$base_compile"; then
+ base_compile="$lastarg"
+ else
+ base_compile="$base_compile $lastarg"
+ fi
+ continue
+ ;;
+ esac
+
+ # Accept any command-line options.
+ case $arg in
+ -o)
+ if test "$user_target" != "no"; then
+ $echo "$modename: you cannot specify \`-o' more than once" 1>&2
+ exit 1
+ fi
+ user_target=next
+ ;;
+
+ -static)
+ build_old_libs=yes
+ continue
+ ;;
+
+ -prefer-pic)
+ pic_mode=yes
+ continue
+ ;;
+
+ -prefer-non-pic)
+ pic_mode=no
+ continue
+ ;;
+
+ -Xcompiler)
+ prev=xcompiler
+ continue
+ ;;
+
+ -Wc,*)
+ args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"`
+ lastarg=
+ save_ifs="$IFS"; IFS=','
+ for arg in $args; do
+ IFS="$save_ifs"
+
+ # Double-quote args containing other shell metacharacters.
+ # Many Bourne shells cannot handle close brackets correctly
+ # in scan sets, so we specify it separately.
+ case $arg in
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
+ arg="\"$arg\""
+ ;;
+ esac
+ lastarg="$lastarg $arg"
+ done
+ IFS="$save_ifs"
+ lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"`
+
+ # Add the arguments to base_compile.
+ if test -z "$base_compile"; then
+ base_compile="$lastarg"
+ else
+ base_compile="$base_compile $lastarg"
+ fi
+ continue
+ ;;
+ esac
+
+ case $user_target in
+ next)
+ # The next one is the -o target name
+ user_target=yes
+ continue
+ ;;
+ yes)
+ # We got the output file
+ user_target=set
+ libobj="$arg"
+ continue
+ ;;
+ esac
+
+ # Accept the current argument as the source file.
+ lastarg="$srcfile"
+ srcfile="$arg"
+
+ # Aesthetically quote the previous argument.
+
+ # Backslashify any backslashes, double quotes, and dollar signs.
+ # These are the only characters that are still specially
+ # interpreted inside of double-quoted scrings.
+ lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"`
+
+ # Double-quote args containing other shell metacharacters.
+ # Many Bourne shells cannot handle close brackets correctly
+ # in scan sets, so we specify it separately.
+ case $lastarg in
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
+ lastarg="\"$lastarg\""
+ ;;
+ esac
+
+ # Add the previous argument to base_compile.
+ if test -z "$base_compile"; then
+ base_compile="$lastarg"
+ else
+ base_compile="$base_compile $lastarg"
+ fi
+ done
+
+ case $user_target in
+ set)
+ ;;
+ no)
+ # Get the name of the library object.
+ libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'`
+ ;;
+ *)
+ $echo "$modename: you must specify a target with \`-o'" 1>&2
+ exit 1
+ ;;
+ esac
+
+ # Recognize several different file suffixes.
+ # If the user specifies -o file.o, it is replaced with file.lo
+ xform='[cCFSfmso]'
+ case $libobj in
+ *.ada) xform=ada ;;
+ *.adb) xform=adb ;;
+ *.ads) xform=ads ;;
+ *.asm) xform=asm ;;
+ *.c++) xform=c++ ;;
+ *.cc) xform=cc ;;
+ *.cpp) xform=cpp ;;
+ *.cxx) xform=cxx ;;
+ *.f90) xform=f90 ;;
+ *.for) xform=for ;;
+ esac
+
+ libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
+
+ case $libobj in
+ *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;;
+ *)
+ $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2
+ exit 1
+ ;;
+ esac
+
+ if test -z "$base_compile"; then
+ $echo "$modename: you must specify a compilation command" 1>&2
+ $echo "$help" 1>&2
+ exit 1
+ fi
+
+ # Delete any leftover library objects.
+ if test "$build_old_libs" = yes; then
+ removelist="$obj $libobj"
+ else
+ removelist="$libobj"
+ fi
+
+ $run $rm $removelist
+ trap "$run $rm $removelist; exit 1" 1 2 15
+
+ # On Cygwin there's no "real" PIC flag so we must build both object types
+ case $host_os in
+ cygwin* | mingw* | pw32* | os2*)
+ pic_mode=default
+ ;;
+ esac
+ if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
+ # non-PIC code in shared libraries is not supported
+ pic_mode=default
+ fi
+
+ # Calculate the filename of the output object if compiler does
+ # not support -o with -c
+ if test "$compiler_c_o" = no; then
+ output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
+ lockfile="$output_obj.lock"
+ removelist="$removelist $output_obj $lockfile"
+ trap "$run $rm $removelist; exit 1" 1 2 15
+ else
+ need_locks=no
+ lockfile=
+ fi
+
+ # Lock this critical section if it is needed
+ # We use this script file to make the link, it avoids creating a new file
+ if test "$need_locks" = yes; then
+ until $run ln "$0" "$lockfile" 2>/dev/null; do
+ $show "Waiting for $lockfile to be removed"
+ sleep 2
+ done
+ elif test "$need_locks" = warn; then
+ if test -f "$lockfile"; then
+ echo "\
+*** ERROR, $lockfile exists and contains:
+`cat $lockfile 2>/dev/null`
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together. If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+ $run $rm $removelist
+ exit 1
+ fi
+ echo $srcfile > "$lockfile"
+ fi
+
+ if test -n "$fix_srcfile_path"; then
+ eval srcfile=\"$fix_srcfile_path\"
+ fi
+
+ # Only build a PIC object if we are building libtool libraries.
+ if test "$build_libtool_libs" = yes; then
+ # Without this assignment, base_compile gets emptied.
+ fbsd_hideous_sh_bug=$base_compile
+
+ if test "$pic_mode" != no; then
+ # All platforms use -DPIC, to notify preprocessed assembler code.
+ command="$base_compile $srcfile $pic_flag -DPIC"
+ else
+ # Don't build PIC code
+ command="$base_compile $srcfile"
+ fi
+ if test "$build_old_libs" = yes; then
+ lo_libobj="$libobj"
+ dir=`$echo "X$libobj" | $Xsed -e 's%/[^/]*$%%'`
+ if test "X$dir" = "X$libobj"; then
+ dir="$objdir"
+ else
+ dir="$dir/$objdir"
+ fi
+ libobj="$dir/"`$echo "X$libobj" | $Xsed -e 's%^.*/%%'`
+
+ if test -d "$dir"; then
+ $show "$rm $libobj"
+ $run $rm $libobj
+ else
+ $show "$mkdir $dir"
+ $run $mkdir $dir
+ status=$?
+ if test $status -ne 0 && test ! -d $dir; then
+ exit $status
+ fi
+ fi
+ fi
+ if test "$compiler_o_lo" = yes; then
+ output_obj="$libobj"
+ command="$command -o $output_obj"
+ elif test "$compiler_c_o" = yes; then
+ output_obj="$obj"
+ command="$command -o $output_obj"
+ fi
+
+ $run $rm "$output_obj"
+ $show "$command"
+ if $run eval "$command"; then :
+ else
+ test -n "$output_obj" && $run $rm $removelist
+ exit 1
+ fi
+
+ if test "$need_locks" = warn &&
+ test x"`cat $lockfile 2>/dev/null`" != x"$srcfile"; then
+ echo "\
+*** ERROR, $lockfile contains:
+`cat $lockfile 2>/dev/null`
+
+but it should contain:
+$srcfile
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together. If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+ $run $rm $removelist
+ exit 1
+ fi
+
+ # Just move the object if needed, then go on to compile the next one
+ if test x"$output_obj" != x"$libobj"; then
+ $show "$mv $output_obj $libobj"
+ if $run $mv $output_obj $libobj; then :
+ else
+ error=$?
+ $run $rm $removelist
+ exit $error
+ fi
+ fi
+
+ # If we have no pic_flag, then copy the object into place and finish.
+ if (test -z "$pic_flag" || test "$pic_mode" != default) &&
+ test "$build_old_libs" = yes; then
+ # Rename the .lo from within objdir to obj
+ if test -f $obj; then
+ $show $rm $obj
+ $run $rm $obj
+ fi
+
+ $show "$mv $libobj $obj"
+ if $run $mv $libobj $obj; then :
+ else
+ error=$?
+ $run $rm $removelist
+ exit $error
+ fi
+
+ xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
+ if test "X$xdir" = "X$obj"; then
+ xdir="."
+ else
+ xdir="$xdir"
+ fi
+ baseobj=`$echo "X$obj" | $Xsed -e "s%.*/%%"`
+ libobj=`$echo "X$baseobj" | $Xsed -e "$o2lo"`
+ # Now arrange that obj and lo_libobj become the same file
+ $show "(cd $xdir && $LN_S $baseobj $libobj)"
+ if $run eval '(cd $xdir && $LN_S $baseobj $libobj)'; then
+ # Unlock the critical section if it was locked
+ if test "$need_locks" != no; then
+ $run $rm "$lockfile"
+ fi
+ exit 0
+ else
+ error=$?
+ $run $rm $removelist
+ exit $error
+ fi
+ fi
+
+ # Allow error messages only from the first compilation.
+ suppress_output=' >/dev/null 2>&1'
+ fi
+
+ # Only build a position-dependent object if we build old libraries.
+ if test "$build_old_libs" = yes; then
+ if test "$pic_mode" != yes; then
+ # Don't build PIC code
+ command="$base_compile $srcfile"
+ else
+ # All platforms use -DPIC, to notify preprocessed assembler code.
+ command="$base_compile $srcfile $pic_flag -DPIC"
+ fi
+ if test "$compiler_c_o" = yes; then
+ command="$command -o $obj"
+ output_obj="$obj"
+ fi
+
+ # Suppress compiler output if we already did a PIC compilation.
+ command="$command$suppress_output"
+ $run $rm "$output_obj"
+ $show "$command"
+ if $run eval "$command"; then :
+ else
+ $run $rm $removelist
+ exit 1
+ fi
+
+ if test "$need_locks" = warn &&
+ test x"`cat $lockfile 2>/dev/null`" != x"$srcfile"; then
+ echo "\
+*** ERROR, $lockfile contains:
+`cat $lockfile 2>/dev/null`
+
+but it should contain:
+$srcfile
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together. If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+ $run $rm $removelist
+ exit 1
+ fi
+
+ # Just move the object if needed
+ if test x"$output_obj" != x"$obj"; then
+ $show "$mv $output_obj $obj"
+ if $run $mv $output_obj $obj; then :
+ else
+ error=$?
+ $run $rm $removelist
+ exit $error
+ fi
+ fi
+
+ # Create an invalid libtool object if no PIC, so that we do not
+ # accidentally link it into a program.
+ if test "$build_libtool_libs" != yes; then
+ $show "echo timestamp > $libobj"
+ $run eval "echo timestamp > \$libobj" || exit $?
+ else
+ # Move the .lo from within objdir
+ $show "$mv $libobj $lo_libobj"
+ if $run $mv $libobj $lo_libobj; then :
+ else
+ error=$?
+ $run $rm $removelist
+ exit $error
+ fi
+ fi
+ fi
+
+ # Unlock the critical section if it was locked
+ if test "$need_locks" != no; then
+ $run $rm "$lockfile"
+ fi
+
+ exit 0
+ ;;
+
+ # libtool link mode
+ link | relink)
+ modename="$modename: link"
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
+ # It is impossible to link a dll without this setting, and
+ # we shouldn't force the makefile maintainer to figure out
+ # which system we are compiling for in order to pass an extra
+ # flag for every libtool invokation.
+ # allow_undefined=no
+
+ # FIXME: Unfortunately, there are problems with the above when trying
+ # to make a dll which has undefined symbols, in which case not
+ # even a static library is built. For now, we need to specify
+ # -no-undefined on the libtool link line when we can be certain
+ # that all symbols are satisfied, otherwise we get a static library.
+ allow_undefined=yes
+ ;;
+ *)
+ allow_undefined=yes
+ ;;
+ esac
+ libtool_args="$nonopt"
+ compile_command="$nonopt"
+ finalize_command="$nonopt"
+
+ compile_rpath=
+ finalize_rpath=
+ compile_shlibpath=
+ finalize_shlibpath=
+ convenience=
+ old_convenience=
+ deplibs=
+ old_deplibs=
+ compiler_flags=
+ linker_flags=
+ dllsearchpath=
+ lib_search_path=`pwd`
+
+ avoid_version=no
+ dlfiles=
+ dlprefiles=
+ dlself=no
+ export_dynamic=no
+ export_symbols=
+ export_symbols_regex=
+ generated=
+ libobjs=
+ ltlibs=
+ module=no
+ no_install=no
+ objs=
+ prefer_static_libs=no
+ preload=no
+ prev=
+ prevarg=
+ release=
+ rpath=
+ xrpath=
+ perm_rpath=
+ temp_rpath=
+ thread_safe=no
+ vinfo=
+
+ # We need to know -static, to get the right output filenames.
+ for arg
+ do
+ case $arg in
+ -all-static | -static)
+ if test "X$arg" = "X-all-static"; then
+ if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
+ $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2
+ fi
+ if test -n "$link_static_flag"; then
+ dlopen_self=$dlopen_self_static
+ fi
+ else
+ if test -z "$pic_flag" && test -n "$link_static_flag"; then
+ dlopen_self=$dlopen_self_static
+ fi
+ fi
+ build_libtool_libs=no
+ build_old_libs=yes
+ prefer_static_libs=yes
+ break
+ ;;
+ esac
+ done
+
+ # See if our shared archives depend on static archives.
+ test -n "$old_archive_from_new_cmds" && build_old_libs=yes
+
+ # Go through the arguments, transforming them on the way.
+ while test $# -gt 0; do
+ arg="$1"
+ shift
+ case $arg in
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
+ qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test
+ ;;
+ *) qarg=$arg ;;
+ esac
+ libtool_args="$libtool_args $qarg"
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$prev"; then
+ case $prev in
+ output)
+ compile_command="$compile_command @OUTPUT@"
+ finalize_command="$finalize_command @OUTPUT@"
+ ;;
+ esac
+
+ case $prev in
+ dlfiles|dlprefiles)
+ if test "$preload" = no; then
+ # Add the symbol object into the linking commands.
+ compile_command="$compile_command @SYMFILE@"
+ finalize_command="$finalize_command @SYMFILE@"
+ preload=yes
+ fi
+ case $arg in
+ *.la | *.lo) ;; # We handle these cases below.
+ force)
+ if test "$dlself" = no; then
+ dlself=needless
+ export_dynamic=yes
+ fi
+ prev=
+ continue
+ ;;
+ self)
+ if test "$prev" = dlprefiles; then
+ dlself=yes
+ elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
+ dlself=yes
+ else
+ dlself=needless
+ export_dynamic=yes
+ fi
+ prev=
+ continue
+ ;;
+ *)
+ if test "$prev" = dlfiles; then
+ dlfiles="$dlfiles $arg"
+ else
+ dlprefiles="$dlprefiles $arg"
+ fi
+ prev=
+ continue
+ ;;
+ esac
+ ;;
+ expsyms)
+ export_symbols="$arg"
+ if test ! -f "$arg"; then
+ $echo "$modename: symbol file \`$arg' does not exist"
+ exit 1
+ fi
+ prev=
+ continue
+ ;;
+ expsyms_regex)
+ export_symbols_regex="$arg"
+ prev=
+ continue
+ ;;
+ release)
+ release="-$arg"
+ prev=
+ continue
+ ;;
+ rpath | xrpath)
+ # We need an absolute path.
+ case $arg in
+ [\\/]* | [A-Za-z]:[\\/]*) ;;
+ *)
+ $echo "$modename: only absolute run-paths are allowed" 1>&2
+ exit 1
+ ;;
+ esac
+ if test "$prev" = rpath; then
+ case "$rpath " in
+ *" $arg "*) ;;
+ *) rpath="$rpath $arg" ;;
+ esac
+ else
+ case "$xrpath " in
+ *" $arg "*) ;;
+ *) xrpath="$xrpath $arg" ;;
+ esac
+ fi
+ prev=
+ continue
+ ;;
+ xcompiler)
+ compiler_flags="$compiler_flags $qarg"
+ prev=
+ compile_command="$compile_command $qarg"
+ finalize_command="$finalize_command $qarg"
+ continue
+ ;;
+ xlinker)
+ linker_flags="$linker_flags $qarg"
+ compiler_flags="$compiler_flags $wl$qarg"
+ prev=
+ compile_command="$compile_command $wl$qarg"
+ finalize_command="$finalize_command $wl$qarg"
+ continue
+ ;;
+ *)
+ eval "$prev=\"\$arg\""
+ prev=
+ continue
+ ;;
+ esac
+ fi # test -n $prev
+
+ prevarg="$arg"
+
+ case $arg in
+ -all-static)
+ if test -n "$link_static_flag"; then
+ compile_command="$compile_command $link_static_flag"
+ finalize_command="$finalize_command $link_static_flag"
+ fi
+ continue
+ ;;
+
+ -allow-undefined)
+ # FIXME: remove this flag sometime in the future.
+ $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2
+ continue
+ ;;
+
+ -avoid-version)
+ avoid_version=yes
+ continue
+ ;;
+
+ -dlopen)
+ prev=dlfiles
+ continue
+ ;;
+
+ -dlpreopen)
+ prev=dlprefiles
+ continue
+ ;;
+
+ -export-dynamic)
+ export_dynamic=yes
+ continue
+ ;;
+
+ -export-symbols | -export-symbols-regex)
+ if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
+ $echo "$modename: more than one -exported-symbols argument is not allowed"
+ exit 1
+ fi
+ if test "X$arg" = "X-export-symbols"; then
+ prev=expsyms
+ else
+ prev=expsyms_regex
+ fi
+ continue
+ ;;
+
+ # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
+ # so, if we see these flags be careful not to treat them like -L
+ -L[A-Z][A-Z]*:*)
+ case $with_gcc/$host in
+ no/*-*-irix* | no/*-*-nonstopux*)
+ compile_command="$compile_command $arg"
+ finalize_command="$finalize_command $arg"
+ ;;
+ esac
+ continue
+ ;;
+
+ -L*)
+ dir=`$echo "X$arg" | $Xsed -e 's/^-L//'`
+ # We need an absolute path.
+ case $dir in
+ [\\/]* | [A-Za-z]:[\\/]*) ;;
+ *)
+ absdir=`cd "$dir" && pwd`
+ if test -z "$absdir"; then
+ $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2
+ exit 1
+ fi
+ dir="$absdir"
+ ;;
+ esac
+ case "$deplibs " in
+ *" -L$dir "*) ;;
+ *)
+ deplibs="$deplibs -L$dir"
+ lib_search_path="$lib_search_path $dir"
+ ;;
+ esac
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
+ case :$dllsearchpath: in
+ *":$dir:"*) ;;
+ *) dllsearchpath="$dllsearchpath:$dir";;
+ esac
+ ;;
+ esac
+ continue
+ ;;
+
+ -l*)
+ if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
+ case $host in
+ *-*-cygwin* | *-*-pw32* | *-*-beos*)
+ # These systems don't actually have a C or math library (as such)
+ continue
+ ;;
+ *-*-mingw* | *-*-os2*)
+ # These systems don't actually have a C library (as such)
+ test "X$arg" = "X-lc" && continue
+ ;;
+ *-*-openbsd* | *-*-freebsd*)
+ # Do not include libc due to us having libc/libc_r.
+ test "X$arg" = "X-lc" && continue
+ ;;
+ esac
+ elif test "X$arg" = "X-lc_r"; then
+ case $host in
+ *-*-openbsd* | *-*-freebsd*)
+ # Do not include libc_r directly, use -pthread flag.
+ continue
+ ;;
+ esac
+ fi
+ deplibs="$deplibs $arg"
+ continue
+ ;;
+
+ -module)
+ module=yes
+ continue
+ ;;
+
+ -no-fast-install)
+ fast_install=no
+ continue
+ ;;
+
+ -no-install)
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
+ # The PATH hackery in wrapper scripts is required on Windows
+ # in order for the loader to find any dlls it needs.
+ $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2
+ $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2
+ fast_install=no
+ ;;
+ *) no_install=yes ;;
+ esac
+ continue
+ ;;
+
+ -no-undefined)
+ allow_undefined=no
+ continue
+ ;;
+
+ -o) prev=output ;;
+
+ -release)
+ prev=release
+ continue
+ ;;
+
+ -rpath)
+ prev=rpath
+ continue
+ ;;
+
+ -R)
+ prev=xrpath
+ continue
+ ;;
+
+ -R*)
+ dir=`$echo "X$arg" | $Xsed -e 's/^-R//'`
+ # We need an absolute path.
+ case $dir in
+ [\\/]* | [A-Za-z]:[\\/]*) ;;
+ *)
+ $echo "$modename: only absolute run-paths are allowed" 1>&2
+ exit 1
+ ;;
+ esac
+ case "$xrpath " in
+ *" $dir "*) ;;
+ *) xrpath="$xrpath $dir" ;;
+ esac
+ continue
+ ;;
+
+ -static)
+ # The effects of -static are defined in a previous loop.
+ # We used to do the same as -all-static on platforms that
+ # didn't have a PIC flag, but the assumption that the effects
+ # would be equivalent was wrong. It would break on at least
+ # Digital Unix and AIX.
+ continue
+ ;;
+
+ -thread-safe)
+ thread_safe=yes
+ continue
+ ;;
+
+ -version-info)
+ prev=vinfo
+ continue
+ ;;
+
+ -Wc,*)
+ args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'`
+ arg=
+ save_ifs="$IFS"; IFS=','
+ for flag in $args; do
+ IFS="$save_ifs"
+ case $flag in
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
+ flag="\"$flag\""
+ ;;
+ esac
+ arg="$arg $wl$flag"
+ compiler_flags="$compiler_flags $flag"
+ done
+ IFS="$save_ifs"
+ arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
+ ;;
+
+ -Wl,*)
+ args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'`
+ arg=
+ save_ifs="$IFS"; IFS=','
+ for flag in $args; do
+ IFS="$save_ifs"
+ case $flag in
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
+ flag="\"$flag\""
+ ;;
+ esac
+ arg="$arg $wl$flag"
+ compiler_flags="$compiler_flags $wl$flag"
+ linker_flags="$linker_flags $flag"
+ done
+ IFS="$save_ifs"
+ arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
+ ;;
+
+ -Xcompiler)
+ prev=xcompiler
+ continue
+ ;;
+
+ -Xlinker)
+ prev=xlinker
+ continue
+ ;;
+
+ # Some other compiler flag.
+ -* | +*)
+ # Unknown arguments in both finalize_command and compile_command need
+ # to be aesthetically quoted because they are evaled later.
+ arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+ case $arg in
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
+ arg="\"$arg\""
+ ;;
+ esac
+ ;;
+
+ *.lo | *.$objext)
+ # A library or standard object.
+ if test "$prev" = dlfiles; then
+ # This file was specified with -dlopen.
+ if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
+ dlfiles="$dlfiles $arg"
+ prev=
+ continue
+ else
+ # If libtool objects are unsupported, then we need to preload.
+ prev=dlprefiles
+ fi
+ fi
+
+ if test "$prev" = dlprefiles; then
+ # Preload the old-style object.
+ dlprefiles="$dlprefiles "`$echo "X$arg" | $Xsed -e "$lo2o"`
+ prev=
+ else
+ case $arg in
+ *.lo) libobjs="$libobjs $arg" ;;
+ *) objs="$objs $arg" ;;
+ esac
+ fi
+ ;;
+
+ *.$libext)
+ # An archive.
+ deplibs="$deplibs $arg"
+ old_deplibs="$old_deplibs $arg"
+ continue
+ ;;
+
+ *.la)
+ # A libtool-controlled library.
+
+ if test "$prev" = dlfiles; then
+ # This library was specified with -dlopen.
+ dlfiles="$dlfiles $arg"
+ prev=
+ elif test "$prev" = dlprefiles; then
+ # The library was specified with -dlpreopen.
+ dlprefiles="$dlprefiles $arg"
+ prev=
+ else
+ deplibs="$deplibs $arg"
+ fi
+ continue
+ ;;
+
+ # Some other compiler argument.
+ *)
+ # Unknown arguments in both finalize_command and compile_command need
+ # to be aesthetically quoted because they are evaled later.
+ arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+ case $arg in
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
+ arg="\"$arg\""
+ ;;
+ esac
+ ;;
+ esac # arg
+
+ # Now actually substitute the argument into the commands.
+ if test -n "$arg"; then
+ compile_command="$compile_command $arg"
+ finalize_command="$finalize_command $arg"
+ fi
+ done # argument parsing loop
+
+ if test -n "$prev"; then
+ $echo "$modename: the \`$prevarg' option requires an argument" 1>&2
+ $echo "$help" 1>&2
+ exit 1
+ fi
+
+ if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
+ eval arg=\"$export_dynamic_flag_spec\"
+ compile_command="$compile_command $arg"
+ finalize_command="$finalize_command $arg"
+ fi
+
+ # calculate the name of the file, without its directory
+ outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'`
+ libobjs_save="$libobjs"
+
+ if test -n "$shlibpath_var"; then
+ # get the directories listed in $shlibpath_var
+ eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
+ else
+ shlib_search_path=
+ fi
+ eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
+ eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
+
+ output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`
+ if test "X$output_objdir" = "X$output"; then
+ output_objdir="$objdir"
+ else
+ output_objdir="$output_objdir/$objdir"
+ fi
+ # Create the object directory.
+ if test ! -d $output_objdir; then
+ $show "$mkdir $output_objdir"
+ $run $mkdir $output_objdir
+ status=$?
+ if test $status -ne 0 && test ! -d $output_objdir; then
+ exit $status
+ fi
+ fi
+
+ # Determine the type of output
+ case $output in
+ "")
+ $echo "$modename: you must specify an output file" 1>&2
+ $echo "$help" 1>&2
+ exit 1
+ ;;
+ *.$libext) linkmode=oldlib ;;
+ *.lo | *.$objext) linkmode=obj ;;
+ *.la) linkmode=lib ;;
+ *) linkmode=prog ;; # Anything else should be a program.
+ esac
+
+ specialdeplibs=
+ libs=
+ # Find all interdependent deplibs by searching for libraries
+ # that are linked more than once (e.g. -la -lb -la)
+ for deplib in $deplibs; do
+ if test "X$duplicate_deps" = "Xyes" ; then
+ case "$libs " in
+ *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+ esac
+ fi
+ libs="$libs $deplib"
+ done
+ deplibs=
+ newdependency_libs=
+ newlib_search_path=
+ need_relink=no # whether we're linking any uninstalled libtool libraries
+ notinst_deplibs= # not-installed libtool libraries
+ notinst_path= # paths that contain not-installed libtool libraries
+ case $linkmode in
+ lib)
+ passes="conv link"
+ for file in $dlfiles $dlprefiles; do
+ case $file in
+ *.la) ;;
+ *)
+ $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2
+ exit 1
+ ;;
+ esac
+ done
+ ;;
+ prog)
+ compile_deplibs=
+ finalize_deplibs=
+ alldeplibs=no
+ newdlfiles=
+ newdlprefiles=
+ passes="conv scan dlopen dlpreopen link"
+ ;;
+ *) passes="conv"
+ ;;
+ esac
+ for pass in $passes; do
+ if test $linkmode = prog; then
+ # Determine which files to process
+ case $pass in
+ dlopen)
+ libs="$dlfiles"
+ save_deplibs="$deplibs" # Collect dlpreopened libraries
+ deplibs=
+ ;;
+ dlpreopen) libs="$dlprefiles" ;;
+ link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
+ esac
+ fi
+ for deplib in $libs; do
+ lib=
+ found=no
+ case $deplib in
+ -l*)
+ if test $linkmode = oldlib && test $linkmode = obj; then
+ $echo "$modename: warning: \`-l' is ignored for archives/objects: $deplib" 1>&2
+ continue
+ fi
+ if test $pass = conv; then
+ deplibs="$deplib $deplibs"
+ continue
+ fi
+ name=`$echo "X$deplib" | $Xsed -e 's/^-l//'`
+ for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do
+ # Search the libtool library
+ lib="$searchdir/lib${name}.la"
+ if test -f "$lib"; then
+ found=yes
+ break
+ fi
+ done
+ if test "$found" != yes; then
+ # deplib doesn't seem to be a libtool library
+ if test "$linkmode,$pass" = "prog,link"; then
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+ deplibs="$deplib $deplibs"
+ test $linkmode = lib && newdependency_libs="$deplib $newdependency_libs"
+ fi
+ continue
+ fi
+ ;; # -l
+ -L*)
+ case $linkmode in
+ lib)
+ deplibs="$deplib $deplibs"
+ test $pass = conv && continue
+ newdependency_libs="$deplib $newdependency_libs"
+ newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
+ ;;
+ prog)
+ if test $pass = conv; then
+ deplibs="$deplib $deplibs"
+ continue
+ fi
+ if test $pass = scan; then
+ deplibs="$deplib $deplibs"
+ newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
+ else
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ fi
+ ;;
+ *)
+ $echo "$modename: warning: \`-L' is ignored for archives/objects: $deplib" 1>&2
+ ;;
+ esac # linkmode
+ continue
+ ;; # -L
+ -R*)
+ if test $pass = link; then
+ dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'`
+ # Make sure the xrpath contains only unique directories.
+ case "$xrpath " in
+ *" $dir "*) ;;
+ *) xrpath="$xrpath $dir" ;;
+ esac
+ fi
+ deplibs="$deplib $deplibs"
+ continue
+ ;;
+ *.la) lib="$deplib" ;;
+ *.$libext)
+ if test $pass = conv; then
+ deplibs="$deplib $deplibs"
+ continue
+ fi
+ case $linkmode in
+ lib)
+ if test "$deplibs_check_method" != pass_all; then
+ echo
+ echo "*** Warning: Trying to link with static lib archive $deplib."
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which you do not appear to have"
+ echo "*** because the file extensions .$libext of this argument makes me believe"
+ echo "*** that it is just a static archive that I should not used here."
+ else
+ echo
+ echo "*** Warning: Linking the shared library $output against the"
+ echo "*** static library $deplib is not portable!"
+ deplibs="$deplib $deplibs"
+ fi
+ continue
+ ;;
+ prog)
+ if test $pass != link; then
+ deplibs="$deplib $deplibs"
+ else
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ fi
+ continue
+ ;;
+ esac # linkmode
+ ;; # *.$libext
+ *.lo | *.$objext)
+ if test $pass = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
+ # If there is no dlopen support or we're linking statically,
+ # we need to preload.
+ newdlprefiles="$newdlprefiles $deplib"
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+ newdlfiles="$newdlfiles $deplib"
+ fi
+ continue
+ ;;
+ %DEPLIBS%)
+ alldeplibs=yes
+ continue
+ ;;
+ esac # case $deplib
+ if test $found = yes || test -f "$lib"; then :
+ else
+ $echo "$modename: cannot find the library \`$lib'" 1>&2
+ exit 1
+ fi
+
+ # Check to see that this really is a libtool archive.
+ if (${SED} -e '2q' $lib | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
+ else
+ $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
+ exit 1
+ fi
+
+ ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
+ test "X$ladir" = "X$lib" && ladir="."
+
+ dlname=
+ dlopen=
+ dlpreopen=
+ libdir=
+ library_names=
+ old_library=
+ # If the library was installed with an old release of libtool,
+ # it will not redefine variable installed.
+ installed=yes
+
+ # Read the .la file
+ case $lib in
+ */* | *\\*) . $lib ;;
+ *) . ./$lib ;;
+ esac
+
+ if test "$linkmode,$pass" = "lib,link" ||
+ test "$linkmode,$pass" = "prog,scan" ||
+ { test $linkmode = oldlib && test $linkmode = obj; }; then
+ # Add dl[pre]opened files of deplib
+ test -n "$dlopen" && dlfiles="$dlfiles $dlopen"
+ test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen"
+ fi
+
+ if test $pass = conv; then
+ # Only check for convenience libraries
+ deplibs="$lib $deplibs"
+ if test -z "$libdir"; then
+ if test -z "$old_library"; then
+ $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
+ exit 1
+ fi
+ # It is a libtool convenience library, so add in its objects.
+ convenience="$convenience $ladir/$objdir/$old_library"
+ old_convenience="$old_convenience $ladir/$objdir/$old_library"
+ tmp_libs=
+ for deplib in $dependency_libs; do
+ deplibs="$deplib $deplibs"
+ if test "X$duplicate_deps" = "Xyes" ; then
+ case "$tmp_libs " in
+ *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+ esac
+ fi
+ tmp_libs="$tmp_libs $deplib"
+ done
+ elif test $linkmode != prog && test $linkmode != lib; then
+ $echo "$modename: \`$lib' is not a convenience library" 1>&2
+ exit 1
+ fi
+ continue
+ fi # $pass = conv
+
+ # Get the name of the library we link against.
+ linklib=
+ for l in $old_library $library_names; do
+ linklib="$l"
+ done
+ if test -z "$linklib"; then
+ $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
+ exit 1
+ fi
+
+ # This library was specified with -dlopen.
+ if test $pass = dlopen; then
+ if test -z "$libdir"; then
+ $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2
+ exit 1
+ fi
+ if test -z "$dlname" || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
+ # If there is no dlname, no dlopen support or we're linking
+ # statically, we need to preload.
+ dlprefiles="$dlprefiles $lib"
+ else
+ newdlfiles="$newdlfiles $lib"
+ fi
+ continue
+ fi # $pass = dlopen
+
+ # We need an absolute path.
+ case $ladir in
+ [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
+ *)
+ abs_ladir=`cd "$ladir" && pwd`
+ if test -z "$abs_ladir"; then
+ $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2
+ $echo "$modename: passing it literally to the linker, although it might fail" 1>&2
+ abs_ladir="$ladir"
+ fi
+ ;;
+ esac
+ laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
+
+ # Find the relevant object directory and library name.
+ if test "X$installed" = Xyes; then
+ if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
+ $echo "$modename: warning: library \`$lib' was moved." 1>&2
+ dir="$ladir"
+ absdir="$abs_ladir"
+ libdir="$abs_ladir"
+ else
+ dir="$libdir"
+ absdir="$libdir"
+ fi
+ else
+ dir="$ladir/$objdir"
+ absdir="$abs_ladir/$objdir"
+ # Remove this search path later
+ notinst_path="$notinst_path $abs_ladir"
+ fi # $installed = yes
+ name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
+
+ # This library was specified with -dlpreopen.
+ if test $pass = dlpreopen; then
+ if test -z "$libdir"; then
+ $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2
+ exit 1
+ fi
+ # Prefer using a static library (so that no silly _DYNAMIC symbols
+ # are required to link).
+ if test -n "$old_library"; then
+ newdlprefiles="$newdlprefiles $dir/$old_library"
+ # Otherwise, use the dlname, so that lt_dlopen finds it.
+ elif test -n "$dlname"; then
+ newdlprefiles="$newdlprefiles $dir/$dlname"
+ else
+ newdlprefiles="$newdlprefiles $dir/$linklib"
+ fi
+ fi # $pass = dlpreopen
+
+ if test -z "$libdir"; then
+ # Link the convenience library
+ if test $linkmode = lib; then
+ deplibs="$dir/$old_library $deplibs"
+ elif test "$linkmode,$pass" = "prog,link"; then
+ compile_deplibs="$dir/$old_library $compile_deplibs"
+ finalize_deplibs="$dir/$old_library $finalize_deplibs"
+ else
+ deplibs="$lib $deplibs"
+ fi
+ continue
+ fi
+
+ if test $linkmode = prog && test $pass != link; then
+ newlib_search_path="$newlib_search_path $ladir"
+ deplibs="$lib $deplibs"
+
+ linkalldeplibs=no
+ if test "$link_all_deplibs" != no || test -z "$library_names" ||
+ test "$build_libtool_libs" = no; then
+ linkalldeplibs=yes
+ fi
+
+ tmp_libs=
+ for deplib in $dependency_libs; do
+ case $deplib in
+ -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test
+ esac
+ # Need to link against all dependency_libs?
+ if test $linkalldeplibs = yes; then
+ deplibs="$deplib $deplibs"
+ else
+ # Need to hardcode shared library paths
+ # or/and link against static libraries
+ newdependency_libs="$deplib $newdependency_libs"
+ fi
+ if test "X$duplicate_deps" = "Xyes" ; then
+ case "$tmp_libs " in
+ *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+ esac
+ fi
+ tmp_libs="$tmp_libs $deplib"
+ done # for deplib
+ continue
+ fi # $linkmode = prog...
+
+ link_static=no # Whether the deplib will be linked statically
+ if test -n "$library_names" &&
+ { test "$prefer_static_libs" = no || test -z "$old_library"; }; then
+ # Link against this shared library
+
+ if test "$linkmode,$pass" = "prog,link" ||
+ { test $linkmode = lib && test $hardcode_into_libs = yes; }; then
+ # Hardcode the library path.
+ # Skip directories that are in the system default run-time
+ # search path.
+ case " $sys_lib_dlsearch_path " in
+ *" $absdir "*) ;;
+ *)
+ case "$compile_rpath " in
+ *" $absdir "*) ;;
+ *) compile_rpath="$compile_rpath $absdir"
+ esac
+ ;;
+ esac
+ case " $sys_lib_dlsearch_path " in
+ *" $libdir "*) ;;
+ *)
+ case "$finalize_rpath " in
+ *" $libdir "*) ;;
+ *) finalize_rpath="$finalize_rpath $libdir"
+ esac
+ ;;
+ esac
+ if test $linkmode = prog; then
+ # We need to hardcode the library path
+ if test -n "$shlibpath_var"; then
+ # Make sure the rpath contains only unique directories.
+ case "$temp_rpath " in
+ *" $dir "*) ;;
+ *" $absdir "*) ;;
+ *) temp_rpath="$temp_rpath $dir" ;;
+ esac
+ fi
+ fi
+ fi # $linkmode,$pass = prog,link...
+
+ if test "$alldeplibs" = yes &&
+ { test "$deplibs_check_method" = pass_all ||
+ { test "$build_libtool_libs" = yes &&
+ test -n "$library_names"; }; }; then
+ # We only need to search for static libraries
+ continue
+ fi
+
+ if test "$installed" = no; then
+ notinst_deplibs="$notinst_deplibs $lib"
+ need_relink=yes
+ fi
+
+ if test -n "$old_archive_from_expsyms_cmds"; then
+ # figure out the soname
+ set dummy $library_names
+ realname="$2"
+ shift; shift
+ libname=`eval \\$echo \"$libname_spec\"`
+ # use dlname if we got it. it's perfectly good, no?
+ if test -n "$dlname"; then
+ soname="$dlname"
+ elif test -n "$soname_spec"; then
+ # bleh windows
+ case $host in
+ *cygwin*)
+ major=`expr $current - $age`
+ versuffix="-$major"
+ ;;
+ esac
+ eval soname=\"$soname_spec\"
+ else
+ soname="$realname"
+ fi
+
+ # Make a new name for the extract_expsyms_cmds to use
+ soroot="$soname"
+ soname=`echo $soroot | ${SED} -e 's/^.*\///'`
+ newlib="libimp-`echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a"
+
+ # If the library has no export list, then create one now
+ if test -f "$output_objdir/$soname-def"; then :
+ else
+ $show "extracting exported symbol list from \`$soname'"
+ save_ifs="$IFS"; IFS='~'
+ eval cmds=\"$extract_expsyms_cmds\"
+ for cmd in $cmds; do
+ IFS="$save_ifs"
+ $show "$cmd"
+ $run eval "$cmd" || exit $?
+ done
+ IFS="$save_ifs"
+ fi
+
+ # Create $newlib
+ if test -f "$output_objdir/$newlib"; then :; else
+ $show "generating import library for \`$soname'"
+ save_ifs="$IFS"; IFS='~'
+ eval cmds=\"$old_archive_from_expsyms_cmds\"
+ for cmd in $cmds; do
+ IFS="$save_ifs"
+ $show "$cmd"
+ $run eval "$cmd" || exit $?
+ done
+ IFS="$save_ifs"
+ fi
+ # make sure the library variables are pointing to the new library
+ dir=$output_objdir
+ linklib=$newlib
+ fi # test -n $old_archive_from_expsyms_cmds
+
+ if test $linkmode = prog || test "$mode" != relink; then
+ add_shlibpath=
+ add_dir=
+ add=
+ lib_linked=yes
+ case $hardcode_action in
+ immediate | unsupported)
+ if test "$hardcode_direct" = no; then
+ add="$dir/$linklib"
+ elif test "$hardcode_minus_L" = no; then
+ case $host in
+ *-*-sunos*) add_shlibpath="$dir" ;;
+ esac
+ add_dir="-L$dir"
+ add="-l$name"
+ elif test "$hardcode_shlibpath_var" = no; then
+ add_shlibpath="$dir"
+ add="-l$name"
+ else
+ lib_linked=no
+ fi
+ ;;
+ relink)
+ if test "$hardcode_direct" = yes; then
+ add="$dir/$linklib"
+ elif test "$hardcode_minus_L" = yes; then
+ add_dir="-L$dir"
+ add="-l$name"
+ elif test "$hardcode_shlibpath_var" = yes; then
+ add_shlibpath="$dir"
+ add="-l$name"
+ else
+ lib_linked=no
+ fi
+ ;;
+ *) lib_linked=no ;;
+ esac
+
+ if test "$lib_linked" != yes; then
+ $echo "$modename: configuration error: unsupported hardcode properties"
+ exit 1
+ fi
+
+ if test -n "$add_shlibpath"; then
+ case :$compile_shlibpath: in
+ *":$add_shlibpath:"*) ;;
+ *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;;
+ esac
+ fi
+ if test $linkmode = prog; then
+ test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
+ test -n "$add" && compile_deplibs="$add $compile_deplibs"
+ else
+ test -n "$add_dir" && deplibs="$add_dir $deplibs"
+ test -n "$add" && deplibs="$add $deplibs"
+ if test "$hardcode_direct" != yes && \
+ test "$hardcode_minus_L" != yes && \
+ test "$hardcode_shlibpath_var" = yes; then
+ case :$finalize_shlibpath: in
+ *":$libdir:"*) ;;
+ *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
+ esac
+ fi
+ fi
+ fi
+
+ if test $linkmode = prog || test "$mode" = relink; then
+ add_shlibpath=
+ add_dir=
+ add=
+ # Finalize command for both is simple: just hardcode it.
+ if test "$hardcode_direct" = yes; then
+ add="$libdir/$linklib"
+ elif test "$hardcode_minus_L" = yes; then
+ add_dir="-L$libdir"
+ add="-l$name"
+ elif test "$hardcode_shlibpath_var" = yes; then
+ case :$finalize_shlibpath: in
+ *":$libdir:"*) ;;
+ *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
+ esac
+ add="-l$name"
+ else
+ # We cannot seem to hardcode it, guess we'll fake it.
+ add_dir="-L$libdir"
+ add="-l$name"
+ fi
+
+ if test $linkmode = prog; then
+ test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
+ test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
+ else
+ test -n "$add_dir" && deplibs="$add_dir $deplibs"
+ test -n "$add" && deplibs="$add $deplibs"
+ fi
+ fi
+ elif test $linkmode = prog; then
+ if test "$alldeplibs" = yes &&
+ { test "$deplibs_check_method" = pass_all ||
+ { test "$build_libtool_libs" = yes &&
+ test -n "$library_names"; }; }; then
+ # We only need to search for static libraries
+ continue
+ fi
+
+ # Try to link the static library
+ # Here we assume that one of hardcode_direct or hardcode_minus_L
+ # is not unsupported. This is valid on all known static and
+ # shared platforms.
+ if test "$hardcode_direct" != unsupported; then
+ test -n "$old_library" && linklib="$old_library"
+ compile_deplibs="$dir/$linklib $compile_deplibs"
+ finalize_deplibs="$dir/$linklib $finalize_deplibs"
+ else
+ compile_deplibs="-l$name -L$dir $compile_deplibs"
+ finalize_deplibs="-l$name -L$dir $finalize_deplibs"
+ fi
+ elif test "$build_libtool_libs" = yes; then
+ # Not a shared library
+ if test "$deplibs_check_method" != pass_all; then
+ # We're trying link a shared library against a static one
+ # but the system doesn't support it.
+
+ # Just print a warning and add the library to dependency_libs so
+ # that the program can be linked against the static library.
+ echo
+ echo "*** Warning: This system can not link to static lib archive $lib."
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which you do not appear to have."
+ if test "$module" = yes; then
+ echo "*** But as you try to build a module library, libtool will still create "
+ echo "*** a static module, that should work as long as the dlopening application"
+ echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
+ if test -z "$global_symbol_pipe"; then
+ echo
+ echo "*** However, this would only work if libtool was able to extract symbol"
+ echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
+ echo "*** not find such a program. So, this module is probably useless."
+ echo "*** \`nm' from GNU binutils and a full rebuild may help."
+ fi
+ if test "$build_old_libs" = no; then
+ build_libtool_libs=module
+ build_old_libs=yes
+ else
+ build_libtool_libs=no
+ fi
+ fi
+ else
+ convenience="$convenience $dir/$old_library"
+ old_convenience="$old_convenience $dir/$old_library"
+ deplibs="$dir/$old_library $deplibs"
+ link_static=yes
+ fi
+ fi # link shared/static library?
+
+ if test $linkmode = lib; then
+ if test -n "$dependency_libs" &&
+ { test $hardcode_into_libs != yes || test $build_old_libs = yes ||
+ test $link_static = yes; }; then
+ # Extract -R from dependency_libs
+ temp_deplibs=
+ for libdir in $dependency_libs; do
+ case $libdir in
+ -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'`
+ case " $xrpath " in
+ *" $temp_xrpath "*) ;;
+ *) xrpath="$xrpath $temp_xrpath";;
+ esac;;
+ *) temp_deplibs="$temp_deplibs $libdir";;
+ esac
+ done
+ dependency_libs="$temp_deplibs"
+ fi
+
+ newlib_search_path="$newlib_search_path $absdir"
+ # Link against this library
+ test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
+ # ... and its dependency_libs
+ tmp_libs=
+ for deplib in $dependency_libs; do
+ newdependency_libs="$deplib $newdependency_libs"
+ if test "X$duplicate_deps" = "Xyes" ; then
+ case "$tmp_libs " in
+ *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+ esac
+ fi
+ tmp_libs="$tmp_libs $deplib"
+ done
+
+ if test $link_all_deplibs != no; then
+ # Add the search paths of all dependency libraries
+ for deplib in $dependency_libs; do
+ case $deplib in
+ -L*) path="$deplib" ;;
+ *.la)
+ dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'`
+ test "X$dir" = "X$deplib" && dir="."
+ # We need an absolute path.
+ case $dir in
+ [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
+ *)
+ absdir=`cd "$dir" && pwd`
+ if test -z "$absdir"; then
+ $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2
+ absdir="$dir"
+ fi
+ ;;
+ esac
+ if grep "^installed=no" $deplib > /dev/null; then
+ path="-L$absdir/$objdir"
+ else
+ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+ if test -z "$libdir"; then
+ $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
+ exit 1
+ fi
+ if test "$absdir" != "$libdir"; then
+ $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2
+ fi
+ path="-L$absdir"
+ fi
+ ;;
+ *) continue ;;
+ esac
+ case " $deplibs " in
+ *" $path "*) ;;
+ *) deplibs="$deplibs $path" ;;
+ esac
+ done
+ fi # link_all_deplibs != no
+ fi # linkmode = lib
+ done # for deplib in $libs
+ if test $pass = dlpreopen; then
+ # Link the dlpreopened libraries before other libraries
+ for deplib in $save_deplibs; do
+ deplibs="$deplib $deplibs"
+ done
+ fi
+ if test $pass != dlopen; then
+ test $pass != scan && dependency_libs="$newdependency_libs"
+ if test $pass != conv; then
+ # Make sure lib_search_path contains only unique directories.
+ lib_search_path=
+ for dir in $newlib_search_path; do
+ case "$lib_search_path " in
+ *" $dir "*) ;;
+ *) lib_search_path="$lib_search_path $dir" ;;
+ esac
+ done
+ newlib_search_path=
+ fi
+
+ if test "$linkmode,$pass" != "prog,link"; then
+ vars="deplibs"
+ else
+ vars="compile_deplibs finalize_deplibs"
+ fi
+ for var in $vars dependency_libs; do
+ # Add libraries to $var in reverse order
+ eval tmp_libs=\"\$$var\"
+ new_libs=
+ for deplib in $tmp_libs; do
+ case $deplib in
+ -L*) new_libs="$deplib $new_libs" ;;
+ *)
+ case " $specialdeplibs " in
+ *" $deplib "*) new_libs="$deplib $new_libs" ;;
+ *)
+ case " $new_libs " in
+ *" $deplib "*) ;;
+ *) new_libs="$deplib $new_libs" ;;
+ esac
+ ;;
+ esac
+ ;;
+ esac
+ done
+ tmp_libs=
+ for deplib in $new_libs; do
+ case $deplib in
+ -L*)
+ case " $tmp_libs " in
+ *" $deplib "*) ;;
+ *) tmp_libs="$tmp_libs $deplib" ;;
+ esac
+ ;;
+ *) tmp_libs="$tmp_libs $deplib" ;;
+ esac
+ done
+ eval $var=\"$tmp_libs\"
+ done # for var
+ fi
+ if test "$pass" = "conv" &&
+ { test "$linkmode" = "lib" || test "$linkmode" = "prog"; }; then
+ libs="$deplibs" # reset libs
+ deplibs=
+ fi
+ done # for pass
+ if test $linkmode = prog; then
+ dlfiles="$newdlfiles"
+ dlprefiles="$newdlprefiles"
+ fi
+
+ case $linkmode in
+ oldlib)
+ if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+ $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2
+ fi
+
+ if test -n "$rpath"; then
+ $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2
+ fi
+
+ if test -n "$xrpath"; then
+ $echo "$modename: warning: \`-R' is ignored for archives" 1>&2
+ fi
+
+ if test -n "$vinfo"; then
+ $echo "$modename: warning: \`-version-info' is ignored for archives" 1>&2
+ fi
+
+ if test -n "$release"; then
+ $echo "$modename: warning: \`-release' is ignored for archives" 1>&2
+ fi
+
+ if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
+ $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2
+ fi
+
+ # Now set the variables for building old libraries.
+ build_libtool_libs=no
+ oldlibs="$output"
+ objs="$objs$old_deplibs"
+ ;;
+
+ lib)
+ # Make sure we only generate libraries of the form `libNAME.la'.
+ case $outputname in
+ lib*)
+ name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
+ eval libname=\"$libname_spec\"
+ ;;
+ *)
+ if test "$module" = no; then
+ $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2
+ $echo "$help" 1>&2
+ exit 1
+ fi
+ if test "$need_lib_prefix" != no; then
+ # Add the "lib" prefix for modules if required
+ name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
+ eval libname=\"$libname_spec\"
+ else
+ libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
+ fi
+ ;;
+ esac
+
+ if test -n "$objs"; then
+ if test "$deplibs_check_method" != pass_all; then
+ $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1
+ exit 1
+ else
+ echo
+ echo "*** Warning: Linking the shared library $output against the non-libtool"
+ echo "*** objects $objs is not portable!"
+ libobjs="$libobjs $objs"
+ fi
+ fi
+
+ if test "$dlself" != no; then
+ $echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2
+ fi
+
+ set dummy $rpath
+ if test $# -gt 2; then
+ $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2
+ fi
+ install_libdir="$2"
+
+ oldlibs=
+ if test -z "$rpath"; then
+ if test "$build_libtool_libs" = yes; then
+ # Building a libtool convenience library.
+ libext=al
+ oldlibs="$output_objdir/$libname.$libext $oldlibs"
+ build_libtool_libs=convenience
+ build_old_libs=yes
+ fi
+
+ if test -n "$vinfo"; then
+ $echo "$modename: warning: \`-version-info' is ignored for convenience libraries" 1>&2
+ fi
+
+ if test -n "$release"; then
+ $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2
+ fi
+ else
+
+ # Parse the version information argument.
+ save_ifs="$IFS"; IFS=':'
+ set dummy $vinfo 0 0 0
+ IFS="$save_ifs"
+
+ if test -n "$8"; then
+ $echo "$modename: too many parameters to \`-version-info'" 1>&2
+ $echo "$help" 1>&2
+ exit 1
+ fi
+
+ current="$2"
+ revision="$3"
+ age="$4"
+
+ # Check that each of the things are valid numbers.
+ case $current in
+ 0 | [1-9] | [1-9][0-9] | [1-9][0-9][0-9]) ;;
+ *)
+ $echo "$modename: CURRENT \`$current' is not a nonnegative integer" 1>&2
+ $echo "$modename: \`$vinfo' is not valid version information" 1>&2
+ exit 1
+ ;;
+ esac
+
+ case $revision in
+ 0 | [1-9] | [1-9][0-9] | [1-9][0-9][0-9]) ;;
+ *)
+ $echo "$modename: REVISION \`$revision' is not a nonnegative integer" 1>&2
+ $echo "$modename: \`$vinfo' is not valid version information" 1>&2
+ exit 1
+ ;;
+ esac
+
+ case $age in
+ 0 | [1-9] | [1-9][0-9] | [1-9][0-9][0-9]) ;;
+ *)
+ $echo "$modename: AGE \`$age' is not a nonnegative integer" 1>&2
+ $echo "$modename: \`$vinfo' is not valid version information" 1>&2
+ exit 1
+ ;;
+ esac
+
+ if test $age -gt $current; then
+ $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2
+ $echo "$modename: \`$vinfo' is not valid version information" 1>&2
+ exit 1
+ fi
+
+ # Calculate the version variables.
+ major=
+ versuffix=
+ verstring=
+ case $version_type in
+ none) ;;
+
+ darwin)
+ # Like Linux, but with the current version available in
+ # verstring for coding it into the library header
+ major=.`expr $current - $age`
+ versuffix="$major.$age.$revision"
+ # Darwin ld doesn't like 0 for these options...
+ minor_current=`expr $current + 1`
+ verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
+ ;;
+
+ freebsd-aout)
+ major=".$current"
+ versuffix=".$current.$revision";
+ ;;
+
+ freebsd-elf)
+ major=".$current"
+ versuffix=".$current";
+ ;;
+
+ irix | nonstopux)
+ major=`expr $current - $age + 1`
+
+ case $version_type in
+ nonstopux) verstring_prefix=nonstopux ;;
+ *) verstring_prefix=sgi ;;
+ esac
+ verstring="$verstring_prefix$major.$revision"
+
+ # Add in all the interfaces that we are compatible with.
+ loop=$revision
+ while test $loop != 0; do
+ iface=`expr $revision - $loop`
+ loop=`expr $loop - 1`
+ verstring="$verstring_prefix$major.$iface:$verstring"
+ done
+
+ # Before this point, $major must not contain `.'.
+ major=.$major
+ versuffix="$major.$revision"
+ ;;
+
+ linux)
+ major=.`expr $current - $age`
+ versuffix="$major.$age.$revision"
+ ;;
+
+ osf)
+ major=.`expr $current - $age`
+ versuffix=".$current.$age.$revision"
+ verstring="$current.$age.$revision"
+
+ # Add in all the interfaces that we are compatible with.
+ loop=$age
+ while test $loop != 0; do
+ iface=`expr $current - $loop`
+ loop=`expr $loop - 1`
+ verstring="$verstring:${iface}.0"
+ done
+
+ # Make executables depend on our current version.
+ verstring="$verstring:${current}.0"
+ ;;
+
+ sunos)
+ major=".$current"
+ versuffix=".$current.$revision"
+ ;;
+
+ windows)
+ # Use '-' rather than '.', since we only want one
+ # extension on DOS 8.3 filesystems.
+ major=`expr $current - $age`
+ versuffix="-$major"
+ ;;
+
+ *)
+ $echo "$modename: unknown library version type \`$version_type'" 1>&2
+ echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2
+ exit 1
+ ;;
+ esac
+
+ # Clear the version info if we defaulted, and they specified a release.
+ if test -z "$vinfo" && test -n "$release"; then
+ major=
+ verstring="0.0"
+ case $version_type in
+ darwin)
+ # we can't check for "0.0" in archive_cmds due to quoting
+ # problems, so we reset it completely
+ verstring=""
+ ;;
+ *)
+ verstring="0.0"
+ ;;
+ esac
+ if test "$need_version" = no; then
+ versuffix=
+ else
+ versuffix=".0.0"
+ fi
+ fi
+
+ # Remove version info from name if versioning should be avoided
+ if test "$avoid_version" = yes && test "$need_version" = no; then
+ major=
+ versuffix=
+ verstring=""
+ fi
+
+ # Check to see if the archive will have undefined symbols.
+ if test "$allow_undefined" = yes; then
+ if test "$allow_undefined_flag" = unsupported; then
+ $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2
+ build_libtool_libs=no
+ build_old_libs=yes
+ fi
+ else
+ # Don't allow undefined symbols.
+ allow_undefined_flag="$no_undefined_flag"
+ fi
+ fi
+
+ if test "$mode" != relink; then
+ # Remove our outputs.
+ $show "${rm}r $output_objdir/$outputname $output_objdir/$libname.* $output_objdir/${libname}${release}.*"
+ $run ${rm}r $output_objdir/$outputname $output_objdir/$libname.* $output_objdir/${libname}${release}.*
+ fi
+
+ # Now set the variables for building old libraries.
+ if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
+ oldlibs="$oldlibs $output_objdir/$libname.$libext"
+
+ # Transform .lo files to .o files.
+ oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
+ fi
+
+ # Eliminate all temporary directories.
+ for path in $notinst_path; do
+ lib_search_path=`echo "$lib_search_path " | ${SED} -e 's% $path % %g'`
+ deplibs=`echo "$deplibs " | ${SED} -e 's% -L$path % %g'`
+ dependency_libs=`echo "$dependency_libs " | ${SED} -e 's% -L$path % %g'`
+ done
+
+ if test -n "$xrpath"; then
+ # If the user specified any rpath flags, then add them.
+ temp_xrpath=
+ for libdir in $xrpath; do
+ temp_xrpath="$temp_xrpath -R$libdir"
+ case "$finalize_rpath " in
+ *" $libdir "*) ;;
+ *) finalize_rpath="$finalize_rpath $libdir" ;;
+ esac
+ done
+ if test $hardcode_into_libs != yes || test $build_old_libs = yes; then
+ dependency_libs="$temp_xrpath $dependency_libs"
+ fi
+ fi
+
+ # Make sure dlfiles contains only unique files that won't be dlpreopened
+ old_dlfiles="$dlfiles"
+ dlfiles=
+ for lib in $old_dlfiles; do
+ case " $dlprefiles $dlfiles " in
+ *" $lib "*) ;;
+ *) dlfiles="$dlfiles $lib" ;;
+ esac
+ done
+
+ # Make sure dlprefiles contains only unique files
+ old_dlprefiles="$dlprefiles"
+ dlprefiles=
+ for lib in $old_dlprefiles; do
+ case "$dlprefiles " in
+ *" $lib "*) ;;
+ *) dlprefiles="$dlprefiles $lib" ;;
+ esac
+ done
+
+ if test "$build_libtool_libs" = yes; then
+ if test -n "$rpath"; then
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*)
+ # these systems don't actually have a c library (as such)!
+ ;;
+ *-*-rhapsody* | *-*-darwin1.[012])
+ # Rhapsody C library is in the System framework
+ deplibs="$deplibs -framework System"
+ ;;
+ *-*-netbsd*)
+ # Don't link with libc until the a.out ld.so is fixed.
+ ;;
+ *-*-openbsd* | *-*-freebsd*)
+ # Do not include libc due to us having libc/libc_r.
+ ;;
+ *)
+ # Add libc to deplibs on all other systems if necessary.
+ if test $build_libtool_need_lc = "yes"; then
+ deplibs="$deplibs -lc"
+ fi
+ ;;
+ esac
+ fi
+
+ # Transform deplibs into only deplibs that can be linked in shared.
+ name_save=$name
+ libname_save=$libname
+ release_save=$release
+ versuffix_save=$versuffix
+ major_save=$major
+ # I'm not sure if I'm treating the release correctly. I think
+ # release should show up in the -l (ie -lgmp5) so we don't want to
+ # add it in twice. Is that correct?
+ release=""
+ versuffix=""
+ major=""
+ newdeplibs=
+ droppeddeps=no
+ case $deplibs_check_method in
+ pass_all)
+ # Don't check for shared/static. Everything works.
+ # This might be a little naive. We might want to check
+ # whether the library exists or not. But this is on
+ # osf3 & osf4 and I'm not really sure... Just
+ # implementing what was already the behaviour.
+ newdeplibs=$deplibs
+ ;;
+ test_compile)
+ # This code stresses the "libraries are programs" paradigm to its
+ # limits. Maybe even breaks it. We compile a program, linking it
+ # against the deplibs as a proxy for the library. Then we can check
+ # whether they linked in statically or dynamically with ldd.
+ $rm conftest.c
+ cat > conftest.c <<EOF
+ int main() { return 0; }
+EOF
+ $rm conftest
+ $CC -o conftest conftest.c $deplibs
+ if test $? -eq 0 ; then
+ ldd_output=`ldd conftest`
+ for i in $deplibs; do
+ name="`expr $i : '-l\(.*\)'`"
+ # If $name is empty we are operating on a -L argument.
+ if test -n "$name" && test "$name" != "0"; then
+ libname=`eval \\$echo \"$libname_spec\"`
+ deplib_matches=`eval \\$echo \"$library_names_spec\"`
+ set dummy $deplib_matches
+ deplib_match=$2
+ if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
+ newdeplibs="$newdeplibs $i"
+ else
+ droppeddeps=yes
+ echo
+ echo "*** Warning: dynamic linker does not accept needed library $i."
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which I believe you do not have"
+ echo "*** because a test_compile did reveal that the linker did not use it for"
+ echo "*** its dynamic dependency list that programs get resolved with at runtime."
+ fi
+ else
+ newdeplibs="$newdeplibs $i"
+ fi
+ done
+ else
+ # Error occured in the first compile. Let's try to salvage
+ # the situation: Compile a separate program for each library.
+ for i in $deplibs; do
+ name="`expr $i : '-l\(.*\)'`"
+ # If $name is empty we are operating on a -L argument.
+ if test -n "$name" && test "$name" != "0"; then
+ $rm conftest
+ $CC -o conftest conftest.c $i
+ # Did it work?
+ if test $? -eq 0 ; then
+ ldd_output=`ldd conftest`
+ libname=`eval \\$echo \"$libname_spec\"`
+ deplib_matches=`eval \\$echo \"$library_names_spec\"`
+ set dummy $deplib_matches
+ deplib_match=$2
+ if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
+ newdeplibs="$newdeplibs $i"
+ else
+ droppeddeps=yes
+ echo
+ echo "*** Warning: dynamic linker does not accept needed library $i."
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which you do not appear to have"
+ echo "*** because a test_compile did reveal that the linker did not use this one"
+ echo "*** as a dynamic dependency that programs can get resolved with at runtime."
+ fi
+ else
+ droppeddeps=yes
+ echo
+ echo "*** Warning! Library $i is needed by this library but I was not able to"
+ echo "*** make it link in! You will probably need to install it or some"
+ echo "*** library that it depends on before this library will be fully"
+ echo "*** functional. Installing it before continuing would be even better."
+ fi
+ else
+ newdeplibs="$newdeplibs $i"
+ fi
+ done
+ fi
+ ;;
+ file_magic*)
+ set dummy $deplibs_check_method
+ file_magic_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
+ for a_deplib in $deplibs; do
+ name="`expr $a_deplib : '-l\(.*\)'`"
+ # If $name is empty we are operating on a -L argument.
+ if test -n "$name" && test "$name" != "0"; then
+ libname=`eval \\$echo \"$libname_spec\"`
+ for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
+ potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
+ for potent_lib in $potential_libs; do
+ # Follow soft links.
+ if ls -lLd "$potent_lib" 2>/dev/null \
+ | grep " -> " >/dev/null; then
+ continue
+ fi
+ # The statement above tries to avoid entering an
+ # endless loop below, in case of cyclic links.
+ # We might still enter an endless loop, since a link
+ # loop can be closed while we follow links,
+ # but so what?
+ potlib="$potent_lib"
+ while test -h "$potlib" 2>/dev/null; do
+ potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
+ case $potliblink in
+ [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
+ *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
+ esac
+ done
+ if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \
+ | ${SED} 10q \
+ | egrep "$file_magic_regex" > /dev/null; then
+ newdeplibs="$newdeplibs $a_deplib"
+ a_deplib=""
+ break 2
+ fi
+ done
+ done
+ if test -n "$a_deplib" ; then
+ droppeddeps=yes
+ echo
+ echo "*** Warning: linker path does not have real file for library $a_deplib."
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which you do not appear to have"
+ echo "*** because I did check the linker path looking for a file starting"
+ if test -z "$potlib" ; then
+ echo "*** with $libname but no candidates were found. (...for file magic test)"
+ else
+ echo "*** with $libname and none of the candidates passed a file format test"
+ echo "*** using a file magic. Last file checked: $potlib"
+ fi
+ fi
+ else
+ # Add a -L argument.
+ newdeplibs="$newdeplibs $a_deplib"
+ fi
+ done # Gone through all deplibs.
+ ;;
+ match_pattern*)
+ set dummy $deplibs_check_method
+ match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
+ for a_deplib in $deplibs; do
+ name="`expr $a_deplib : '-l\(.*\)'`"
+ # If $name is empty we are operating on a -L argument.
+ if test -n "$name" && test "$name" != "0"; then
+ libname=`eval \\$echo \"$libname_spec\"`
+ for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
+ potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
+ for potent_lib in $potential_libs; do
+ potlib="$potent_lib" # see symlink-check below in file_magic test
+ if eval echo \"$potent_lib\" 2>/dev/null \
+ | ${SED} 10q \
+ | egrep "$match_pattern_regex" > /dev/null; then
+ newdeplibs="$newdeplibs $a_deplib"
+ a_deplib=""
+ break 2
+ fi
+ done
+ done
+ if test -n "$a_deplib" ; then
+ droppeddeps=yes
+ echo
+ echo "*** Warning: linker path does not have real file for library $a_deplib."
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which you do not appear to have"
+ echo "*** because I did check the linker path looking for a file starting"
+ if test -z "$potlib" ; then
+ echo "*** with $libname but no candidates were found. (...for regex pattern test)"
+ else
+ echo "*** with $libname and none of the candidates passed a file format test"
+ echo "*** using a regex pattern. Last file checked: $potlib"
+ fi
+ fi
+ else
+ # Add a -L argument.
+ newdeplibs="$newdeplibs $a_deplib"
+ fi
+ done # Gone through all deplibs.
+ ;;
+ none | unknown | *)
+ newdeplibs=""
+ if $echo "X $deplibs" | $Xsed -e 's/ -lc$//' \
+ -e 's/ -[LR][^ ]*//g' -e 's/[ ]//g' |
+ grep . >/dev/null; then
+ echo
+ if test "X$deplibs_check_method" = "Xnone"; then
+ echo "*** Warning: inter-library dependencies are not supported in this platform."
+ else
+ echo "*** Warning: inter-library dependencies are not known to be supported."
+ fi
+ echo "*** All declared inter-library dependencies are being dropped."
+ droppeddeps=yes
+ fi
+ ;;
+ esac
+ versuffix=$versuffix_save
+ major=$major_save
+ release=$release_save
+ libname=$libname_save
+ name=$name_save
+
+ case $host in
+ *-*-rhapsody* | *-*-darwin1.[012])
+ # On Rhapsody replace the C library is the System framework
+ newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'`
+ ;;
+ esac
+
+ if test "$droppeddeps" = yes; then
+ if test "$module" = yes; then
+ echo
+ echo "*** Warning: libtool could not satisfy all declared inter-library"
+ echo "*** dependencies of module $libname. Therefore, libtool will create"
+ echo "*** a static module, that should work as long as the dlopening"
+ echo "*** application is linked with the -dlopen flag."
+ if test -z "$global_symbol_pipe"; then
+ echo
+ echo "*** However, this would only work if libtool was able to extract symbol"
+ echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
+ echo "*** not find such a program. So, this module is probably useless."
+ echo "*** \`nm' from GNU binutils and a full rebuild may help."
+ fi
+ if test "$build_old_libs" = no; then
+ oldlibs="$output_objdir/$libname.$libext"
+ build_libtool_libs=module
+ build_old_libs=yes
+ else
+ build_libtool_libs=no
+ fi
+ else
+ echo "*** The inter-library dependencies that have been dropped here will be"
+ echo "*** automatically added whenever a program is linked with this library"
+ echo "*** or is declared to -dlopen it."
+
+ if test $allow_undefined = no; then
+ echo
+ echo "*** Since this library must not contain undefined symbols,"
+ echo "*** because either the platform does not support them or"
+ echo "*** it was explicitly requested with -no-undefined,"
+ echo "*** libtool will only create a static version of it."
+ if test "$build_old_libs" = no; then
+ oldlibs="$output_objdir/$libname.$libext"
+ build_libtool_libs=module
+ build_old_libs=yes
+ else
+ build_libtool_libs=no
+ fi
+ fi
+ fi
+ fi
+ # Done checking deplibs!
+ deplibs=$newdeplibs
+ fi
+
+ # All the library-specific variables (install_libdir is set above).
+ library_names=
+ old_library=
+ dlname=
+
+ # Test again, we may have decided not to build it any more
+ if test "$build_libtool_libs" = yes; then
+ if test $hardcode_into_libs = yes; then
+ # Hardcode the library paths
+ hardcode_libdirs=
+ dep_rpath=
+ rpath="$finalize_rpath"
+ test "$mode" != relink && rpath="$compile_rpath$rpath"
+ for libdir in $rpath; do
+ if test -n "$hardcode_libdir_flag_spec"; then
+ if test -n "$hardcode_libdir_separator"; then
+ if test -z "$hardcode_libdirs"; then
+ hardcode_libdirs="$libdir"
+ else
+ # Just accumulate the unique libdirs.
+ case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+ *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+ ;;
+ *)
+ hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+ ;;
+ esac
+ fi
+ else
+ eval flag=\"$hardcode_libdir_flag_spec\"
+ dep_rpath="$dep_rpath $flag"
+ fi
+ elif test -n "$runpath_var"; then
+ case "$perm_rpath " in
+ *" $libdir "*) ;;
+ *) perm_rpath="$perm_rpath $libdir" ;;
+ esac
+ fi
+ done
+ # Substitute the hardcoded libdirs into the rpath.
+ if test -n "$hardcode_libdir_separator" &&
+ test -n "$hardcode_libdirs"; then
+ libdir="$hardcode_libdirs"
+ eval dep_rpath=\"$hardcode_libdir_flag_spec\"
+ fi
+ if test -n "$runpath_var" && test -n "$perm_rpath"; then
+ # We should set the runpath_var.
+ rpath=
+ for dir in $perm_rpath; do
+ rpath="$rpath$dir:"
+ done
+ eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
+ fi
+ test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
+ fi
+
+ shlibpath="$finalize_shlibpath"
+ test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
+ if test -n "$shlibpath"; then
+ eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
+ fi
+
+ # Get the real and link names of the library.
+ eval library_names=\"$library_names_spec\"
+ set dummy $library_names
+ realname="$2"
+ shift; shift
+
+ if test -n "$soname_spec"; then
+ eval soname=\"$soname_spec\"
+ else
+ soname="$realname"
+ fi
+ test -z "$dlname" && dlname=$soname
+
+ lib="$output_objdir/$realname"
+ for link
+ do
+ linknames="$linknames $link"
+ done
+
+ # Ensure that we have .o objects for linkers which dislike .lo
+ # (e.g. aix) in case we are running --disable-static
+ for obj in $libobjs; do
+ xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
+ if test "X$xdir" = "X$obj"; then
+ xdir="."
+ else
+ xdir="$xdir"
+ fi
+ baseobj=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
+ oldobj=`$echo "X$baseobj" | $Xsed -e "$lo2o"`
+ if test ! -f $xdir/$oldobj; then
+ $show "(cd $xdir && ${LN_S} $baseobj $oldobj)"
+ $run eval '(cd $xdir && ${LN_S} $baseobj $oldobj)' || exit $?
+ fi
+ done
+
+ # Use standard objects if they are pic
+ test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+
+ # Prepare the list of exported symbols
+ if test -z "$export_symbols"; then
+ if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
+ $show "generating symbol list for \`$libname.la'"
+ export_symbols="$output_objdir/$libname.exp"
+ $run $rm $export_symbols
+ eval cmds=\"$export_symbols_cmds\"
+ save_ifs="$IFS"; IFS='~'
+ for cmd in $cmds; do
+ IFS="$save_ifs"
+ $show "$cmd"
+ $run eval "$cmd" || exit $?
+ done
+ IFS="$save_ifs"
+ if test -n "$export_symbols_regex"; then
+ $show "egrep -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\""
+ $run eval 'egrep -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
+ $show "$mv \"${export_symbols}T\" \"$export_symbols\""
+ $run eval '$mv "${export_symbols}T" "$export_symbols"'
+ fi
+ fi
+ fi
+
+ if test -n "$export_symbols" && test -n "$include_expsyms"; then
+ $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"'
+ fi
+
+ if test -n "$convenience"; then
+ if test -n "$whole_archive_flag_spec"; then
+ eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
+ else
+ gentop="$output_objdir/${outputname}x"
+ $show "${rm}r $gentop"
+ $run ${rm}r "$gentop"
+ $show "mkdir $gentop"
+ $run mkdir "$gentop"
+ status=$?
+ if test $status -ne 0 && test ! -d "$gentop"; then
+ exit $status
+ fi
+ generated="$generated $gentop"
+
+ for xlib in $convenience; do
+ # Extract the objects.
+ case $xlib in
+ [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;;
+ *) xabs=`pwd`"/$xlib" ;;
+ esac
+ xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'`
+ xdir="$gentop/$xlib"
+
+ $show "${rm}r $xdir"
+ $run ${rm}r "$xdir"
+ $show "mkdir $xdir"
+ $run mkdir "$xdir"
+ status=$?
+ if test $status -ne 0 && test ! -d "$xdir"; then
+ exit $status
+ fi
+ $show "(cd $xdir && $AR x $xabs)"
+ $run eval "(cd \$xdir && $AR x \$xabs)" || exit $?
+
+ libobjs="$libobjs "`find $xdir -name \*.o -print -o -name \*.lo -print | $NL2SP`
+ done
+ fi
+ fi
+
+ if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
+ eval flag=\"$thread_safe_flag_spec\"
+ linker_flags="$linker_flags $flag"
+ fi
+
+ # Make a backup of the uninstalled library when relinking
+ if test "$mode" = relink; then
+ $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $?
+ fi
+
+ # Do each of the archive commands.
+ if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
+ eval cmds=\"$archive_expsym_cmds\"
+ else
+ save_deplibs="$deplibs"
+ for conv in $convenience; do
+ tmp_deplibs=
+ for test_deplib in $deplibs; do
+ if test "$test_deplib" != "$conv"; then
+ tmp_deplibs="$tmp_deplibs $test_deplib"
+ fi
+ done
+ deplibs="$tmp_deplibs"
+ done
+ eval cmds=\"$archive_cmds\"
+ deplibs="$save_deplibs"
+ fi
+ save_ifs="$IFS"; IFS='~'
+ for cmd in $cmds; do
+ IFS="$save_ifs"
+ $show "$cmd"
+ $run eval "$cmd" || exit $?
+ done
+ IFS="$save_ifs"
+
+ # Restore the uninstalled library and exit
+ if test "$mode" = relink; then
+ $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $?
+ exit 0
+ fi
+
+ # Create links to the real library.
+ for linkname in $linknames; do
+ if test "$realname" != "$linkname"; then
+ $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)"
+ $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $?
+ fi
+ done
+
+ # If -module or -export-dynamic was specified, set the dlname.
+ if test "$module" = yes || test "$export_dynamic" = yes; then
+ # On all known operating systems, these are identical.
+ dlname="$soname"
+ fi
+ fi
+ ;;
+
+ obj)
+ if test -n "$deplibs"; then
+ $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2
+ fi
+
+ if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+ $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2
+ fi
+
+ if test -n "$rpath"; then
+ $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2
+ fi
+
+ if test -n "$xrpath"; then
+ $echo "$modename: warning: \`-R' is ignored for objects" 1>&2
+ fi
+
+ if test -n "$vinfo"; then
+ $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2
+ fi
+
+ if test -n "$release"; then
+ $echo "$modename: warning: \`-release' is ignored for objects" 1>&2
+ fi
+
+ case $output in
+ *.lo)
+ if test -n "$objs$old_deplibs"; then
+ $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2
+ exit 1
+ fi
+ libobj="$output"
+ obj=`$echo "X$output" | $Xsed -e "$lo2o"`
+ ;;
+ *)
+ libobj=
+ obj="$output"
+ ;;
+ esac
+
+ # Delete the old objects.
+ $run $rm $obj $libobj
+
+ # Objects from convenience libraries. This assumes
+ # single-version convenience libraries. Whenever we create
+ # different ones for PIC/non-PIC, this we'll have to duplicate
+ # the extraction.
+ reload_conv_objs=
+ gentop=
+ # reload_cmds runs $LD directly, so let us get rid of
+ # -Wl from whole_archive_flag_spec
+ wl=
+
+ if test -n "$convenience"; then
+ if test -n "$whole_archive_flag_spec"; then
+ eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\"
+ else
+ gentop="$output_objdir/${obj}x"
+ $show "${rm}r $gentop"
+ $run ${rm}r "$gentop"
+ $show "mkdir $gentop"
+ $run mkdir "$gentop"
+ status=$?
+ if test $status -ne 0 && test ! -d "$gentop"; then
+ exit $status
+ fi
+ generated="$generated $gentop"
+
+ for xlib in $convenience; do
+ # Extract the objects.
+ case $xlib in
+ [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;;
+ *) xabs=`pwd`"/$xlib" ;;
+ esac
+ xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'`
+ xdir="$gentop/$xlib"
+
+ $show "${rm}r $xdir"
+ $run ${rm}r "$xdir"
+ $show "mkdir $xdir"
+ $run mkdir "$xdir"
+ status=$?
+ if test $status -ne 0 && test ! -d "$xdir"; then
+ exit $status
+ fi
+ $show "(cd $xdir && $AR x $xabs)"
+ $run eval "(cd \$xdir && $AR x \$xabs)" || exit $?
+
+ reload_conv_objs="$reload_objs "`find $xdir -name \*.o -print -o -name \*.lo -print | $NL2SP`
+ done
+ fi
+ fi
+
+ # Create the old-style object.
+ reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
+
+ output="$obj"
+ eval cmds=\"$reload_cmds\"
+ save_ifs="$IFS"; IFS='~'
+ for cmd in $cmds; do
+ IFS="$save_ifs"
+ $show "$cmd"
+ $run eval "$cmd" || exit $?
+ done
+ IFS="$save_ifs"
+
+ # Exit if we aren't doing a library object file.
+ if test -z "$libobj"; then
+ if test -n "$gentop"; then
+ $show "${rm}r $gentop"
+ $run ${rm}r $gentop
+ fi
+
+ exit 0
+ fi
+
+ if test "$build_libtool_libs" != yes; then
+ if test -n "$gentop"; then
+ $show "${rm}r $gentop"
+ $run ${rm}r $gentop
+ fi
+
+ # Create an invalid libtool object if no PIC, so that we don't
+ # accidentally link it into a program.
+ $show "echo timestamp > $libobj"
+ $run eval "echo timestamp > $libobj" || exit $?
+ exit 0
+ fi
+
+ if test -n "$pic_flag" || test "$pic_mode" != default; then
+ # Only do commands if we really have different PIC objects.
+ reload_objs="$libobjs $reload_conv_objs"
+ output="$libobj"
+ eval cmds=\"$reload_cmds\"
+ save_ifs="$IFS"; IFS='~'
+ for cmd in $cmds; do
+ IFS="$save_ifs"
+ $show "$cmd"
+ $run eval "$cmd" || exit $?
+ done
+ IFS="$save_ifs"
+ else
+ # Just create a symlink.
+ $show $rm $libobj
+ $run $rm $libobj
+ xdir=`$echo "X$libobj" | $Xsed -e 's%/[^/]*$%%'`
+ if test "X$xdir" = "X$libobj"; then
+ xdir="."
+ else
+ xdir="$xdir"
+ fi
+ baseobj=`$echo "X$libobj" | $Xsed -e 's%^.*/%%'`
+ oldobj=`$echo "X$baseobj" | $Xsed -e "$lo2o"`
+ $show "(cd $xdir && $LN_S $oldobj $baseobj)"
+ $run eval '(cd $xdir && $LN_S $oldobj $baseobj)' || exit $?
+ fi
+
+ if test -n "$gentop"; then
+ $show "${rm}r $gentop"
+ $run ${rm}r $gentop
+ fi
+
+ exit 0
+ ;;
+
+ prog)
+ case $host in
+ *cygwin*) output=`echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;;
+ esac
+ if test -n "$vinfo"; then
+ $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2
+ fi
+
+ if test -n "$release"; then
+ $echo "$modename: warning: \`-release' is ignored for programs" 1>&2
+ fi
+
+ if test "$preload" = yes; then
+ if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown &&
+ test "$dlopen_self_static" = unknown; then
+ $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support."
+ fi
+ fi
+
+ case $host in
+ *-*-rhapsody* | *-*-darwin1.[012])
+ # On Rhapsody replace the C library is the System framework
+ compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
+ finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
+ case $host in
+ *darwin*)
+ # Don't allow lazy linking, it breaks C++ global constructors
+ compile_command="$compile_command ${wl}-bind_at_load"
+ finalize_command="$finalize_command ${wl}-bind_at_load"
+ ;;
+ esac
+ ;;
+ esac
+
+ compile_command="$compile_command $compile_deplibs"
+ finalize_command="$finalize_command $finalize_deplibs"
+
+ if test -n "$rpath$xrpath"; then
+ # If the user specified any rpath flags, then add them.
+ for libdir in $rpath $xrpath; do
+ # This is the magic to use -rpath.
+ case "$finalize_rpath " in
+ *" $libdir "*) ;;
+ *) finalize_rpath="$finalize_rpath $libdir" ;;
+ esac
+ done
+ fi
+
+ # Now hardcode the library paths
+ rpath=
+ hardcode_libdirs=
+ for libdir in $compile_rpath $finalize_rpath; do
+ if test -n "$hardcode_libdir_flag_spec"; then
+ if test -n "$hardcode_libdir_separator"; then
+ if test -z "$hardcode_libdirs"; then
+ hardcode_libdirs="$libdir"
+ else
+ # Just accumulate the unique libdirs.
+ case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+ *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+ ;;
+ *)
+ hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+ ;;
+ esac
+ fi
+ else
+ eval flag=\"$hardcode_libdir_flag_spec\"
+ rpath="$rpath $flag"
+ fi
+ elif test -n "$runpath_var"; then
+ case "$perm_rpath " in
+ *" $libdir "*) ;;
+ *) perm_rpath="$perm_rpath $libdir" ;;
+ esac
+ fi
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
+ case :$dllsearchpath: in
+ *":$libdir:"*) ;;
+ *) dllsearchpath="$dllsearchpath:$libdir";;
+ esac
+ ;;
+ esac
+ done
+ # Substitute the hardcoded libdirs into the rpath.
+ if test -n "$hardcode_libdir_separator" &&
+ test -n "$hardcode_libdirs"; then
+ libdir="$hardcode_libdirs"
+ eval rpath=\" $hardcode_libdir_flag_spec\"
+ fi
+ compile_rpath="$rpath"
+
+ rpath=
+ hardcode_libdirs=
+ for libdir in $finalize_rpath; do
+ if test -n "$hardcode_libdir_flag_spec"; then
+ if test -n "$hardcode_libdir_separator"; then
+ if test -z "$hardcode_libdirs"; then
+ hardcode_libdirs="$libdir"
+ else
+ # Just accumulate the unique libdirs.
+ case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+ *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+ ;;
+ *)
+ hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+ ;;
+ esac
+ fi
+ else
+ eval flag=\"$hardcode_libdir_flag_spec\"
+ rpath="$rpath $flag"
+ fi
+ elif test -n "$runpath_var"; then
+ case "$finalize_perm_rpath " in
+ *" $libdir "*) ;;
+ *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;
+ esac
+ fi
+ done
+ # Substitute the hardcoded libdirs into the rpath.
+ if test -n "$hardcode_libdir_separator" &&
+ test -n "$hardcode_libdirs"; then
+ libdir="$hardcode_libdirs"
+ eval rpath=\" $hardcode_libdir_flag_spec\"
+ fi
+ finalize_rpath="$rpath"
+
+ if test -n "$libobjs" && test "$build_old_libs" = yes; then
+ # Transform all the library objects into standard objects.
+ compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+ finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+ fi
+
+ dlsyms=
+ if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+ if test -n "$NM" && test -n "$global_symbol_pipe"; then
+ dlsyms="${outputname}S.c"
+ else
+ $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2
+ fi
+ fi
+
+ if test -n "$dlsyms"; then
+ case $dlsyms in
+ "") ;;
+ *.c)
+ # Discover the nlist of each of the dlfiles.
+ nlist="$output_objdir/${outputname}.nm"
+
+ $show "$rm $nlist ${nlist}S ${nlist}T"
+ $run $rm "$nlist" "${nlist}S" "${nlist}T"
+
+ # Parse the name list into a source file.
+ $show "creating $output_objdir/$dlsyms"
+
+ test -z "$run" && $echo > "$output_objdir/$dlsyms" "\
+/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */
+/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */
+
+#ifdef __cplusplus
+extern \"C\" {
+#endif
+
+/* Prevent the only kind of declaration conflicts we can make. */
+#define lt_preloaded_symbols some_other_symbol
+
+/* External symbol declarations for the compiler. */\
+"
+
+ if test "$dlself" = yes; then
+ $show "generating symbol list for \`$output'"
+
+ test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist"
+
+ # Add our own program objects to the symbol list.
+ progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+ for arg in $progfiles; do
+ $show "extracting global C symbols from \`$arg'"
+ $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
+ done
+
+ if test -n "$exclude_expsyms"; then
+ $run eval 'egrep -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
+ $run eval '$mv "$nlist"T "$nlist"'
+ fi
+
+ if test -n "$export_symbols_regex"; then
+ $run eval 'egrep -e "$export_symbols_regex" "$nlist" > "$nlist"T'
+ $run eval '$mv "$nlist"T "$nlist"'
+ fi
+
+ # Prepare the list of exported symbols
+ if test -z "$export_symbols"; then
+ export_symbols="$output_objdir/$output.exp"
+ $run $rm $export_symbols
+ $run eval "${SED} -n -e '/^: @PROGRAM@$/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
+ else
+ $run eval "${SED} -e 's/\([][.*^$]\)/\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$output.exp"'
+ $run eval 'grep -f "$output_objdir/$output.exp" < "$nlist" > "$nlist"T'
+ $run eval 'mv "$nlist"T "$nlist"'
+ fi
+ fi
+
+ for arg in $dlprefiles; do
+ $show "extracting global C symbols from \`$arg'"
+ name=`echo "$arg" | ${SED} -e 's%^.*/%%'`
+ $run eval 'echo ": $name " >> "$nlist"'
+ $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
+ done
+
+ if test -z "$run"; then
+ # Make sure we have at least an empty file.
+ test -f "$nlist" || : > "$nlist"
+
+ if test -n "$exclude_expsyms"; then
+ egrep -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
+ $mv "$nlist"T "$nlist"
+ fi
+
+ # Try sorting and uniquifying the output.
+ if grep -v "^: " < "$nlist" |
+ if sort -k 3 </dev/null >/dev/null 2>&1; then
+ sort -k 3
+ else
+ sort +2
+ fi |
+ uniq > "$nlist"S; then
+ :
+ else
+ grep -v "^: " < "$nlist" > "$nlist"S
+ fi
+
+ if test -f "$nlist"S; then
+ eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"'
+ else
+ echo '/* NONE */' >> "$output_objdir/$dlsyms"
+ fi
+
+ $echo >> "$output_objdir/$dlsyms" "\
+
+#undef lt_preloaded_symbols
+
+#if defined (__STDC__) && __STDC__
+# define lt_ptr void *
+#else
+# define lt_ptr char *
+# define const
+#endif
+
+/* The mapping between symbol names and symbols. */
+const struct {
+ const char *name;
+ lt_ptr address;
+}
+lt_preloaded_symbols[] =
+{\
+"
+
+ eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms"
+
+ $echo >> "$output_objdir/$dlsyms" "\
+ {0, (lt_ptr) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+ return lt_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif\
+"
+ fi
+
+ pic_flag_for_symtable=
+ case $host in
+ # compiling the symbol table file with pic_flag works around
+ # a FreeBSD bug that causes programs to crash when -lm is
+ # linked before any other PIC object. But we must not use
+ # pic_flag when linking with -static. The problem exists in
+ # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
+ *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
+ case "$compile_command " in
+ *" -static "*) ;;
+ *) pic_flag_for_symtable=" $pic_flag -DPIC -DFREEBSD_WORKAROUND";;
+ esac;;
+ *-*-hpux*)
+ case "$compile_command " in
+ *" -static "*) ;;
+ *) pic_flag_for_symtable=" $pic_flag -DPIC";;
+ esac
+ esac
+
+ # Now compile the dynamic symbol file.
+ $show "(cd $output_objdir && $CC -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")"
+ $run eval '(cd $output_objdir && $CC -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $?
+
+ # Clean up the generated files.
+ $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T"
+ $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T"
+
+ # Transform the symbol file into the correct name.
+ compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
+ finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
+ ;;
+ *)
+ $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2
+ exit 1
+ ;;
+ esac
+ else
+ # We keep going just in case the user didn't refer to
+ # lt_preloaded_symbols. The linker will fail if global_symbol_pipe
+ # really was required.
+
+ # Nullify the symbol file.
+ compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
+ finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
+ fi
+
+ if test $need_relink = no || test "$build_libtool_libs" != yes; then
+ # Replace the output file specification.
+ compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
+ link_command="$compile_command$compile_rpath"
+
+ # We have no uninstalled library dependencies, so finalize right now.
+ $show "$link_command"
+ $run eval "$link_command"
+ status=$?
+
+ # Delete the generated files.
+ if test -n "$dlsyms"; then
+ $show "$rm $output_objdir/${outputname}S.${objext}"
+ $run $rm "$output_objdir/${outputname}S.${objext}"
+ fi
+
+ exit $status
+ fi
+
+ if test -n "$shlibpath_var"; then
+ # We should set the shlibpath_var
+ rpath=
+ for dir in $temp_rpath; do
+ case $dir in
+ [\\/]* | [A-Za-z]:[\\/]*)
+ # Absolute path.
+ rpath="$rpath$dir:"
+ ;;
+ *)
+ # Relative path: add a thisdir entry.
+ rpath="$rpath\$thisdir/$dir:"
+ ;;
+ esac
+ done
+ temp_rpath="$rpath"
+ fi
+
+ if test -n "$compile_shlibpath$finalize_shlibpath"; then
+ compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
+ fi
+ if test -n "$finalize_shlibpath"; then
+ finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
+ fi
+
+ compile_var=
+ finalize_var=
+ if test -n "$runpath_var"; then
+ if test -n "$perm_rpath"; then
+ # We should set the runpath_var.
+ rpath=
+ for dir in $perm_rpath; do
+ rpath="$rpath$dir:"
+ done
+ compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
+ fi
+ if test -n "$finalize_perm_rpath"; then
+ # We should set the runpath_var.
+ rpath=
+ for dir in $finalize_perm_rpath; do
+ rpath="$rpath$dir:"
+ done
+ finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
+ fi
+ fi
+
+ if test "$no_install" = yes; then
+ # We don't need to create a wrapper script.
+ link_command="$compile_var$compile_command$compile_rpath"
+ # Replace the output file specification.
+ link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
+ # Delete the old output file.
+ $run $rm $output
+ # Link the executable and exit
+ $show "$link_command"
+ $run eval "$link_command" || exit $?
+ exit 0
+ fi
+
+ if test "$hardcode_action" = relink; then
+ # Fast installation is not supported
+ link_command="$compile_var$compile_command$compile_rpath"
+ relink_command="$finalize_var$finalize_command$finalize_rpath"
+
+ $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2
+ $echo "$modename: \`$output' will be relinked during installation" 1>&2
+ else
+ if test "$fast_install" != no; then
+ link_command="$finalize_var$compile_command$finalize_rpath"
+ if test "$fast_install" = yes; then
+ relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'`
+ else
+ # fast_install is set to needless
+ relink_command=
+ fi
+ else
+ link_command="$compile_var$compile_command$compile_rpath"
+ relink_command="$finalize_var$finalize_command$finalize_rpath"
+ fi
+ fi
+
+ # Replace the output file specification.
+ link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
+
+ # Delete the old output files.
+ $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname
+
+ $show "$link_command"
+ $run eval "$link_command" || exit $?
+
+ # Now create the wrapper script.
+ $show "creating $output"
+
+ # Quote the relink command for shipping.
+ if test -n "$relink_command"; then
+ # Preserve any variables that may affect compiler behavior
+ for var in $variables_saved_for_relink; do
+ if eval test -z \"\${$var+set}\"; then
+ relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
+ elif eval var_value=\$$var; test -z "$var_value"; then
+ relink_command="$var=; export $var; $relink_command"
+ else
+ var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
+ relink_command="$var=\"$var_value\"; export $var; $relink_command"
+ fi
+ done
+ relink_command="(cd `pwd`; $relink_command)"
+ relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
+ fi
+
+ # Quote $echo for shipping.
+ if test "X$echo" = "X$SHELL $0 --fallback-echo"; then
+ case $0 in
+ [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $0 --fallback-echo";;
+ *) qecho="$SHELL `pwd`/$0 --fallback-echo";;
+ esac
+ qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"`
+ else
+ qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"`
+ fi
+
+ # Only actually do things if our run command is non-null.
+ if test -z "$run"; then
+ # win32 will think the script is a binary if it has
+ # a .exe suffix, so we strip it off here.
+ case $output in
+ *.exe) output=`echo $output|${SED} 's,.exe$,,'` ;;
+ esac
+ # test for cygwin because mv fails w/o .exe extensions
+ case $host in
+ *cygwin*) exeext=.exe ;;
+ *) exeext= ;;
+ esac
+ $rm $output
+ trap "$rm $output; exit 1" 1 2 15
+
+ $echo > $output "\
+#! $SHELL
+
+# $output - temporary wrapper script for $objdir/$outputname
+# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
+#
+# The $output program cannot be directly executed until all the libtool
+# libraries that it depends on are installed.
+#
+# This wrapper script should never be moved out of the build directory.
+# If it is, it will not operate correctly.
+
+# Sed substitution that helps us do robust quoting. It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed="${SED}"' -e 1s/^X//'
+sed_quote_subst='$sed_quote_subst'
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+if test \"\${CDPATH+set}\" = set; then CDPATH=:; export CDPATH; fi
+
+relink_command=\"$relink_command\"
+
+# This environment variable determines our operation mode.
+if test \"\$libtool_install_magic\" = \"$magic\"; then
+ # install mode needs the following variable:
+ notinst_deplibs='$notinst_deplibs'
+else
+ # When we are sourced in execute mode, \$file and \$echo are already set.
+ if test \"\$libtool_execute_magic\" != \"$magic\"; then
+ echo=\"$qecho\"
+ file=\"\$0\"
+ # Make sure echo works.
+ if test \"X\$1\" = X--no-reexec; then
+ # Discard the --no-reexec flag, and continue.
+ shift
+ elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then
+ # Yippee, \$echo works!
+ :
+ else
+ # Restart under the correct shell, and then maybe \$echo will work.
+ exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
+ fi
+ fi\
+"
+ $echo >> $output "\
+
+ # Find the directory that this script lives in.
+ thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
+ test \"x\$thisdir\" = \"x\$file\" && thisdir=.
+
+ # Follow symbolic links until we get to the real thisdir.
+ file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\`
+ while test -n \"\$file\"; do
+ destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
+
+ # If there was a directory component, then change thisdir.
+ if test \"x\$destdir\" != \"x\$file\"; then
+ case \"\$destdir\" in
+ [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
+ *) thisdir=\"\$thisdir/\$destdir\" ;;
+ esac
+ fi
+
+ file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
+ file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\`
+ done
+
+ # Try to get the absolute directory name.
+ absdir=\`cd \"\$thisdir\" && pwd\`
+ test -n \"\$absdir\" && thisdir=\"\$absdir\"
+"
+
+ if test "$fast_install" = yes; then
+ echo >> $output "\
+ program=lt-'$outputname'$exeext
+ progdir=\"\$thisdir/$objdir\"
+
+ if test ! -f \"\$progdir/\$program\" || \\
+ { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
+ test \"X\$file\" != \"X\$progdir/\$program\"; }; then
+
+ file=\"\$\$-\$program\"
+
+ if test ! -d \"\$progdir\"; then
+ $mkdir \"\$progdir\"
+ else
+ $rm \"\$progdir/\$file\"
+ fi"
+
+ echo >> $output "\
+
+ # relink executable if necessary
+ if test -n \"\$relink_command\"; then
+ if relink_command_output=\`eval \$relink_command 2>&1\`; then :
+ else
+ $echo \"\$relink_command_output\" >&2
+ $rm \"\$progdir/\$file\"
+ exit 1
+ fi
+ fi
+
+ $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
+ { $rm \"\$progdir/\$program\";
+ $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; }
+ $rm \"\$progdir/\$file\"
+ fi"
+ else
+ echo >> $output "\
+ program='$outputname'
+ progdir=\"\$thisdir/$objdir\"
+"
+ fi
+
+ echo >> $output "\
+
+ if test -f \"\$progdir/\$program\"; then"
+
+ # Export our shlibpath_var if we have one.
+ if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+ $echo >> $output "\
+ # Add our own library path to $shlibpath_var
+ $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
+
+ # Some systems cannot cope with colon-terminated $shlibpath_var
+ # The second colon is a workaround for a bug in BeOS R4 ${SED}
+ $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
+
+ export $shlibpath_var
+"
+ fi
+
+ # fixup the dll searchpath if we need to.
+ if test -n "$dllsearchpath"; then
+ $echo >> $output "\
+ # Add the dll search path components to the executable PATH
+ PATH=$dllsearchpath:\$PATH
+"
+ fi
+
+ $echo >> $output "\
+ if test \"\$libtool_execute_magic\" != \"$magic\"; then
+ # Run the actual program with our arguments.
+"
+ case $host in
+ # win32 systems need to use the prog path for dll
+ # lookup to work
+ *-*-cygwin* | *-*-pw32*)
+ $echo >> $output "\
+ exec \$progdir/\$program \${1+\"\$@\"}
+"
+ ;;
+
+ # Backslashes separate directories on plain windows
+ *-*-mingw | *-*-os2*)
+ $echo >> $output "\
+ exec \$progdir\\\\\$program \${1+\"\$@\"}
+"
+ ;;
+
+ *)
+ $echo >> $output "\
+ # Export the path to the program.
+ PATH=\"\$progdir:\$PATH\"
+ export PATH
+
+ exec \$program \${1+\"\$@\"}
+"
+ ;;
+ esac
+ $echo >> $output "\
+ \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\"
+ exit 1
+ fi
+ else
+ # The program doesn't exist.
+ \$echo \"\$0: error: \$progdir/\$program does not exist\" 1>&2
+ \$echo \"This script is just a wrapper for \$program.\" 1>&2
+ echo \"See the $PACKAGE documentation for more information.\" 1>&2
+ exit 1
+ fi
+fi\
+"
+ chmod +x $output
+ fi
+ exit 0
+ ;;
+ esac
+
+ # See if we need to build an old-fashioned archive.
+ for oldlib in $oldlibs; do
+
+ if test "$build_libtool_libs" = convenience; then
+ oldobjs="$libobjs_save"
+ addlibs="$convenience"
+ build_libtool_libs=no
+ else
+ if test "$build_libtool_libs" = module; then
+ oldobjs="$libobjs_save"
+ build_libtool_libs=no
+ else
+ oldobjs="$objs$old_deplibs "`$echo "X$libobjs_save" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`
+ fi
+ addlibs="$old_convenience"
+ fi
+
+ if test -n "$addlibs"; then
+ gentop="$output_objdir/${outputname}x"
+ $show "${rm}r $gentop"
+ $run ${rm}r "$gentop"
+ $show "mkdir $gentop"
+ $run mkdir "$gentop"
+ status=$?
+ if test $status -ne 0 && test ! -d "$gentop"; then
+ exit $status
+ fi
+ generated="$generated $gentop"
+
+ # Add in members from convenience archives.
+ for xlib in $addlibs; do
+ # Extract the objects.
+ case $xlib in
+ [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;;
+ *) xabs=`pwd`"/$xlib" ;;
+ esac
+ xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'`
+ xdir="$gentop/$xlib"
+
+ $show "${rm}r $xdir"
+ $run ${rm}r "$xdir"
+ $show "mkdir $xdir"
+ $run mkdir "$xdir"
+ status=$?
+ if test $status -ne 0 && test ! -d "$xdir"; then
+ exit $status
+ fi
+ $show "(cd $xdir && $AR x $xabs)"
+ $run eval "(cd \$xdir && $AR x \$xabs)" || exit $?
+
+ oldobjs="$oldobjs "`find $xdir -name \*.${objext} -print -o -name \*.lo -print | $NL2SP`
+ done
+ fi
+
+ # Do each command in the archive commands.
+ if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
+ eval cmds=\"$old_archive_from_new_cmds\"
+ else
+ # Ensure that we have .o objects in place in case we decided
+ # not to build a shared library, and have fallen back to building
+ # static libs even though --disable-static was passed!
+ for oldobj in $oldobjs; do
+ if test ! -f $oldobj; then
+ xdir=`$echo "X$oldobj" | $Xsed -e 's%/[^/]*$%%'`
+ if test "X$xdir" = "X$oldobj"; then
+ xdir="."
+ else
+ xdir="$xdir"
+ fi
+ baseobj=`$echo "X$oldobj" | $Xsed -e 's%^.*/%%'`
+ obj=`$echo "X$baseobj" | $Xsed -e "$o2lo"`
+ $show "(cd $xdir && ${LN_S} $obj $baseobj)"
+ $run eval '(cd $xdir && ${LN_S} $obj $baseobj)' || exit $?
+ fi
+ done
+
+ eval cmds=\"$old_archive_cmds\"
+ fi
+ save_ifs="$IFS"; IFS='~'
+ for cmd in $cmds; do
+ IFS="$save_ifs"
+ $show "$cmd"
+ $run eval "$cmd" || exit $?
+ done
+ IFS="$save_ifs"
+ done
+
+ if test -n "$generated"; then
+ $show "${rm}r$generated"
+ $run ${rm}r$generated
+ fi
+
+ # Now create the libtool archive.
+ case $output in
+ *.la)
+ old_library=
+ test "$build_old_libs" = yes && old_library="$libname.$libext"
+ $show "creating $output"
+
+ # Preserve any variables that may affect compiler behavior
+ for var in $variables_saved_for_relink; do
+ if eval test -z \"\${$var+set}\"; then
+ relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
+ elif eval var_value=\$$var; test -z "$var_value"; then
+ relink_command="$var=; export $var; $relink_command"
+ else
+ var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
+ relink_command="$var=\"$var_value\"; export $var; $relink_command"
+ fi
+ done
+ # Quote the link command for shipping.
+ relink_command="(cd `pwd`; $SHELL $0 --mode=relink $libtool_args)"
+ relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
+
+ # Only create the output if not a dry run.
+ if test -z "$run"; then
+ for installed in no yes; do
+ if test "$installed" = yes; then
+ if test -z "$install_libdir"; then
+ break
+ fi
+ output="$output_objdir/$outputname"i
+ # Replace all uninstalled libtool libraries with the installed ones
+ newdependency_libs=
+ for deplib in $dependency_libs; do
+ case $deplib in
+ *.la)
+ name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'`
+ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+ if test -z "$libdir"; then
+ $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
+ exit 1
+ fi
+ newdependency_libs="$newdependency_libs $libdir/$name"
+ ;;
+ *) newdependency_libs="$newdependency_libs $deplib" ;;
+ esac
+ done
+ dependency_libs="$newdependency_libs"
+ newdlfiles=
+ for lib in $dlfiles; do
+ name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
+ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+ if test -z "$libdir"; then
+ $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
+ exit 1
+ fi
+ newdlfiles="$newdlfiles $libdir/$name"
+ done
+ dlfiles="$newdlfiles"
+ newdlprefiles=
+ for lib in $dlprefiles; do
+ name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
+ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+ if test -z "$libdir"; then
+ $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
+ exit 1
+ fi
+ newdlprefiles="$newdlprefiles $libdir/$name"
+ done
+ dlprefiles="$newdlprefiles"
+ fi
+ $rm $output
+ # place dlname in correct position for cygwin
+ tdlname=$dlname
+ case $host,$output,$installed,$module,$dlname in
+ *cygwin*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
+ esac
+ $echo > $output "\
+# $outputname - a libtool library file
+# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# The name that we can dlopen(3).
+dlname='$tdlname'
+
+# Names of this library.
+library_names='$library_names'
+
+# The name of the static archive.
+old_library='$old_library'
+
+# Libraries that this one depends upon.
+dependency_libs='$dependency_libs'
+
+# Version information for $libname.
+current=$current
+age=$age
+revision=$revision
+
+# Is this an already installed library?
+installed=$installed
+
+# Files to dlopen/dlpreopen
+dlopen='$dlfiles'
+dlpreopen='$dlprefiles'
+
+# Directory that this library needs to be installed in:
+libdir='$install_libdir'"
+ if test "$installed" = no && test $need_relink = yes; then
+ $echo >> $output "\
+relink_command=\"$relink_command\""
+ fi
+ done
+ fi
+
+ # Do a symbolic link so that the libtool archive can be found in
+ # LD_LIBRARY_PATH before the program is installed.
+ $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)"
+ $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $?
+ ;;
+ esac
+ exit 0
+ ;;
+
+ # libtool install mode
+ install)
+ modename="$modename: install"
+
+ # There may be an optional sh(1) argument at the beginning of
+ # install_prog (especially on Windows NT).
+ if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
+ # Allow the use of GNU shtool's install command.
+ $echo "X$nonopt" | $Xsed | grep shtool > /dev/null; then
+ # Aesthetically quote it.
+ arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"`
+ case $arg in
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*)
+ arg="\"$arg\""
+ ;;
+ esac
+ install_prog="$arg "
+ arg="$1"
+ shift
+ else
+ install_prog=
+ arg="$nonopt"
+ fi
+
+ # The real first argument should be the name of the installation program.
+ # Aesthetically quote it.
+ arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+ case $arg in
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*)
+ arg="\"$arg\""
+ ;;
+ esac
+ install_prog="$install_prog$arg"
+
+ # We need to accept at least all the BSD install flags.
+ dest=
+ files=
+ opts=
+ prev=
+ install_type=
+ isdir=no
+ stripme=
+ for arg
+ do
+ if test -n "$dest"; then
+ files="$files $dest"
+ dest="$arg"
+ continue
+ fi
+
+ case $arg in
+ -d) isdir=yes ;;
+ -f) prev="-f" ;;
+ -g) prev="-g" ;;
+ -m) prev="-m" ;;
+ -o) prev="-o" ;;
+ -s)
+ stripme=" -s"
+ continue
+ ;;
+ -*) ;;
+
+ *)
+ # If the previous option needed an argument, then skip it.
+ if test -n "$prev"; then
+ prev=
+ else
+ dest="$arg"
+ continue
+ fi
+ ;;
+ esac
+
+ # Aesthetically quote the argument.
+ arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+ case $arg in
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*)
+ arg="\"$arg\""
+ ;;
+ esac
+ install_prog="$install_prog $arg"
+ done
+
+ if test -z "$install_prog"; then
+ $echo "$modename: you must specify an install program" 1>&2
+ $echo "$help" 1>&2
+ exit 1
+ fi
+
+ if test -n "$prev"; then
+ $echo "$modename: the \`$prev' option requires an argument" 1>&2
+ $echo "$help" 1>&2
+ exit 1
+ fi
+
+ if test -z "$files"; then
+ if test -z "$dest"; then
+ $echo "$modename: no file or destination specified" 1>&2
+ else
+ $echo "$modename: you must specify a destination" 1>&2
+ fi
+ $echo "$help" 1>&2
+ exit 1
+ fi
+
+ # Strip any trailing slash from the destination.
+ dest=`$echo "X$dest" | $Xsed -e 's%/$%%'`
+
+ # Check to see that the destination is a directory.
+ test -d "$dest" && isdir=yes
+ if test "$isdir" = yes; then
+ destdir="$dest"
+ destname=
+ else
+ destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'`
+ test "X$destdir" = "X$dest" && destdir=.
+ destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'`
+
+ # Not a directory, so check to see that there is only one file specified.
+ set dummy $files
+ if test $# -gt 2; then
+ $echo "$modename: \`$dest' is not a directory" 1>&2
+ $echo "$help" 1>&2
+ exit 1
+ fi
+ fi
+ case $destdir in
+ [\\/]* | [A-Za-z]:[\\/]*) ;;
+ *)
+ for file in $files; do
+ case $file in
+ *.lo) ;;
+ *)
+ $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2
+ $echo "$help" 1>&2
+ exit 1
+ ;;
+ esac
+ done
+ ;;
+ esac
+
+ # This variable tells wrapper scripts just to set variables rather
+ # than running their programs.
+ libtool_install_magic="$magic"
+
+ staticlibs=
+ future_libdirs=
+ current_libdirs=
+ for file in $files; do
+
+ # Do each installation.
+ case $file in
+ *.$libext)
+ # Do the static libraries later.
+ staticlibs="$staticlibs $file"
+ ;;
+
+ *.la)
+ # Check to see that this really is a libtool archive.
+ if (${SED} -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
+ else
+ $echo "$modename: \`$file' is not a valid libtool archive" 1>&2
+ $echo "$help" 1>&2
+ exit 1
+ fi
+
+ library_names=
+ old_library=
+ relink_command=
+ # If there is no directory component, then add one.
+ case $file in
+ */* | *\\*) . $file ;;
+ *) . ./$file ;;
+ esac
+
+ # Add the libdir to current_libdirs if it is the destination.
+ if test "X$destdir" = "X$libdir"; then
+ case "$current_libdirs " in
+ *" $libdir "*) ;;
+ *) current_libdirs="$current_libdirs $libdir" ;;
+ esac
+ else
+ # Note the libdir as a future libdir.
+ case "$future_libdirs " in
+ *" $libdir "*) ;;
+ *) future_libdirs="$future_libdirs $libdir" ;;
+ esac
+ fi
+
+ dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/
+ test "X$dir" = "X$file/" && dir=
+ dir="$dir$objdir"
+
+ if test -n "$relink_command"; then
+ $echo "$modename: warning: relinking \`$file'" 1>&2
+ $show "$relink_command"
+ if $run eval "$relink_command"; then :
+ else
+ $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
+ continue
+ fi
+ fi
+
+ # See the names of the shared library.
+ set dummy $library_names
+ if test -n "$2"; then
+ realname="$2"
+ shift
+ shift
+
+ srcname="$realname"
+ test -n "$relink_command" && srcname="$realname"T
+
+ # Install the shared library and build the symlinks.
+ $show "$install_prog $dir/$srcname $destdir/$realname"
+ $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $?
+ if test -n "$stripme" && test -n "$striplib"; then
+ $show "$striplib $destdir/$realname"
+ $run eval "$striplib $destdir/$realname" || exit $?
+ fi
+
+ if test $# -gt 0; then
+ # Delete the old symlinks, and create new ones.
+ for linkname
+ do
+ if test "$linkname" != "$realname"; then
+ $show "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)"
+ $run eval "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)"
+ fi
+ done
+ fi
+
+ # Do each command in the postinstall commands.
+ lib="$destdir/$realname"
+ eval cmds=\"$postinstall_cmds\"
+ save_ifs="$IFS"; IFS='~'
+ for cmd in $cmds; do
+ IFS="$save_ifs"
+ $show "$cmd"
+ $run eval "$cmd" || exit $?
+ done
+ IFS="$save_ifs"
+ fi
+
+ # Install the pseudo-library for information purposes.
+ name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+ instname="$dir/$name"i
+ $show "$install_prog $instname $destdir/$name"
+ $run eval "$install_prog $instname $destdir/$name" || exit $?
+
+ # Maybe install the static library, too.
+ test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
+ ;;
+
+ *.lo)
+ # Install (i.e. copy) a libtool object.
+
+ # Figure out destination file name, if it wasn't already specified.
+ if test -n "$destname"; then
+ destfile="$destdir/$destname"
+ else
+ destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+ destfile="$destdir/$destfile"
+ fi
+
+ # Deduce the name of the destination old-style object file.
+ case $destfile in
+ *.lo)
+ staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"`
+ ;;
+ *.$objext)
+ staticdest="$destfile"
+ destfile=
+ ;;
+ *)
+ $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2
+ $echo "$help" 1>&2
+ exit 1
+ ;;
+ esac
+
+ # Install the libtool object if requested.
+ if test -n "$destfile"; then
+ $show "$install_prog $file $destfile"
+ $run eval "$install_prog $file $destfile" || exit $?
+ fi
+
+ # Install the old object if enabled.
+ if test "$build_old_libs" = yes; then
+ # Deduce the name of the old-style object file.
+ staticobj=`$echo "X$file" | $Xsed -e "$lo2o"`
+
+ $show "$install_prog $staticobj $staticdest"
+ $run eval "$install_prog \$staticobj \$staticdest" || exit $?
+ fi
+ exit 0
+ ;;
+
+ *)
+ # Figure out destination file name, if it wasn't already specified.
+ if test -n "$destname"; then
+ destfile="$destdir/$destname"
+ else
+ destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+ destfile="$destdir/$destfile"
+ fi
+
+ # Do a test to see if this is really a libtool program.
+ case $host in
+ *cygwin*|*mingw*)
+ wrapper=`echo $file | ${SED} -e 's,.exe$,,'`
+ ;;
+ *)
+ wrapper=$file
+ ;;
+ esac
+ if (${SED} -e '4q' $wrapper | egrep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then
+ notinst_deplibs=
+ relink_command=
+
+ # If there is no directory component, then add one.
+ case $file in
+ */* | *\\*) . $wrapper ;;
+ *) . ./$wrapper ;;
+ esac
+
+ # Check the variables that should have been set.
+ if test -z "$notinst_deplibs"; then
+ $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2
+ exit 1
+ fi
+
+ finalize=yes
+ for lib in $notinst_deplibs; do
+ # Check to see that each library is installed.
+ libdir=
+ if test -f "$lib"; then
+ # If there is no directory component, then add one.
+ case $lib in
+ */* | *\\*) . $lib ;;
+ *) . ./$lib ;;
+ esac
+ fi
+ libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
+ if test -n "$libdir" && test ! -f "$libfile"; then
+ $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2
+ finalize=no
+ fi
+ done
+
+ relink_command=
+ # If there is no directory component, then add one.
+ case $file in
+ */* | *\\*) . $wrapper ;;
+ *) . ./$wrapper ;;
+ esac
+
+ outputname=
+ if test "$fast_install" = no && test -n "$relink_command"; then
+ if test "$finalize" = yes && test -z "$run"; then
+ tmpdir="/tmp"
+ test -n "$TMPDIR" && tmpdir="$TMPDIR"
+ tmpdir="$tmpdir/libtool-$$"
+ if $mkdir -p "$tmpdir" && chmod 700 "$tmpdir"; then :
+ else
+ $echo "$modename: error: cannot create temporary directory \`$tmpdir'" 1>&2
+ continue
+ fi
+ file=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+ outputname="$tmpdir/$file"
+ # Replace the output file specification.
+ relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
+
+ $show "$relink_command"
+ if $run eval "$relink_command"; then :
+ else
+ $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
+ ${rm}r "$tmpdir"
+ continue
+ fi
+ file="$outputname"
+ else
+ $echo "$modename: warning: cannot relink \`$file'" 1>&2
+ fi
+ else
+ # Install the binary that we compiled earlier.
+ file=`$echo "X$file" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
+ fi
+ fi
+
+ # remove .exe since cygwin /usr/bin/install will append another
+ # one anyways
+ case $install_prog,$host in
+ /usr/bin/install*,*cygwin*)
+ case $file:$destfile in
+ *.exe:*.exe)
+ # this is ok
+ ;;
+ *.exe:*)
+ destfile=$destfile.exe
+ ;;
+ *:*.exe)
+ destfile=`echo $destfile | ${SED} -e 's,.exe$,,'`
+ ;;
+ esac
+ ;;
+ esac
+ $show "$install_prog$stripme $file $destfile"
+ $run eval "$install_prog\$stripme \$file \$destfile" || exit $?
+ test -n "$outputname" && ${rm}r "$tmpdir"
+ ;;
+ esac
+ done
+
+ for file in $staticlibs; do
+ name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+
+ # Set up the ranlib parameters.
+ oldlib="$destdir/$name"
+
+ $show "$install_prog $file $oldlib"
+ $run eval "$install_prog \$file \$oldlib" || exit $?
+
+ if test -n "$stripme" && test -n "$striplib"; then
+ $show "$old_striplib $oldlib"
+ $run eval "$old_striplib $oldlib" || exit $?
+ fi
+
+ # Do each command in the postinstall commands.
+ eval cmds=\"$old_postinstall_cmds\"
+ save_ifs="$IFS"; IFS='~'
+ for cmd in $cmds; do
+ IFS="$save_ifs"
+ $show "$cmd"
+ $run eval "$cmd" || exit $?
+ done
+ IFS="$save_ifs"
+ done
+
+ if test -n "$future_libdirs"; then
+ $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2
+ fi
+
+ if test -n "$current_libdirs"; then
+ # Maybe just do a dry run.
+ test -n "$run" && current_libdirs=" -n$current_libdirs"
+ exec_cmd='$SHELL $0 --finish$current_libdirs'
+ else
+ exit 0
+ fi
+ ;;
+
+ # libtool finish mode
+ finish)
+ modename="$modename: finish"
+ libdirs="$nonopt"
+ admincmds=
+
+ if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
+ for dir
+ do
+ libdirs="$libdirs $dir"
+ done
+
+ for libdir in $libdirs; do
+ if test -n "$finish_cmds"; then
+ # Do each command in the finish commands.
+ eval cmds=\"$finish_cmds\"
+ save_ifs="$IFS"; IFS='~'
+ for cmd in $cmds; do
+ IFS="$save_ifs"
+ $show "$cmd"
+ $run eval "$cmd" || admincmds="$admincmds
+ $cmd"
+ done
+ IFS="$save_ifs"
+ fi
+ if test -n "$finish_eval"; then
+ # Do the single finish_eval.
+ eval cmds=\"$finish_eval\"
+ $run eval "$cmds" || admincmds="$admincmds
+ $cmds"
+ fi
+ done
+ fi
+
+ # Exit here if they wanted silent mode.
+ test "$show" = ":" && exit 0
+
+ echo "----------------------------------------------------------------------"
+ echo "Libraries have been installed in:"
+ for libdir in $libdirs; do
+ echo " $libdir"
+ done
+ echo
+ echo "If you ever happen to want to link against installed libraries"
+ echo "in a given directory, LIBDIR, you must either use libtool, and"
+ echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
+ echo "flag during linking and do at least one of the following:"
+ if test -n "$shlibpath_var"; then
+ echo " - add LIBDIR to the \`$shlibpath_var' environment variable"
+ echo " during execution"
+ fi
+ if test -n "$runpath_var"; then
+ echo " - add LIBDIR to the \`$runpath_var' environment variable"
+ echo " during linking"
+ fi
+ if test -n "$hardcode_libdir_flag_spec"; then
+ libdir=LIBDIR
+ eval flag=\"$hardcode_libdir_flag_spec\"
+
+ echo " - use the \`$flag' linker flag"
+ fi
+ if test -n "$admincmds"; then
+ echo " - have your system administrator run these commands:$admincmds"
+ fi
+ if test -f /etc/ld.so.conf; then
+ echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
+ fi
+ echo
+ echo "See any operating system documentation about shared libraries for"
+ echo "more information, such as the ld(1) and ld.so(8) manual pages."
+ echo "----------------------------------------------------------------------"
+ exit 0
+ ;;
+
+ # libtool execute mode
+ execute)
+ modename="$modename: execute"
+
+ # The first argument is the command name.
+ cmd="$nonopt"
+ if test -z "$cmd"; then
+ $echo "$modename: you must specify a COMMAND" 1>&2
+ $echo "$help"
+ exit 1
+ fi
+
+ # Handle -dlopen flags immediately.
+ for file in $execute_dlfiles; do
+ if test ! -f "$file"; then
+ $echo "$modename: \`$file' is not a file" 1>&2
+ $echo "$help" 1>&2
+ exit 1
+ fi
+
+ dir=
+ case $file in
+ *.la)
+ # Check to see that this really is a libtool archive.
+ if (${SED} -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
+ else
+ $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
+ $echo "$help" 1>&2
+ exit 1
+ fi
+
+ # Read the libtool library.
+ dlname=
+ library_names=
+
+ # If there is no directory component, then add one.
+ case $file in
+ */* | *\\*) . $file ;;
+ *) . ./$file ;;
+ esac
+
+ # Skip this library if it cannot be dlopened.
+ if test -z "$dlname"; then
+ # Warn if it was a shared library.
+ test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'"
+ continue
+ fi
+
+ dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
+ test "X$dir" = "X$file" && dir=.
+
+ if test -f "$dir/$objdir/$dlname"; then
+ dir="$dir/$objdir"
+ else
+ $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2
+ exit 1
+ fi
+ ;;
+
+ *.lo)
+ # Just add the directory containing the .lo file.
+ dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
+ test "X$dir" = "X$file" && dir=.
+ ;;
+
+ *)
+ $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2
+ continue
+ ;;
+ esac
+
+ # Get the absolute pathname.
+ absdir=`cd "$dir" && pwd`
+ test -n "$absdir" && dir="$absdir"
+
+ # Now add the directory to shlibpath_var.
+ if eval "test -z \"\$$shlibpath_var\""; then
+ eval "$shlibpath_var=\"\$dir\""
+ else
+ eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
+ fi
+ done
+
+ # This variable tells wrapper scripts just to set shlibpath_var
+ # rather than running their programs.
+ libtool_execute_magic="$magic"
+
+ # Check if any of the arguments is a wrapper script.
+ args=
+ for file
+ do
+ case $file in
+ -*) ;;
+ *)
+ # Do a test to see if this is really a libtool program.
+ if (${SED} -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+ # If there is no directory component, then add one.
+ case $file in
+ */* | *\\*) . $file ;;
+ *) . ./$file ;;
+ esac
+
+ # Transform arg to wrapped name.
+ file="$progdir/$program"
+ fi
+ ;;
+ esac
+ # Quote arguments (to preserve shell metacharacters).
+ file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"`
+ args="$args \"$file\""
+ done
+
+ if test -z "$run"; then
+ if test -n "$shlibpath_var"; then
+ # Export the shlibpath_var.
+ eval "export $shlibpath_var"
+ fi
+
+ # Restore saved enviroment variables
+ if test "${save_LC_ALL+set}" = set; then
+ LC_ALL="$save_LC_ALL"; export LC_ALL
+ fi
+ if test "${save_LANG+set}" = set; then
+ LANG="$save_LANG"; export LANG
+ fi
+
+ # Now prepare to actually exec the command.
+ exec_cmd="\$cmd$args"
+ else
+ # Display what would be done.
+ if test -n "$shlibpath_var"; then
+ eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\""
+ $echo "export $shlibpath_var"
+ fi
+ $echo "$cmd$args"
+ exit 0
+ fi
+ ;;
+
+ # libtool clean and uninstall mode
+ clean | uninstall)
+ modename="$modename: $mode"
+ rm="$nonopt"
+ files=
+ rmforce=
+ exit_status=0
+
+ # This variable tells wrapper scripts just to set variables rather
+ # than running their programs.
+ libtool_install_magic="$magic"
+
+ for arg
+ do
+ case $arg in
+ -f) rm="$rm $arg"; rmforce=yes ;;
+ -*) rm="$rm $arg" ;;
+ *) files="$files $arg" ;;
+ esac
+ done
+
+ if test -z "$rm"; then
+ $echo "$modename: you must specify an RM program" 1>&2
+ $echo "$help" 1>&2
+ exit 1
+ fi
+
+ rmdirs=
+
+ for file in $files; do
+ dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
+ if test "X$dir" = "X$file"; then
+ dir=.
+ objdir="$objdir"
+ else
+ objdir="$dir/$objdir"
+ fi
+ name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+ test $mode = uninstall && objdir="$dir"
+
+ # Remember objdir for removal later, being careful to avoid duplicates
+ if test $mode = clean; then
+ case " $rmdirs " in
+ *" $objdir "*) ;;
+ *) rmdirs="$rmdirs $objdir" ;;
+ esac
+ fi
+
+ # Don't error if the file doesn't exist and rm -f was used.
+ if (test -L "$file") >/dev/null 2>&1 \
+ || (test -h "$file") >/dev/null 2>&1 \
+ || test -f "$file"; then
+ :
+ elif test -d "$file"; then
+ exit_status=1
+ continue
+ elif test "$rmforce" = yes; then
+ continue
+ fi
+
+ rmfiles="$file"
+
+ case $name in
+ *.la)
+ # Possibly a libtool archive, so verify it.
+ if (${SED} -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+ . $dir/$name
+
+ # Delete the libtool libraries and symlinks.
+ for n in $library_names; do
+ rmfiles="$rmfiles $objdir/$n"
+ done
+ test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library"
+ test $mode = clean && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
+
+ if test $mode = uninstall; then
+ if test -n "$library_names"; then
+ # Do each command in the postuninstall commands.
+ eval cmds=\"$postuninstall_cmds\"
+ save_ifs="$IFS"; IFS='~'
+ for cmd in $cmds; do
+ IFS="$save_ifs"
+ $show "$cmd"
+ $run eval "$cmd"
+ if test $? != 0 && test "$rmforce" != yes; then
+ exit_status=1
+ fi
+ done
+ IFS="$save_ifs"
+ fi
+
+ if test -n "$old_library"; then
+ # Do each command in the old_postuninstall commands.
+ eval cmds=\"$old_postuninstall_cmds\"
+ save_ifs="$IFS"; IFS='~'
+ for cmd in $cmds; do
+ IFS="$save_ifs"
+ $show "$cmd"
+ $run eval "$cmd"
+ if test $? != 0 && test "$rmforce" != yes; then
+ exit_status=1
+ fi
+ done
+ IFS="$save_ifs"
+ fi
+ # FIXME: should reinstall the best remaining shared library.
+ fi
+ fi
+ ;;
+
+ *.lo)
+ if test "$build_old_libs" = yes; then
+ oldobj=`$echo "X$name" | $Xsed -e "$lo2o"`
+ rmfiles="$rmfiles $dir/$oldobj"
+ fi
+ ;;
+
+ *)
+ # Do a test to see if this is a libtool program.
+ if test $mode = clean &&
+ (${SED} -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+ relink_command=
+ . $dir/$file
+
+ rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}"
+ if test "$fast_install" = yes && test -n "$relink_command"; then
+ rmfiles="$rmfiles $objdir/lt-$name"
+ fi
+ fi
+ ;;
+ esac
+ $show "$rm $rmfiles"
+ $run $rm $rmfiles || exit_status=1
+ done
+
+ # Try to remove the ${objdir}s in the directories where we deleted files
+ for dir in $rmdirs; do
+ if test -d "$dir"; then
+ $show "rmdir $dir"
+ $run rmdir $dir >/dev/null 2>&1
+ fi
+ done
+
+ exit $exit_status
+ ;;
+
+ "")
+ $echo "$modename: you must specify a MODE" 1>&2
+ $echo "$generic_help" 1>&2
+ exit 1
+ ;;
+ esac
+
+ if test -z "$exec_cmd"; then
+ $echo "$modename: invalid operation mode \`$mode'" 1>&2
+ $echo "$generic_help" 1>&2
+ exit 1
+ fi
+fi # test -z "$show_help"
+
+if test -n "$exec_cmd"; then
+ eval exec $exec_cmd
+ exit 1
+fi
+
+# We need to display help for each of the modes.
+case $mode in
+"") $echo \
+"Usage: $modename [OPTION]... [MODE-ARG]...
+
+Provide generalized library-building support services.
+
+ --config show all configuration variables
+ --debug enable verbose shell tracing
+-n, --dry-run display commands without modifying any files
+ --features display basic configuration information and exit
+ --finish same as \`--mode=finish'
+ --help display this help message and exit
+ --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS]
+ --quiet same as \`--silent'
+ --silent don't print informational messages
+ --version print version information
+
+MODE must be one of the following:
+
+ clean remove files from the build directory
+ compile compile a source file into a libtool object
+ execute automatically set library path, then run a program
+ finish complete the installation of libtool libraries
+ install install libraries or executables
+ link create a library or an executable
+ uninstall remove libraries from an installed directory
+
+MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for
+a more detailed description of MODE."
+ exit 0
+ ;;
+
+clean)
+ $echo \
+"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
+
+Remove files from the build directory.
+
+RM is the name of the program to use to delete files associated with each FILE
+(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
+to RM.
+
+If FILE is a libtool library, object or program, all the files associated
+with it are deleted. Otherwise, only FILE itself is deleted using RM."
+ ;;
+
+compile)
+ $echo \
+"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
+
+Compile a source file into a libtool library object.
+
+This mode accepts the following additional options:
+
+ -o OUTPUT-FILE set the output file name to OUTPUT-FILE
+ -prefer-pic try to building PIC objects only
+ -prefer-non-pic try to building non-PIC objects only
+ -static always build a \`.o' file suitable for static linking
+
+COMPILE-COMMAND is a command to be used in creating a \`standard' object file
+from the given SOURCEFILE.
+
+The output file name is determined by removing the directory component from
+SOURCEFILE, then substituting the C source code suffix \`.c' with the
+library object suffix, \`.lo'."
+ ;;
+
+execute)
+ $echo \
+"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]...
+
+Automatically set library path, then run a program.
+
+This mode accepts the following additional options:
+
+ -dlopen FILE add the directory containing FILE to the library path
+
+This mode sets the library path environment variable according to \`-dlopen'
+flags.
+
+If any of the ARGS are libtool executable wrappers, then they are translated
+into their corresponding uninstalled binary, and any of their required library
+directories are added to the library path.
+
+Then, COMMAND is executed, with ARGS as arguments."
+ ;;
+
+finish)
+ $echo \
+"Usage: $modename [OPTION]... --mode=finish [LIBDIR]...
+
+Complete the installation of libtool libraries.
+
+Each LIBDIR is a directory that contains libtool libraries.
+
+The commands that this mode executes may require superuser privileges. Use
+the \`--dry-run' option if you just want to see what would be executed."
+ ;;
+
+install)
+ $echo \
+"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND...
+
+Install executables or libraries.
+
+INSTALL-COMMAND is the installation command. The first component should be
+either the \`install' or \`cp' program.
+
+The rest of the components are interpreted as arguments to that command (only
+BSD-compatible install options are recognized)."
+ ;;
+
+link)
+ $echo \
+"Usage: $modename [OPTION]... --mode=link LINK-COMMAND...
+
+Link object files or libraries together to form another library, or to
+create an executable program.
+
+LINK-COMMAND is a command using the C compiler that you would use to create
+a program from several object files.
+
+The following components of LINK-COMMAND are treated specially:
+
+ -all-static do not do any dynamic linking at all
+ -avoid-version do not add a version suffix if possible
+ -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime
+ -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols
+ -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
+ -export-symbols SYMFILE
+ try to export only the symbols listed in SYMFILE
+ -export-symbols-regex REGEX
+ try to export only the symbols matching REGEX
+ -LLIBDIR search LIBDIR for required installed libraries
+ -lNAME OUTPUT-FILE requires the installed library libNAME
+ -module build a library that can dlopened
+ -no-fast-install disable the fast-install mode
+ -no-install link a not-installable executable
+ -no-undefined declare that a library does not refer to external symbols
+ -o OUTPUT-FILE create OUTPUT-FILE from the specified objects
+ -release RELEASE specify package release information
+ -rpath LIBDIR the created library will eventually be installed in LIBDIR
+ -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries
+ -static do not do any dynamic linking of libtool libraries
+ -version-info CURRENT[:REVISION[:AGE]]
+ specify library version info [each variable defaults to 0]
+
+All other options (arguments beginning with \`-') are ignored.
+
+Every other argument is treated as a filename. Files ending in \`.la' are
+treated as uninstalled libtool libraries, other files are standard or library
+object files.
+
+If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
+only library objects (\`.lo' files) may be specified, and \`-rpath' is
+required, except when creating a convenience library.
+
+If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
+using \`ar' and \`ranlib', or on Windows using \`lib'.
+
+If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
+is created, otherwise an executable program is created."
+ ;;
+
+uninstall)
+ $echo \
+"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
+
+Remove libraries from an installation directory.
+
+RM is the name of the program to use to delete files associated with each FILE
+(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
+to RM.
+
+If FILE is a libtool library, all the files associated with it are deleted.
+Otherwise, only FILE itself is deleted using RM."
+ ;;
+
+*)
+ $echo "$modename: invalid operation mode \`$mode'" 1>&2
+ $echo "$help" 1>&2
+ exit 1
+ ;;
+esac
+
+echo
+$echo "Try \`$modename --help' for more information about other modes."
+
+exit 0
+
+# Local Variables:
+# mode:shell-script
+# sh-indentation:2
+# End:
diff --git a/freebsdtvision/util/missing b/freebsdtvision/util/missing
new file mode 100755
index 0000000..6a37006
--- /dev/null
+++ b/freebsdtvision/util/missing
@@ -0,0 +1,336 @@
+#! /bin/sh
+# Common stub for a few missing GNU programs while installing.
+# Copyright (C) 1996, 1997, 1999, 2000, 2002 Free Software Foundation, Inc.
+# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+if test $# -eq 0; then
+ echo 1>&2 "Try \`$0 --help' for more information"
+ exit 1
+fi
+
+run=:
+
+# In the cases where this matters, `missing' is being run in the
+# srcdir already.
+if test -f configure.ac; then
+ configure_ac=configure.ac
+else
+ configure_ac=configure.in
+fi
+
+case "$1" in
+--run)
+ # Try to run requested program, and just exit if it succeeds.
+ run=
+ shift
+ "$@" && exit 0
+ ;;
+esac
+
+# If it does not exist, or fails to run (possibly an outdated version),
+# try to emulate it.
+case "$1" in
+
+ -h|--h|--he|--hel|--help)
+ echo "\
+$0 [OPTION]... PROGRAM [ARGUMENT]...
+
+Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
+error status if there is no known handling for PROGRAM.
+
+Options:
+ -h, --help display this help and exit
+ -v, --version output version information and exit
+ --run try to run the given command, and emulate it if it fails
+
+Supported PROGRAM values:
+ aclocal touch file \`aclocal.m4'
+ autoconf touch file \`configure'
+ autoheader touch file \`config.h.in'
+ automake touch all \`Makefile.in' files
+ bison create \`y.tab.[ch]', if possible, from existing .[ch]
+ flex create \`lex.yy.c', if possible, from existing .c
+ help2man touch the output file
+ lex create \`lex.yy.c', if possible, from existing .c
+ makeinfo touch the output file
+ tar try tar, gnutar, gtar, then tar without non-portable flags
+ yacc create \`y.tab.[ch]', if possible, from existing .[ch]"
+ ;;
+
+ -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
+ echo "missing 0.4 - GNU automake"
+ ;;
+
+ -*)
+ echo 1>&2 "$0: Unknown \`$1' option"
+ echo 1>&2 "Try \`$0 --help' for more information"
+ exit 1
+ ;;
+
+ aclocal*)
+ if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
+ # We have it, but it failed.
+ exit 1
+ fi
+
+ echo 1>&2 "\
+WARNING: \`$1' is missing on your system. You should only need it if
+ you modified \`acinclude.m4' or \`${configure_ac}'. You might want
+ to install the \`Automake' and \`Perl' packages. Grab them from
+ any GNU archive site."
+ touch aclocal.m4
+ ;;
+
+ autoconf)
+ if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
+ # We have it, but it failed.
+ exit 1
+ fi
+
+ echo 1>&2 "\
+WARNING: \`$1' is missing on your system. You should only need it if
+ you modified \`${configure_ac}'. You might want to install the
+ \`Autoconf' and \`GNU m4' packages. Grab them from any GNU
+ archive site."
+ touch configure
+ ;;
+
+ autoheader)
+ if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
+ # We have it, but it failed.
+ exit 1
+ fi
+
+ echo 1>&2 "\
+WARNING: \`$1' is missing on your system. You should only need it if
+ you modified \`acconfig.h' or \`${configure_ac}'. You might want
+ to install the \`Autoconf' and \`GNU m4' packages. Grab them
+ from any GNU archive site."
+ files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
+ test -z "$files" && files="config.h"
+ touch_files=
+ for f in $files; do
+ case "$f" in
+ *:*) touch_files="$touch_files "`echo "$f" |
+ sed -e 's/^[^:]*://' -e 's/:.*//'`;;
+ *) touch_files="$touch_files $f.in";;
+ esac
+ done
+ touch $touch_files
+ ;;
+
+ automake*)
+ if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
+ # We have it, but it failed.
+ exit 1
+ fi
+
+ echo 1>&2 "\
+WARNING: \`$1' is missing on your system. You should only need it if
+ you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
+ You might want to install the \`Automake' and \`Perl' packages.
+ Grab them from any GNU archive site."
+ find . -type f -name Makefile.am -print |
+ sed 's/\.am$/.in/' |
+ while read f; do touch "$f"; done
+ ;;
+
+ autom4te)
+ if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
+ # We have it, but it failed.
+ exit 1
+ fi
+
+ echo 1>&2 "\
+WARNING: \`$1' is needed, and you do not seem to have it handy on your
+ system. You might have modified some files without having the
+ proper tools for further handling them.
+ You can get \`$1Help2man' as part of \`Autoconf' from any GNU
+ archive site."
+
+ file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
+ test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
+ if test -f "$file"; then
+ touch $file
+ else
+ test -z "$file" || exec >$file
+ echo "#! /bin/sh"
+ echo "# Created by GNU Automake missing as a replacement of"
+ echo "# $ $@"
+ echo "exit 0"
+ chmod +x $file
+ exit 1
+ fi
+ ;;
+
+ bison|yacc)
+ echo 1>&2 "\
+WARNING: \`$1' is missing on your system. You should only need it if
+ you modified a \`.y' file. You may need the \`Bison' package
+ in order for those modifications to take effect. You can get
+ \`Bison' from any GNU archive site."
+ rm -f y.tab.c y.tab.h
+ if [ $# -ne 1 ]; then
+ eval LASTARG="\${$#}"
+ case "$LASTARG" in
+ *.y)
+ SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
+ if [ -f "$SRCFILE" ]; then
+ cp "$SRCFILE" y.tab.c
+ fi
+ SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
+ if [ -f "$SRCFILE" ]; then
+ cp "$SRCFILE" y.tab.h
+ fi
+ ;;
+ esac
+ fi
+ if [ ! -f y.tab.h ]; then
+ echo >y.tab.h
+ fi
+ if [ ! -f y.tab.c ]; then
+ echo 'main() { return 0; }' >y.tab.c
+ fi
+ ;;
+
+ lex|flex)
+ echo 1>&2 "\
+WARNING: \`$1' is missing on your system. You should only need it if
+ you modified a \`.l' file. You may need the \`Flex' package
+ in order for those modifications to take effect. You can get
+ \`Flex' from any GNU archive site."
+ rm -f lex.yy.c
+ if [ $# -ne 1 ]; then
+ eval LASTARG="\${$#}"
+ case "$LASTARG" in
+ *.l)
+ SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
+ if [ -f "$SRCFILE" ]; then
+ cp "$SRCFILE" lex.yy.c
+ fi
+ ;;
+ esac
+ fi
+ if [ ! -f lex.yy.c ]; then
+ echo 'main() { return 0; }' >lex.yy.c
+ fi
+ ;;
+
+ help2man)
+ if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
+ # We have it, but it failed.
+ exit 1
+ fi
+
+ echo 1>&2 "\
+WARNING: \`$1' is missing on your system. You should only need it if
+ you modified a dependency of a manual page. You may need the
+ \`Help2man' package in order for those modifications to take
+ effect. You can get \`Help2man' from any GNU archive site."
+
+ file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
+ if test -z "$file"; then
+ file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
+ fi
+ if [ -f "$file" ]; then
+ touch $file
+ else
+ test -z "$file" || exec >$file
+ echo ".ab help2man is required to generate this page"
+ exit 1
+ fi
+ ;;
+
+ makeinfo)
+ if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then
+ # We have makeinfo, but it failed.
+ exit 1
+ fi
+
+ echo 1>&2 "\
+WARNING: \`$1' is missing on your system. You should only need it if
+ you modified a \`.texi' or \`.texinfo' file, or any other file
+ indirectly affecting the aspect of the manual. The spurious
+ call might also be the consequence of using a buggy \`make' (AIX,
+ DU, IRIX). You might want to install the \`Texinfo' package or
+ the \`GNU make' package. Grab either from any GNU archive site."
+ file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
+ if test -z "$file"; then
+ file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
+ file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
+ fi
+ touch $file
+ ;;
+
+ tar)
+ shift
+ if test -n "$run"; then
+ echo 1>&2 "ERROR: \`tar' requires --run"
+ exit 1
+ fi
+
+ # We have already tried tar in the generic part.
+ # Look for gnutar/gtar before invocation to avoid ugly error
+ # messages.
+ if (gnutar --version > /dev/null 2>&1); then
+ gnutar "$@" && exit 0
+ fi
+ if (gtar --version > /dev/null 2>&1); then
+ gtar "$@" && exit 0
+ fi
+ firstarg="$1"
+ if shift; then
+ case "$firstarg" in
+ *o*)
+ firstarg=`echo "$firstarg" | sed s/o//`
+ tar "$firstarg" "$@" && exit 0
+ ;;
+ esac
+ case "$firstarg" in
+ *h*)
+ firstarg=`echo "$firstarg" | sed s/h//`
+ tar "$firstarg" "$@" && exit 0
+ ;;
+ esac
+ fi
+
+ echo 1>&2 "\
+WARNING: I can't seem to be able to run \`tar' with the given arguments.
+ You may want to install GNU tar or Free paxutils, or check the
+ command line arguments."
+ exit 1
+ ;;
+
+ *)
+ echo 1>&2 "\
+WARNING: \`$1' is needed, and you do not seem to have it handy on your
+ system. You might have modified some files without having the
+ proper tools for further handling them. Check the \`README' file,
+ it often tells you about the needed prerequirements for installing
+ this package. You may also peek at any GNU archive site, in case
+ some other package would contain this missing \`$1' program."
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/freebsdtvision/util/mkinstalldirs b/freebsdtvision/util/mkinstalldirs
new file mode 100755
index 0000000..d2d5f21
--- /dev/null
+++ b/freebsdtvision/util/mkinstalldirs
@@ -0,0 +1,111 @@
+#! /bin/sh
+# mkinstalldirs --- make directory hierarchy
+# Author: Noah Friedman <friedman@prep.ai.mit.edu>
+# Created: 1993-05-16
+# Public domain
+
+errstatus=0
+dirmode=""
+
+usage="\
+Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..."
+
+# process command line arguments
+while test $# -gt 0 ; do
+ case $1 in
+ -h | --help | --h*) # -h for help
+ echo "$usage" 1>&2
+ exit 0
+ ;;
+ -m) # -m PERM arg
+ shift
+ test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
+ dirmode=$1
+ shift
+ ;;
+ --) # stop option processing
+ shift
+ break
+ ;;
+ -*) # unknown option
+ echo "$usage" 1>&2
+ exit 1
+ ;;
+ *) # first non-opt arg
+ break
+ ;;
+ esac
+done
+
+for file
+do
+ if test -d "$file"; then
+ shift
+ else
+ break
+ fi
+done
+
+case $# in
+ 0) exit 0 ;;
+esac
+
+case $dirmode in
+ '')
+ if mkdir -p -- . 2>/dev/null; then
+ echo "mkdir -p -- $*"
+ exec mkdir -p -- "$@"
+ fi
+ ;;
+ *)
+ if mkdir -m "$dirmode" -p -- . 2>/dev/null; then
+ echo "mkdir -m $dirmode -p -- $*"
+ exec mkdir -m "$dirmode" -p -- "$@"
+ fi
+ ;;
+esac
+
+for file
+do
+ set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
+ shift
+
+ pathcomp=
+ for d
+ do
+ pathcomp="$pathcomp$d"
+ case $pathcomp in
+ -*) pathcomp=./$pathcomp ;;
+ esac
+
+ if test ! -d "$pathcomp"; then
+ echo "mkdir $pathcomp"
+
+ mkdir "$pathcomp" || lasterr=$?
+
+ if test ! -d "$pathcomp"; then
+ errstatus=$lasterr
+ else
+ if test ! -z "$dirmode"; then
+ echo "chmod $dirmode $pathcomp"
+ lasterr=""
+ chmod "$dirmode" "$pathcomp" || lasterr=$?
+
+ if test ! -z "$lasterr"; then
+ errstatus=$lasterr
+ fi
+ fi
+ fi
+ fi
+
+ pathcomp="$pathcomp/"
+ done
+done
+
+exit $errstatus
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# End:
+# mkinstalldirs ends here
diff --git a/tvision/INSTALL.txt b/rhtvision/INSTALL.txt
index 2557896..2557896 100644
--- a/tvision/INSTALL.txt
+++ b/rhtvision/INSTALL.txt
diff --git a/tvision/Makefile.bcc b/rhtvision/Makefile.bcc
index 04acd6a..04acd6a 100644
--- a/tvision/Makefile.bcc
+++ b/rhtvision/Makefile.bcc
diff --git a/tvision/Makefile.in b/rhtvision/Makefile.in
index 1d59290..1d59290 100644
--- a/tvision/Makefile.in
+++ b/rhtvision/Makefile.in
diff --git a/tvision/Makefile.nmk b/rhtvision/Makefile.nmk
index f8db22e..f8db22e 100644
--- a/tvision/Makefile.nmk
+++ b/rhtvision/Makefile.nmk
diff --git a/tvision/Makefile.wat b/rhtvision/Makefile.wat
index 3b94037..3b94037 100644
--- a/tvision/Makefile.wat
+++ b/rhtvision/Makefile.wat
diff --git a/tvision/THANKS b/rhtvision/THANKS
index d5eefa0..d5eefa0 100644
--- a/tvision/THANKS
+++ b/rhtvision/THANKS
diff --git a/tvision/TODO b/rhtvision/TODO
index 1559d76..1559d76 100644
--- a/tvision/TODO
+++ b/rhtvision/TODO
diff --git a/tvision/borland.txt b/rhtvision/borland.txt
index 13e4b9a..13e4b9a 100644
--- a/tvision/borland.txt
+++ b/rhtvision/borland.txt
diff --git a/tvision/change.log b/rhtvision/change.log
index d26d91b..d26d91b 100644
--- a/tvision/change.log
+++ b/rhtvision/change.log
diff --git a/tvision/change1.log b/rhtvision/change1.log
index 6d54b4f..6d54b4f 100644
--- a/tvision/change1.log
+++ b/rhtvision/change1.log
diff --git a/tvision/classes/alcon/alcon.cc b/rhtvision/classes/alcon/alcon.cc
index df3754b..df3754b 100644
--- a/tvision/classes/alcon/alcon.cc
+++ b/rhtvision/classes/alcon/alcon.cc
diff --git a/tvision/classes/alcon/alcondis.cc b/rhtvision/classes/alcon/alcondis.cc
index 132708f..132708f 100644
--- a/tvision/classes/alcon/alcondis.cc
+++ b/rhtvision/classes/alcon/alcondis.cc
diff --git a/tvision/classes/alcon/alconkey.cc b/rhtvision/classes/alcon/alconkey.cc
index c434c34..c434c34 100644
--- a/tvision/classes/alcon/alconkey.cc
+++ b/rhtvision/classes/alcon/alconkey.cc
diff --git a/tvision/classes/alcon/alconmouse.cc b/rhtvision/classes/alcon/alconmouse.cc
index a6e6143..a6e6143 100644
--- a/tvision/classes/alcon/alconmouse.cc
+++ b/rhtvision/classes/alcon/alconmouse.cc
diff --git a/tvision/classes/alcon/alconscr.cc b/rhtvision/classes/alcon/alconscr.cc
index 643bbdb..643bbdb 100644
--- a/tvision/classes/alcon/alconscr.cc
+++ b/rhtvision/classes/alcon/alconscr.cc
diff --git a/tvision/classes/calcdisp.cc b/rhtvision/classes/calcdisp.cc
index dfb4310..dfb4310 100644
--- a/tvision/classes/calcdisp.cc
+++ b/rhtvision/classes/calcdisp.cc
diff --git a/tvision/classes/calculat.cc b/rhtvision/classes/calculat.cc
index 9204155..9204155 100644
--- a/tvision/classes/calculat.cc
+++ b/rhtvision/classes/calculat.cc
diff --git a/tvision/classes/codepage.cc b/rhtvision/classes/codepage.cc
index 2b4eb37..2b4eb37 100644
--- a/tvision/classes/codepage.cc
+++ b/rhtvision/classes/codepage.cc
diff --git a/tvision/classes/configfile.cc b/rhtvision/classes/configfile.cc
index 4035e63..4035e63 100644
--- a/tvision/classes/configfile.cc
+++ b/rhtvision/classes/configfile.cc
diff --git a/tvision/classes/dos/dosdis.cc b/rhtvision/classes/dos/dosdis.cc
index 7a38458..7a38458 100644
--- a/tvision/classes/dos/dosdis.cc
+++ b/rhtvision/classes/dos/dosdis.cc
diff --git a/tvision/classes/dos/doskey.cc b/rhtvision/classes/dos/doskey.cc
index e9cac74..e9cac74 100644
--- a/tvision/classes/dos/doskey.cc
+++ b/rhtvision/classes/dos/doskey.cc
diff --git a/tvision/classes/dos/dosmouse.cc b/rhtvision/classes/dos/dosmouse.cc
index 79f7257..79f7257 100644
--- a/tvision/classes/dos/dosmouse.cc
+++ b/rhtvision/classes/dos/dosmouse.cc
diff --git a/tvision/classes/dos/dosscr.cc b/rhtvision/classes/dos/dosscr.cc
index f8e1f4e..f8e1f4e 100644
--- a/tvision/classes/dos/dosscr.cc
+++ b/rhtvision/classes/dos/dosscr.cc
diff --git a/tvision/classes/dos/rhscreen.cc b/rhtvision/classes/dos/rhscreen.cc
index 28159a9..28159a9 100644
--- a/tvision/classes/dos/rhscreen.cc
+++ b/rhtvision/classes/dos/rhscreen.cc
diff --git a/tvision/classes/dos/screen.cc b/rhtvision/classes/dos/screen.cc
index 2f92ae5..2f92ae5 100644
--- a/tvision/classes/dos/screen.cc
+++ b/rhtvision/classes/dos/screen.cc
diff --git a/tvision/classes/dos/sescreen.cc b/rhtvision/classes/dos/sescreen.cc
index 4dd3195..4dd3195 100644
--- a/tvision/classes/dos/sescreen.cc
+++ b/rhtvision/classes/dos/sescreen.cc
diff --git a/tvision/classes/dos/vesa.cc b/rhtvision/classes/dos/vesa.cc
index 5bcc13f..5bcc13f 100644
--- a/tvision/classes/dos/vesa.cc
+++ b/rhtvision/classes/dos/vesa.cc
diff --git a/tvision/classes/dos/vga.cc b/rhtvision/classes/dos/vga.cc
index 2c3a4a6..2c3a4a6 100644
--- a/tvision/classes/dos/vga.cc
+++ b/rhtvision/classes/dos/vga.cc
diff --git a/tvision/classes/dos/vgaregs.c b/rhtvision/classes/dos/vgaregs.c
index ed70088..ed70088 100644
--- a/tvision/classes/dos/vgaregs.c
+++ b/rhtvision/classes/dos/vgaregs.c
diff --git a/tvision/classes/dos/vgaregs.h b/rhtvision/classes/dos/vgaregs.h
index 7cf9f15..7cf9f15 100644
--- a/tvision/classes/dos/vgaregs.h
+++ b/rhtvision/classes/dos/vgaregs.h
diff --git a/tvision/classes/dos/vgastate.c b/rhtvision/classes/dos/vgastate.c
index 578ab18..578ab18 100644
--- a/tvision/classes/dos/vgastate.c
+++ b/rhtvision/classes/dos/vgastate.c
diff --git a/tvision/classes/dos/vgastate.h b/rhtvision/classes/dos/vgastate.h
index cd22c3a..cd22c3a 100644
--- a/tvision/classes/dos/vgastate.h
+++ b/rhtvision/classes/dos/vgastate.h
diff --git a/tvision/classes/fontcoll.cc b/rhtvision/classes/fontcoll.cc
index 5eae2b3..5eae2b3 100644
--- a/tvision/classes/fontcoll.cc
+++ b/rhtvision/classes/fontcoll.cc
diff --git a/tvision/classes/fpbase.cc b/rhtvision/classes/fpbase.cc
index 5f86546..5f86546 100644
--- a/tvision/classes/fpbase.cc
+++ b/rhtvision/classes/fpbase.cc
diff --git a/tvision/classes/fpstream.cc b/rhtvision/classes/fpstream.cc
index 6cda360..6cda360 100644
--- a/tvision/classes/fpstream.cc
+++ b/rhtvision/classes/fpstream.cc
diff --git a/tvision/classes/help.cc b/rhtvision/classes/help.cc
index 568b806..568b806 100644
--- a/tvision/classes/help.cc
+++ b/rhtvision/classes/help.cc
diff --git a/tvision/classes/helpbase.cc b/rhtvision/classes/helpbase.cc
index 6f315e4..6f315e4 100644
--- a/tvision/classes/helpbase.cc
+++ b/rhtvision/classes/helpbase.cc
diff --git a/tvision/classes/ifpstrea.cc b/rhtvision/classes/ifpstrea.cc
index 48d8629..48d8629 100644
--- a/tvision/classes/ifpstrea.cc
+++ b/rhtvision/classes/ifpstrea.cc
diff --git a/tvision/classes/iopstrea.cc b/rhtvision/classes/iopstrea.cc
index 50d8932..50d8932 100644
--- a/tvision/classes/iopstrea.cc
+++ b/rhtvision/classes/iopstrea.cc
diff --git a/tvision/classes/ipstream.cc b/rhtvision/classes/ipstream.cc
index 22530e6..22530e6 100644
--- a/tvision/classes/ipstream.cc
+++ b/rhtvision/classes/ipstream.cc
diff --git a/tvision/classes/linux/linuxdis.cc b/rhtvision/classes/linux/linuxdis.cc
index daea92d..daea92d 100644
--- a/tvision/classes/linux/linuxdis.cc
+++ b/rhtvision/classes/linux/linuxdis.cc
diff --git a/tvision/classes/linux/linuxkey.cc b/rhtvision/classes/linux/linuxkey.cc
index 253f5b9..253f5b9 100644
--- a/tvision/classes/linux/linuxkey.cc
+++ b/rhtvision/classes/linux/linuxkey.cc
diff --git a/tvision/classes/linux/linuxmouse.cc b/rhtvision/classes/linux/linuxmouse.cc
index 8871cf1..8871cf1 100644
--- a/tvision/classes/linux/linuxmouse.cc
+++ b/rhtvision/classes/linux/linuxmouse.cc
diff --git a/tvision/classes/linux/linuxscr.cc b/rhtvision/classes/linux/linuxscr.cc
index 2f2a69e..2f2a69e 100644
--- a/tvision/classes/linux/linuxscr.cc
+++ b/rhtvision/classes/linux/linuxscr.cc
diff --git a/tvision/classes/ofpstrea.cc b/rhtvision/classes/ofpstrea.cc
index a50dcf6..a50dcf6 100644
--- a/tvision/classes/ofpstrea.cc
+++ b/rhtvision/classes/ofpstrea.cc
diff --git a/tvision/classes/opstream.cc b/rhtvision/classes/opstream.cc
index 3da72a0..3da72a0 100644
--- a/tvision/classes/opstream.cc
+++ b/rhtvision/classes/opstream.cc
diff --git a/tvision/classes/osclipboard.cc b/rhtvision/classes/osclipboard.cc
index 67aa106..67aa106 100644
--- a/tvision/classes/osclipboard.cc
+++ b/rhtvision/classes/osclipboard.cc
diff --git a/tvision/classes/pstream.cc b/rhtvision/classes/pstream.cc
index 4286d69..4286d69 100644
--- a/tvision/classes/pstream.cc
+++ b/rhtvision/classes/pstream.cc
diff --git a/tvision/classes/qnx4/qnx4dis.cc b/rhtvision/classes/qnx4/qnx4dis.cc
index b3e4156..b3e4156 100644
--- a/tvision/classes/qnx4/qnx4dis.cc
+++ b/rhtvision/classes/qnx4/qnx4dis.cc
diff --git a/tvision/classes/qnx4/qnx4key.cc b/rhtvision/classes/qnx4/qnx4key.cc
index aa7c3fb..aa7c3fb 100644
--- a/tvision/classes/qnx4/qnx4key.cc
+++ b/rhtvision/classes/qnx4/qnx4key.cc
diff --git a/tvision/classes/qnx4/qnx4mouse.cc b/rhtvision/classes/qnx4/qnx4mouse.cc
index d892af1..d892af1 100644
--- a/tvision/classes/qnx4/qnx4mouse.cc
+++ b/rhtvision/classes/qnx4/qnx4mouse.cc
diff --git a/tvision/classes/qnx4/qnx4scr.cc b/rhtvision/classes/qnx4/qnx4scr.cc
index 05fdfda..05fdfda 100644
--- a/tvision/classes/qnx4/qnx4scr.cc
+++ b/rhtvision/classes/qnx4/qnx4scr.cc
diff --git a/tvision/classes/qnxrtp/qnxdis.cc b/rhtvision/classes/qnxrtp/qnxdis.cc
index d805aa5..d805aa5 100644
--- a/tvision/classes/qnxrtp/qnxdis.cc
+++ b/rhtvision/classes/qnxrtp/qnxdis.cc
diff --git a/tvision/classes/qnxrtp/qnxkey.cc b/rhtvision/classes/qnxrtp/qnxkey.cc
index 61a3f3b..61a3f3b 100644
--- a/tvision/classes/qnxrtp/qnxkey.cc
+++ b/rhtvision/classes/qnxrtp/qnxkey.cc
diff --git a/tvision/classes/qnxrtp/qnxmouse.cc b/rhtvision/classes/qnxrtp/qnxmouse.cc
index 60a55bb..60a55bb 100644
--- a/tvision/classes/qnxrtp/qnxmouse.cc
+++ b/rhtvision/classes/qnxrtp/qnxmouse.cc
diff --git a/tvision/classes/qnxrtp/qnxscr.cc b/rhtvision/classes/qnxrtp/qnxscr.cc
index 1be2f09..1be2f09 100644
--- a/tvision/classes/qnxrtp/qnxscr.cc
+++ b/rhtvision/classes/qnxrtp/qnxscr.cc
diff --git a/tvision/classes/tapplica.cc b/rhtvision/classes/tapplica.cc
index b928720..b928720 100644
--- a/tvision/classes/tapplica.cc
+++ b/rhtvision/classes/tapplica.cc
diff --git a/tvision/classes/tbackgro.cc b/rhtvision/classes/tbackgro.cc
index 9d3f621..9d3f621 100644
--- a/tvision/classes/tbackgro.cc
+++ b/rhtvision/classes/tbackgro.cc
diff --git a/tvision/classes/tbutton.cc b/rhtvision/classes/tbutton.cc
index 7b2b884..7b2b884 100644
--- a/tvision/classes/tbutton.cc
+++ b/rhtvision/classes/tbutton.cc
diff --git a/tvision/classes/tchdirdi.cc b/rhtvision/classes/tchdirdi.cc
index 2f8aff5..2f8aff5 100644
--- a/tvision/classes/tchdirdi.cc
+++ b/rhtvision/classes/tchdirdi.cc
diff --git a/tvision/classes/tcheckbo.cc b/rhtvision/classes/tcheckbo.cc
index deb3d61..deb3d61 100644
--- a/tvision/classes/tcheckbo.cc
+++ b/rhtvision/classes/tcheckbo.cc
diff --git a/tvision/classes/tclrdisp.cc b/rhtvision/classes/tclrdisp.cc
index 07107de..07107de 100644
--- a/tvision/classes/tclrdisp.cc
+++ b/rhtvision/classes/tclrdisp.cc
diff --git a/tvision/classes/tcluster.cc b/rhtvision/classes/tcluster.cc
index 91a63c0..91a63c0 100644
--- a/tvision/classes/tcluster.cc
+++ b/rhtvision/classes/tcluster.cc
diff --git a/tvision/classes/tcollect.cc b/rhtvision/classes/tcollect.cc
index 65ad764..65ad764 100644
--- a/tvision/classes/tcollect.cc
+++ b/rhtvision/classes/tcollect.cc
diff --git a/tvision/classes/tcolordi.cc b/rhtvision/classes/tcolordi.cc
index 6d48326..6d48326 100644
--- a/tvision/classes/tcolordi.cc
+++ b/rhtvision/classes/tcolordi.cc
diff --git a/tvision/classes/tcolorgr.cc b/rhtvision/classes/tcolorgr.cc
index b01dd4b..b01dd4b 100644
--- a/tvision/classes/tcolorgr.cc
+++ b/rhtvision/classes/tcolorgr.cc
diff --git a/tvision/classes/tcolorit.cc b/rhtvision/classes/tcolorit.cc
index 1545ca5..1545ca5 100644
--- a/tvision/classes/tcolorit.cc
+++ b/rhtvision/classes/tcolorit.cc
diff --git a/tvision/classes/tcolorse.cc b/rhtvision/classes/tcolorse.cc
index f9b9b0d..f9b9b0d 100644
--- a/tvision/classes/tcolorse.cc
+++ b/rhtvision/classes/tcolorse.cc
diff --git a/tvision/classes/tcommand.cc b/rhtvision/classes/tcommand.cc
index 27edc8f..27edc8f 100644
--- a/tvision/classes/tcommand.cc
+++ b/rhtvision/classes/tcommand.cc
diff --git a/tvision/classes/tdesktop.cc b/rhtvision/classes/tdesktop.cc
index 38f1be4..38f1be4 100644
--- a/tvision/classes/tdesktop.cc
+++ b/rhtvision/classes/tdesktop.cc
diff --git a/tvision/classes/tdialog.cc b/rhtvision/classes/tdialog.cc
index ede375e..ede375e 100644
--- a/tvision/classes/tdialog.cc
+++ b/rhtvision/classes/tdialog.cc
diff --git a/tvision/classes/tdircoll.cc b/rhtvision/classes/tdircoll.cc
index 4bb39fd..4bb39fd 100644
--- a/tvision/classes/tdircoll.cc
+++ b/rhtvision/classes/tdircoll.cc
diff --git a/tvision/classes/tdirlist.cc b/rhtvision/classes/tdirlist.cc
index 178114a..178114a 100644
--- a/tvision/classes/tdirlist.cc
+++ b/rhtvision/classes/tdirlist.cc
diff --git a/tvision/classes/tdisplay.cc b/rhtvision/classes/tdisplay.cc
index 0bef192..0bef192 100644
--- a/tvision/classes/tdisplay.cc
+++ b/rhtvision/classes/tdisplay.cc
diff --git a/tvision/classes/tdrawbuf.cc b/rhtvision/classes/tdrawbuf.cc
index 482b320..482b320 100644
--- a/tvision/classes/tdrawbuf.cc
+++ b/rhtvision/classes/tdrawbuf.cc
diff --git a/tvision/classes/teditor.cc b/rhtvision/classes/teditor.cc
index d5f6c53..d5f6c53 100644
--- a/tvision/classes/teditor.cc
+++ b/rhtvision/classes/teditor.cc
diff --git a/tvision/classes/teditorf.cc b/rhtvision/classes/teditorf.cc
index e4db81e..e4db81e 100644
--- a/tvision/classes/teditorf.cc
+++ b/rhtvision/classes/teditorf.cc
diff --git a/tvision/classes/teditwin.cc b/rhtvision/classes/teditwin.cc
index 9b32d8c..9b32d8c 100644
--- a/tvision/classes/teditwin.cc
+++ b/rhtvision/classes/teditwin.cc
diff --git a/tvision/classes/tevent.cc b/rhtvision/classes/tevent.cc
index f270517..f270517 100644
--- a/tvision/classes/tevent.cc
+++ b/rhtvision/classes/tevent.cc
diff --git a/tvision/classes/tfilecol.cc b/rhtvision/classes/tfilecol.cc
index 0aed0a5..0aed0a5 100644
--- a/tvision/classes/tfilecol.cc
+++ b/rhtvision/classes/tfilecol.cc
diff --git a/tvision/classes/tfiledia.cc b/rhtvision/classes/tfiledia.cc
index 5fb82e5..5fb82e5 100644
--- a/tvision/classes/tfiledia.cc
+++ b/rhtvision/classes/tfiledia.cc
diff --git a/tvision/classes/tfileedi.cc b/rhtvision/classes/tfileedi.cc
index 6f57f88..6f57f88 100644
--- a/tvision/classes/tfileedi.cc
+++ b/rhtvision/classes/tfileedi.cc
diff --git a/tvision/classes/tfileinf.cc b/rhtvision/classes/tfileinf.cc
index ef3dd4b..ef3dd4b 100644
--- a/tvision/classes/tfileinf.cc
+++ b/rhtvision/classes/tfileinf.cc
diff --git a/tvision/classes/tfileinp.cc b/rhtvision/classes/tfileinp.cc
index 14f5420..14f5420 100644
--- a/tvision/classes/tfileinp.cc
+++ b/rhtvision/classes/tfileinp.cc
diff --git a/tvision/classes/tfilelis.cc b/rhtvision/classes/tfilelis.cc
index 56a06e4..56a06e4 100644
--- a/tvision/classes/tfilelis.cc
+++ b/rhtvision/classes/tfilelis.cc
diff --git a/tvision/classes/tfilterv.cc b/rhtvision/classes/tfilterv.cc
index 68b746a..68b746a 100644
--- a/tvision/classes/tfilterv.cc
+++ b/rhtvision/classes/tfilterv.cc
diff --git a/tvision/classes/tframe.cc b/rhtvision/classes/tframe.cc
index a141088..a141088 100644
--- a/tvision/classes/tframe.cc
+++ b/rhtvision/classes/tframe.cc
diff --git a/tvision/classes/tgkey.cc b/rhtvision/classes/tgkey.cc
index 76c8458..76c8458 100644
--- a/tvision/classes/tgkey.cc
+++ b/rhtvision/classes/tgkey.cc
diff --git a/tvision/classes/tgroup.cc b/rhtvision/classes/tgroup.cc
index fc5b1d1..fc5b1d1 100644
--- a/tvision/classes/tgroup.cc
+++ b/rhtvision/classes/tgroup.cc
diff --git a/tvision/classes/thistory.cc b/rhtvision/classes/thistory.cc
index 71fa07f..71fa07f 100644
--- a/tvision/classes/thistory.cc
+++ b/rhtvision/classes/thistory.cc
diff --git a/tvision/classes/thistvie.cc b/rhtvision/classes/thistvie.cc
index 8504892..8504892 100644
--- a/tvision/classes/thistvie.cc
+++ b/rhtvision/classes/thistvie.cc
diff --git a/tvision/classes/thistwin.cc b/rhtvision/classes/thistwin.cc
index 7329726..7329726 100644
--- a/tvision/classes/thistwin.cc
+++ b/rhtvision/classes/thistwin.cc
diff --git a/tvision/classes/thwmouse.cc b/rhtvision/classes/thwmouse.cc
index 54bcd70..54bcd70 100644
--- a/tvision/classes/thwmouse.cc
+++ b/rhtvision/classes/thwmouse.cc
diff --git a/tvision/classes/tindicat.cc b/rhtvision/classes/tindicat.cc
index ce23a29..ce23a29 100644
--- a/tvision/classes/tindicat.cc
+++ b/rhtvision/classes/tindicat.cc
diff --git a/tvision/classes/tinputli.cc b/rhtvision/classes/tinputli.cc
index cae0a08..cae0a08 100644
--- a/tvision/classes/tinputli.cc
+++ b/rhtvision/classes/tinputli.cc
diff --git a/tvision/classes/tlabel.cc b/rhtvision/classes/tlabel.cc
index 08350be..08350be 100644
--- a/tvision/classes/tlabel.cc
+++ b/rhtvision/classes/tlabel.cc
diff --git a/tvision/classes/tlistbox.cc b/rhtvision/classes/tlistbox.cc
index 73c4770..73c4770 100644
--- a/tvision/classes/tlistbox.cc
+++ b/rhtvision/classes/tlistbox.cc
diff --git a/tvision/classes/tlistvie.cc b/rhtvision/classes/tlistvie.cc
index 172bf74..172bf74 100644
--- a/tvision/classes/tlistvie.cc
+++ b/rhtvision/classes/tlistvie.cc
diff --git a/tvision/classes/tlookupv.cc b/rhtvision/classes/tlookupv.cc
index 96dc3e8..96dc3e8 100644
--- a/tvision/classes/tlookupv.cc
+++ b/rhtvision/classes/tlookupv.cc
diff --git a/tvision/classes/tmemo.cc b/rhtvision/classes/tmemo.cc
index 00ede46..00ede46 100644
--- a/tvision/classes/tmemo.cc
+++ b/rhtvision/classes/tmemo.cc
diff --git a/tvision/classes/tmenubar.cc b/rhtvision/classes/tmenubar.cc
index 5709a1e..5709a1e 100644
--- a/tvision/classes/tmenubar.cc
+++ b/rhtvision/classes/tmenubar.cc
diff --git a/tvision/classes/tmenubox.cc b/rhtvision/classes/tmenubox.cc
index a5cb511..a5cb511 100644
--- a/tvision/classes/tmenubox.cc
+++ b/rhtvision/classes/tmenubox.cc
diff --git a/tvision/classes/tmenuvie.cc b/rhtvision/classes/tmenuvie.cc
index 20af538..20af538 100644
--- a/tvision/classes/tmenuvie.cc
+++ b/rhtvision/classes/tmenuvie.cc
diff --git a/tvision/classes/tmonosel.cc b/rhtvision/classes/tmonosel.cc
index 8eb2162..8eb2162 100644
--- a/tvision/classes/tmonosel.cc
+++ b/rhtvision/classes/tmonosel.cc
diff --git a/tvision/classes/tmouse.cc b/rhtvision/classes/tmouse.cc
index 10db771..10db771 100644
--- a/tvision/classes/tmouse.cc
+++ b/rhtvision/classes/tmouse.cc
diff --git a/tvision/classes/tnscolle.cc b/rhtvision/classes/tnscolle.cc
index 86a124a..86a124a 100644
--- a/tvision/classes/tnscolle.cc
+++ b/rhtvision/classes/tnscolle.cc
diff --git a/tvision/classes/tnssorte.cc b/rhtvision/classes/tnssorte.cc
index 6d43685..6d43685 100644
--- a/tvision/classes/tnssorte.cc
+++ b/rhtvision/classes/tnssorte.cc
diff --git a/tvision/classes/tobject.cc b/rhtvision/classes/tobject.cc
index 4808d2c..4808d2c 100644
--- a/tvision/classes/tobject.cc
+++ b/rhtvision/classes/tobject.cc
diff --git a/tvision/classes/tpalette.cc b/rhtvision/classes/tpalette.cc
index 6ee1a09..6ee1a09 100644
--- a/tvision/classes/tpalette.cc
+++ b/rhtvision/classes/tpalette.cc
diff --git a/tvision/classes/tparamte.cc b/rhtvision/classes/tparamte.cc
index 075b1f3..075b1f3 100644
--- a/tvision/classes/tparamte.cc
+++ b/rhtvision/classes/tparamte.cc
diff --git a/tvision/classes/tpoint.cc b/rhtvision/classes/tpoint.cc
index 7a1dd8c..7a1dd8c 100644
--- a/tvision/classes/tpoint.cc
+++ b/rhtvision/classes/tpoint.cc
diff --git a/tvision/classes/tprogini.cc b/rhtvision/classes/tprogini.cc
index 85f9280..85f9280 100644
--- a/tvision/classes/tprogini.cc
+++ b/rhtvision/classes/tprogini.cc
diff --git a/tvision/classes/tprogram.cc b/rhtvision/classes/tprogram.cc
index 6a70ab4..6a70ab4 100644
--- a/tvision/classes/tprogram.cc
+++ b/rhtvision/classes/tprogram.cc
diff --git a/tvision/classes/tpwobj.cc b/rhtvision/classes/tpwobj.cc
index 4b21ad8..4b21ad8 100644
--- a/tvision/classes/tpwobj.cc
+++ b/rhtvision/classes/tpwobj.cc
diff --git a/tvision/classes/tpwreado.cc b/rhtvision/classes/tpwreado.cc
index b71b34b..b71b34b 100644
--- a/tvision/classes/tpwreado.cc
+++ b/rhtvision/classes/tpwreado.cc
diff --git a/tvision/classes/tpwritte.cc b/rhtvision/classes/tpwritte.cc
index 3236382..3236382 100644
--- a/tvision/classes/tpwritte.cc
+++ b/rhtvision/classes/tpwritte.cc
diff --git a/tvision/classes/tpxvalid.cc b/rhtvision/classes/tpxvalid.cc
index 4cf8bea..4cf8bea 100644
--- a/tvision/classes/tpxvalid.cc
+++ b/rhtvision/classes/tpxvalid.cc
diff --git a/tvision/classes/tradiobu.cc b/rhtvision/classes/tradiobu.cc
index fcc3a43..fcc3a43 100644
--- a/tvision/classes/tradiobu.cc
+++ b/rhtvision/classes/tradiobu.cc
diff --git a/tvision/classes/trangeva.cc b/rhtvision/classes/trangeva.cc
index 58c96fa..58c96fa 100644
--- a/tvision/classes/trangeva.cc
+++ b/rhtvision/classes/trangeva.cc
diff --git a/tvision/classes/trescoll.cc b/rhtvision/classes/trescoll.cc
index 982e999..982e999 100644
--- a/tvision/classes/trescoll.cc
+++ b/rhtvision/classes/trescoll.cc
diff --git a/tvision/classes/tresfile.cc b/rhtvision/classes/tresfile.cc
index 300c1ed..300c1ed 100644
--- a/tvision/classes/tresfile.cc
+++ b/rhtvision/classes/tresfile.cc
diff --git a/tvision/classes/tscreen.cc b/rhtvision/classes/tscreen.cc
index 47c875f..47c875f 100644
--- a/tvision/classes/tscreen.cc
+++ b/rhtvision/classes/tscreen.cc
diff --git a/tvision/classes/tscrollb.cc b/rhtvision/classes/tscrollb.cc
index ca48196..ca48196 100644
--- a/tvision/classes/tscrollb.cc
+++ b/rhtvision/classes/tscrollb.cc
diff --git a/tvision/classes/tscrolle.cc b/rhtvision/classes/tscrolle.cc
index 14eb837..14eb837 100644
--- a/tvision/classes/tscrolle.cc
+++ b/rhtvision/classes/tscrolle.cc
diff --git a/tvision/classes/tsortedc.cc b/rhtvision/classes/tsortedc.cc
index a7a2f0e..a7a2f0e 100644
--- a/tvision/classes/tsortedc.cc
+++ b/rhtvision/classes/tsortedc.cc
diff --git a/tvision/classes/tsortedl.cc b/rhtvision/classes/tsortedl.cc
index 4c1e60c..4c1e60c 100644
--- a/tvision/classes/tsortedl.cc
+++ b/rhtvision/classes/tsortedl.cc
diff --git a/tvision/classes/tstatict.cc b/rhtvision/classes/tstatict.cc
index 5b78906..5b78906 100644
--- a/tvision/classes/tstatict.cc
+++ b/rhtvision/classes/tstatict.cc
diff --git a/tvision/classes/tstatusd.cc b/rhtvision/classes/tstatusd.cc
index 9377b6e..9377b6e 100644
--- a/tvision/classes/tstatusd.cc
+++ b/rhtvision/classes/tstatusd.cc
diff --git a/tvision/classes/tstatusl.cc b/rhtvision/classes/tstatusl.cc
index 9c542fb..9c542fb 100644
--- a/tvision/classes/tstatusl.cc
+++ b/rhtvision/classes/tstatusl.cc
diff --git a/tvision/classes/tstrinde.cc b/rhtvision/classes/tstrinde.cc
index 228da84..228da84 100644
--- a/tvision/classes/tstrinde.cc
+++ b/rhtvision/classes/tstrinde.cc
diff --git a/tvision/classes/tstringc.cc b/rhtvision/classes/tstringc.cc
index 4feb0a1..4feb0a1 100644
--- a/tvision/classes/tstringc.cc
+++ b/rhtvision/classes/tstringc.cc
diff --git a/tvision/classes/tstringl.cc b/rhtvision/classes/tstringl.cc
index 85cb51a..85cb51a 100644
--- a/tvision/classes/tstringl.cc
+++ b/rhtvision/classes/tstringl.cc
diff --git a/tvision/classes/tstrlist.cc b/rhtvision/classes/tstrlist.cc
index 97bdb7f..97bdb7f 100644
--- a/tvision/classes/tstrlist.cc
+++ b/rhtvision/classes/tstrlist.cc
diff --git a/tvision/classes/tstrmcla.cc b/rhtvision/classes/tstrmcla.cc
index f70e6ef..f70e6ef 100644
--- a/tvision/classes/tstrmcla.cc
+++ b/rhtvision/classes/tstrmcla.cc
diff --git a/tvision/classes/tstrmtyp.cc b/rhtvision/classes/tstrmtyp.cc
index 3ec7e38..3ec7e38 100644
--- a/tvision/classes/tstrmtyp.cc
+++ b/rhtvision/classes/tstrmtyp.cc
diff --git a/tvision/classes/tsubmenu.cc b/rhtvision/classes/tsubmenu.cc
index 8b241fb..8b241fb 100644
--- a/tvision/classes/tsubmenu.cc
+++ b/rhtvision/classes/tsubmenu.cc
diff --git a/tvision/classes/ttermina.cc b/rhtvision/classes/ttermina.cc
index ab2f0b6..ab2f0b6 100644
--- a/tvision/classes/ttermina.cc
+++ b/rhtvision/classes/ttermina.cc
diff --git a/tvision/classes/ttextdev.cc b/rhtvision/classes/ttextdev.cc
index 1ed4c6c..1ed4c6c 100644
--- a/tvision/classes/ttextdev.cc
+++ b/rhtvision/classes/ttextdev.cc
diff --git a/tvision/classes/tvalidat.cc b/rhtvision/classes/tvalidat.cc
index 670a014..670a014 100644
--- a/tvision/classes/tvalidat.cc
+++ b/rhtvision/classes/tvalidat.cc
diff --git a/tvision/classes/tvedit1.cc b/rhtvision/classes/tvedit1.cc
index b3d1f28..b3d1f28 100644
--- a/tvision/classes/tvedit1.cc
+++ b/rhtvision/classes/tvedit1.cc
diff --git a/tvision/classes/tvedit2.cc b/rhtvision/classes/tvedit2.cc
index 79cf679..79cf679 100644
--- a/tvision/classes/tvedit2.cc
+++ b/rhtvision/classes/tvedit2.cc
diff --git a/tvision/classes/tvedit3.cc b/rhtvision/classes/tvedit3.cc
index afe1397..afe1397 100644
--- a/tvision/classes/tvedit3.cc
+++ b/rhtvision/classes/tvedit3.cc
diff --git a/tvision/classes/tview.cc b/rhtvision/classes/tview.cc
index 005ab44..005ab44 100644
--- a/tvision/classes/tview.cc
+++ b/rhtvision/classes/tview.cc
diff --git a/tvision/classes/tvintl.cc b/rhtvision/classes/tvintl.cc
index 974ac16..974ac16 100644
--- a/tvision/classes/tvintl.cc
+++ b/rhtvision/classes/tvintl.cc
diff --git a/tvision/classes/tvtext1.cc b/rhtvision/classes/tvtext1.cc
index 3955ea3..3955ea3 100644
--- a/tvision/classes/tvtext1.cc
+++ b/rhtvision/classes/tvtext1.cc
diff --git a/tvision/classes/tvtext2.cc b/rhtvision/classes/tvtext2.cc
index 8b13789..8b13789 100644
--- a/tvision/classes/tvtext2.cc
+++ b/rhtvision/classes/tvtext2.cc
diff --git a/tvision/classes/twindow.cc b/rhtvision/classes/twindow.cc
index e824363..e824363 100644
--- a/tvision/classes/twindow.cc
+++ b/rhtvision/classes/twindow.cc
diff --git a/tvision/classes/unix/unixdis.cc b/rhtvision/classes/unix/unixdis.cc
index deec174..deec174 100644
--- a/tvision/classes/unix/unixdis.cc
+++ b/rhtvision/classes/unix/unixdis.cc
diff --git a/tvision/classes/unix/unixkey.cc b/rhtvision/classes/unix/unixkey.cc
index 960501d..960501d 100644
--- a/tvision/classes/unix/unixkey.cc
+++ b/rhtvision/classes/unix/unixkey.cc
diff --git a/tvision/classes/unix/unixmouse.cc b/rhtvision/classes/unix/unixmouse.cc
index fafcd36..fafcd36 100644
--- a/tvision/classes/unix/unixmouse.cc
+++ b/rhtvision/classes/unix/unixmouse.cc
diff --git a/tvision/classes/unix/unixscr.cc b/rhtvision/classes/unix/unixscr.cc
index b98416d..b98416d 100644
--- a/tvision/classes/unix/unixscr.cc
+++ b/rhtvision/classes/unix/unixscr.cc
diff --git a/tvision/classes/unix/xtermdis.cc b/rhtvision/classes/unix/xtermdis.cc
index cdf7b06..cdf7b06 100644
--- a/tvision/classes/unix/xtermdis.cc
+++ b/rhtvision/classes/unix/xtermdis.cc
diff --git a/tvision/classes/unix/xtermkey.cc b/rhtvision/classes/unix/xtermkey.cc
index 546c11e..546c11e 100644
--- a/tvision/classes/unix/xtermkey.cc
+++ b/rhtvision/classes/unix/xtermkey.cc
diff --git a/tvision/classes/unix/xtermmouse.cc b/rhtvision/classes/unix/xtermmouse.cc
index d4d2d85..d4d2d85 100644
--- a/tvision/classes/unix/xtermmouse.cc
+++ b/rhtvision/classes/unix/xtermmouse.cc
diff --git a/tvision/classes/unix/xtermscr.cc b/rhtvision/classes/unix/xtermscr.cc
index 9a5dbac..9a5dbac 100644
--- a/tvision/classes/unix/xtermscr.cc
+++ b/rhtvision/classes/unix/xtermscr.cc
diff --git a/tvision/classes/win32/win32clip.cc b/rhtvision/classes/win32/win32clip.cc
index 0ceb52c..0ceb52c 100644
--- a/tvision/classes/win32/win32clip.cc
+++ b/rhtvision/classes/win32/win32clip.cc
diff --git a/tvision/classes/win32/win32dis.cc b/rhtvision/classes/win32/win32dis.cc
index f0cb2cd..f0cb2cd 100644
--- a/tvision/classes/win32/win32dis.cc
+++ b/rhtvision/classes/win32/win32dis.cc
diff --git a/tvision/classes/win32/win32key.cc b/rhtvision/classes/win32/win32key.cc
index f467d70..f467d70 100644
--- a/tvision/classes/win32/win32key.cc
+++ b/rhtvision/classes/win32/win32key.cc
diff --git a/tvision/classes/win32/win32mouse.cc b/rhtvision/classes/win32/win32mouse.cc
index 8255430..8255430 100644
--- a/tvision/classes/win32/win32mouse.cc
+++ b/rhtvision/classes/win32/win32mouse.cc
diff --git a/tvision/classes/win32/win32scr.cc b/rhtvision/classes/win32/win32scr.cc
index a1655d0..a1655d0 100644
--- a/tvision/classes/win32/win32scr.cc
+++ b/rhtvision/classes/win32/win32scr.cc
diff --git a/tvision/classes/wingr/wingrdis.cc b/rhtvision/classes/wingr/wingrdis.cc
index b5a08c3..b5a08c3 100644
--- a/tvision/classes/wingr/wingrdis.cc
+++ b/rhtvision/classes/wingr/wingrdis.cc
diff --git a/tvision/classes/wingr/wingrkey.cc b/rhtvision/classes/wingr/wingrkey.cc
index 16a9fa3..16a9fa3 100644
--- a/tvision/classes/wingr/wingrkey.cc
+++ b/rhtvision/classes/wingr/wingrkey.cc
diff --git a/tvision/classes/wingr/wingrmouse.cc b/rhtvision/classes/wingr/wingrmouse.cc
index 3cd860e..3cd860e 100644
--- a/tvision/classes/wingr/wingrmouse.cc
+++ b/rhtvision/classes/wingr/wingrmouse.cc
diff --git a/tvision/classes/wingr/wingrscr.cc b/rhtvision/classes/wingr/wingrscr.cc
index 9ee860a..9ee860a 100644
--- a/tvision/classes/wingr/wingrscr.cc
+++ b/rhtvision/classes/wingr/wingrscr.cc
diff --git a/tvision/classes/winnt/winntdis.cc b/rhtvision/classes/winnt/winntdis.cc
index 2b47ddb..2b47ddb 100644
--- a/tvision/classes/winnt/winntdis.cc
+++ b/rhtvision/classes/winnt/winntdis.cc
diff --git a/tvision/classes/winnt/winntkey.cc b/rhtvision/classes/winnt/winntkey.cc
index 75893b7..75893b7 100644
--- a/tvision/classes/winnt/winntkey.cc
+++ b/rhtvision/classes/winnt/winntkey.cc
diff --git a/tvision/classes/winnt/winntmouse.cc b/rhtvision/classes/winnt/winntmouse.cc
index 878157c..878157c 100644
--- a/tvision/classes/winnt/winntmouse.cc
+++ b/rhtvision/classes/winnt/winntmouse.cc
diff --git a/tvision/classes/winnt/winntscr.cc b/rhtvision/classes/winnt/winntscr.cc
index e9ebf8a..e9ebf8a 100644
--- a/tvision/classes/winnt/winntscr.cc
+++ b/rhtvision/classes/winnt/winntscr.cc
diff --git a/tvision/classes/x11/x11dis.cc b/rhtvision/classes/x11/x11dis.cc
index c5e1770..c5e1770 100644
--- a/tvision/classes/x11/x11dis.cc
+++ b/rhtvision/classes/x11/x11dis.cc
diff --git a/tvision/classes/x11/x11key.cc b/rhtvision/classes/x11/x11key.cc
index 8086e97..8086e97 100644
--- a/tvision/classes/x11/x11key.cc
+++ b/rhtvision/classes/x11/x11key.cc
diff --git a/tvision/classes/x11/x11mouse.cc b/rhtvision/classes/x11/x11mouse.cc
index d81abd6..d81abd6 100644
--- a/tvision/classes/x11/x11mouse.cc
+++ b/rhtvision/classes/x11/x11mouse.cc
diff --git a/tvision/classes/x11/x11src.cc b/rhtvision/classes/x11/x11src.cc
index 9cdc398..9cdc398 100644
--- a/tvision/classes/x11/x11src.cc
+++ b/rhtvision/classes/x11/x11src.cc
diff --git a/tvision/compat/beep.c b/rhtvision/compat/beep.c
index 206b18f..206b18f 100644
--- a/tvision/compat/beep.c
+++ b/rhtvision/compat/beep.c
diff --git a/tvision/compat/compat.gpr b/rhtvision/compat/compat.gpr
index d15254a..d15254a 100644
--- a/tvision/compat/compat.gpr
+++ b/rhtvision/compat/compat.gpr
Binary files differ
diff --git a/tvision/compat/compat.imk b/rhtvision/compat/compat.imk
index 9e9e989..9e9e989 100644
--- a/tvision/compat/compat.imk
+++ b/rhtvision/compat/compat.imk
diff --git a/tvision/compat/compat.umk b/rhtvision/compat/compat.umk
index 2feedc3..2feedc3 100644
--- a/tvision/compat/compat.umk
+++ b/rhtvision/compat/compat.umk
diff --git a/tvision/compat/drivevalid.c b/rhtvision/compat/drivevalid.c
index 9d03b51..9d03b51 100644
--- a/tvision/compat/drivevalid.c
+++ b/rhtvision/compat/drivevalid.c
diff --git a/tvision/compat/expandpath.c b/rhtvision/compat/expandpath.c
index 89a1d70..89a1d70 100644
--- a/tvision/compat/expandpath.c
+++ b/rhtvision/compat/expandpath.c
diff --git a/tvision/compat/fexpand.c b/rhtvision/compat/fexpand.c
index 65489ae..65489ae 100644
--- a/tvision/compat/fexpand.c
+++ b/rhtvision/compat/fexpand.c
diff --git a/tvision/compat/fileattrs.c b/rhtvision/compat/fileattrs.c
index 2993a01..2993a01 100644
--- a/tvision/compat/fileattrs.c
+++ b/rhtvision/compat/fileattrs.c
diff --git a/tvision/compat/fileexists.c b/rhtvision/compat/fileexists.c
index d57bb05..d57bb05 100644
--- a/tvision/compat/fileexists.c
+++ b/rhtvision/compat/fileexists.c
diff --git a/tvision/compat/filelength.c b/rhtvision/compat/filelength.c
index 8643b95..8643b95 100644
--- a/tvision/compat/filelength.c
+++ b/rhtvision/compat/filelength.c
diff --git a/tvision/compat/fixpath.c b/rhtvision/compat/fixpath.c
index f121fc9..f121fc9 100644
--- a/tvision/compat/fixpath.c
+++ b/rhtvision/compat/fixpath.c
diff --git a/tvision/compat/fnmatch.c b/rhtvision/compat/fnmatch.c
index df4dcd8..df4dcd8 100644
--- a/tvision/compat/fnmatch.c
+++ b/rhtvision/compat/fnmatch.c
diff --git a/tvision/compat/getcurdir.c b/rhtvision/compat/getcurdir.c
index 6af56ec..6af56ec 100644
--- a/tvision/compat/getcurdir.c
+++ b/rhtvision/compat/getcurdir.c
diff --git a/tvision/compat/getline.c b/rhtvision/compat/getline.c
index f3a535d..f3a535d 100644
--- a/tvision/compat/getline.c
+++ b/rhtvision/compat/getline.c
diff --git a/tvision/compat/getopt.c b/rhtvision/compat/getopt.c
index a53c8b7..a53c8b7 100644
--- a/tvision/compat/getopt.c
+++ b/rhtvision/compat/getopt.c
diff --git a/tvision/compat/getopt1.c b/rhtvision/compat/getopt1.c
index 52a20f6..52a20f6 100644
--- a/tvision/compat/getopt1.c
+++ b/rhtvision/compat/getopt1.c
diff --git a/tvision/compat/getshell.c b/rhtvision/compat/getshell.c
index e8954be..e8954be 100644
--- a/tvision/compat/getshell.c
+++ b/rhtvision/compat/getshell.c
diff --git a/tvision/compat/glob.c b/rhtvision/compat/glob.c
index eea9c9c..eea9c9c 100644
--- a/tvision/compat/glob.c
+++ b/rhtvision/compat/glob.c
diff --git a/tvision/compat/globfree.c b/rhtvision/compat/globfree.c
index ee034e1..ee034e1 100644
--- a/tvision/compat/globfree.c
+++ b/rhtvision/compat/globfree.c
diff --git a/tvision/compat/iffilelen.cc b/rhtvision/compat/iffilelen.cc
index 7976774..7976774 100644
--- a/tvision/compat/iffilelen.cc
+++ b/rhtvision/compat/iffilelen.cc
diff --git a/tvision/compat/isdir.c b/rhtvision/compat/isdir.c
index 8eae6a5..8eae6a5 100644
--- a/tvision/compat/isdir.c
+++ b/rhtvision/compat/isdir.c
diff --git a/tvision/compat/isrelpath.c b/rhtvision/compat/isrelpath.c
index 79fa4e9..79fa4e9 100644
--- a/tvision/compat/isrelpath.c
+++ b/rhtvision/compat/isrelpath.c
diff --git a/tvision/compat/iswild.c b/rhtvision/compat/iswild.c
index 1684eab..1684eab 100644
--- a/tvision/compat/iswild.c
+++ b/rhtvision/compat/iswild.c
diff --git a/tvision/compat/itoa.c b/rhtvision/compat/itoa.c
index f3737e5..f3737e5 100644
--- a/tvision/compat/itoa.c
+++ b/rhtvision/compat/itoa.c
diff --git a/tvision/compat/mkstemp.c b/rhtvision/compat/mkstemp.c
index a8340f9..a8340f9 100644
--- a/tvision/compat/mkstemp.c
+++ b/rhtvision/compat/mkstemp.c
diff --git a/tvision/compat/nl_langinfo.c b/rhtvision/compat/nl_langinfo.c
index 234abad..234abad 100644
--- a/tvision/compat/nl_langinfo.c
+++ b/rhtvision/compat/nl_langinfo.c
diff --git a/tvision/compat/ntdirent.c b/rhtvision/compat/ntdirent.c
index c8820a7..c8820a7 100644
--- a/tvision/compat/ntdirent.c
+++ b/rhtvision/compat/ntdirent.c
diff --git a/tvision/compat/obj/delete.me b/rhtvision/compat/obj/delete.me
index 13340a4..13340a4 100644
--- a/tvision/compat/obj/delete.me
+++ b/rhtvision/compat/obj/delete.me
diff --git a/tvision/compat/pathvalid.c b/rhtvision/compat/pathvalid.c
index e610d68..e610d68 100644
--- a/tvision/compat/pathvalid.c
+++ b/rhtvision/compat/pathvalid.c
diff --git a/tvision/compat/regex.c b/rhtvision/compat/regex.c
index e1c77ed..e1c77ed 100644
--- a/tvision/compat/regex.c
+++ b/rhtvision/compat/regex.c
diff --git a/tvision/compat/releasec.c b/rhtvision/compat/releasec.c
index cf526be..cf526be 100644
--- a/tvision/compat/releasec.c
+++ b/rhtvision/compat/releasec.c
diff --git a/tvision/compat/snprintf.c b/rhtvision/compat/snprintf.c
index fc61538..fc61538 100644
--- a/tvision/compat/snprintf.c
+++ b/rhtvision/compat/snprintf.c
diff --git a/tvision/compat/ssc_streams.cc b/rhtvision/compat/ssc_streams.cc
index 3de30a0..3de30a0 100644
--- a/tvision/compat/ssc_streams.cc
+++ b/rhtvision/compat/ssc_streams.cc
diff --git a/tvision/compat/strlwr.c b/rhtvision/compat/strlwr.c
index 73996ad..73996ad 100644
--- a/tvision/compat/strlwr.c
+++ b/rhtvision/compat/strlwr.c
diff --git a/tvision/compat/strupr.c b/rhtvision/compat/strupr.c
index a36538c..a36538c 100644
--- a/tvision/compat/strupr.c
+++ b/rhtvision/compat/strupr.c
diff --git a/tvision/compat/ticks.c b/rhtvision/compat/ticks.c
index 1861406..1861406 100644
--- a/tvision/compat/ticks.c
+++ b/rhtvision/compat/ticks.c
diff --git a/tvision/compat/unc.c b/rhtvision/compat/unc.c
index ade318f..ade318f 100644
--- a/tvision/compat/unc.c
+++ b/rhtvision/compat/unc.c
diff --git a/tvision/compat/unc_95.c b/rhtvision/compat/unc_95.c
index f8041a1..f8041a1 100644
--- a/tvision/compat/unc_95.c
+++ b/rhtvision/compat/unc_95.c
diff --git a/tvision/compat/unc_nt.c b/rhtvision/compat/unc_nt.c
index c3842af..c3842af 100644
--- a/tvision/compat/unc_nt.c
+++ b/rhtvision/compat/unc_nt.c
diff --git a/tvision/compat/validfilename.c b/rhtvision/compat/validfilename.c
index 7704c97..7704c97 100644
--- a/tvision/compat/validfilename.c
+++ b/rhtvision/compat/validfilename.c
diff --git a/tvision/compat/yieldpro.c b/rhtvision/compat/yieldpro.c
index 91c2bb0..91c2bb0 100644
--- a/tvision/compat/yieldpro.c
+++ b/rhtvision/compat/yieldpro.c
diff --git a/tvision/config.pl b/rhtvision/config.pl
index c3a7444..c3a7444 100644
--- a/tvision/config.pl
+++ b/rhtvision/config.pl
diff --git a/tvision/confignt.pl b/rhtvision/confignt.pl
index e185f49..e185f49 100644
--- a/tvision/confignt.pl
+++ b/rhtvision/confignt.pl
diff --git a/tvision/configset b/rhtvision/configset
index 05ed7c3..05ed7c3 100755
--- a/tvision/configset
+++ b/rhtvision/configset
diff --git a/tvision/configset.bat b/rhtvision/configset.bat
index b7c7734..b7c7734 100644
--- a/tvision/configset.bat
+++ b/rhtvision/configset.bat
diff --git a/tvision/configure b/rhtvision/configure
index 4d4f59f..4d4f59f 100755
--- a/tvision/configure
+++ b/rhtvision/configure
diff --git a/tvision/configure.bat b/rhtvision/configure.bat
index e8a1b0c..e8a1b0c 100644
--- a/tvision/configure.bat
+++ b/rhtvision/configure.bat
diff --git a/tvision/conflib.pl b/rhtvision/conflib.pl
index 5287293..5287293 100644
--- a/tvision/conflib.pl
+++ b/rhtvision/conflib.pl
diff --git a/tvision/copying b/rhtvision/copying
index a43ea21..a43ea21 100644
--- a/tvision/copying
+++ b/rhtvision/copying
diff --git a/tvision/copying.rh b/rhtvision/copying.rh
index 54d0d07..54d0d07 100644
--- a/tvision/copying.rh
+++ b/rhtvision/copying.rh
diff --git a/tvision/debian/.cvsignore b/rhtvision/debian/.cvsignore
index 0e62b95..0e62b95 100644
--- a/tvision/debian/.cvsignore
+++ b/rhtvision/debian/.cvsignore
diff --git a/tvision/debian/README b/rhtvision/debian/README
index 74a3e3d..74a3e3d 100644
--- a/tvision/debian/README
+++ b/rhtvision/debian/README
diff --git a/tvision/debian/README.debian b/rhtvision/debian/README.debian
index 0214fa2..0214fa2 100644
--- a/tvision/debian/README.debian
+++ b/rhtvision/debian/README.debian
diff --git a/tvision/debian/buildpackage b/rhtvision/debian/buildpackage
index a4d0494..a4d0494 100644
--- a/tvision/debian/buildpackage
+++ b/rhtvision/debian/buildpackage
diff --git a/tvision/debian/changelog b/rhtvision/debian/changelog
index f5fc8ef..f5fc8ef 100644
--- a/tvision/debian/changelog
+++ b/rhtvision/debian/changelog
diff --git a/tvision/debian/control b/rhtvision/debian/control
index 3178e52..3178e52 100644
--- a/tvision/debian/control
+++ b/rhtvision/debian/control
diff --git a/tvision/debian/control.in b/rhtvision/debian/control.in
index 41f9794..41f9794 100644
--- a/tvision/debian/control.in
+++ b/rhtvision/debian/control.in
diff --git a/tvision/debian/copyright b/rhtvision/debian/copyright
index 5972e80..5972e80 100644
--- a/tvision/debian/copyright
+++ b/rhtvision/debian/copyright
diff --git a/tvision/debian/diversions.ex b/rhtvision/debian/diversions.ex
index aebbbe5..aebbbe5 100644
--- a/tvision/debian/diversions.ex
+++ b/rhtvision/debian/diversions.ex
diff --git a/tvision/debian/files_to_backup b/rhtvision/debian/files_to_backup
index c8383d3..c8383d3 100644
--- a/tvision/debian/files_to_backup
+++ b/rhtvision/debian/files_to_backup
diff --git a/tvision/debian/info.ex b/rhtvision/debian/info.ex
index 05a4bde..05a4bde 100644
--- a/tvision/debian/info.ex
+++ b/rhtvision/debian/info.ex
diff --git a/tvision/debian/maintainer.notes b/rhtvision/debian/maintainer.notes
index 03ded78..03ded78 100644
--- a/tvision/debian/maintainer.notes
+++ b/rhtvision/debian/maintainer.notes
diff --git a/tvision/debian/rhtvision.postinst b/rhtvision/debian/rhtvision.postinst
index fbad76b..fbad76b 100644
--- a/tvision/debian/rhtvision.postinst
+++ b/rhtvision/debian/rhtvision.postinst
diff --git a/tvision/debian/rhtvision.postrm b/rhtvision/debian/rhtvision.postrm
index 7a49c1d..7a49c1d 100644
--- a/tvision/debian/rhtvision.postrm
+++ b/rhtvision/debian/rhtvision.postrm
diff --git a/tvision/debian/rules b/rhtvision/debian/rules
index 15849da..15849da 100644
--- a/tvision/debian/rules
+++ b/rhtvision/debian/rules
diff --git a/tvision/debian/shlibs.local.ex b/rhtvision/debian/shlibs.local.ex
index c5cb1ba..c5cb1ba 100644
--- a/tvision/debian/shlibs.local.ex
+++ b/rhtvision/debian/shlibs.local.ex
diff --git a/tvision/debian/watch.ex b/rhtvision/debian/watch.ex
index 3313fc8..3313fc8 100644
--- a/tvision/debian/watch.ex
+++ b/rhtvision/debian/watch.ex
diff --git a/tvision/djgpp/compress.bat b/rhtvision/djgpp/compress.bat
index 385a80f..385a80f 100644
--- a/tvision/djgpp/compress.bat
+++ b/rhtvision/djgpp/compress.bat
diff --git a/tvision/djgpp/compress.pl b/rhtvision/djgpp/compress.pl
index 9458b3f..9458b3f 100644
--- a/tvision/djgpp/compress.pl
+++ b/rhtvision/djgpp/compress.pl
diff --git a/tvision/djgpp/distlist b/rhtvision/djgpp/distlist
index 828bb85..828bb85 100644
--- a/tvision/djgpp/distlist
+++ b/rhtvision/djgpp/distlist
diff --git a/tvision/djgpp/sacadeb.bat b/rhtvision/djgpp/sacadeb.bat
index d9089f6..d9089f6 100644
--- a/tvision/djgpp/sacadeb.bat
+++ b/rhtvision/djgpp/sacadeb.bat
diff --git a/tvision/djgpp/tmp/delete.me b/rhtvision/djgpp/tmp/delete.me
index 13340a4..13340a4 100644
--- a/tvision/djgpp/tmp/delete.me
+++ b/rhtvision/djgpp/tmp/delete.me
diff --git a/tvision/doc/Alcon.txt b/rhtvision/doc/Alcon.txt
index 5887a20..5887a20 100644
--- a/tvision/doc/Alcon.txt
+++ b/rhtvision/doc/Alcon.txt
diff --git a/tvision/doc/CodePages.txt b/rhtvision/doc/CodePages.txt
index 9d5b258..9d5b258 100644
--- a/tvision/doc/CodePages.txt
+++ b/rhtvision/doc/CodePages.txt
diff --git a/tvision/doc/ConfigFile.txt b/rhtvision/doc/ConfigFile.txt
index 46c3985..46c3985 100644
--- a/tvision/doc/ConfigFile.txt
+++ b/rhtvision/doc/ConfigFile.txt
diff --git a/tvision/doc/DOS.txt b/rhtvision/doc/DOS.txt
index 1cffd28..1cffd28 100644
--- a/tvision/doc/DOS.txt
+++ b/rhtvision/doc/DOS.txt
diff --git a/tvision/doc/Eterm.txt b/rhtvision/doc/Eterm.txt
index 38ebb96..38ebb96 100644
--- a/tvision/doc/Eterm.txt
+++ b/rhtvision/doc/Eterm.txt
diff --git a/tvision/doc/I18n.txt b/rhtvision/doc/I18n.txt
index f944fe4..f944fe4 100644
--- a/tvision/doc/I18n.txt
+++ b/rhtvision/doc/I18n.txt
diff --git a/tvision/doc/Linux.txt b/rhtvision/doc/Linux.txt
index 722d45b..722d45b 100644
--- a/tvision/doc/Linux.txt
+++ b/rhtvision/doc/Linux.txt
diff --git a/tvision/doc/QNX.txt b/rhtvision/doc/QNX.txt
index 5daf815..5daf815 100644
--- a/tvision/doc/QNX.txt
+++ b/rhtvision/doc/QNX.txt
diff --git a/tvision/doc/Streams.txt b/rhtvision/doc/Streams.txt
index 69cc00e..69cc00e 100644
--- a/tvision/doc/Streams.txt
+++ b/rhtvision/doc/Streams.txt
diff --git a/tvision/doc/TVReference.html b/rhtvision/doc/TVReference.html
index 7c34e87..7c34e87 100644
--- a/tvision/doc/TVReference.html
+++ b/rhtvision/doc/TVReference.html
diff --git a/tvision/doc/Win32.txt b/rhtvision/doc/Win32.txt
index 5aef910..5aef910 100644
--- a/tvision/doc/Win32.txt
+++ b/rhtvision/doc/Win32.txt
diff --git a/tvision/doc/WinGr.txt b/rhtvision/doc/WinGr.txt
index f69b77e..f69b77e 100644
--- a/tvision/doc/WinGr.txt
+++ b/rhtvision/doc/WinGr.txt
diff --git a/tvision/doc/X11.txt b/rhtvision/doc/X11.txt
index 8579e09..8579e09 100644
--- a/tvision/doc/X11.txt
+++ b/rhtvision/doc/X11.txt
diff --git a/tvision/doc/XTerm.txt b/rhtvision/doc/XTerm.txt
index b84a98f..b84a98f 100644
--- a/tvision/doc/XTerm.txt
+++ b/rhtvision/doc/XTerm.txt
diff --git a/tvision/doc/html.frt b/rhtvision/doc/html.frt
index ba962d1..ba962d1 100644
--- a/tvision/doc/html.frt
+++ b/rhtvision/doc/html.frt
diff --git a/tvision/doc/install/bcc.txt b/rhtvision/doc/install/bcc.txt
index c0378e1..c0378e1 100644
--- a/tvision/doc/install/bcc.txt
+++ b/rhtvision/doc/install/bcc.txt
diff --git a/tvision/doc/install/cygwin.txt b/rhtvision/doc/install/cygwin.txt
index 988ce23..988ce23 100644
--- a/tvision/doc/install/cygwin.txt
+++ b/rhtvision/doc/install/cygwin.txt
diff --git a/tvision/doc/install/djgpp.txt b/rhtvision/doc/install/djgpp.txt
index 9ed45dd..9ed45dd 100644
--- a/tvision/doc/install/djgpp.txt
+++ b/rhtvision/doc/install/djgpp.txt
diff --git a/tvision/doc/install/linux.txt b/rhtvision/doc/install/linux.txt
index a0cfb53..a0cfb53 100644
--- a/tvision/doc/install/linux.txt
+++ b/rhtvision/doc/install/linux.txt
diff --git a/tvision/doc/install/mingwin.txt b/rhtvision/doc/install/mingwin.txt
index 9b133c2..9b133c2 100644
--- a/tvision/doc/install/mingwin.txt
+++ b/rhtvision/doc/install/mingwin.txt
diff --git a/tvision/doc/install/msvc.txt b/rhtvision/doc/install/msvc.txt
index c2d2ddd..c2d2ddd 100644
--- a/tvision/doc/install/msvc.txt
+++ b/rhtvision/doc/install/msvc.txt
diff --git a/tvision/doc/install/tools.txt b/rhtvision/doc/install/tools.txt
index 7e4d763..7e4d763 100644
--- a/tvision/doc/install/tools.txt
+++ b/rhtvision/doc/install/tools.txt
diff --git a/tvision/doc/install/unix.txt b/rhtvision/doc/install/unix.txt
index 5b30b00..5b30b00 100644
--- a/tvision/doc/install/unix.txt
+++ b/rhtvision/doc/install/unix.txt
diff --git a/tvision/doc/install/watcom.txt b/rhtvision/doc/install/watcom.txt
index 43c8b59..43c8b59 100644
--- a/tvision/doc/install/watcom.txt
+++ b/rhtvision/doc/install/watcom.txt
diff --git a/tvision/doc/libdocs.epr b/rhtvision/doc/libdocs.epr
index 509340a..509340a 100644
--- a/tvision/doc/libdocs.epr
+++ b/rhtvision/doc/libdocs.epr
Binary files differ
diff --git a/tvision/doc/troubleshooting/Linux/1/code.cc b/rhtvision/doc/troubleshooting/Linux/1/code.cc
index 83468d8..83468d8 100755
--- a/tvision/doc/troubleshooting/Linux/1/code.cc
+++ b/rhtvision/doc/troubleshooting/Linux/1/code.cc
diff --git a/tvision/doc/troubleshooting/Linux/1/readme.txt b/rhtvision/doc/troubleshooting/Linux/1/readme.txt
index ae01097..ae01097 100755
--- a/tvision/doc/troubleshooting/Linux/1/readme.txt
+++ b/rhtvision/doc/troubleshooting/Linux/1/readme.txt
diff --git a/tvision/doc/troubleshooting/Linux/1/test-utf8.txt b/rhtvision/doc/troubleshooting/Linux/1/test-utf8.txt
index 8967aba..8967aba 100755
--- a/tvision/doc/troubleshooting/Linux/1/test-utf8.txt
+++ b/rhtvision/doc/troubleshooting/Linux/1/test-utf8.txt
diff --git a/tvision/doc/troubleshooting/Linux/1/test.txt b/rhtvision/doc/troubleshooting/Linux/1/test.txt
index a30391b..a30391b 100755
--- a/tvision/doc/troubleshooting/Linux/1/test.txt
+++ b/rhtvision/doc/troubleshooting/Linux/1/test.txt
diff --git a/tvision/doc/troubleshooting/Linux/1/utf8.cc b/rhtvision/doc/troubleshooting/Linux/1/utf8.cc
index fd1319c..fd1319c 100755
--- a/tvision/doc/troubleshooting/Linux/1/utf8.cc
+++ b/rhtvision/doc/troubleshooting/Linux/1/utf8.cc
diff --git a/tvision/doc/troubleshooting/Linux/2/readme.txt b/rhtvision/doc/troubleshooting/Linux/2/readme.txt
index 9b21ebc..9b21ebc 100755
--- a/tvision/doc/troubleshooting/Linux/2/readme.txt
+++ b/rhtvision/doc/troubleshooting/Linux/2/readme.txt
diff --git a/tvision/doc/troubleshooting/Linux/3/readme.txt b/rhtvision/doc/troubleshooting/Linux/3/readme.txt
index aa8d6a2..aa8d6a2 100755
--- a/tvision/doc/troubleshooting/Linux/3/readme.txt
+++ b/rhtvision/doc/troubleshooting/Linux/3/readme.txt
diff --git a/tvision/doc/troubleshooting/Linux/4/readme.txt b/rhtvision/doc/troubleshooting/Linux/4/readme.txt
index 434e53e..434e53e 100755
--- a/tvision/doc/troubleshooting/Linux/4/readme.txt
+++ b/rhtvision/doc/troubleshooting/Linux/4/readme.txt
diff --git a/tvision/doc/troubleshooting/Linux/4/test.cc b/rhtvision/doc/troubleshooting/Linux/4/test.cc
index 89cf923..89cf923 100755
--- a/tvision/doc/troubleshooting/Linux/4/test.cc
+++ b/rhtvision/doc/troubleshooting/Linux/4/test.cc
diff --git a/tvision/doc/troubleshooting/Linux/readme.txt b/rhtvision/doc/troubleshooting/Linux/readme.txt
index 7cd7044..7cd7044 100755
--- a/tvision/doc/troubleshooting/Linux/readme.txt
+++ b/rhtvision/doc/troubleshooting/Linux/readme.txt
diff --git a/tvision/doc/troubleshooting/readme.txt b/rhtvision/doc/troubleshooting/readme.txt
index cb5d62b..cb5d62b 100755
--- a/tvision/doc/troubleshooting/readme.txt
+++ b/rhtvision/doc/troubleshooting/readme.txt
diff --git a/tvision/drivers2.cc b/rhtvision/drivers2.cc
index eb0a40e..eb0a40e 100644
--- a/tvision/drivers2.cc
+++ b/rhtvision/drivers2.cc
diff --git a/tvision/dual.cc b/rhtvision/dual.cc
index 5180a81..5180a81 100644
--- a/tvision/dual.cc
+++ b/rhtvision/dual.cc
diff --git a/tvision/examples/Makefile b/rhtvision/examples/Makefile
index dfe095a..dfe095a 100644
--- a/tvision/examples/Makefile
+++ b/rhtvision/examples/Makefile
diff --git a/tvision/examples/bhelp/.tvrc b/rhtvision/examples/bhelp/.tvrc
index 65c7b04..65c7b04 100644
--- a/tvision/examples/bhelp/.tvrc
+++ b/rhtvision/examples/bhelp/.tvrc
diff --git a/tvision/examples/bhelp/bhelp.cc b/rhtvision/examples/bhelp/bhelp.cc
index 7a5b231..7a5b231 100644
--- a/tvision/examples/bhelp/bhelp.cc
+++ b/rhtvision/examples/bhelp/bhelp.cc
diff --git a/tvision/examples/bhelp/bhelp.h b/rhtvision/examples/bhelp/bhelp.h
index 179eb57..179eb57 100644
--- a/tvision/examples/bhelp/bhelp.h
+++ b/rhtvision/examples/bhelp/bhelp.h
diff --git a/tvision/examples/bhelp/rhide.env b/rhtvision/examples/bhelp/rhide.env
index 56091d7..56091d7 100644
--- a/tvision/examples/bhelp/rhide.env
+++ b/rhtvision/examples/bhelp/rhide.env
diff --git a/tvision/examples/bhelp/thelp.bmk b/rhtvision/examples/bhelp/thelp.bmk
index 23348c3..23348c3 100644
--- a/tvision/examples/bhelp/thelp.bmk
+++ b/rhtvision/examples/bhelp/thelp.bmk
diff --git a/tvision/examples/bhelp/thelp.cc b/rhtvision/examples/bhelp/thelp.cc
index 87ae036..87ae036 100644
--- a/tvision/examples/bhelp/thelp.cc
+++ b/rhtvision/examples/bhelp/thelp.cc
diff --git a/tvision/examples/bhelp/thelp.gpr b/rhtvision/examples/bhelp/thelp.gpr
index 9f26f22..9f26f22 100644
--- a/tvision/examples/bhelp/thelp.gpr
+++ b/rhtvision/examples/bhelp/thelp.gpr
Binary files differ
diff --git a/tvision/examples/bhelp/thelp.mkf b/rhtvision/examples/bhelp/thelp.mkf
index 6febc10..6febc10 100644
--- a/tvision/examples/bhelp/thelp.mkf
+++ b/rhtvision/examples/bhelp/thelp.mkf
diff --git a/tvision/examples/bhelp/thelp.umk b/rhtvision/examples/bhelp/thelp.umk
index 5d5ac40..5d5ac40 100644
--- a/tvision/examples/bhelp/thelp.umk
+++ b/rhtvision/examples/bhelp/thelp.umk
diff --git a/tvision/examples/clipboard/rhide.env b/rhtvision/examples/clipboard/rhide.env
index 56091d7..56091d7 100644
--- a/tvision/examples/clipboard/rhide.env
+++ b/rhtvision/examples/clipboard/rhide.env
diff --git a/tvision/examples/clipboard/test.bmk b/rhtvision/examples/clipboard/test.bmk
index 7d27d57..7d27d57 100644
--- a/tvision/examples/clipboard/test.bmk
+++ b/rhtvision/examples/clipboard/test.bmk
diff --git a/tvision/examples/clipboard/test.cc b/rhtvision/examples/clipboard/test.cc
index 39b9afd..39b9afd 100644
--- a/tvision/examples/clipboard/test.cc
+++ b/rhtvision/examples/clipboard/test.cc
diff --git a/tvision/examples/clipboard/test.gpr b/rhtvision/examples/clipboard/test.gpr
index e0f3cd8..e0f3cd8 100644
--- a/tvision/examples/clipboard/test.gpr
+++ b/rhtvision/examples/clipboard/test.gpr
Binary files differ
diff --git a/tvision/examples/clipboard/test.mkf b/rhtvision/examples/clipboard/test.mkf
index de53dab..de53dab 100644
--- a/tvision/examples/clipboard/test.mkf
+++ b/rhtvision/examples/clipboard/test.mkf
diff --git a/tvision/examples/clipboard/test.umk b/rhtvision/examples/clipboard/test.umk
index ce3bdf8..ce3bdf8 100644
--- a/tvision/examples/clipboard/test.umk
+++ b/rhtvision/examples/clipboard/test.umk
diff --git a/tvision/examples/common.bmk b/rhtvision/examples/common.bmk
index e93dfc3..e93dfc3 100644
--- a/tvision/examples/common.bmk
+++ b/rhtvision/examples/common.bmk
diff --git a/tvision/examples/cyrillic/linuxkoi8/README b/rhtvision/examples/cyrillic/linuxkoi8/README
index 7d55d24..7d55d24 100644
--- a/tvision/examples/cyrillic/linuxkoi8/README
+++ b/rhtvision/examples/cyrillic/linuxkoi8/README
diff --git a/tvision/examples/cyrillic/linuxkoi8/koi8-r.acm.gz b/rhtvision/examples/cyrillic/linuxkoi8/koi8-r.acm.gz
index 96884df..96884df 100644
--- a/tvision/examples/cyrillic/linuxkoi8/koi8-r.acm.gz
+++ b/rhtvision/examples/cyrillic/linuxkoi8/koi8-r.acm.gz
Binary files differ
diff --git a/tvision/examples/cyrillic/linuxkoi8/koi8-r.psf.gz b/rhtvision/examples/cyrillic/linuxkoi8/koi8-r.psf.gz
index be511d7..be511d7 100644
--- a/tvision/examples/cyrillic/linuxkoi8/koi8-r.psf.gz
+++ b/rhtvision/examples/cyrillic/linuxkoi8/koi8-r.psf.gz
Binary files differ
diff --git a/tvision/examples/cyrillic/linuxkoi8/lat1-16.psf.gz b/rhtvision/examples/cyrillic/linuxkoi8/lat1-16.psf.gz
index 0308fcc..0308fcc 100644
--- a/tvision/examples/cyrillic/linuxkoi8/lat1-16.psf.gz
+++ b/rhtvision/examples/cyrillic/linuxkoi8/lat1-16.psf.gz
Binary files differ
diff --git a/tvision/examples/cyrillic/linuxkoi8/rhide.env b/rhtvision/examples/cyrillic/linuxkoi8/rhide.env
index 5c9ddae..5c9ddae 100644
--- a/tvision/examples/cyrillic/linuxkoi8/rhide.env
+++ b/rhtvision/examples/cyrillic/linuxkoi8/rhide.env
diff --git a/tvision/examples/cyrillic/linuxkoi8/ru1.kmap.gz b/rhtvision/examples/cyrillic/linuxkoi8/ru1.kmap.gz
index bd0040a..bd0040a 100644
--- a/tvision/examples/cyrillic/linuxkoi8/ru1.kmap.gz
+++ b/rhtvision/examples/cyrillic/linuxkoi8/ru1.kmap.gz
Binary files differ
diff --git a/tvision/examples/cyrillic/linuxkoi8/setkoi8.sh b/rhtvision/examples/cyrillic/linuxkoi8/setkoi8.sh
index 9b8683c..9b8683c 100755
--- a/tvision/examples/cyrillic/linuxkoi8/setkoi8.sh
+++ b/rhtvision/examples/cyrillic/linuxkoi8/setkoi8.sh
diff --git a/tvision/examples/cyrillic/linuxkoi8/setlat1.sh b/rhtvision/examples/cyrillic/linuxkoi8/setlat1.sh
index 51f588a..51f588a 100755
--- a/tvision/examples/cyrillic/linuxkoi8/setlat1.sh
+++ b/rhtvision/examples/cyrillic/linuxkoi8/setlat1.sh
diff --git a/tvision/examples/cyrillic/linuxkoi8/test.cc b/rhtvision/examples/cyrillic/linuxkoi8/test.cc
index 8f0e488..8f0e488 100644
--- a/tvision/examples/cyrillic/linuxkoi8/test.cc
+++ b/rhtvision/examples/cyrillic/linuxkoi8/test.cc
diff --git a/tvision/examples/cyrillic/linuxkoi8/test.gpr b/rhtvision/examples/cyrillic/linuxkoi8/test.gpr
index e0f3cd8..e0f3cd8 100644
--- a/tvision/examples/cyrillic/linuxkoi8/test.gpr
+++ b/rhtvision/examples/cyrillic/linuxkoi8/test.gpr
Binary files differ
diff --git a/tvision/examples/cyrillic/linuxkoi8/test.mkf b/rhtvision/examples/cyrillic/linuxkoi8/test.mkf
index 1a66a2f..1a66a2f 100644
--- a/tvision/examples/cyrillic/linuxkoi8/test.mkf
+++ b/rhtvision/examples/cyrillic/linuxkoi8/test.mkf
diff --git a/tvision/examples/cyrillic/linuxkoi8/test.umk b/rhtvision/examples/cyrillic/linuxkoi8/test.umk
index ce3bdf8..ce3bdf8 100644
--- a/tvision/examples/cyrillic/linuxkoi8/test.umk
+++ b/rhtvision/examples/cyrillic/linuxkoi8/test.umk
diff --git a/tvision/examples/cyrillic/linuxkoi8/trivial.acm b/rhtvision/examples/cyrillic/linuxkoi8/trivial.acm
index 95d8e63..95d8e63 100644
--- a/tvision/examples/cyrillic/linuxkoi8/trivial.acm
+++ b/rhtvision/examples/cyrillic/linuxkoi8/trivial.acm
diff --git a/tvision/examples/cyrillic/x11koi8/rhide.env b/rhtvision/examples/cyrillic/x11koi8/rhide.env
index 5c9ddae..5c9ddae 100644
--- a/tvision/examples/cyrillic/x11koi8/rhide.env
+++ b/rhtvision/examples/cyrillic/x11koi8/rhide.env
diff --git a/tvision/examples/cyrillic/x11koi8/test.cc b/rhtvision/examples/cyrillic/x11koi8/test.cc
index 0a17119..0a17119 100644
--- a/tvision/examples/cyrillic/x11koi8/test.cc
+++ b/rhtvision/examples/cyrillic/x11koi8/test.cc
diff --git a/tvision/examples/cyrillic/x11koi8/test.gpr b/rhtvision/examples/cyrillic/x11koi8/test.gpr
index e0f3cd8..e0f3cd8 100644
--- a/tvision/examples/cyrillic/x11koi8/test.gpr
+++ b/rhtvision/examples/cyrillic/x11koi8/test.gpr
Binary files differ
diff --git a/tvision/examples/cyrillic/x11koi8/test.mkf b/rhtvision/examples/cyrillic/x11koi8/test.mkf
index 1a66a2f..1a66a2f 100644
--- a/tvision/examples/cyrillic/x11koi8/test.mkf
+++ b/rhtvision/examples/cyrillic/x11koi8/test.mkf
diff --git a/tvision/examples/cyrillic/x11koi8/test.umk b/rhtvision/examples/cyrillic/x11koi8/test.umk
index ce3bdf8..ce3bdf8 100644
--- a/tvision/examples/cyrillic/x11koi8/test.umk
+++ b/rhtvision/examples/cyrillic/x11koi8/test.umk
diff --git a/tvision/examples/demo/ascii.cc b/rhtvision/examples/demo/ascii.cc
index 49e1c1f..49e1c1f 100644
--- a/tvision/examples/demo/ascii.cc
+++ b/rhtvision/examples/demo/ascii.cc
diff --git a/tvision/examples/demo/ascii.h b/rhtvision/examples/demo/ascii.h
index eefb9b8..eefb9b8 100644
--- a/tvision/examples/demo/ascii.h
+++ b/rhtvision/examples/demo/ascii.h
diff --git a/tvision/examples/demo/calendar.cc b/rhtvision/examples/demo/calendar.cc
index c10d1cb..c10d1cb 100644
--- a/tvision/examples/demo/calendar.cc
+++ b/rhtvision/examples/demo/calendar.cc
diff --git a/tvision/examples/demo/calendar.h b/rhtvision/examples/demo/calendar.h
index e1b1a18..e1b1a18 100644
--- a/tvision/examples/demo/calendar.h
+++ b/rhtvision/examples/demo/calendar.h
diff --git a/tvision/examples/demo/demo.bmk b/rhtvision/examples/demo/demo.bmk
index 3f47f26..3f47f26 100644
--- a/tvision/examples/demo/demo.bmk
+++ b/rhtvision/examples/demo/demo.bmk
diff --git a/tvision/examples/demo/demo.gpr b/rhtvision/examples/demo/demo.gpr
index 2d796dd..2d796dd 100644
--- a/tvision/examples/demo/demo.gpr
+++ b/rhtvision/examples/demo/demo.gpr
Binary files differ
diff --git a/tvision/examples/demo/demo.mkf b/rhtvision/examples/demo/demo.mkf
index 618de72..618de72 100644
--- a/tvision/examples/demo/demo.mkf
+++ b/rhtvision/examples/demo/demo.mkf
diff --git a/tvision/examples/demo/demo.umk b/rhtvision/examples/demo/demo.umk
index 7b91fa2..7b91fa2 100644
--- a/tvision/examples/demo/demo.umk
+++ b/rhtvision/examples/demo/demo.umk
diff --git a/tvision/examples/demo/demohelp.h b/rhtvision/examples/demo/demohelp.h
index 22fe18b..22fe18b 100644
--- a/tvision/examples/demo/demohelp.h
+++ b/rhtvision/examples/demo/demohelp.h
diff --git a/tvision/examples/demo/demohelp.h32 b/rhtvision/examples/demo/demohelp.h32
index 1fabc91..1fabc91 100644
--- a/tvision/examples/demo/demohelp.h32
+++ b/rhtvision/examples/demo/demohelp.h32
Binary files differ
diff --git a/tvision/examples/demo/diffs.cc b/rhtvision/examples/demo/diffs.cc
index e1db97d..e1db97d 100644
--- a/tvision/examples/demo/diffs.cc
+++ b/rhtvision/examples/demo/diffs.cc
diff --git a/tvision/examples/demo/fileview.cc b/rhtvision/examples/demo/fileview.cc
index e14cc27..e14cc27 100644
--- a/tvision/examples/demo/fileview.cc
+++ b/rhtvision/examples/demo/fileview.cc
diff --git a/tvision/examples/demo/fileview.h b/rhtvision/examples/demo/fileview.h
index 9f3b80e..9f3b80e 100644
--- a/tvision/examples/demo/fileview.h
+++ b/rhtvision/examples/demo/fileview.h
diff --git a/tvision/examples/demo/gadgets.cc b/rhtvision/examples/demo/gadgets.cc
index 1af7f6f..1af7f6f 100644
--- a/tvision/examples/demo/gadgets.cc
+++ b/rhtvision/examples/demo/gadgets.cc
diff --git a/tvision/examples/demo/gadgets.h b/rhtvision/examples/demo/gadgets.h
index 22017fd..22017fd 100644
--- a/tvision/examples/demo/gadgets.h
+++ b/rhtvision/examples/demo/gadgets.h
diff --git a/tvision/examples/demo/mousedlg.cc b/rhtvision/examples/demo/mousedlg.cc
index 93e1a83..93e1a83 100644
--- a/tvision/examples/demo/mousedlg.cc
+++ b/rhtvision/examples/demo/mousedlg.cc
diff --git a/rhtvision/examples/demo/mousedlg.h b/rhtvision/examples/demo/mousedlg.h
new file mode 100644
index 0000000..80139a4
--- /dev/null
+++ b/rhtvision/examples/demo/mousedlg.h
@@ -0,0 +1,44 @@
+/*---------------------------------------------------------*/
+/* */
+/* Mousedlg.h : Header file for mousedlg.cpp */
+/* */
+/*---------------------------------------------------------*/
+/*
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+ */
+
+class TClickTester : public TStaticText
+{
+
+public:
+
+ TClickTester(TRect& r, char *aText);
+ virtual TPalette& getPalette() const;
+ virtual void handleEvent(TEvent& event);
+ virtual void draw();
+
+private:
+
+ char clicked;
+
+};
+
+
+class TMouseDialog : public TDialog
+{
+
+public:
+
+ TMouseDialog();
+ virtual void handleEvent(TEvent& event);
+
+private:
+
+ TScrollBar *mouseScrollBar;
+ short oldDelay;
+
+};
diff --git a/tvision/examples/demo/puzzle.cc b/rhtvision/examples/demo/puzzle.cc
index 3471c31..3471c31 100644
--- a/tvision/examples/demo/puzzle.cc
+++ b/rhtvision/examples/demo/puzzle.cc
diff --git a/tvision/examples/demo/puzzle.h b/rhtvision/examples/demo/puzzle.h
index f3db61c..f3db61c 100644
--- a/tvision/examples/demo/puzzle.h
+++ b/rhtvision/examples/demo/puzzle.h
diff --git a/tvision/examples/demo/rhide.env b/rhtvision/examples/demo/rhide.env
index 56091d7..56091d7 100644
--- a/tvision/examples/demo/rhide.env
+++ b/rhtvision/examples/demo/rhide.env
diff --git a/tvision/examples/demo/tvcmds.h b/rhtvision/examples/demo/tvcmds.h
index f2d5252..f2d5252 100644
--- a/tvision/examples/demo/tvcmds.h
+++ b/rhtvision/examples/demo/tvcmds.h
diff --git a/tvision/examples/demo/tvdemo.h b/rhtvision/examples/demo/tvdemo.h
index 00d1608..00d1608 100644
--- a/tvision/examples/demo/tvdemo.h
+++ b/rhtvision/examples/demo/tvdemo.h
diff --git a/tvision/examples/demo/tvdemo1.cc b/rhtvision/examples/demo/tvdemo1.cc
index 1f6ae0e..1f6ae0e 100644
--- a/tvision/examples/demo/tvdemo1.cc
+++ b/rhtvision/examples/demo/tvdemo1.cc
diff --git a/tvision/examples/demo/tvdemo2.cc b/rhtvision/examples/demo/tvdemo2.cc
index f1358e1..f1358e1 100644
--- a/tvision/examples/demo/tvdemo2.cc
+++ b/rhtvision/examples/demo/tvdemo2.cc
diff --git a/tvision/examples/demo/tvdemo3.cc b/rhtvision/examples/demo/tvdemo3.cc
index e84b797..e84b797 100644
--- a/tvision/examples/demo/tvdemo3.cc
+++ b/rhtvision/examples/demo/tvdemo3.cc
diff --git a/tvision/examples/desklogo/desklogo.bmk b/rhtvision/examples/desklogo/desklogo.bmk
index b8f8e3d..b8f8e3d 100644
--- a/tvision/examples/desklogo/desklogo.bmk
+++ b/rhtvision/examples/desklogo/desklogo.bmk
diff --git a/tvision/examples/desklogo/desklogo.cc b/rhtvision/examples/desklogo/desklogo.cc
index 214fa84..214fa84 100644
--- a/tvision/examples/desklogo/desklogo.cc
+++ b/rhtvision/examples/desklogo/desklogo.cc
diff --git a/tvision/examples/desklogo/desklogo.gpr b/rhtvision/examples/desklogo/desklogo.gpr
index f4866ef..f4866ef 100644
--- a/tvision/examples/desklogo/desklogo.gpr
+++ b/rhtvision/examples/desklogo/desklogo.gpr
Binary files differ
diff --git a/tvision/examples/desklogo/desklogo.mkf b/rhtvision/examples/desklogo/desklogo.mkf
index ff4d410..ff4d410 100644
--- a/tvision/examples/desklogo/desklogo.mkf
+++ b/rhtvision/examples/desklogo/desklogo.mkf
diff --git a/tvision/examples/desklogo/desklogo.umk b/rhtvision/examples/desklogo/desklogo.umk
index df5b8c3..df5b8c3 100644
--- a/tvision/examples/desklogo/desklogo.umk
+++ b/rhtvision/examples/desklogo/desklogo.umk
diff --git a/tvision/examples/desklogo/rhide.env b/rhtvision/examples/desklogo/rhide.env
index 56091d7..56091d7 100644
--- a/tvision/examples/desklogo/rhide.env
+++ b/rhtvision/examples/desklogo/rhide.env
diff --git a/tvision/examples/desklogo/set-logo.bmk b/rhtvision/examples/desklogo/set-logo.bmk
index e0cbdf7..e0cbdf7 100644
--- a/tvision/examples/desklogo/set-logo.bmk
+++ b/rhtvision/examples/desklogo/set-logo.bmk
diff --git a/tvision/examples/desklogo/set-logo.cc b/rhtvision/examples/desklogo/set-logo.cc
index 56bae17..56bae17 100644
--- a/tvision/examples/desklogo/set-logo.cc
+++ b/rhtvision/examples/desklogo/set-logo.cc
diff --git a/tvision/examples/desklogo/set-logo.gpr b/rhtvision/examples/desklogo/set-logo.gpr
index 4bb5425..4bb5425 100644
--- a/tvision/examples/desklogo/set-logo.gpr
+++ b/rhtvision/examples/desklogo/set-logo.gpr
Binary files differ
diff --git a/tvision/examples/desklogo/set-logo.mkf b/rhtvision/examples/desklogo/set-logo.mkf
index 2dde95e..2dde95e 100644
--- a/tvision/examples/desklogo/set-logo.mkf
+++ b/rhtvision/examples/desklogo/set-logo.mkf
diff --git a/tvision/examples/desklogo/set-logo.umk b/rhtvision/examples/desklogo/set-logo.umk
index c9c4ca1..c9c4ca1 100644
--- a/tvision/examples/desklogo/set-logo.umk
+++ b/rhtvision/examples/desklogo/set-logo.umk
diff --git a/tvision/examples/desklogo/tv_logo.bmk b/rhtvision/examples/desklogo/tv_logo.bmk
index 9ba3d20..9ba3d20 100644
--- a/tvision/examples/desklogo/tv_logo.bmk
+++ b/rhtvision/examples/desklogo/tv_logo.bmk
diff --git a/tvision/examples/desklogo/tv_logo.cc b/rhtvision/examples/desklogo/tv_logo.cc
index 5010082..5010082 100644
--- a/tvision/examples/desklogo/tv_logo.cc
+++ b/rhtvision/examples/desklogo/tv_logo.cc
diff --git a/tvision/examples/desklogo/tv_logo.gpr b/rhtvision/examples/desklogo/tv_logo.gpr
index 4bae158..4bae158 100644
--- a/tvision/examples/desklogo/tv_logo.gpr
+++ b/rhtvision/examples/desklogo/tv_logo.gpr
Binary files differ
diff --git a/tvision/examples/desklogo/tv_logo.mkf b/rhtvision/examples/desklogo/tv_logo.mkf
index 9c65cc3..9c65cc3 100644
--- a/tvision/examples/desklogo/tv_logo.mkf
+++ b/rhtvision/examples/desklogo/tv_logo.mkf
diff --git a/tvision/examples/desklogo/tv_logo.umk b/rhtvision/examples/desklogo/tv_logo.umk
index 2eb6e9a..2eb6e9a 100644
--- a/tvision/examples/desklogo/tv_logo.umk
+++ b/rhtvision/examples/desklogo/tv_logo.umk
diff --git a/tvision/examples/dlgdsn/codebldr.cc b/rhtvision/examples/dlgdsn/codebldr.cc
index be43cbb..be43cbb 100644
--- a/tvision/examples/dlgdsn/codebldr.cc
+++ b/rhtvision/examples/dlgdsn/codebldr.cc
diff --git a/tvision/examples/dlgdsn/consted.cc b/rhtvision/examples/dlgdsn/consted.cc
index d1270fe..d1270fe 100644
--- a/tvision/examples/dlgdsn/consted.cc
+++ b/rhtvision/examples/dlgdsn/consted.cc
diff --git a/tvision/examples/dlgdsn/consted.h b/rhtvision/examples/dlgdsn/consted.h
index 5d79035..5d79035 100644
--- a/tvision/examples/dlgdsn/consted.h
+++ b/rhtvision/examples/dlgdsn/consted.h
diff --git a/tvision/examples/dlgdsn/dsgdata.h b/rhtvision/examples/dlgdsn/dsgdata.h
index 9736a97..9736a97 100644
--- a/tvision/examples/dlgdsn/dsgdata.h
+++ b/rhtvision/examples/dlgdsn/dsgdata.h
diff --git a/tvision/examples/dlgdsn/dsgobjs.cc b/rhtvision/examples/dlgdsn/dsgobjs.cc
index 3f74c4d..3f74c4d 100644
--- a/tvision/examples/dlgdsn/dsgobjs.cc
+++ b/rhtvision/examples/dlgdsn/dsgobjs.cc
diff --git a/tvision/examples/dlgdsn/dsgobjs.h b/rhtvision/examples/dlgdsn/dsgobjs.h
index 396e291..396e291 100644
--- a/tvision/examples/dlgdsn/dsgobjs.h
+++ b/rhtvision/examples/dlgdsn/dsgobjs.h
diff --git a/tvision/examples/dlgdsn/fdconsts.h b/rhtvision/examples/dlgdsn/fdconsts.h
index dc6757c..dc6757c 100644
--- a/tvision/examples/dlgdsn/fdconsts.h
+++ b/rhtvision/examples/dlgdsn/fdconsts.h
diff --git a/tvision/examples/dlgdsn/freedsgn.cc b/rhtvision/examples/dlgdsn/freedsgn.cc
index 2c2e7d5..2c2e7d5 100644
--- a/tvision/examples/dlgdsn/freedsgn.cc
+++ b/rhtvision/examples/dlgdsn/freedsgn.cc
diff --git a/tvision/examples/dlgdsn/libtest.gpr b/rhtvision/examples/dlgdsn/libtest.gpr
index 488bb61..488bb61 100644
--- a/tvision/examples/dlgdsn/libtest.gpr
+++ b/rhtvision/examples/dlgdsn/libtest.gpr
Binary files differ
diff --git a/tvision/examples/dlgdsn/libtest.mkf b/rhtvision/examples/dlgdsn/libtest.mkf
index ca527ec..ca527ec 100644
--- a/tvision/examples/dlgdsn/libtest.mkf
+++ b/rhtvision/examples/dlgdsn/libtest.mkf
diff --git a/tvision/examples/dlgdsn/libtest.umk b/rhtvision/examples/dlgdsn/libtest.umk
index 075fc5f..075fc5f 100644
--- a/tvision/examples/dlgdsn/libtest.umk
+++ b/rhtvision/examples/dlgdsn/libtest.umk
diff --git a/tvision/examples/dlgdsn/propdlgs.cc b/rhtvision/examples/dlgdsn/propdlgs.cc
index 5d85fa5..5d85fa5 100644
--- a/tvision/examples/dlgdsn/propdlgs.cc
+++ b/rhtvision/examples/dlgdsn/propdlgs.cc
diff --git a/tvision/examples/dlgdsn/propdlgs.h b/rhtvision/examples/dlgdsn/propdlgs.h
index 2f2bd2b..2f2bd2b 100644
--- a/tvision/examples/dlgdsn/propdlgs.h
+++ b/rhtvision/examples/dlgdsn/propdlgs.h
diff --git a/tvision/examples/dlgdsn/propedit.cc b/rhtvision/examples/dlgdsn/propedit.cc
index a95e4c5..a95e4c5 100644
--- a/tvision/examples/dlgdsn/propedit.cc
+++ b/rhtvision/examples/dlgdsn/propedit.cc
diff --git a/tvision/examples/dlgdsn/propedit.h b/rhtvision/examples/dlgdsn/propedit.h
index 51722ea..51722ea 100644
--- a/tvision/examples/dlgdsn/propedit.h
+++ b/rhtvision/examples/dlgdsn/propedit.h
diff --git a/tvision/examples/dlgdsn/rhide.env b/rhtvision/examples/dlgdsn/rhide.env
index 56091d7..56091d7 100644
--- a/tvision/examples/dlgdsn/rhide.env
+++ b/rhtvision/examples/dlgdsn/rhide.env
diff --git a/tvision/examples/dlgdsn/strmoper.cc b/rhtvision/examples/dlgdsn/strmoper.cc
index 1cc36e2..1cc36e2 100644
--- a/tvision/examples/dlgdsn/strmoper.cc
+++ b/rhtvision/examples/dlgdsn/strmoper.cc
diff --git a/tvision/examples/dlgdsn/strmoper.h b/rhtvision/examples/dlgdsn/strmoper.h
index e7292d4..e7292d4 100644
--- a/tvision/examples/dlgdsn/strmoper.h
+++ b/rhtvision/examples/dlgdsn/strmoper.h
diff --git a/tvision/examples/dlgdsn/tappwnd.cc b/rhtvision/examples/dlgdsn/tappwnd.cc
index 9f42ef9..9f42ef9 100644
--- a/tvision/examples/dlgdsn/tappwnd.cc
+++ b/rhtvision/examples/dlgdsn/tappwnd.cc
diff --git a/tvision/examples/dyntxt/dyntext.bmk b/rhtvision/examples/dyntxt/dyntext.bmk
index a291a1a..a291a1a 100644
--- a/tvision/examples/dyntxt/dyntext.bmk
+++ b/rhtvision/examples/dyntxt/dyntext.bmk
diff --git a/tvision/examples/dyntxt/dyntext.cpp b/rhtvision/examples/dyntxt/dyntext.cpp
index 56b1f20..56b1f20 100644
--- a/tvision/examples/dyntxt/dyntext.cpp
+++ b/rhtvision/examples/dyntxt/dyntext.cpp
diff --git a/tvision/examples/dyntxt/dyntext.gpr b/rhtvision/examples/dyntxt/dyntext.gpr
index 1914f92..1914f92 100644
--- a/tvision/examples/dyntxt/dyntext.gpr
+++ b/rhtvision/examples/dyntxt/dyntext.gpr
Binary files differ
diff --git a/tvision/examples/dyntxt/dyntext.h b/rhtvision/examples/dyntxt/dyntext.h
index c87a9be..c87a9be 100644
--- a/tvision/examples/dyntxt/dyntext.h
+++ b/rhtvision/examples/dyntxt/dyntext.h
diff --git a/tvision/examples/dyntxt/dyntext.mkf b/rhtvision/examples/dyntxt/dyntext.mkf
index c82eba8..c82eba8 100644
--- a/tvision/examples/dyntxt/dyntext.mkf
+++ b/rhtvision/examples/dyntxt/dyntext.mkf
diff --git a/tvision/examples/dyntxt/dyntext.umk b/rhtvision/examples/dyntxt/dyntext.umk
index 25dea27..25dea27 100644
--- a/tvision/examples/dyntxt/dyntext.umk
+++ b/rhtvision/examples/dyntxt/dyntext.umk
diff --git a/tvision/examples/dyntxt/readme b/rhtvision/examples/dyntxt/readme
index 7596869..7596869 100644
--- a/tvision/examples/dyntxt/readme
+++ b/rhtvision/examples/dyntxt/readme
diff --git a/tvision/examples/dyntxt/rhide.env b/rhtvision/examples/dyntxt/rhide.env
index 56091d7..56091d7 100644
--- a/tvision/examples/dyntxt/rhide.env
+++ b/rhtvision/examples/dyntxt/rhide.env
diff --git a/tvision/examples/dyntxt/testdyn.cpp b/rhtvision/examples/dyntxt/testdyn.cpp
index fa12a2b..fa12a2b 100644
--- a/tvision/examples/dyntxt/testdyn.cpp
+++ b/rhtvision/examples/dyntxt/testdyn.cpp
diff --git a/tvision/examples/eterm/menus.cfg b/rhtvision/examples/eterm/menus.cfg
index 9e5f6cd..9e5f6cd 100644
--- a/tvision/examples/eterm/menus.cfg
+++ b/rhtvision/examples/eterm/menus.cfg
diff --git a/tvision/examples/eterm/theme.cfg b/rhtvision/examples/eterm/theme.cfg
index 2c8b691..2c8b691 100644
--- a/tvision/examples/eterm/theme.cfg
+++ b/rhtvision/examples/eterm/theme.cfg
diff --git a/tvision/examples/fonts/font.016 b/rhtvision/examples/fonts/font.016
index e2bbe99..e2bbe99 100644
--- a/tvision/examples/fonts/font.016
+++ b/rhtvision/examples/fonts/font.016
Binary files differ
diff --git a/tvision/examples/fonts/genraw.cc b/rhtvision/examples/fonts/genraw.cc
index 728b052..728b052 100644
--- a/tvision/examples/fonts/genraw.cc
+++ b/rhtvision/examples/fonts/genraw.cc
diff --git a/tvision/examples/fonts/genraw.gpr b/rhtvision/examples/fonts/genraw.gpr
index 56b87e3..56b87e3 100644
--- a/tvision/examples/fonts/genraw.gpr
+++ b/rhtvision/examples/fonts/genraw.gpr
Binary files differ
diff --git a/tvision/examples/fonts/genraw.mkf b/rhtvision/examples/fonts/genraw.mkf
index 524eb9b..524eb9b 100644
--- a/tvision/examples/fonts/genraw.mkf
+++ b/rhtvision/examples/fonts/genraw.mkf
diff --git a/tvision/examples/fonts/genraw.umk b/rhtvision/examples/fonts/genraw.umk
index ffafee4..ffafee4 100644
--- a/tvision/examples/fonts/genraw.umk
+++ b/rhtvision/examples/fonts/genraw.umk
diff --git a/tvision/examples/fonts/ocr.sft b/rhtvision/examples/fonts/ocr.sft
index 5a8b08f..5a8b08f 100644
--- a/tvision/examples/fonts/ocr.sft
+++ b/rhtvision/examples/fonts/ocr.sft
Binary files differ
diff --git a/tvision/examples/fonts/rhide.env b/rhtvision/examples/fonts/rhide.env
index 56091d7..56091d7 100644
--- a/tvision/examples/fonts/rhide.env
+++ b/rhtvision/examples/fonts/rhide.env
diff --git a/tvision/examples/fonts/test.cc b/rhtvision/examples/fonts/test.cc
index 76dd41e..76dd41e 100644
--- a/tvision/examples/fonts/test.cc
+++ b/rhtvision/examples/fonts/test.cc
diff --git a/tvision/examples/fonts/test.gpr b/rhtvision/examples/fonts/test.gpr
index e0f3cd8..e0f3cd8 100644
--- a/tvision/examples/fonts/test.gpr
+++ b/rhtvision/examples/fonts/test.gpr
Binary files differ
diff --git a/tvision/examples/fonts/test.mkf b/rhtvision/examples/fonts/test.mkf
index de53dab..de53dab 100644
--- a/tvision/examples/fonts/test.mkf
+++ b/rhtvision/examples/fonts/test.mkf
diff --git a/tvision/examples/fonts/test.umk b/rhtvision/examples/fonts/test.umk
index ce3bdf8..ce3bdf8 100644
--- a/tvision/examples/fonts/test.umk
+++ b/rhtvision/examples/fonts/test.umk
diff --git a/tvision/examples/gen_mkf.pl b/rhtvision/examples/gen_mkf.pl
index b4ea58c..b4ea58c 100644
--- a/tvision/examples/gen_mkf.pl
+++ b/rhtvision/examples/gen_mkf.pl
diff --git a/tvision/examples/helpdemo/helpdemo.bmk b/rhtvision/examples/helpdemo/helpdemo.bmk
index cf03043..cf03043 100644
--- a/tvision/examples/helpdemo/helpdemo.bmk
+++ b/rhtvision/examples/helpdemo/helpdemo.bmk
diff --git a/tvision/examples/helpdemo/helpdemo.cc b/rhtvision/examples/helpdemo/helpdemo.cc
index 1cafe64..1cafe64 100644
--- a/tvision/examples/helpdemo/helpdemo.cc
+++ b/rhtvision/examples/helpdemo/helpdemo.cc
diff --git a/tvision/examples/helpdemo/helpdemo.gpr b/rhtvision/examples/helpdemo/helpdemo.gpr
index d6f56f1..d6f56f1 100644
--- a/tvision/examples/helpdemo/helpdemo.gpr
+++ b/rhtvision/examples/helpdemo/helpdemo.gpr
Binary files differ
diff --git a/tvision/examples/helpdemo/helpdemo.mkf b/rhtvision/examples/helpdemo/helpdemo.mkf
index 0b89376..0b89376 100644
--- a/tvision/examples/helpdemo/helpdemo.mkf
+++ b/rhtvision/examples/helpdemo/helpdemo.mkf
diff --git a/tvision/examples/helpdemo/helpdemo.umk b/rhtvision/examples/helpdemo/helpdemo.umk
index 291f031..291f031 100644
--- a/tvision/examples/helpdemo/helpdemo.umk
+++ b/rhtvision/examples/helpdemo/helpdemo.umk
diff --git a/tvision/examples/helpdemo/rhide.env b/rhtvision/examples/helpdemo/rhide.env
index 56091d7..56091d7 100644
--- a/tvision/examples/helpdemo/rhide.env
+++ b/rhtvision/examples/helpdemo/rhide.env
diff --git a/tvision/examples/i18n/README b/rhtvision/examples/i18n/README
index f000a61..f000a61 100644
--- a/tvision/examples/i18n/README
+++ b/rhtvision/examples/i18n/README
diff --git a/tvision/examples/i18n/es.po b/rhtvision/examples/i18n/es.po
index 1f0e19f..1f0e19f 100644
--- a/tvision/examples/i18n/es.po
+++ b/rhtvision/examples/i18n/es.po
diff --git a/tvision/examples/i18n/extract.sh b/rhtvision/examples/i18n/extract.sh
index b57fd5f..b57fd5f 100755
--- a/tvision/examples/i18n/extract.sh
+++ b/rhtvision/examples/i18n/extract.sh
diff --git a/tvision/examples/i18n/intl/es/LC_MESSAGES/test.mo b/rhtvision/examples/i18n/intl/es/LC_MESSAGES/test.mo
index ade151c..ade151c 100644
--- a/tvision/examples/i18n/intl/es/LC_MESSAGES/test.mo
+++ b/rhtvision/examples/i18n/intl/es/LC_MESSAGES/test.mo
Binary files differ
diff --git a/tvision/examples/i18n/intl/es/LC_MESSAGES/tvision.mo b/rhtvision/examples/i18n/intl/es/LC_MESSAGES/tvision.mo
index 654c3be..654c3be 100644
--- a/tvision/examples/i18n/intl/es/LC_MESSAGES/tvision.mo
+++ b/rhtvision/examples/i18n/intl/es/LC_MESSAGES/tvision.mo
Binary files differ
diff --git a/tvision/examples/i18n/rhide.env b/rhtvision/examples/i18n/rhide.env
index 56091d7..56091d7 100644
--- a/tvision/examples/i18n/rhide.env
+++ b/rhtvision/examples/i18n/rhide.env
diff --git a/tvision/examples/i18n/test.cc b/rhtvision/examples/i18n/test.cc
index c22a49a..c22a49a 100644
--- a/tvision/examples/i18n/test.cc
+++ b/rhtvision/examples/i18n/test.cc
diff --git a/tvision/examples/i18n/test.gpr b/rhtvision/examples/i18n/test.gpr
index e0f3cd8..e0f3cd8 100644
--- a/tvision/examples/i18n/test.gpr
+++ b/rhtvision/examples/i18n/test.gpr
Binary files differ
diff --git a/tvision/examples/i18n/test.mkf b/rhtvision/examples/i18n/test.mkf
index de53dab..de53dab 100644
--- a/tvision/examples/i18n/test.mkf
+++ b/rhtvision/examples/i18n/test.mkf
diff --git a/tvision/examples/i18n/test.po b/rhtvision/examples/i18n/test.po
index 470d684..470d684 100644
--- a/tvision/examples/i18n/test.po
+++ b/rhtvision/examples/i18n/test.po
diff --git a/tvision/examples/i18n/test.umk b/rhtvision/examples/i18n/test.umk
index ce3bdf8..ce3bdf8 100644
--- a/tvision/examples/i18n/test.umk
+++ b/rhtvision/examples/i18n/test.umk
diff --git a/tvision/examples/inplis/implis.bmk b/rhtvision/examples/inplis/implis.bmk
index 4e5846d..4e5846d 100644
--- a/tvision/examples/inplis/implis.bmk
+++ b/rhtvision/examples/inplis/implis.bmk
diff --git a/tvision/examples/inplis/implis.gpr b/rhtvision/examples/inplis/implis.gpr
index ed071d6..ed071d6 100644
--- a/tvision/examples/inplis/implis.gpr
+++ b/rhtvision/examples/inplis/implis.gpr
Binary files differ
diff --git a/tvision/examples/inplis/implis.mkf b/rhtvision/examples/inplis/implis.mkf
index e4feb7e..e4feb7e 100644
--- a/tvision/examples/inplis/implis.mkf
+++ b/rhtvision/examples/inplis/implis.mkf
diff --git a/tvision/examples/inplis/implis.umk b/rhtvision/examples/inplis/implis.umk
index 8fb05d7..8fb05d7 100644
--- a/tvision/examples/inplis/implis.umk
+++ b/rhtvision/examples/inplis/implis.umk
diff --git a/tvision/examples/inplis/inplist.cpp b/rhtvision/examples/inplis/inplist.cpp
index 2ad5cd5..2ad5cd5 100644
--- a/tvision/examples/inplis/inplist.cpp
+++ b/rhtvision/examples/inplis/inplist.cpp
diff --git a/tvision/examples/inplis/inplist.h b/rhtvision/examples/inplis/inplist.h
index 7af7336..7af7336 100644
--- a/tvision/examples/inplis/inplist.h
+++ b/rhtvision/examples/inplis/inplist.h
diff --git a/tvision/examples/inplis/rhide.env b/rhtvision/examples/inplis/rhide.env
index 56091d7..56091d7 100644
--- a/tvision/examples/inplis/rhide.env
+++ b/rhtvision/examples/inplis/rhide.env
diff --git a/tvision/examples/inplis/test.cpp b/rhtvision/examples/inplis/test.cpp
index c92fc53..c92fc53 100644
--- a/tvision/examples/inplis/test.cpp
+++ b/rhtvision/examples/inplis/test.cpp
diff --git a/tvision/examples/listvi/listbox2.cpp b/rhtvision/examples/listvi/listbox2.cpp
index 80fe691..80fe691 100644
--- a/tvision/examples/listvi/listbox2.cpp
+++ b/rhtvision/examples/listvi/listbox2.cpp
diff --git a/tvision/examples/listvi/lst_view.bmk b/rhtvision/examples/listvi/lst_view.bmk
index 7c86b53..7c86b53 100644
--- a/tvision/examples/listvi/lst_view.bmk
+++ b/rhtvision/examples/listvi/lst_view.bmk
diff --git a/tvision/examples/listvi/lst_view.cpp b/rhtvision/examples/listvi/lst_view.cpp
index 6880c33..6880c33 100644
--- a/tvision/examples/listvi/lst_view.cpp
+++ b/rhtvision/examples/listvi/lst_view.cpp
diff --git a/tvision/examples/listvi/lst_view.gpr b/rhtvision/examples/listvi/lst_view.gpr
index 17d9bec..17d9bec 100644
--- a/tvision/examples/listvi/lst_view.gpr
+++ b/rhtvision/examples/listvi/lst_view.gpr
Binary files differ
diff --git a/tvision/examples/listvi/lst_view.h b/rhtvision/examples/listvi/lst_view.h
index 8bd1468..8bd1468 100644
--- a/tvision/examples/listvi/lst_view.h
+++ b/rhtvision/examples/listvi/lst_view.h
diff --git a/tvision/examples/listvi/lst_view.mkf b/rhtvision/examples/listvi/lst_view.mkf
index d62d570..d62d570 100644
--- a/tvision/examples/listvi/lst_view.mkf
+++ b/rhtvision/examples/listvi/lst_view.mkf
diff --git a/tvision/examples/listvi/lst_view.umk b/rhtvision/examples/listvi/lst_view.umk
index 5973a3e..5973a3e 100644
--- a/tvision/examples/listvi/lst_view.umk
+++ b/rhtvision/examples/listvi/lst_view.umk
diff --git a/tvision/examples/listvi/readme.txt b/rhtvision/examples/listvi/readme.txt
index e0537f5..e0537f5 100644
--- a/tvision/examples/listvi/readme.txt
+++ b/rhtvision/examples/listvi/readme.txt
diff --git a/tvision/examples/listvi/rhide.env b/rhtvision/examples/listvi/rhide.env
index 56091d7..56091d7 100644
--- a/tvision/examples/listvi/rhide.env
+++ b/rhtvision/examples/listvi/rhide.env
diff --git a/tvision/examples/msgcls/msgcls.bmk b/rhtvision/examples/msgcls/msgcls.bmk
index 4e4db53..4e4db53 100644
--- a/tvision/examples/msgcls/msgcls.bmk
+++ b/rhtvision/examples/msgcls/msgcls.bmk
diff --git a/tvision/examples/msgcls/msgcls.gpr b/rhtvision/examples/msgcls/msgcls.gpr
index d478173..d478173 100644
--- a/tvision/examples/msgcls/msgcls.gpr
+++ b/rhtvision/examples/msgcls/msgcls.gpr
Binary files differ
diff --git a/tvision/examples/msgcls/msgcls.mkf b/rhtvision/examples/msgcls/msgcls.mkf
index b13ee06..b13ee06 100644
--- a/tvision/examples/msgcls/msgcls.mkf
+++ b/rhtvision/examples/msgcls/msgcls.mkf
diff --git a/tvision/examples/msgcls/msgcls.umk b/rhtvision/examples/msgcls/msgcls.umk
index df06be6..df06be6 100644
--- a/tvision/examples/msgcls/msgcls.umk
+++ b/rhtvision/examples/msgcls/msgcls.umk
diff --git a/tvision/examples/msgcls/readme.txt b/rhtvision/examples/msgcls/readme.txt
index e4797ff..e4797ff 100644
--- a/tvision/examples/msgcls/readme.txt
+++ b/rhtvision/examples/msgcls/readme.txt
diff --git a/tvision/examples/msgcls/rhide.env b/rhtvision/examples/msgcls/rhide.env
index 56091d7..56091d7 100644
--- a/tvision/examples/msgcls/rhide.env
+++ b/rhtvision/examples/msgcls/rhide.env
diff --git a/tvision/examples/msgcls/testdyn.cpp b/rhtvision/examples/msgcls/testdyn.cpp
index 772a653..772a653 100644
--- a/tvision/examples/msgcls/testdyn.cpp
+++ b/rhtvision/examples/msgcls/testdyn.cpp
diff --git a/tvision/examples/msgcls/tlnmsg.cpp b/rhtvision/examples/msgcls/tlnmsg.cpp
index 3185d43..3185d43 100644
--- a/tvision/examples/msgcls/tlnmsg.cpp
+++ b/rhtvision/examples/msgcls/tlnmsg.cpp
diff --git a/tvision/examples/msgcls/tlnmsg.h b/rhtvision/examples/msgcls/tlnmsg.h
index a09a87d..a09a87d 100644
--- a/tvision/examples/msgcls/tlnmsg.h
+++ b/rhtvision/examples/msgcls/tlnmsg.h
diff --git a/tvision/examples/patchenv.pl b/rhtvision/examples/patchenv.pl
index 7be46bf..7be46bf 100644
--- a/tvision/examples/patchenv.pl
+++ b/rhtvision/examples/patchenv.pl
diff --git a/tvision/examples/porting.txt b/rhtvision/examples/porting.txt
index 2ee66fd..2ee66fd 100644
--- a/tvision/examples/porting.txt
+++ b/rhtvision/examples/porting.txt
diff --git a/tvision/examples/progba/example.cpp b/rhtvision/examples/progba/example.cpp
index 5e36802..5e36802 100644
--- a/tvision/examples/progba/example.cpp
+++ b/rhtvision/examples/progba/example.cpp
diff --git a/tvision/examples/progba/makerez.cpp b/rhtvision/examples/progba/makerez.cpp
index 50d856f..50d856f 100644
--- a/tvision/examples/progba/makerez.cpp
+++ b/rhtvision/examples/progba/makerez.cpp
diff --git a/tvision/examples/progba/readrez.cpp b/rhtvision/examples/progba/readrez.cpp
index cf68062..cf68062 100644
--- a/tvision/examples/progba/readrez.cpp
+++ b/rhtvision/examples/progba/readrez.cpp
diff --git a/tvision/examples/progba/rhide.env b/rhtvision/examples/progba/rhide.env
index 56091d7..56091d7 100644
--- a/tvision/examples/progba/rhide.env
+++ b/rhtvision/examples/progba/rhide.env
diff --git a/tvision/examples/progba/test.bmk b/rhtvision/examples/progba/test.bmk
index 7d27d57..7d27d57 100644
--- a/tvision/examples/progba/test.bmk
+++ b/rhtvision/examples/progba/test.bmk
diff --git a/tvision/examples/progba/test.gpr b/rhtvision/examples/progba/test.gpr
index 7ba6385..7ba6385 100644
--- a/tvision/examples/progba/test.gpr
+++ b/rhtvision/examples/progba/test.gpr
Binary files differ
diff --git a/tvision/examples/progba/test.mkf b/rhtvision/examples/progba/test.mkf
index de53dab..de53dab 100644
--- a/tvision/examples/progba/test.mkf
+++ b/rhtvision/examples/progba/test.mkf
diff --git a/tvision/examples/progba/test.umk b/rhtvision/examples/progba/test.umk
index c671441..c671441 100644
--- a/tvision/examples/progba/test.umk
+++ b/rhtvision/examples/progba/test.umk
diff --git a/tvision/examples/progba/tprogbar.cpp b/rhtvision/examples/progba/tprogbar.cpp
index 6b9b8ef..6b9b8ef 100644
--- a/tvision/examples/progba/tprogbar.cpp
+++ b/rhtvision/examples/progba/tprogbar.cpp
diff --git a/tvision/examples/progba/tprogbar.h b/rhtvision/examples/progba/tprogbar.h
index bf43d42..bf43d42 100644
--- a/tvision/examples/progba/tprogbar.h
+++ b/rhtvision/examples/progba/tprogbar.h
diff --git a/tvision/examples/readme.txt b/rhtvision/examples/readme.txt
index 480ca31..480ca31 100644
--- a/tvision/examples/readme.txt
+++ b/rhtvision/examples/readme.txt
diff --git a/tvision/examples/sdlg/dlg.h b/rhtvision/examples/sdlg/dlg.h
index ff9c858..ff9c858 100644
--- a/tvision/examples/sdlg/dlg.h
+++ b/rhtvision/examples/sdlg/dlg.h
diff --git a/tvision/examples/sdlg/main.cpp b/rhtvision/examples/sdlg/main.cpp
index 605b747..605b747 100644
--- a/tvision/examples/sdlg/main.cpp
+++ b/rhtvision/examples/sdlg/main.cpp
diff --git a/tvision/examples/sdlg/rhide.env b/rhtvision/examples/sdlg/rhide.env
index 56091d7..56091d7 100644
--- a/tvision/examples/sdlg/rhide.env
+++ b/rhtvision/examples/sdlg/rhide.env
diff --git a/tvision/examples/sdlg/scrldlg.cpp b/rhtvision/examples/sdlg/scrldlg.cpp
index 57dca3a..57dca3a 100644
--- a/tvision/examples/sdlg/scrldlg.cpp
+++ b/rhtvision/examples/sdlg/scrldlg.cpp
diff --git a/tvision/examples/sdlg/scrlgrp.cpp b/rhtvision/examples/sdlg/scrlgrp.cpp
index af64635..af64635 100644
--- a/tvision/examples/sdlg/scrlgrp.cpp
+++ b/rhtvision/examples/sdlg/scrlgrp.cpp
diff --git a/tvision/examples/sdlg/test.bmk b/rhtvision/examples/sdlg/test.bmk
index 7d27d57..7d27d57 100644
--- a/tvision/examples/sdlg/test.bmk
+++ b/rhtvision/examples/sdlg/test.bmk
diff --git a/tvision/examples/sdlg/test.gpr b/rhtvision/examples/sdlg/test.gpr
index 2e8f4a7..2e8f4a7 100644
--- a/tvision/examples/sdlg/test.gpr
+++ b/rhtvision/examples/sdlg/test.gpr
Binary files differ
diff --git a/tvision/examples/sdlg/test.mkf b/rhtvision/examples/sdlg/test.mkf
index de53dab..de53dab 100644
--- a/tvision/examples/sdlg/test.mkf
+++ b/rhtvision/examples/sdlg/test.mkf
diff --git a/tvision/examples/sdlg/test.umk b/rhtvision/examples/sdlg/test.umk
index 852af2e..852af2e 100644
--- a/tvision/examples/sdlg/test.umk
+++ b/rhtvision/examples/sdlg/test.umk
diff --git a/tvision/examples/sdlg2/dlg.h b/rhtvision/examples/sdlg2/dlg.h
index 0f228d8..0f228d8 100644
--- a/tvision/examples/sdlg2/dlg.h
+++ b/rhtvision/examples/sdlg2/dlg.h
diff --git a/tvision/examples/sdlg2/main.cpp b/rhtvision/examples/sdlg2/main.cpp
index 6bd2815..6bd2815 100644
--- a/tvision/examples/sdlg2/main.cpp
+++ b/rhtvision/examples/sdlg2/main.cpp
diff --git a/tvision/examples/sdlg2/rhide.env b/rhtvision/examples/sdlg2/rhide.env
index 56091d7..56091d7 100644
--- a/tvision/examples/sdlg2/rhide.env
+++ b/rhtvision/examples/sdlg2/rhide.env
diff --git a/tvision/examples/sdlg2/scrldlg.cpp b/rhtvision/examples/sdlg2/scrldlg.cpp
index 8bb1653..8bb1653 100644
--- a/tvision/examples/sdlg2/scrldlg.cpp
+++ b/rhtvision/examples/sdlg2/scrldlg.cpp
diff --git a/tvision/examples/sdlg2/scrlgrp.cpp b/rhtvision/examples/sdlg2/scrlgrp.cpp
index af64635..af64635 100644
--- a/tvision/examples/sdlg2/scrlgrp.cpp
+++ b/rhtvision/examples/sdlg2/scrlgrp.cpp
diff --git a/tvision/examples/sdlg2/test.bmk b/rhtvision/examples/sdlg2/test.bmk
index 7d27d57..7d27d57 100644
--- a/tvision/examples/sdlg2/test.bmk
+++ b/rhtvision/examples/sdlg2/test.bmk
diff --git a/tvision/examples/sdlg2/test.gpr b/rhtvision/examples/sdlg2/test.gpr
index bfc69df..bfc69df 100644
--- a/tvision/examples/sdlg2/test.gpr
+++ b/rhtvision/examples/sdlg2/test.gpr
Binary files differ
diff --git a/tvision/examples/sdlg2/test.mkf b/rhtvision/examples/sdlg2/test.mkf
index de53dab..de53dab 100644
--- a/tvision/examples/sdlg2/test.mkf
+++ b/rhtvision/examples/sdlg2/test.mkf
diff --git a/tvision/examples/sdlg2/test.umk b/rhtvision/examples/sdlg2/test.umk
index 852af2e..852af2e 100644
--- a/tvision/examples/sdlg2/test.umk
+++ b/rhtvision/examples/sdlg2/test.umk
diff --git a/tvision/examples/tcombo/nmcmbobx.cpp b/rhtvision/examples/tcombo/nmcmbobx.cpp
index bf56902..bf56902 100644
--- a/tvision/examples/tcombo/nmcmbobx.cpp
+++ b/rhtvision/examples/tcombo/nmcmbobx.cpp
diff --git a/tvision/examples/tcombo/nmcmbovw.cpp b/rhtvision/examples/tcombo/nmcmbovw.cpp
index 1286699..1286699 100644
--- a/tvision/examples/tcombo/nmcmbovw.cpp
+++ b/rhtvision/examples/tcombo/nmcmbovw.cpp
diff --git a/tvision/examples/tcombo/nmcmbown.cpp b/rhtvision/examples/tcombo/nmcmbown.cpp
index 54e559e..54e559e 100644
--- a/tvision/examples/tcombo/nmcmbown.cpp
+++ b/rhtvision/examples/tcombo/nmcmbown.cpp
diff --git a/tvision/examples/tcombo/nmsinput.cpp b/rhtvision/examples/tcombo/nmsinput.cpp
index 5a7b35e..5a7b35e 100644
--- a/tvision/examples/tcombo/nmsinput.cpp
+++ b/rhtvision/examples/tcombo/nmsinput.cpp
diff --git a/tvision/examples/tcombo/readme.txt b/rhtvision/examples/tcombo/readme.txt
index 6c0d4d4..6c0d4d4 100644
--- a/tvision/examples/tcombo/readme.txt
+++ b/rhtvision/examples/tcombo/readme.txt
diff --git a/tvision/examples/tcombo/rhide.env b/rhtvision/examples/tcombo/rhide.env
index 56091d7..56091d7 100644
--- a/tvision/examples/tcombo/rhide.env
+++ b/rhtvision/examples/tcombo/rhide.env
diff --git a/tvision/examples/tcombo/scombobx.cpp b/rhtvision/examples/tcombo/scombobx.cpp
index ec2f5ad..ec2f5ad 100644
--- a/tvision/examples/tcombo/scombobx.cpp
+++ b/rhtvision/examples/tcombo/scombobx.cpp
diff --git a/tvision/examples/tcombo/scombovw.cpp b/rhtvision/examples/tcombo/scombovw.cpp
index 660909d..660909d 100644
--- a/tvision/examples/tcombo/scombovw.cpp
+++ b/rhtvision/examples/tcombo/scombovw.cpp
diff --git a/tvision/examples/tcombo/scombown.cpp b/rhtvision/examples/tcombo/scombown.cpp
index b409f2c..b409f2c 100644
--- a/tvision/examples/tcombo/scombown.cpp
+++ b/rhtvision/examples/tcombo/scombown.cpp
diff --git a/tvision/examples/tcombo/ssinputl.cpp b/rhtvision/examples/tcombo/ssinputl.cpp
index 7a75d90..7a75d90 100644
--- a/tvision/examples/tcombo/ssinputl.cpp
+++ b/rhtvision/examples/tcombo/ssinputl.cpp
diff --git a/tvision/examples/tcombo/tcmbovwr.cpp b/rhtvision/examples/tcombo/tcmbovwr.cpp
index 73d88bf..73d88bf 100644
--- a/tvision/examples/tcombo/tcmbovwr.cpp
+++ b/rhtvision/examples/tcombo/tcmbovwr.cpp
diff --git a/tvision/examples/tcombo/tcmbowin.cpp b/rhtvision/examples/tcombo/tcmbowin.cpp
index 13cc7c3..13cc7c3 100644
--- a/tvision/examples/tcombo/tcmbowin.cpp
+++ b/rhtvision/examples/tcombo/tcmbowin.cpp
diff --git a/tvision/examples/tcombo/tcombo.txt b/rhtvision/examples/tcombo/tcombo.txt
index e045ed1..e045ed1 100644
--- a/tvision/examples/tcombo/tcombo.txt
+++ b/rhtvision/examples/tcombo/tcombo.txt
diff --git a/tvision/examples/tcombo/tcombobx.cpp b/rhtvision/examples/tcombo/tcombobx.cpp
index e1d5f29..e1d5f29 100644
--- a/tvision/examples/tcombo/tcombobx.cpp
+++ b/rhtvision/examples/tcombo/tcombobx.cpp
diff --git a/tvision/examples/tcombo/tcombobx.h b/rhtvision/examples/tcombo/tcombobx.h
index c09eabd..c09eabd 100644
--- a/tvision/examples/tcombo/tcombobx.h
+++ b/rhtvision/examples/tcombo/tcombobx.h
diff --git a/tvision/examples/tcombo/test.bmk b/rhtvision/examples/tcombo/test.bmk
index 7d27d57..7d27d57 100644
--- a/tvision/examples/tcombo/test.bmk
+++ b/rhtvision/examples/tcombo/test.bmk
diff --git a/tvision/examples/tcombo/test.cpp b/rhtvision/examples/tcombo/test.cpp
index 12b1b83..12b1b83 100644
--- a/tvision/examples/tcombo/test.cpp
+++ b/rhtvision/examples/tcombo/test.cpp
diff --git a/tvision/examples/tcombo/test.gpr b/rhtvision/examples/tcombo/test.gpr
index 4b88fea..4b88fea 100644
--- a/tvision/examples/tcombo/test.gpr
+++ b/rhtvision/examples/tcombo/test.gpr
Binary files differ
diff --git a/tvision/examples/tcombo/test.mkf b/rhtvision/examples/tcombo/test.mkf
index de53dab..de53dab 100644
--- a/tvision/examples/tcombo/test.mkf
+++ b/rhtvision/examples/tcombo/test.mkf
diff --git a/tvision/examples/tcombo/test.umk b/rhtvision/examples/tcombo/test.umk
index f6b1a06..f6b1a06 100644
--- a/tvision/examples/tcombo/test.umk
+++ b/rhtvision/examples/tcombo/test.umk
diff --git a/tvision/examples/tcombo/tsinputl.cpp b/rhtvision/examples/tcombo/tsinputl.cpp
index cf0725b..cf0725b 100644
--- a/tvision/examples/tcombo/tsinputl.cpp
+++ b/rhtvision/examples/tcombo/tsinputl.cpp
diff --git a/tvision/examples/tcombo/tsinputl.h b/rhtvision/examples/tcombo/tsinputl.h
index 0ffdbfa..0ffdbfa 100644
--- a/tvision/examples/tcombo/tsinputl.h
+++ b/rhtvision/examples/tcombo/tsinputl.h
diff --git a/tvision/examples/terminal/rhide.env b/rhtvision/examples/terminal/rhide.env
index 56091d7..56091d7 100644
--- a/tvision/examples/terminal/rhide.env
+++ b/rhtvision/examples/terminal/rhide.env
diff --git a/tvision/examples/terminal/terminal.cc b/rhtvision/examples/terminal/terminal.cc
index a7efc47..a7efc47 100644
--- a/tvision/examples/terminal/terminal.cc
+++ b/rhtvision/examples/terminal/terminal.cc
diff --git a/tvision/examples/terminal/test.bmk b/rhtvision/examples/terminal/test.bmk
index 7d27d57..7d27d57 100644
--- a/tvision/examples/terminal/test.bmk
+++ b/rhtvision/examples/terminal/test.bmk
diff --git a/tvision/examples/terminal/test.gpr b/rhtvision/examples/terminal/test.gpr
index 4f7df22..4f7df22 100644
--- a/tvision/examples/terminal/test.gpr
+++ b/rhtvision/examples/terminal/test.gpr
Binary files differ
diff --git a/tvision/examples/terminal/test.mkf b/rhtvision/examples/terminal/test.mkf
index de53dab..de53dab 100644
--- a/tvision/examples/terminal/test.mkf
+++ b/rhtvision/examples/terminal/test.mkf
diff --git a/tvision/examples/terminal/test.umk b/rhtvision/examples/terminal/test.umk
index db3bf23..db3bf23 100644
--- a/tvision/examples/terminal/test.umk
+++ b/rhtvision/examples/terminal/test.umk
diff --git a/tvision/examples/tprogb/calc.cpp b/rhtvision/examples/tprogb/calc.cpp
index be1d32d..be1d32d 100644
--- a/tvision/examples/tprogb/calc.cpp
+++ b/rhtvision/examples/tprogb/calc.cpp
diff --git a/tvision/examples/tprogb/rhide.env b/rhtvision/examples/tprogb/rhide.env
index 56091d7..56091d7 100644
--- a/tvision/examples/tprogb/rhide.env
+++ b/rhtvision/examples/tprogb/rhide.env
diff --git a/tvision/examples/tprogb/test.bmk b/rhtvision/examples/tprogb/test.bmk
index 7d27d57..7d27d57 100644
--- a/tvision/examples/tprogb/test.bmk
+++ b/rhtvision/examples/tprogb/test.bmk
diff --git a/tvision/examples/tprogb/test.gpr b/rhtvision/examples/tprogb/test.gpr
index facb8d5..facb8d5 100644
--- a/tvision/examples/tprogb/test.gpr
+++ b/rhtvision/examples/tprogb/test.gpr
Binary files differ
diff --git a/tvision/examples/tprogb/test.mkf b/rhtvision/examples/tprogb/test.mkf
index de53dab..de53dab 100644
--- a/tvision/examples/tprogb/test.mkf
+++ b/rhtvision/examples/tprogb/test.mkf
diff --git a/tvision/examples/tprogb/test.umk b/rhtvision/examples/tprogb/test.umk
index e3cd887..e3cd887 100644
--- a/tvision/examples/tprogb/test.umk
+++ b/rhtvision/examples/tprogb/test.umk
diff --git a/tvision/examples/tprogb/tprogbar.cpp b/rhtvision/examples/tprogb/tprogbar.cpp
index 4f3a9d5..4f3a9d5 100644
--- a/tvision/examples/tprogb/tprogbar.cpp
+++ b/rhtvision/examples/tprogb/tprogbar.cpp
diff --git a/tvision/examples/tprogb/tprogbar.h b/rhtvision/examples/tprogb/tprogbar.h
index 804b87e..804b87e 100644
--- a/tvision/examples/tprogb/tprogbar.h
+++ b/rhtvision/examples/tprogb/tprogbar.h
diff --git a/tvision/examples/tutorial/rhide.env b/rhtvision/examples/tutorial/rhide.env
index 56091d7..56091d7 100644
--- a/tvision/examples/tutorial/rhide.env
+++ b/rhtvision/examples/tutorial/rhide.env
diff --git a/tvision/examples/tutorial/tvguid01.bmk b/rhtvision/examples/tutorial/tvguid01.bmk
index 9c4af67..9c4af67 100644
--- a/tvision/examples/tutorial/tvguid01.bmk
+++ b/rhtvision/examples/tutorial/tvguid01.bmk
diff --git a/tvision/examples/tutorial/tvguid01.cc b/rhtvision/examples/tutorial/tvguid01.cc
index 427b013..427b013 100644
--- a/tvision/examples/tutorial/tvguid01.cc
+++ b/rhtvision/examples/tutorial/tvguid01.cc
diff --git a/tvision/examples/tutorial/tvguid01.gpr b/rhtvision/examples/tutorial/tvguid01.gpr
index 8e6dc1b..8e6dc1b 100644
--- a/tvision/examples/tutorial/tvguid01.gpr
+++ b/rhtvision/examples/tutorial/tvguid01.gpr
Binary files differ
diff --git a/tvision/examples/tutorial/tvguid01.mkf b/rhtvision/examples/tutorial/tvguid01.mkf
index ddd68b2..ddd68b2 100644
--- a/tvision/examples/tutorial/tvguid01.mkf
+++ b/rhtvision/examples/tutorial/tvguid01.mkf
diff --git a/tvision/examples/tutorial/tvguid01.umk b/rhtvision/examples/tutorial/tvguid01.umk
index 92a0827..92a0827 100644
--- a/tvision/examples/tutorial/tvguid01.umk
+++ b/rhtvision/examples/tutorial/tvguid01.umk
diff --git a/tvision/examples/tutorial/tvguid02.bmk b/rhtvision/examples/tutorial/tvguid02.bmk
index 84d8dda..84d8dda 100644
--- a/tvision/examples/tutorial/tvguid02.bmk
+++ b/rhtvision/examples/tutorial/tvguid02.bmk
diff --git a/tvision/examples/tutorial/tvguid02.cc b/rhtvision/examples/tutorial/tvguid02.cc
index 47e0440..47e0440 100644
--- a/tvision/examples/tutorial/tvguid02.cc
+++ b/rhtvision/examples/tutorial/tvguid02.cc
diff --git a/tvision/examples/tutorial/tvguid02.gpr b/rhtvision/examples/tutorial/tvguid02.gpr
index 2eac4a9..2eac4a9 100644
--- a/tvision/examples/tutorial/tvguid02.gpr
+++ b/rhtvision/examples/tutorial/tvguid02.gpr
Binary files differ
diff --git a/tvision/examples/tutorial/tvguid02.mkf b/rhtvision/examples/tutorial/tvguid02.mkf
index 2f0679f..2f0679f 100644
--- a/tvision/examples/tutorial/tvguid02.mkf
+++ b/rhtvision/examples/tutorial/tvguid02.mkf
diff --git a/tvision/examples/tutorial/tvguid02.umk b/rhtvision/examples/tutorial/tvguid02.umk
index d597860..d597860 100644
--- a/tvision/examples/tutorial/tvguid02.umk
+++ b/rhtvision/examples/tutorial/tvguid02.umk
diff --git a/tvision/examples/tutorial/tvguid03.bmk b/rhtvision/examples/tutorial/tvguid03.bmk
index 263e845..263e845 100644
--- a/tvision/examples/tutorial/tvguid03.bmk
+++ b/rhtvision/examples/tutorial/tvguid03.bmk
diff --git a/tvision/examples/tutorial/tvguid03.cc b/rhtvision/examples/tutorial/tvguid03.cc
index 6d8a91c..6d8a91c 100644
--- a/tvision/examples/tutorial/tvguid03.cc
+++ b/rhtvision/examples/tutorial/tvguid03.cc
diff --git a/tvision/examples/tutorial/tvguid03.gpr b/rhtvision/examples/tutorial/tvguid03.gpr
index f4c295d..f4c295d 100644
--- a/tvision/examples/tutorial/tvguid03.gpr
+++ b/rhtvision/examples/tutorial/tvguid03.gpr
Binary files differ
diff --git a/tvision/examples/tutorial/tvguid03.mkf b/rhtvision/examples/tutorial/tvguid03.mkf
index 8970593..8970593 100644
--- a/tvision/examples/tutorial/tvguid03.mkf
+++ b/rhtvision/examples/tutorial/tvguid03.mkf
diff --git a/tvision/examples/tutorial/tvguid03.umk b/rhtvision/examples/tutorial/tvguid03.umk
index 5586854..5586854 100644
--- a/tvision/examples/tutorial/tvguid03.umk
+++ b/rhtvision/examples/tutorial/tvguid03.umk
diff --git a/tvision/examples/tutorial/tvguid04.bmk b/rhtvision/examples/tutorial/tvguid04.bmk
index d62c098..d62c098 100644
--- a/tvision/examples/tutorial/tvguid04.bmk
+++ b/rhtvision/examples/tutorial/tvguid04.bmk
diff --git a/tvision/examples/tutorial/tvguid04.cc b/rhtvision/examples/tutorial/tvguid04.cc
index a570cf4..a570cf4 100644
--- a/tvision/examples/tutorial/tvguid04.cc
+++ b/rhtvision/examples/tutorial/tvguid04.cc
diff --git a/tvision/examples/tutorial/tvguid04.gpr b/rhtvision/examples/tutorial/tvguid04.gpr
index aca6d8b..aca6d8b 100644
--- a/tvision/examples/tutorial/tvguid04.gpr
+++ b/rhtvision/examples/tutorial/tvguid04.gpr
Binary files differ
diff --git a/tvision/examples/tutorial/tvguid04.mkf b/rhtvision/examples/tutorial/tvguid04.mkf
index 2e9ffe6..2e9ffe6 100644
--- a/tvision/examples/tutorial/tvguid04.mkf
+++ b/rhtvision/examples/tutorial/tvguid04.mkf
diff --git a/tvision/examples/tutorial/tvguid04.umk b/rhtvision/examples/tutorial/tvguid04.umk
index 4fd36c3..4fd36c3 100644
--- a/tvision/examples/tutorial/tvguid04.umk
+++ b/rhtvision/examples/tutorial/tvguid04.umk
diff --git a/tvision/examples/tutorial/tvguid05.bmk b/rhtvision/examples/tutorial/tvguid05.bmk
index efdb703..efdb703 100644
--- a/tvision/examples/tutorial/tvguid05.bmk
+++ b/rhtvision/examples/tutorial/tvguid05.bmk
diff --git a/tvision/examples/tutorial/tvguid05.cc b/rhtvision/examples/tutorial/tvguid05.cc
index 1632353..1632353 100644
--- a/tvision/examples/tutorial/tvguid05.cc
+++ b/rhtvision/examples/tutorial/tvguid05.cc
diff --git a/tvision/examples/tutorial/tvguid05.gpr b/rhtvision/examples/tutorial/tvguid05.gpr
index 79b3b6e..79b3b6e 100644
--- a/tvision/examples/tutorial/tvguid05.gpr
+++ b/rhtvision/examples/tutorial/tvguid05.gpr
Binary files differ
diff --git a/tvision/examples/tutorial/tvguid05.mkf b/rhtvision/examples/tutorial/tvguid05.mkf
index 1134ed1..1134ed1 100644
--- a/tvision/examples/tutorial/tvguid05.mkf
+++ b/rhtvision/examples/tutorial/tvguid05.mkf
diff --git a/tvision/examples/tutorial/tvguid05.umk b/rhtvision/examples/tutorial/tvguid05.umk
index 150e86e..150e86e 100644
--- a/tvision/examples/tutorial/tvguid05.umk
+++ b/rhtvision/examples/tutorial/tvguid05.umk
diff --git a/tvision/examples/tutorial/tvguid06.bmk b/rhtvision/examples/tutorial/tvguid06.bmk
index e4078e6..e4078e6 100644
--- a/tvision/examples/tutorial/tvguid06.bmk
+++ b/rhtvision/examples/tutorial/tvguid06.bmk
diff --git a/tvision/examples/tutorial/tvguid06.cc b/rhtvision/examples/tutorial/tvguid06.cc
index b548165..b548165 100644
--- a/tvision/examples/tutorial/tvguid06.cc
+++ b/rhtvision/examples/tutorial/tvguid06.cc
diff --git a/tvision/examples/tutorial/tvguid06.gpr b/rhtvision/examples/tutorial/tvguid06.gpr
index 2a37b27..2a37b27 100644
--- a/tvision/examples/tutorial/tvguid06.gpr
+++ b/rhtvision/examples/tutorial/tvguid06.gpr
Binary files differ
diff --git a/tvision/examples/tutorial/tvguid06.mkf b/rhtvision/examples/tutorial/tvguid06.mkf
index c75a86c..c75a86c 100644
--- a/tvision/examples/tutorial/tvguid06.mkf
+++ b/rhtvision/examples/tutorial/tvguid06.mkf
diff --git a/tvision/examples/tutorial/tvguid06.umk b/rhtvision/examples/tutorial/tvguid06.umk
index 8fbc1a7..8fbc1a7 100644
--- a/tvision/examples/tutorial/tvguid06.umk
+++ b/rhtvision/examples/tutorial/tvguid06.umk
diff --git a/tvision/examples/tutorial/tvguid07.bmk b/rhtvision/examples/tutorial/tvguid07.bmk
index be01264..be01264 100644
--- a/tvision/examples/tutorial/tvguid07.bmk
+++ b/rhtvision/examples/tutorial/tvguid07.bmk
diff --git a/tvision/examples/tutorial/tvguid07.cc b/rhtvision/examples/tutorial/tvguid07.cc
index 4fae339..4fae339 100644
--- a/tvision/examples/tutorial/tvguid07.cc
+++ b/rhtvision/examples/tutorial/tvguid07.cc
diff --git a/tvision/examples/tutorial/tvguid07.gpr b/rhtvision/examples/tutorial/tvguid07.gpr
index 48da361..48da361 100644
--- a/tvision/examples/tutorial/tvguid07.gpr
+++ b/rhtvision/examples/tutorial/tvguid07.gpr
Binary files differ
diff --git a/tvision/examples/tutorial/tvguid07.mkf b/rhtvision/examples/tutorial/tvguid07.mkf
index 2d500ff..2d500ff 100644
--- a/tvision/examples/tutorial/tvguid07.mkf
+++ b/rhtvision/examples/tutorial/tvguid07.mkf
diff --git a/tvision/examples/tutorial/tvguid07.umk b/rhtvision/examples/tutorial/tvguid07.umk
index b189279..b189279 100644
--- a/tvision/examples/tutorial/tvguid07.umk
+++ b/rhtvision/examples/tutorial/tvguid07.umk
diff --git a/tvision/examples/tutorial/tvguid08.bmk b/rhtvision/examples/tutorial/tvguid08.bmk
index 3093778..3093778 100644
--- a/tvision/examples/tutorial/tvguid08.bmk
+++ b/rhtvision/examples/tutorial/tvguid08.bmk
diff --git a/tvision/examples/tutorial/tvguid08.cc b/rhtvision/examples/tutorial/tvguid08.cc
index 8d1fbbe..8d1fbbe 100644
--- a/tvision/examples/tutorial/tvguid08.cc
+++ b/rhtvision/examples/tutorial/tvguid08.cc
diff --git a/tvision/examples/tutorial/tvguid08.gpr b/rhtvision/examples/tutorial/tvguid08.gpr
index 1643995..1643995 100644
--- a/tvision/examples/tutorial/tvguid08.gpr
+++ b/rhtvision/examples/tutorial/tvguid08.gpr
Binary files differ
diff --git a/tvision/examples/tutorial/tvguid08.mkf b/rhtvision/examples/tutorial/tvguid08.mkf
index 995359a..995359a 100644
--- a/tvision/examples/tutorial/tvguid08.mkf
+++ b/rhtvision/examples/tutorial/tvguid08.mkf
diff --git a/tvision/examples/tutorial/tvguid08.umk b/rhtvision/examples/tutorial/tvguid08.umk
index eadcf3d..eadcf3d 100644
--- a/tvision/examples/tutorial/tvguid08.umk
+++ b/rhtvision/examples/tutorial/tvguid08.umk
diff --git a/tvision/examples/tutorial/tvguid09.bmk b/rhtvision/examples/tutorial/tvguid09.bmk
index 5a0d637..5a0d637 100644
--- a/tvision/examples/tutorial/tvguid09.bmk
+++ b/rhtvision/examples/tutorial/tvguid09.bmk
diff --git a/tvision/examples/tutorial/tvguid09.cc b/rhtvision/examples/tutorial/tvguid09.cc
index bdae97d..bdae97d 100644
--- a/tvision/examples/tutorial/tvguid09.cc
+++ b/rhtvision/examples/tutorial/tvguid09.cc
diff --git a/tvision/examples/tutorial/tvguid09.gpr b/rhtvision/examples/tutorial/tvguid09.gpr
index 40ee2bc..40ee2bc 100644
--- a/tvision/examples/tutorial/tvguid09.gpr
+++ b/rhtvision/examples/tutorial/tvguid09.gpr
Binary files differ
diff --git a/tvision/examples/tutorial/tvguid09.mkf b/rhtvision/examples/tutorial/tvguid09.mkf
index 3f1f2e3..3f1f2e3 100644
--- a/tvision/examples/tutorial/tvguid09.mkf
+++ b/rhtvision/examples/tutorial/tvguid09.mkf
diff --git a/tvision/examples/tutorial/tvguid09.umk b/rhtvision/examples/tutorial/tvguid09.umk
index 3c9f8d9..3c9f8d9 100644
--- a/tvision/examples/tutorial/tvguid09.umk
+++ b/rhtvision/examples/tutorial/tvguid09.umk
diff --git a/tvision/examples/tutorial/tvguid10.bmk b/rhtvision/examples/tutorial/tvguid10.bmk
index d957578..d957578 100644
--- a/tvision/examples/tutorial/tvguid10.bmk
+++ b/rhtvision/examples/tutorial/tvguid10.bmk
diff --git a/tvision/examples/tutorial/tvguid10.cc b/rhtvision/examples/tutorial/tvguid10.cc
index 1cf67e6..1cf67e6 100644
--- a/tvision/examples/tutorial/tvguid10.cc
+++ b/rhtvision/examples/tutorial/tvguid10.cc
diff --git a/tvision/examples/tutorial/tvguid10.gpr b/rhtvision/examples/tutorial/tvguid10.gpr
index d61fdb7..d61fdb7 100644
--- a/tvision/examples/tutorial/tvguid10.gpr
+++ b/rhtvision/examples/tutorial/tvguid10.gpr
Binary files differ
diff --git a/tvision/examples/tutorial/tvguid10.mkf b/rhtvision/examples/tutorial/tvguid10.mkf
index ba239dc..ba239dc 100644
--- a/tvision/examples/tutorial/tvguid10.mkf
+++ b/rhtvision/examples/tutorial/tvguid10.mkf
diff --git a/tvision/examples/tutorial/tvguid10.umk b/rhtvision/examples/tutorial/tvguid10.umk
index 69a9007..69a9007 100644
--- a/tvision/examples/tutorial/tvguid10.umk
+++ b/rhtvision/examples/tutorial/tvguid10.umk
diff --git a/tvision/examples/tutorial/tvguid11.bmk b/rhtvision/examples/tutorial/tvguid11.bmk
index 48ccb94..48ccb94 100644
--- a/tvision/examples/tutorial/tvguid11.bmk
+++ b/rhtvision/examples/tutorial/tvguid11.bmk
diff --git a/tvision/examples/tutorial/tvguid11.cc b/rhtvision/examples/tutorial/tvguid11.cc
index 241c4bc..241c4bc 100644
--- a/tvision/examples/tutorial/tvguid11.cc
+++ b/rhtvision/examples/tutorial/tvguid11.cc
diff --git a/tvision/examples/tutorial/tvguid11.gpr b/rhtvision/examples/tutorial/tvguid11.gpr
index 8a3920e..8a3920e 100644
--- a/tvision/examples/tutorial/tvguid11.gpr
+++ b/rhtvision/examples/tutorial/tvguid11.gpr
Binary files differ
diff --git a/tvision/examples/tutorial/tvguid11.mkf b/rhtvision/examples/tutorial/tvguid11.mkf
index c5073aa..c5073aa 100644
--- a/tvision/examples/tutorial/tvguid11.mkf
+++ b/rhtvision/examples/tutorial/tvguid11.mkf
diff --git a/tvision/examples/tutorial/tvguid11.umk b/rhtvision/examples/tutorial/tvguid11.umk
index 25dd6ea..25dd6ea 100644
--- a/tvision/examples/tutorial/tvguid11.umk
+++ b/rhtvision/examples/tutorial/tvguid11.umk
diff --git a/tvision/examples/tutorial/tvguid12.bmk b/rhtvision/examples/tutorial/tvguid12.bmk
index 2b4def0..2b4def0 100644
--- a/tvision/examples/tutorial/tvguid12.bmk
+++ b/rhtvision/examples/tutorial/tvguid12.bmk
diff --git a/tvision/examples/tutorial/tvguid12.cc b/rhtvision/examples/tutorial/tvguid12.cc
index f70a979..f70a979 100644
--- a/tvision/examples/tutorial/tvguid12.cc
+++ b/rhtvision/examples/tutorial/tvguid12.cc
diff --git a/tvision/examples/tutorial/tvguid12.gpr b/rhtvision/examples/tutorial/tvguid12.gpr
index f1c89fd..f1c89fd 100644
--- a/tvision/examples/tutorial/tvguid12.gpr
+++ b/rhtvision/examples/tutorial/tvguid12.gpr
Binary files differ
diff --git a/tvision/examples/tutorial/tvguid12.mkf b/rhtvision/examples/tutorial/tvguid12.mkf
index ba59d99..ba59d99 100644
--- a/tvision/examples/tutorial/tvguid12.mkf
+++ b/rhtvision/examples/tutorial/tvguid12.mkf
diff --git a/tvision/examples/tutorial/tvguid12.umk b/rhtvision/examples/tutorial/tvguid12.umk
index 956d1df..956d1df 100644
--- a/tvision/examples/tutorial/tvguid12.umk
+++ b/rhtvision/examples/tutorial/tvguid12.umk
diff --git a/tvision/examples/tutorial/tvguid13.bmk b/rhtvision/examples/tutorial/tvguid13.bmk
index 0565090..0565090 100644
--- a/tvision/examples/tutorial/tvguid13.bmk
+++ b/rhtvision/examples/tutorial/tvguid13.bmk
diff --git a/tvision/examples/tutorial/tvguid13.cc b/rhtvision/examples/tutorial/tvguid13.cc
index 1f62977..1f62977 100644
--- a/tvision/examples/tutorial/tvguid13.cc
+++ b/rhtvision/examples/tutorial/tvguid13.cc
diff --git a/tvision/examples/tutorial/tvguid13.gpr b/rhtvision/examples/tutorial/tvguid13.gpr
index f7ee4f0..f7ee4f0 100644
--- a/tvision/examples/tutorial/tvguid13.gpr
+++ b/rhtvision/examples/tutorial/tvguid13.gpr
Binary files differ
diff --git a/tvision/examples/tutorial/tvguid13.mkf b/rhtvision/examples/tutorial/tvguid13.mkf
index eb3e26c..eb3e26c 100644
--- a/tvision/examples/tutorial/tvguid13.mkf
+++ b/rhtvision/examples/tutorial/tvguid13.mkf
diff --git a/tvision/examples/tutorial/tvguid13.umk b/rhtvision/examples/tutorial/tvguid13.umk
index ecd76d2..ecd76d2 100644
--- a/tvision/examples/tutorial/tvguid13.umk
+++ b/rhtvision/examples/tutorial/tvguid13.umk
diff --git a/tvision/examples/tutorial/tvguid14.bmk b/rhtvision/examples/tutorial/tvguid14.bmk
index 7631fd5..7631fd5 100644
--- a/tvision/examples/tutorial/tvguid14.bmk
+++ b/rhtvision/examples/tutorial/tvguid14.bmk
diff --git a/tvision/examples/tutorial/tvguid14.cc b/rhtvision/examples/tutorial/tvguid14.cc
index 12b1952..12b1952 100644
--- a/tvision/examples/tutorial/tvguid14.cc
+++ b/rhtvision/examples/tutorial/tvguid14.cc
diff --git a/tvision/examples/tutorial/tvguid14.gpr b/rhtvision/examples/tutorial/tvguid14.gpr
index a46ae2e..a46ae2e 100644
--- a/tvision/examples/tutorial/tvguid14.gpr
+++ b/rhtvision/examples/tutorial/tvguid14.gpr
Binary files differ
diff --git a/tvision/examples/tutorial/tvguid14.mkf b/rhtvision/examples/tutorial/tvguid14.mkf
index 46f0925..46f0925 100644
--- a/tvision/examples/tutorial/tvguid14.mkf
+++ b/rhtvision/examples/tutorial/tvguid14.mkf
diff --git a/tvision/examples/tutorial/tvguid14.umk b/rhtvision/examples/tutorial/tvguid14.umk
index af8cfe4..af8cfe4 100644
--- a/tvision/examples/tutorial/tvguid14.umk
+++ b/rhtvision/examples/tutorial/tvguid14.umk
diff --git a/tvision/examples/tutorial/tvguid15.bmk b/rhtvision/examples/tutorial/tvguid15.bmk
index af47431..af47431 100644
--- a/tvision/examples/tutorial/tvguid15.bmk
+++ b/rhtvision/examples/tutorial/tvguid15.bmk
diff --git a/tvision/examples/tutorial/tvguid15.cc b/rhtvision/examples/tutorial/tvguid15.cc
index 6287318..6287318 100644
--- a/tvision/examples/tutorial/tvguid15.cc
+++ b/rhtvision/examples/tutorial/tvguid15.cc
diff --git a/tvision/examples/tutorial/tvguid15.gpr b/rhtvision/examples/tutorial/tvguid15.gpr
index 9cc7678..9cc7678 100644
--- a/tvision/examples/tutorial/tvguid15.gpr
+++ b/rhtvision/examples/tutorial/tvguid15.gpr
Binary files differ
diff --git a/tvision/examples/tutorial/tvguid15.mkf b/rhtvision/examples/tutorial/tvguid15.mkf
index 3ce45ba..3ce45ba 100644
--- a/tvision/examples/tutorial/tvguid15.mkf
+++ b/rhtvision/examples/tutorial/tvguid15.mkf
diff --git a/tvision/examples/tutorial/tvguid15.umk b/rhtvision/examples/tutorial/tvguid15.umk
index 7f5680c..7f5680c 100644
--- a/tvision/examples/tutorial/tvguid15.umk
+++ b/rhtvision/examples/tutorial/tvguid15.umk
diff --git a/tvision/examples/tutorial/tvguid16.bmk b/rhtvision/examples/tutorial/tvguid16.bmk
index 658be8d..658be8d 100644
--- a/tvision/examples/tutorial/tvguid16.bmk
+++ b/rhtvision/examples/tutorial/tvguid16.bmk
diff --git a/tvision/examples/tutorial/tvguid16.cc b/rhtvision/examples/tutorial/tvguid16.cc
index fd6a97f..fd6a97f 100644
--- a/tvision/examples/tutorial/tvguid16.cc
+++ b/rhtvision/examples/tutorial/tvguid16.cc
diff --git a/tvision/examples/tutorial/tvguid16.gpr b/rhtvision/examples/tutorial/tvguid16.gpr
index 786db35..786db35 100644
--- a/tvision/examples/tutorial/tvguid16.gpr
+++ b/rhtvision/examples/tutorial/tvguid16.gpr
Binary files differ
diff --git a/tvision/examples/tutorial/tvguid16.mkf b/rhtvision/examples/tutorial/tvguid16.mkf
index 2d53d9a..2d53d9a 100644
--- a/tvision/examples/tutorial/tvguid16.mkf
+++ b/rhtvision/examples/tutorial/tvguid16.mkf
diff --git a/tvision/examples/tutorial/tvguid16.umk b/rhtvision/examples/tutorial/tvguid16.umk
index f78d9ac..f78d9ac 100644
--- a/tvision/examples/tutorial/tvguid16.umk
+++ b/rhtvision/examples/tutorial/tvguid16.umk
diff --git a/tvision/examples/tvedit/rhide.env b/rhtvision/examples/tvedit/rhide.env
index 56091d7..56091d7 100644
--- a/tvision/examples/tvedit/rhide.env
+++ b/rhtvision/examples/tvedit/rhide.env
diff --git a/tvision/examples/tvedit/tvedit.bmk b/rhtvision/examples/tvedit/tvedit.bmk
index 72b79f1..72b79f1 100644
--- a/tvision/examples/tvedit/tvedit.bmk
+++ b/rhtvision/examples/tvedit/tvedit.bmk
diff --git a/tvision/examples/tvedit/tvedit.cc b/rhtvision/examples/tvedit/tvedit.cc
index fc9d8ba..fc9d8ba 100644
--- a/tvision/examples/tvedit/tvedit.cc
+++ b/rhtvision/examples/tvedit/tvedit.cc
diff --git a/tvision/examples/tvedit/tvedit.gpr b/rhtvision/examples/tvedit/tvedit.gpr
index 9925ed3..9925ed3 100644
--- a/tvision/examples/tvedit/tvedit.gpr
+++ b/rhtvision/examples/tvedit/tvedit.gpr
Binary files differ
diff --git a/tvision/examples/tvedit/tvedit.mkf b/rhtvision/examples/tvedit/tvedit.mkf
index 3933f48..3933f48 100644
--- a/tvision/examples/tvedit/tvedit.mkf
+++ b/rhtvision/examples/tvedit/tvedit.mkf
diff --git a/tvision/examples/tvedit/tvedit.umk b/rhtvision/examples/tvedit/tvedit.umk
index 7b1b401..7b1b401 100644
--- a/tvision/examples/tvedit/tvedit.umk
+++ b/rhtvision/examples/tvedit/tvedit.umk
diff --git a/tvision/examples/tvhc/demohelp.txt b/rhtvision/examples/tvhc/demohelp.txt
index d4291f7..d4291f7 100644
--- a/tvision/examples/tvhc/demohelp.txt
+++ b/rhtvision/examples/tvhc/demohelp.txt
diff --git a/tvision/examples/tvhc/rhide.env b/rhtvision/examples/tvhc/rhide.env
index 56091d7..56091d7 100644
--- a/tvision/examples/tvhc/rhide.env
+++ b/rhtvision/examples/tvhc/rhide.env
diff --git a/tvision/examples/tvhc/tvhc.bmk b/rhtvision/examples/tvhc/tvhc.bmk
index b5085f9..b5085f9 100644
--- a/tvision/examples/tvhc/tvhc.bmk
+++ b/rhtvision/examples/tvhc/tvhc.bmk
diff --git a/tvision/examples/tvhc/tvhc.cc b/rhtvision/examples/tvhc/tvhc.cc
index dceaaff..dceaaff 100644
--- a/tvision/examples/tvhc/tvhc.cc
+++ b/rhtvision/examples/tvhc/tvhc.cc
diff --git a/tvision/examples/tvhc/tvhc.gpr b/rhtvision/examples/tvhc/tvhc.gpr
index 424da2f..424da2f 100644
--- a/tvision/examples/tvhc/tvhc.gpr
+++ b/rhtvision/examples/tvhc/tvhc.gpr
Binary files differ
diff --git a/tvision/examples/tvhc/tvhc.h b/rhtvision/examples/tvhc/tvhc.h
index 5cb115b..5cb115b 100644
--- a/tvision/examples/tvhc/tvhc.h
+++ b/rhtvision/examples/tvhc/tvhc.h
diff --git a/tvision/examples/tvhc/tvhc.mkf b/rhtvision/examples/tvhc/tvhc.mkf
index a8b7088..a8b7088 100644
--- a/tvision/examples/tvhc/tvhc.mkf
+++ b/rhtvision/examples/tvhc/tvhc.mkf
diff --git a/tvision/examples/tvhc/tvhc.umk b/rhtvision/examples/tvhc/tvhc.umk
index 016861d..016861d 100644
--- a/tvision/examples/tvhc/tvhc.umk
+++ b/rhtvision/examples/tvhc/tvhc.umk
diff --git a/tvision/examples/videomode/rhide.env b/rhtvision/examples/videomode/rhide.env
index 56091d7..56091d7 100644
--- a/tvision/examples/videomode/rhide.env
+++ b/rhtvision/examples/videomode/rhide.env
diff --git a/tvision/examples/videomode/test.bmk b/rhtvision/examples/videomode/test.bmk
index 7d27d57..7d27d57 100644
--- a/tvision/examples/videomode/test.bmk
+++ b/rhtvision/examples/videomode/test.bmk
diff --git a/tvision/examples/videomode/test.cc b/rhtvision/examples/videomode/test.cc
index b7b7592..b7b7592 100644
--- a/tvision/examples/videomode/test.cc
+++ b/rhtvision/examples/videomode/test.cc
diff --git a/tvision/examples/videomode/test.gpr b/rhtvision/examples/videomode/test.gpr
index e0f3cd8..e0f3cd8 100644
--- a/tvision/examples/videomode/test.gpr
+++ b/rhtvision/examples/videomode/test.gpr
Binary files differ
diff --git a/tvision/examples/videomode/test.mkf b/rhtvision/examples/videomode/test.mkf
index de53dab..de53dab 100644
--- a/tvision/examples/videomode/test.mkf
+++ b/rhtvision/examples/videomode/test.mkf
diff --git a/tvision/examples/videomode/test.umk b/rhtvision/examples/videomode/test.umk
index ce3bdf8..ce3bdf8 100644
--- a/tvision/examples/videomode/test.umk
+++ b/rhtvision/examples/videomode/test.umk
diff --git a/tvision/examples/viewers/test.bmk b/rhtvision/examples/viewers/test.bmk
index 7d27d57..7d27d57 100644
--- a/tvision/examples/viewers/test.bmk
+++ b/rhtvision/examples/viewers/test.bmk
diff --git a/tvision/examples/viewers/test.mkf b/rhtvision/examples/viewers/test.mkf
index de53dab..de53dab 100644
--- a/tvision/examples/viewers/test.mkf
+++ b/rhtvision/examples/viewers/test.mkf
diff --git a/tvision/examples/viewers/test.umk b/rhtvision/examples/viewers/test.umk
index ce3bdf8..ce3bdf8 100644
--- a/tvision/examples/viewers/test.umk
+++ b/rhtvision/examples/viewers/test.umk
diff --git a/tvision/examples/xterm/Xterm.res b/rhtvision/examples/xterm/Xterm.res
index 7187db7..7187db7 100755
--- a/tvision/examples/xterm/Xterm.res
+++ b/rhtvision/examples/xterm/Xterm.res
diff --git a/tvision/extra/doskeys/kextend.asm b/rhtvision/extra/doskeys/kextend.asm
index 8fabc10..8fabc10 100644
--- a/tvision/extra/doskeys/kextend.asm
+++ b/rhtvision/extra/doskeys/kextend.asm
diff --git a/tvision/extra/doskeys/kextend.com b/rhtvision/extra/doskeys/kextend.com
index 5f87c9c..5f87c9c 100644
--- a/tvision/extra/doskeys/kextend.com
+++ b/rhtvision/extra/doskeys/kextend.com
Binary files differ
diff --git a/tvision/extra/doskeys/kextend.txt b/rhtvision/extra/doskeys/kextend.txt
index efea1b2..efea1b2 100644
--- a/tvision/extra/doskeys/kextend.txt
+++ b/rhtvision/extra/doskeys/kextend.txt
diff --git a/tvision/extra/eterm/Setedit/MAIN b/rhtvision/extra/eterm/Setedit/MAIN
index 143b925..143b925 100644
--- a/tvision/extra/eterm/Setedit/MAIN
+++ b/rhtvision/extra/eterm/Setedit/MAIN
diff --git a/tvision/extra/eterm/Setedit/Setedit.menu b/rhtvision/extra/eterm/Setedit/Setedit.menu
index 80bc74f..80bc74f 100644
--- a/tvision/extra/eterm/Setedit/Setedit.menu
+++ b/rhtvision/extra/eterm/Setedit/Setedit.menu
diff --git a/tvision/extra/eterm/readme.txt b/rhtvision/extra/eterm/readme.txt
index c7dc410..c7dc410 100644
--- a/tvision/extra/eterm/readme.txt
+++ b/rhtvision/extra/eterm/readme.txt
diff --git a/tvision/extra/eterm/xterm-eterm-tv b/rhtvision/extra/eterm/xterm-eterm-tv
index 1e2a812..1e2a812 100644
--- a/tvision/extra/eterm/xterm-eterm-tv
+++ b/rhtvision/extra/eterm/xterm-eterm-tv
diff --git a/tvision/extra/pifexamp/setedit.pif b/rhtvision/extra/pifexamp/setedit.pif
index 95220f1..95220f1 100644
--- a/tvision/extra/pifexamp/setedit.pif
+++ b/rhtvision/extra/pifexamp/setedit.pif
Binary files differ
diff --git a/tvision/fileview.cc b/rhtvision/fileview.cc
index efd413c..efd413c 100644
--- a/tvision/fileview.cc
+++ b/rhtvision/fileview.cc
diff --git a/tvision/fromdos.pl b/rhtvision/fromdos.pl
index fe26a5f..fe26a5f 100644
--- a/tvision/fromdos.pl
+++ b/rhtvision/fromdos.pl
diff --git a/tvision/fromunix.pl b/rhtvision/fromunix.pl
index e6d4603..e6d4603 100644
--- a/tvision/fromunix.pl
+++ b/rhtvision/fromunix.pl
diff --git a/tvision/histlist.cc b/rhtvision/histlist.cc
index 530e125..530e125 100644
--- a/tvision/histlist.cc
+++ b/rhtvision/histlist.cc
diff --git a/tvision/include/cl/dir.h b/rhtvision/include/cl/dir.h
index 6be63ed..6be63ed 100644
--- a/tvision/include/cl/dir.h
+++ b/rhtvision/include/cl/dir.h
diff --git a/tvision/include/cl/dirent.h b/rhtvision/include/cl/dirent.h
index 0f0ec87..0f0ec87 100644
--- a/tvision/include/cl/dirent.h
+++ b/rhtvision/include/cl/dirent.h
diff --git a/tvision/include/cl/fnmatch.h b/rhtvision/include/cl/fnmatch.h
index af0ee7e..af0ee7e 100644
--- a/tvision/include/cl/fnmatch.h
+++ b/rhtvision/include/cl/fnmatch.h
diff --git a/tvision/include/cl/getopt.h b/rhtvision/include/cl/getopt.h
index 9f4f711..9f4f711 100644
--- a/tvision/include/cl/getopt.h
+++ b/rhtvision/include/cl/getopt.h
diff --git a/tvision/include/cl/glob.h b/rhtvision/include/cl/glob.h
index 04fa9c3..04fa9c3 100644
--- a/tvision/include/cl/glob.h
+++ b/rhtvision/include/cl/glob.h
diff --git a/tvision/include/cl/needs.h b/rhtvision/include/cl/needs.h
index 3358123..3358123 100644
--- a/tvision/include/cl/needs.h
+++ b/rhtvision/include/cl/needs.h
diff --git a/tvision/include/cl/regex.h b/rhtvision/include/cl/regex.h
index 7291a7a..7291a7a 100644
--- a/tvision/include/cl/regex.h
+++ b/rhtvision/include/cl/regex.h
diff --git a/tvision/include/cl/strstream.h b/rhtvision/include/cl/strstream.h
index 694c39a..694c39a 100644
--- a/tvision/include/cl/strstream.h
+++ b/rhtvision/include/cl/strstream.h
diff --git a/tvision/include/cl/unistd.h b/rhtvision/include/cl/unistd.h
index 70603a2..70603a2 100644
--- a/tvision/include/cl/unistd.h
+++ b/rhtvision/include/cl/unistd.h
diff --git a/tvision/include/cl/utime.h b/rhtvision/include/cl/utime.h
index 8b34370..8b34370 100644
--- a/tvision/include/cl/utime.h
+++ b/rhtvision/include/cl/utime.h
diff --git a/tvision/include/cl/utsname.h b/rhtvision/include/cl/utsname.h
index b65a743..b65a743 100644
--- a/tvision/include/cl/utsname.h
+++ b/rhtvision/include/cl/utsname.h
diff --git a/tvision/include/compatlayer.h b/rhtvision/include/compatlayer.h
index 8cc399f..8cc399f 100644
--- a/tvision/include/compatlayer.h
+++ b/rhtvision/include/compatlayer.h
diff --git a/tvision/include/tv.h b/rhtvision/include/tv.h
index 47485b6..47485b6 100644
--- a/tvision/include/tv.h
+++ b/rhtvision/include/tv.h
diff --git a/tvision/include/tv/alcon/alcon.h b/rhtvision/include/tv/alcon/alcon.h
index ac02850..ac02850 100644
--- a/tvision/include/tv/alcon/alcon.h
+++ b/rhtvision/include/tv/alcon/alcon.h
diff --git a/tvision/include/tv/alcon/key.h b/rhtvision/include/tv/alcon/key.h
index 6702f43..6702f43 100644
--- a/tvision/include/tv/alcon/key.h
+++ b/rhtvision/include/tv/alcon/key.h
diff --git a/tvision/include/tv/alcon/mouse.h b/rhtvision/include/tv/alcon/mouse.h
index 9c4c0b4..9c4c0b4 100644
--- a/tvision/include/tv/alcon/mouse.h
+++ b/rhtvision/include/tv/alcon/mouse.h
diff --git a/tvision/include/tv/alcon/screen.h b/rhtvision/include/tv/alcon/screen.h
index a3fe526..a3fe526 100644
--- a/tvision/include/tv/alcon/screen.h
+++ b/rhtvision/include/tv/alcon/screen.h
diff --git a/tvision/include/tv/app.h b/rhtvision/include/tv/app.h
index 3db717c..3db717c 100644
--- a/tvision/include/tv/app.h
+++ b/rhtvision/include/tv/app.h
diff --git a/tvision/include/tv/applictn.h b/rhtvision/include/tv/applictn.h
index 48b141c..48b141c 100644
--- a/tvision/include/tv/applictn.h
+++ b/rhtvision/include/tv/applictn.h
diff --git a/tvision/include/tv/backgrnd.h b/rhtvision/include/tv/backgrnd.h
index 7e5ad55..7e5ad55 100644
--- a/tvision/include/tv/backgrnd.h
+++ b/rhtvision/include/tv/backgrnd.h
diff --git a/tvision/include/tv/button.h b/rhtvision/include/tv/button.h
index 0493098..0493098 100644
--- a/tvision/include/tv/button.h
+++ b/rhtvision/include/tv/button.h
diff --git a/tvision/include/tv/calc.h b/rhtvision/include/tv/calc.h
index 49845b4..49845b4 100644
--- a/tvision/include/tv/calc.h
+++ b/rhtvision/include/tv/calc.h
diff --git a/tvision/include/tv/chdirdlg.h b/rhtvision/include/tv/chdirdlg.h
index 268f824..268f824 100644
--- a/tvision/include/tv/chdirdlg.h
+++ b/rhtvision/include/tv/chdirdlg.h
diff --git a/tvision/include/tv/checkbox.h b/rhtvision/include/tv/checkbox.h
index a74d3e1..a74d3e1 100644
--- a/tvision/include/tv/checkbox.h
+++ b/rhtvision/include/tv/checkbox.h
diff --git a/tvision/include/tv/clrdisp.h b/rhtvision/include/tv/clrdisp.h
index d5839ba..d5839ba 100644
--- a/tvision/include/tv/clrdisp.h
+++ b/rhtvision/include/tv/clrdisp.h
diff --git a/tvision/include/tv/clrdlg.h b/rhtvision/include/tv/clrdlg.h
index baad567..baad567 100644
--- a/tvision/include/tv/clrdlg.h
+++ b/rhtvision/include/tv/clrdlg.h
diff --git a/tvision/include/tv/clrgroup.h b/rhtvision/include/tv/clrgroup.h
index de97f8e..de97f8e 100644
--- a/tvision/include/tv/clrgroup.h
+++ b/rhtvision/include/tv/clrgroup.h
diff --git a/tvision/include/tv/clrgrpli.h b/rhtvision/include/tv/clrgrpli.h
index d5f2b2b..d5f2b2b 100644
--- a/tvision/include/tv/clrgrpli.h
+++ b/rhtvision/include/tv/clrgrpli.h
diff --git a/tvision/include/tv/clritem.h b/rhtvision/include/tv/clritem.h
index 9764141..9764141 100644
--- a/tvision/include/tv/clritem.h
+++ b/rhtvision/include/tv/clritem.h
diff --git a/tvision/include/tv/clriteml.h b/rhtvision/include/tv/clriteml.h
index 9cbebe0..9cbebe0 100644
--- a/tvision/include/tv/clriteml.h
+++ b/rhtvision/include/tv/clriteml.h
diff --git a/tvision/include/tv/clrselct.h b/rhtvision/include/tv/clrselct.h
index 77aa3db..77aa3db 100644
--- a/tvision/include/tv/clrselct.h
+++ b/rhtvision/include/tv/clrselct.h
diff --git a/tvision/include/tv/cluster.h b/rhtvision/include/tv/cluster.h
index 39e851d..39e851d 100644
--- a/tvision/include/tv/cluster.h
+++ b/rhtvision/include/tv/cluster.h
diff --git a/tvision/include/tv/cmdset.h b/rhtvision/include/tv/cmdset.h
index 98a498d..98a498d 100644
--- a/tvision/include/tv/cmdset.h
+++ b/rhtvision/include/tv/cmdset.h
diff --git a/tvision/include/tv/codepage.h b/rhtvision/include/tv/codepage.h
index be51b1c..be51b1c 100644
--- a/tvision/include/tv/codepage.h
+++ b/rhtvision/include/tv/codepage.h
diff --git a/tvision/include/tv/collectn.h b/rhtvision/include/tv/collectn.h
index 1cb2cbe..1cb2cbe 100644
--- a/tvision/include/tv/collectn.h
+++ b/rhtvision/include/tv/collectn.h
diff --git a/tvision/include/tv/colorsel.h b/rhtvision/include/tv/colorsel.h
index 5d56af6..5d56af6 100644
--- a/tvision/include/tv/colorsel.h
+++ b/rhtvision/include/tv/colorsel.h
diff --git a/tvision/include/tv/configfile.h b/rhtvision/include/tv/configfile.h
index adba7c9..adba7c9 100644
--- a/tvision/include/tv/configfile.h
+++ b/rhtvision/include/tv/configfile.h
diff --git a/tvision/include/tv/desktop.h b/rhtvision/include/tv/desktop.h
index 870a306..870a306 100644
--- a/tvision/include/tv/desktop.h
+++ b/rhtvision/include/tv/desktop.h
diff --git a/tvision/include/tv/dialog.h b/rhtvision/include/tv/dialog.h
index 3c4a567..3c4a567 100644
--- a/tvision/include/tv/dialog.h
+++ b/rhtvision/include/tv/dialog.h
diff --git a/tvision/include/tv/dialogs.h b/rhtvision/include/tv/dialogs.h
index 858c53e..858c53e 100644
--- a/tvision/include/tv/dialogs.h
+++ b/rhtvision/include/tv/dialogs.h
diff --git a/tvision/include/tv/dircoll.h b/rhtvision/include/tv/dircoll.h
index 8c9a229..8c9a229 100644
--- a/tvision/include/tv/dircoll.h
+++ b/rhtvision/include/tv/dircoll.h
diff --git a/tvision/include/tv/direntr.h b/rhtvision/include/tv/direntr.h
index bfe28fe..bfe28fe 100644
--- a/tvision/include/tv/direntr.h
+++ b/rhtvision/include/tv/direntr.h
diff --git a/tvision/include/tv/dirlibo.h b/rhtvision/include/tv/dirlibo.h
index 4c7bef2..4c7bef2 100644
--- a/tvision/include/tv/dirlibo.h
+++ b/rhtvision/include/tv/dirlibo.h
diff --git a/tvision/include/tv/dos/key.h b/rhtvision/include/tv/dos/key.h
index 8ec1302..8ec1302 100644
--- a/tvision/include/tv/dos/key.h
+++ b/rhtvision/include/tv/dos/key.h
diff --git a/tvision/include/tv/dos/mouse.h b/rhtvision/include/tv/dos/mouse.h
index bc532a5..bc532a5 100644
--- a/tvision/include/tv/dos/mouse.h
+++ b/rhtvision/include/tv/dos/mouse.h
diff --git a/tvision/include/tv/dos/screen.h b/rhtvision/include/tv/dos/screen.h
index 4ab6482..4ab6482 100644
--- a/tvision/include/tv/dos/screen.h
+++ b/rhtvision/include/tv/dos/screen.h
diff --git a/tvision/include/tv/drawbuf.h b/rhtvision/include/tv/drawbuf.h
index 09f1094..09f1094 100644
--- a/tvision/include/tv/drawbuf.h
+++ b/rhtvision/include/tv/drawbuf.h
diff --git a/tvision/include/tv/drivers.h b/rhtvision/include/tv/drivers.h
index 3efefca..3efefca 100644
--- a/tvision/include/tv/drivers.h
+++ b/rhtvision/include/tv/drivers.h
diff --git a/tvision/include/tv/editors.h b/rhtvision/include/tv/editors.h
index 4cd444e..4cd444e 100644
--- a/tvision/include/tv/editors.h
+++ b/rhtvision/include/tv/editors.h
diff --git a/tvision/include/tv/event.h b/rhtvision/include/tv/event.h
index 0516ef5..0516ef5 100644
--- a/tvision/include/tv/event.h
+++ b/rhtvision/include/tv/event.h
diff --git a/tvision/include/tv/eventqu.h b/rhtvision/include/tv/eventqu.h
index b25bf35..b25bf35 100644
--- a/tvision/include/tv/eventqu.h
+++ b/rhtvision/include/tv/eventqu.h
diff --git a/tvision/include/tv/filecoll.h b/rhtvision/include/tv/filecoll.h
index 57ded8d..57ded8d 100644
--- a/tvision/include/tv/filecoll.h
+++ b/rhtvision/include/tv/filecoll.h
diff --git a/tvision/include/tv/filedlg.h b/rhtvision/include/tv/filedlg.h
index 9a7e882..9a7e882 100644
--- a/tvision/include/tv/filedlg.h
+++ b/rhtvision/include/tv/filedlg.h
diff --git a/tvision/include/tv/filelist.h b/rhtvision/include/tv/filelist.h
index bdf95b9..bdf95b9 100644
--- a/tvision/include/tv/filelist.h
+++ b/rhtvision/include/tv/filelist.h
diff --git a/tvision/include/tv/fileview.h b/rhtvision/include/tv/fileview.h
index bd191c7..bd191c7 100644
--- a/tvision/include/tv/fileview.h
+++ b/rhtvision/include/tv/fileview.h
diff --git a/tvision/include/tv/filinfpn.h b/rhtvision/include/tv/filinfpn.h
index 922491f..922491f 100644
--- a/tvision/include/tv/filinfpn.h
+++ b/rhtvision/include/tv/filinfpn.h
diff --git a/tvision/include/tv/filinpln.h b/rhtvision/include/tv/filinpln.h
index de6f2cc..de6f2cc 100644
--- a/tvision/include/tv/filinpln.h
+++ b/rhtvision/include/tv/filinpln.h
diff --git a/tvision/include/tv/findrepl.h b/rhtvision/include/tv/findrepl.h
index c1f6a5b..c1f6a5b 100644
--- a/tvision/include/tv/findrepl.h
+++ b/rhtvision/include/tv/findrepl.h
diff --git a/tvision/include/tv/fontcoll.h b/rhtvision/include/tv/fontcoll.h
index 0713f8b..0713f8b 100644
--- a/tvision/include/tv/fontcoll.h
+++ b/rhtvision/include/tv/fontcoll.h
diff --git a/tvision/include/tv/fpbase.h b/rhtvision/include/tv/fpbase.h
index 256fe4c..256fe4c 100644
--- a/tvision/include/tv/fpbase.h
+++ b/rhtvision/include/tv/fpbase.h
diff --git a/tvision/include/tv/fpstream.h b/rhtvision/include/tv/fpstream.h
index e4d4526..e4d4526 100644
--- a/tvision/include/tv/fpstream.h
+++ b/rhtvision/include/tv/fpstream.h
diff --git a/tvision/include/tv/frame.h b/rhtvision/include/tv/frame.h
index 3038818..3038818 100644
--- a/tvision/include/tv/frame.h
+++ b/rhtvision/include/tv/frame.h
diff --git a/tvision/include/tv/gkey.h b/rhtvision/include/tv/gkey.h
index 57d21ce..57d21ce 100644
--- a/tvision/include/tv/gkey.h
+++ b/rhtvision/include/tv/gkey.h
diff --git a/tvision/include/tv/group.h b/rhtvision/include/tv/group.h
index ac7bbde..ac7bbde 100644
--- a/tvision/include/tv/group.h
+++ b/rhtvision/include/tv/group.h
diff --git a/tvision/include/tv/help.h b/rhtvision/include/tv/help.h
index 49ff354..49ff354 100644
--- a/tvision/include/tv/help.h
+++ b/rhtvision/include/tv/help.h
diff --git a/tvision/include/tv/helpbase.h b/rhtvision/include/tv/helpbase.h
index cb898c2..cb898c2 100644
--- a/tvision/include/tv/helpbase.h
+++ b/rhtvision/include/tv/helpbase.h
diff --git a/tvision/include/tv/history.h b/rhtvision/include/tv/history.h
index 475d5f2..475d5f2 100644
--- a/tvision/include/tv/history.h
+++ b/rhtvision/include/tv/history.h
diff --git a/tvision/include/tv/histvwer.h b/rhtvision/include/tv/histvwer.h
index d0c153c..d0c153c 100644
--- a/tvision/include/tv/histvwer.h
+++ b/rhtvision/include/tv/histvwer.h
diff --git a/tvision/include/tv/histwind.h b/rhtvision/include/tv/histwind.h
index 95b9116..95b9116 100644
--- a/tvision/include/tv/histwind.h
+++ b/rhtvision/include/tv/histwind.h
diff --git a/tvision/include/tv/ifpstrm.h b/rhtvision/include/tv/ifpstrm.h
index e471ded..e471ded 100644
--- a/tvision/include/tv/ifpstrm.h
+++ b/rhtvision/include/tv/ifpstrm.h
diff --git a/tvision/include/tv/indicato.h b/rhtvision/include/tv/indicato.h
index 70b5273..70b5273 100644
--- a/tvision/include/tv/indicato.h
+++ b/rhtvision/include/tv/indicato.h
diff --git a/tvision/include/tv/inputln.h b/rhtvision/include/tv/inputln.h
index c56b67f..c56b67f 100644
--- a/tvision/include/tv/inputln.h
+++ b/rhtvision/include/tv/inputln.h
diff --git a/tvision/include/tv/intl.h b/rhtvision/include/tv/intl.h
index bb3e52e..bb3e52e 100644
--- a/tvision/include/tv/intl.h
+++ b/rhtvision/include/tv/intl.h
diff --git a/tvision/include/tv/iopstrm.h b/rhtvision/include/tv/iopstrm.h
index 9c1c7f4..9c1c7f4 100644
--- a/tvision/include/tv/iopstrm.h
+++ b/rhtvision/include/tv/iopstrm.h
diff --git a/tvision/include/tv/ipstream.h b/rhtvision/include/tv/ipstream.h
index d5a67f3..d5a67f3 100644
--- a/tvision/include/tv/ipstream.h
+++ b/rhtvision/include/tv/ipstream.h
diff --git a/tvision/include/tv/label.h b/rhtvision/include/tv/label.h
index b6bd1d9..b6bd1d9 100644
--- a/tvision/include/tv/label.h
+++ b/rhtvision/include/tv/label.h
diff --git a/tvision/include/tv/linux/key.h b/rhtvision/include/tv/linux/key.h
index b44abc1..b44abc1 100644
--- a/tvision/include/tv/linux/key.h
+++ b/rhtvision/include/tv/linux/key.h
diff --git a/tvision/include/tv/linux/log.h b/rhtvision/include/tv/linux/log.h
index 3b3c3fc..3b3c3fc 100644
--- a/tvision/include/tv/linux/log.h
+++ b/rhtvision/include/tv/linux/log.h
diff --git a/tvision/include/tv/linux/mouse.h b/rhtvision/include/tv/linux/mouse.h
index cf5664a..cf5664a 100644
--- a/tvision/include/tv/linux/mouse.h
+++ b/rhtvision/include/tv/linux/mouse.h
diff --git a/tvision/include/tv/linux/screen.h b/rhtvision/include/tv/linux/screen.h
index db1a74c..db1a74c 100644
--- a/tvision/include/tv/linux/screen.h
+++ b/rhtvision/include/tv/linux/screen.h
diff --git a/tvision/include/tv/listbox.h b/rhtvision/include/tv/listbox.h
index a01260b..a01260b 100644
--- a/tvision/include/tv/listbox.h
+++ b/rhtvision/include/tv/listbox.h
diff --git a/tvision/include/tv/lstviewr.h b/rhtvision/include/tv/lstviewr.h
index 2a47cfe..2a47cfe 100644
--- a/tvision/include/tv/lstviewr.h
+++ b/rhtvision/include/tv/lstviewr.h
diff --git a/tvision/include/tv/menu.h b/rhtvision/include/tv/menu.h
index ef907fe..ef907fe 100644
--- a/tvision/include/tv/menu.h
+++ b/rhtvision/include/tv/menu.h
diff --git a/tvision/include/tv/menubar.h b/rhtvision/include/tv/menubar.h
index 33eef82..33eef82 100644
--- a/tvision/include/tv/menubar.h
+++ b/rhtvision/include/tv/menubar.h
diff --git a/tvision/include/tv/menubox.h b/rhtvision/include/tv/menubox.h
index 9156738..9156738 100644
--- a/tvision/include/tv/menubox.h
+++ b/rhtvision/include/tv/menubox.h
diff --git a/tvision/include/tv/menuitem.h b/rhtvision/include/tv/menuitem.h
index 4204f22..4204f22 100644
--- a/tvision/include/tv/menuitem.h
+++ b/rhtvision/include/tv/menuitem.h
diff --git a/tvision/include/tv/menus.h b/rhtvision/include/tv/menus.h
index 4febdd7..4febdd7 100644
--- a/tvision/include/tv/menus.h
+++ b/rhtvision/include/tv/menus.h
diff --git a/tvision/include/tv/menuview.h b/rhtvision/include/tv/menuview.h
index 73ba7fb..73ba7fb 100644
--- a/tvision/include/tv/menuview.h
+++ b/rhtvision/include/tv/menuview.h
diff --git a/tvision/include/tv/mnoselct.h b/rhtvision/include/tv/mnoselct.h
index 16b033e..16b033e 100644
--- a/tvision/include/tv/mnoselct.h
+++ b/rhtvision/include/tv/mnoselct.h
diff --git a/tvision/include/tv/msgbox.h b/rhtvision/include/tv/msgbox.h
index 70829a7..70829a7 100644
--- a/tvision/include/tv/msgbox.h
+++ b/rhtvision/include/tv/msgbox.h
diff --git a/tvision/include/tv/no_mss.h b/rhtvision/include/tv/no_mss.h
index 2627204..2627204 100644
--- a/tvision/include/tv/no_mss.h
+++ b/rhtvision/include/tv/no_mss.h
diff --git a/tvision/include/tv/nointl.h b/rhtvision/include/tv/nointl.h
index c624bf0..c624bf0 100644
--- a/tvision/include/tv/nointl.h
+++ b/rhtvision/include/tv/nointl.h
diff --git a/tvision/include/tv/nscoll.h b/rhtvision/include/tv/nscoll.h
index ebece1c..ebece1c 100644
--- a/tvision/include/tv/nscoll.h
+++ b/rhtvision/include/tv/nscoll.h
diff --git a/tvision/include/tv/nssorcol.h b/rhtvision/include/tv/nssorcol.h
index 02de137..02de137 100644
--- a/tvision/include/tv/nssorcol.h
+++ b/rhtvision/include/tv/nssorcol.h
diff --git a/tvision/include/tv/object.h b/rhtvision/include/tv/object.h
index 0c8926b..0c8926b 100644
--- a/tvision/include/tv/object.h
+++ b/rhtvision/include/tv/object.h
diff --git a/tvision/include/tv/objects.h b/rhtvision/include/tv/objects.h
index e9ee368..e9ee368 100644
--- a/tvision/include/tv/objects.h
+++ b/rhtvision/include/tv/objects.h
diff --git a/tvision/include/tv/ofpstrm.h b/rhtvision/include/tv/ofpstrm.h
index 981ae35..981ae35 100644
--- a/tvision/include/tv/ofpstrm.h
+++ b/rhtvision/include/tv/ofpstrm.h
diff --git a/tvision/include/tv/opstream.h b/rhtvision/include/tv/opstream.h
index d6847ee..d6847ee 100644
--- a/tvision/include/tv/opstream.h
+++ b/rhtvision/include/tv/opstream.h
diff --git a/tvision/include/tv/osclipboard.h b/rhtvision/include/tv/osclipboard.h
index 1579661..1579661 100644
--- a/tvision/include/tv/osclipboard.h
+++ b/rhtvision/include/tv/osclipboard.h
diff --git a/tvision/include/tv/otstream.h b/rhtvision/include/tv/otstream.h
index 3a3cca7..3a3cca7 100644
--- a/tvision/include/tv/otstream.h
+++ b/rhtvision/include/tv/otstream.h
diff --git a/tvision/include/tv/palette.h b/rhtvision/include/tv/palette.h
index 7f3d19a..7f3d19a 100644
--- a/tvision/include/tv/palette.h
+++ b/rhtvision/include/tv/palette.h
diff --git a/tvision/include/tv/parmtext.h b/rhtvision/include/tv/parmtext.h
index d32139b..d32139b 100644
--- a/tvision/include/tv/parmtext.h
+++ b/rhtvision/include/tv/parmtext.h
diff --git a/tvision/include/tv/parttree.h b/rhtvision/include/tv/parttree.h
index 7cddfd7..7cddfd7 100644
--- a/tvision/include/tv/parttree.h
+++ b/rhtvision/include/tv/parttree.h
diff --git a/tvision/include/tv/point.h b/rhtvision/include/tv/point.h
index bc054b0..bc054b0 100644
--- a/tvision/include/tv/point.h
+++ b/rhtvision/include/tv/point.h
diff --git a/tvision/include/tv/preadobj.h b/rhtvision/include/tv/preadobj.h
index 39dc68a..39dc68a 100644
--- a/tvision/include/tv/preadobj.h
+++ b/rhtvision/include/tv/preadobj.h
diff --git a/tvision/include/tv/program.h b/rhtvision/include/tv/program.h
index 7773938..7773938 100644
--- a/tvision/include/tv/program.h
+++ b/rhtvision/include/tv/program.h
diff --git a/tvision/include/tv/pstream.h b/rhtvision/include/tv/pstream.h
index 0cadbae..0cadbae 100644
--- a/tvision/include/tv/pstream.h
+++ b/rhtvision/include/tv/pstream.h
diff --git a/tvision/include/tv/pwritobj.h b/rhtvision/include/tv/pwritobj.h
index f26c5f9..f26c5f9 100644
--- a/tvision/include/tv/pwritobj.h
+++ b/rhtvision/include/tv/pwritobj.h
diff --git a/tvision/include/tv/qnx4/key.h b/rhtvision/include/tv/qnx4/key.h
index 3a9953d..3a9953d 100644
--- a/tvision/include/tv/qnx4/key.h
+++ b/rhtvision/include/tv/qnx4/key.h
diff --git a/tvision/include/tv/qnx4/mouse.h b/rhtvision/include/tv/qnx4/mouse.h
index 4a76414..4a76414 100644
--- a/tvision/include/tv/qnx4/mouse.h
+++ b/rhtvision/include/tv/qnx4/mouse.h
diff --git a/tvision/include/tv/qnx4/screen.h b/rhtvision/include/tv/qnx4/screen.h
index 8ba2ce0..8ba2ce0 100644
--- a/tvision/include/tv/qnx4/screen.h
+++ b/rhtvision/include/tv/qnx4/screen.h
diff --git a/tvision/include/tv/qnxrtp/key.h b/rhtvision/include/tv/qnxrtp/key.h
index 220f762..220f762 100644
--- a/tvision/include/tv/qnxrtp/key.h
+++ b/rhtvision/include/tv/qnxrtp/key.h
diff --git a/tvision/include/tv/qnxrtp/mouse.h b/rhtvision/include/tv/qnxrtp/mouse.h
index 7e54375..7e54375 100644
--- a/tvision/include/tv/qnxrtp/mouse.h
+++ b/rhtvision/include/tv/qnxrtp/mouse.h
diff --git a/tvision/include/tv/qnxrtp/screen.h b/rhtvision/include/tv/qnxrtp/screen.h
index 3ed0af7..3ed0af7 100644
--- a/tvision/include/tv/qnxrtp/screen.h
+++ b/rhtvision/include/tv/qnxrtp/screen.h
diff --git a/tvision/include/tv/radiobtn.h b/rhtvision/include/tv/radiobtn.h
index 457e7f4..457e7f4 100644
--- a/tvision/include/tv/radiobtn.h
+++ b/rhtvision/include/tv/radiobtn.h
diff --git a/tvision/include/tv/rect.h b/rhtvision/include/tv/rect.h
index 7e377be..7e377be 100644
--- a/tvision/include/tv/rect.h
+++ b/rhtvision/include/tv/rect.h
diff --git a/tvision/include/tv/rescoll.h b/rhtvision/include/tv/rescoll.h
index db46f6c..db46f6c 100644
--- a/tvision/include/tv/rescoll.h
+++ b/rhtvision/include/tv/rescoll.h
diff --git a/tvision/include/tv/resfile.h b/rhtvision/include/tv/resfile.h
index bfdf2d5..bfdf2d5 100644
--- a/tvision/include/tv/resfile.h
+++ b/rhtvision/include/tv/resfile.h
diff --git a/tvision/include/tv/resitem.h b/rhtvision/include/tv/resitem.h
index 6a0e064..6a0e064 100644
--- a/tvision/include/tv/resitem.h
+++ b/rhtvision/include/tv/resitem.h
diff --git a/tvision/include/tv/resource.h b/rhtvision/include/tv/resource.h
index 29109b8..29109b8 100644
--- a/tvision/include/tv/resource.h
+++ b/rhtvision/include/tv/resource.h
diff --git a/tvision/include/tv/screen.h b/rhtvision/include/tv/screen.h
index 7b8fdbb..7b8fdbb 100644
--- a/tvision/include/tv/screen.h
+++ b/rhtvision/include/tv/screen.h
diff --git a/tvision/include/tv/scrlbar.h b/rhtvision/include/tv/scrlbar.h
index f5427fd..f5427fd 100644
--- a/tvision/include/tv/scrlbar.h
+++ b/rhtvision/include/tv/scrlbar.h
diff --git a/tvision/include/tv/scroller.h b/rhtvision/include/tv/scroller.h
index f081ff5..f081ff5 100644
--- a/tvision/include/tv/scroller.h
+++ b/rhtvision/include/tv/scroller.h
diff --git a/tvision/include/tv/searchrc.h b/rhtvision/include/tv/searchrc.h
index 2248da0..2248da0 100644
--- a/tvision/include/tv/searchrc.h
+++ b/rhtvision/include/tv/searchrc.h
diff --git a/tvision/include/tv/sitem.h b/rhtvision/include/tv/sitem.h
index 16f8c35..16f8c35 100644
--- a/tvision/include/tv/sitem.h
+++ b/rhtvision/include/tv/sitem.h
diff --git a/tvision/include/tv/skeleton/key.h b/rhtvision/include/tv/skeleton/key.h
index e4f6cb3..e4f6cb3 100644
--- a/tvision/include/tv/skeleton/key.h
+++ b/rhtvision/include/tv/skeleton/key.h
diff --git a/tvision/include/tv/skeleton/mouse.h b/rhtvision/include/tv/skeleton/mouse.h
index 67d30bc..67d30bc 100644
--- a/tvision/include/tv/skeleton/mouse.h
+++ b/rhtvision/include/tv/skeleton/mouse.h
diff --git a/tvision/include/tv/skeleton/screen.h b/rhtvision/include/tv/skeleton/screen.h
index 5895a87..5895a87 100644
--- a/tvision/include/tv/skeleton/screen.h
+++ b/rhtvision/include/tv/skeleton/screen.h
diff --git a/tvision/include/tv/sortcoll.h b/rhtvision/include/tv/sortcoll.h
index b34176b..b34176b 100644
--- a/tvision/include/tv/sortcoll.h
+++ b/rhtvision/include/tv/sortcoll.h
diff --git a/tvision/include/tv/sortlibo.h b/rhtvision/include/tv/sortlibo.h
index affe9ee..affe9ee 100644
--- a/tvision/include/tv/sortlibo.h
+++ b/rhtvision/include/tv/sortlibo.h
diff --git a/tvision/include/tv/ssc_streams.h b/rhtvision/include/tv/ssc_streams.h
index a5b687f..a5b687f 100644
--- a/tvision/include/tv/ssc_streams.h
+++ b/rhtvision/include/tv/ssc_streams.h
diff --git a/tvision/include/tv/statsdef.h b/rhtvision/include/tv/statsdef.h
index 8bcb618..8bcb618 100644
--- a/tvision/include/tv/statsdef.h
+++ b/rhtvision/include/tv/statsdef.h
diff --git a/tvision/include/tv/statsitm.h b/rhtvision/include/tv/statsitm.h
index 26dc645..26dc645 100644
--- a/tvision/include/tv/statsitm.h
+++ b/rhtvision/include/tv/statsitm.h
diff --git a/tvision/include/tv/statslin.h b/rhtvision/include/tv/statslin.h
index 5182a37..5182a37 100644
--- a/tvision/include/tv/statslin.h
+++ b/rhtvision/include/tv/statslin.h
diff --git a/tvision/include/tv/stddlg.h b/rhtvision/include/tv/stddlg.h
index c3cd114..c3cd114 100644
--- a/tvision/include/tv/stddlg.h
+++ b/rhtvision/include/tv/stddlg.h
diff --git a/tvision/include/tv/streambl.h b/rhtvision/include/tv/streambl.h
index 1e5c1a7..1e5c1a7 100644
--- a/tvision/include/tv/streambl.h
+++ b/rhtvision/include/tv/streambl.h
diff --git a/tvision/include/tv/strilist.h b/rhtvision/include/tv/strilist.h
index 0bee550..0bee550 100644
--- a/tvision/include/tv/strilist.h
+++ b/rhtvision/include/tv/strilist.h
diff --git a/tvision/include/tv/strinrec.h b/rhtvision/include/tv/strinrec.h
index e115cd8..e115cd8 100644
--- a/tvision/include/tv/strinrec.h
+++ b/rhtvision/include/tv/strinrec.h
diff --git a/tvision/include/tv/strlistm.h b/rhtvision/include/tv/strlistm.h
index b7f8f21..b7f8f21 100644
--- a/tvision/include/tv/strlistm.h
+++ b/rhtvision/include/tv/strlistm.h
diff --git a/tvision/include/tv/strmblcl.h b/rhtvision/include/tv/strmblcl.h
index 844e6b5..844e6b5 100644
--- a/tvision/include/tv/strmblcl.h
+++ b/rhtvision/include/tv/strmblcl.h
diff --git a/tvision/include/tv/strmblty.h b/rhtvision/include/tv/strmblty.h
index 6c20758..6c20758 100644
--- a/tvision/include/tv/strmblty.h
+++ b/rhtvision/include/tv/strmblty.h
diff --git a/tvision/include/tv/strncoll.h b/rhtvision/include/tv/strncoll.h
index d9adb32..d9adb32 100644
--- a/tvision/include/tv/strncoll.h
+++ b/rhtvision/include/tv/strncoll.h
diff --git a/tvision/include/tv/sttctext.h b/rhtvision/include/tv/sttctext.h
index 0ed14b8..0ed14b8 100644
--- a/tvision/include/tv/sttctext.h
+++ b/rhtvision/include/tv/sttctext.h
diff --git a/tvision/include/tv/submenu.h b/rhtvision/include/tv/submenu.h
index 031dad6..031dad6 100644
--- a/tvision/include/tv/submenu.h
+++ b/rhtvision/include/tv/submenu.h
diff --git a/tvision/include/tv/system.h b/rhtvision/include/tv/system.h
index 42a0832..42a0832 100644
--- a/tvision/include/tv/system.h
+++ b/rhtvision/include/tv/system.h
diff --git a/tvision/include/tv/terminal.h b/rhtvision/include/tv/terminal.h
index 05a6d9f..05a6d9f 100644
--- a/tvision/include/tv/terminal.h
+++ b/rhtvision/include/tv/terminal.h
diff --git a/tvision/include/tv/textdev.h b/rhtvision/include/tv/textdev.h
index 9a4e2e4..9a4e2e4 100644
--- a/tvision/include/tv/textdev.h
+++ b/rhtvision/include/tv/textdev.h
diff --git a/tvision/include/tv/textview.h b/rhtvision/include/tv/textview.h
index 0f05501..0f05501 100644
--- a/tvision/include/tv/textview.h
+++ b/rhtvision/include/tv/textview.h
diff --git a/tvision/include/tv/tkeyext.h b/rhtvision/include/tv/tkeyext.h
index 9737fe9..9737fe9 100644
--- a/tvision/include/tv/tkeyext.h
+++ b/rhtvision/include/tv/tkeyext.h
diff --git a/tvision/include/tv/tkeys.h b/rhtvision/include/tv/tkeys.h
index 4d9eb67..4d9eb67 100644
--- a/tvision/include/tv/tkeys.h
+++ b/rhtvision/include/tv/tkeys.h
diff --git a/tvision/include/tv/tobjstrm.h b/rhtvision/include/tv/tobjstrm.h
index 291d440..291d440 100644
--- a/tvision/include/tv/tobjstrm.h
+++ b/rhtvision/include/tv/tobjstrm.h
diff --git a/tvision/include/tv/ttypes.h b/rhtvision/include/tv/ttypes.h
index 004fa32..004fa32 100644
--- a/tvision/include/tv/ttypes.h
+++ b/rhtvision/include/tv/ttypes.h
diff --git a/tvision/include/tv/tvconfig.h b/rhtvision/include/tv/tvconfig.h
index c1439ba..c1439ba 100644
--- a/tvision/include/tv/tvconfig.h
+++ b/rhtvision/include/tv/tvconfig.h
diff --git a/tvision/include/tv/tvedit.h b/rhtvision/include/tv/tvedit.h
index da0e2fd..da0e2fd 100644
--- a/tvision/include/tv/tvedit.h
+++ b/rhtvision/include/tv/tvedit.h
diff --git a/tvision/include/tv/tvobjs.h b/rhtvision/include/tv/tvobjs.h
index 0c95a53..0c95a53 100644
--- a/tvision/include/tv/tvobjs.h
+++ b/rhtvision/include/tv/tvobjs.h
diff --git a/tvision/include/tv/tvutil.h b/rhtvision/include/tv/tvutil.h
index 7436d43..7436d43 100644
--- a/tvision/include/tv/tvutil.h
+++ b/rhtvision/include/tv/tvutil.h
diff --git a/tvision/include/tv/unix/key.h b/rhtvision/include/tv/unix/key.h
index f9436cd..f9436cd 100644
--- a/tvision/include/tv/unix/key.h
+++ b/rhtvision/include/tv/unix/key.h
diff --git a/tvision/include/tv/unix/mouse.h b/rhtvision/include/tv/unix/mouse.h
index c90847c..c90847c 100644
--- a/tvision/include/tv/unix/mouse.h
+++ b/rhtvision/include/tv/unix/mouse.h
diff --git a/tvision/include/tv/unix/screen.h b/rhtvision/include/tv/unix/screen.h
index 90b994f..90b994f 100644
--- a/tvision/include/tv/unix/screen.h
+++ b/rhtvision/include/tv/unix/screen.h
diff --git a/tvision/include/tv/unix/xtkey.h b/rhtvision/include/tv/unix/xtkey.h
index 22845fd..22845fd 100644
--- a/tvision/include/tv/unix/xtkey.h
+++ b/rhtvision/include/tv/unix/xtkey.h
diff --git a/tvision/include/tv/unix/xtmouse.h b/rhtvision/include/tv/unix/xtmouse.h
index 56a9593..56a9593 100644
--- a/tvision/include/tv/unix/xtmouse.h
+++ b/rhtvision/include/tv/unix/xtmouse.h
diff --git a/tvision/include/tv/unix/xtscreen.h b/rhtvision/include/tv/unix/xtscreen.h
index 4492eb8..4492eb8 100644
--- a/tvision/include/tv/unix/xtscreen.h
+++ b/rhtvision/include/tv/unix/xtscreen.h
diff --git a/tvision/include/tv/validate.h b/rhtvision/include/tv/validate.h
index d3229b8..d3229b8 100644
--- a/tvision/include/tv/validate.h
+++ b/rhtvision/include/tv/validate.h
diff --git a/tvision/include/tv/video.h b/rhtvision/include/tv/video.h
index 54311aa..54311aa 100644
--- a/tvision/include/tv/video.h
+++ b/rhtvision/include/tv/video.h
diff --git a/tvision/include/tv/view.h b/rhtvision/include/tv/view.h
index 27b7ed7..27b7ed7 100644
--- a/tvision/include/tv/view.h
+++ b/rhtvision/include/tv/view.h
diff --git a/tvision/include/tv/views.h b/rhtvision/include/tv/views.h
index 7b4cbb5..7b4cbb5 100644
--- a/tvision/include/tv/views.h
+++ b/rhtvision/include/tv/views.h
diff --git a/tvision/include/tv/win32/key.h b/rhtvision/include/tv/win32/key.h
index 784facc..784facc 100644
--- a/tvision/include/tv/win32/key.h
+++ b/rhtvision/include/tv/win32/key.h
diff --git a/tvision/include/tv/win32/mouse.h b/rhtvision/include/tv/win32/mouse.h
index a9aebdb..a9aebdb 100644
--- a/tvision/include/tv/win32/mouse.h
+++ b/rhtvision/include/tv/win32/mouse.h
diff --git a/tvision/include/tv/win32/screen.h b/rhtvision/include/tv/win32/screen.h
index 7563cd4..7563cd4 100644
--- a/tvision/include/tv/win32/screen.h
+++ b/rhtvision/include/tv/win32/screen.h
diff --git a/tvision/include/tv/win32/win32clip.h b/rhtvision/include/tv/win32/win32clip.h
index da93910..da93910 100644
--- a/tvision/include/tv/win32/win32clip.h
+++ b/rhtvision/include/tv/win32/win32clip.h
diff --git a/tvision/include/tv/window.h b/rhtvision/include/tv/window.h
index 0caad3c..0caad3c 100644
--- a/tvision/include/tv/window.h
+++ b/rhtvision/include/tv/window.h
diff --git a/tvision/include/tv/wingr/key.h b/rhtvision/include/tv/wingr/key.h
index 4e90bfc..4e90bfc 100644
--- a/tvision/include/tv/wingr/key.h
+++ b/rhtvision/include/tv/wingr/key.h
diff --git a/tvision/include/tv/wingr/mouse.h b/rhtvision/include/tv/wingr/mouse.h
index 3706bf3..3706bf3 100644
--- a/tvision/include/tv/wingr/mouse.h
+++ b/rhtvision/include/tv/wingr/mouse.h
diff --git a/tvision/include/tv/wingr/screen.h b/rhtvision/include/tv/wingr/screen.h
index 524eef5..524eef5 100644
--- a/tvision/include/tv/wingr/screen.h
+++ b/rhtvision/include/tv/wingr/screen.h
diff --git a/tvision/include/tv/winnt/key.h b/rhtvision/include/tv/winnt/key.h
index c3fcf52..c3fcf52 100644
--- a/tvision/include/tv/winnt/key.h
+++ b/rhtvision/include/tv/winnt/key.h
diff --git a/tvision/include/tv/winnt/mouse.h b/rhtvision/include/tv/winnt/mouse.h
index 58fa772..58fa772 100644
--- a/tvision/include/tv/winnt/mouse.h
+++ b/rhtvision/include/tv/winnt/mouse.h
diff --git a/tvision/include/tv/winnt/screen.h b/rhtvision/include/tv/winnt/screen.h
index f47a6e5..f47a6e5 100644
--- a/tvision/include/tv/winnt/screen.h
+++ b/rhtvision/include/tv/winnt/screen.h
diff --git a/tvision/include/tv/x11/key.h b/rhtvision/include/tv/x11/key.h
index 6a88371..6a88371 100644
--- a/tvision/include/tv/x11/key.h
+++ b/rhtvision/include/tv/x11/key.h
diff --git a/tvision/include/tv/x11/mouse.h b/rhtvision/include/tv/x11/mouse.h
index 1da347b..1da347b 100644
--- a/tvision/include/tv/x11/mouse.h
+++ b/rhtvision/include/tv/x11/mouse.h
diff --git a/tvision/include/tv/x11/screen.h b/rhtvision/include/tv/x11/screen.h
index b32fb45..b32fb45 100644
--- a/tvision/include/tv/x11/screen.h
+++ b/rhtvision/include/tv/x11/screen.h
diff --git a/tvision/include/tv/yes_mss.h b/rhtvision/include/tv/yes_mss.h
index fd61366..fd61366 100644
--- a/tvision/include/tv/yes_mss.h
+++ b/rhtvision/include/tv/yes_mss.h
diff --git a/tvision/intl/Makefile b/rhtvision/intl/Makefile
index 237e043..237e043 100644
--- a/tvision/intl/Makefile
+++ b/rhtvision/intl/Makefile
diff --git a/tvision/intl/dummy/Makefile b/rhtvision/intl/dummy/Makefile
index c32b0a8..c32b0a8 100644
--- a/tvision/intl/dummy/Makefile
+++ b/rhtvision/intl/dummy/Makefile
diff --git a/tvision/intl/dummy/intldummy.c b/rhtvision/intl/dummy/intldummy.c
index 5267194..5267194 100644
--- a/tvision/intl/dummy/intldummy.c
+++ b/rhtvision/intl/dummy/intldummy.c
diff --git a/tvision/intl/es.po b/rhtvision/intl/es.po
index e554ce1..e554ce1 100644
--- a/tvision/intl/es.po
+++ b/rhtvision/intl/es.po
diff --git a/tvision/intl/gnumake.in b/rhtvision/intl/gnumake.in
index 237e043..237e043 100644
--- a/tvision/intl/gnumake.in
+++ b/rhtvision/intl/gnumake.in
diff --git a/tvision/intl/pl.po b/rhtvision/intl/pl.po
index 3f94e27..3f94e27 100644
--- a/tvision/intl/pl.po
+++ b/rhtvision/intl/pl.po
diff --git a/tvision/intl/ru.po b/rhtvision/intl/ru.po
index 6ed43eb..6ed43eb 100644
--- a/tvision/intl/ru.po
+++ b/rhtvision/intl/ru.po
diff --git a/tvision/intl/tvision.po b/rhtvision/intl/tvision.po
index ea1e3b9..ea1e3b9 100644
--- a/tvision/intl/tvision.po
+++ b/rhtvision/intl/tvision.po
diff --git a/tvision/intl/utod.pl b/rhtvision/intl/utod.pl
index a72f7c3..a72f7c3 100644
--- a/tvision/intl/utod.pl
+++ b/rhtvision/intl/utod.pl
diff --git a/tvision/linux/compress b/rhtvision/linux/compress
index 61599c2..61599c2 100755
--- a/tvision/linux/compress
+++ b/rhtvision/linux/compress
diff --git a/tvision/linux/inclubin.txt b/rhtvision/linux/inclubin.txt
index 30d537e..30d537e 100644
--- a/tvision/linux/inclubin.txt
+++ b/rhtvision/linux/inclubin.txt
diff --git a/tvision/linux/includbi.txt b/rhtvision/linux/includbi.txt
index 8235b22..8235b22 100644
--- a/tvision/linux/includbi.txt
+++ b/rhtvision/linux/includbi.txt
diff --git a/tvision/linux/sacadeb b/rhtvision/linux/sacadeb
index d55a797..d55a797 100644
--- a/tvision/linux/sacadeb
+++ b/rhtvision/linux/sacadeb
diff --git a/tvision/lista b/rhtvision/lista
index e914370..e914370 100644
--- a/tvision/lista
+++ b/rhtvision/lista
diff --git a/tvision/lista.dos b/rhtvision/lista.dos
index a4f424d..a4f424d 100644
--- a/tvision/lista.dos
+++ b/rhtvision/lista.dos
diff --git a/tvision/makes/blink.c b/rhtvision/makes/blink.c
index ad85d96..ad85d96 100644
--- a/tvision/makes/blink.c
+++ b/rhtvision/makes/blink.c
diff --git a/tvision/makes/common.bmk b/rhtvision/makes/common.bmk
index f44d455..f44d455 100644
--- a/tvision/makes/common.bmk
+++ b/rhtvision/makes/common.bmk
diff --git a/tvision/makes/common.imk b/rhtvision/makes/common.imk
index 3b5db95..3b5db95 100644
--- a/tvision/makes/common.imk
+++ b/rhtvision/makes/common.imk
diff --git a/tvision/makes/common.nmk b/rhtvision/makes/common.nmk
index 5998c47..5998c47 100644
--- a/tvision/makes/common.nmk
+++ b/rhtvision/makes/common.nmk
diff --git a/tvision/makes/common.wat b/rhtvision/makes/common.wat
index c5212ff..c5212ff 100644
--- a/tvision/makes/common.wat
+++ b/rhtvision/makes/common.wat
diff --git a/tvision/makes/config.bcc b/rhtvision/makes/config.bcc
index 46a9293..46a9293 100644
--- a/tvision/makes/config.bcc
+++ b/rhtvision/makes/config.bcc
diff --git a/tvision/makes/config.nmk b/rhtvision/makes/config.nmk
index 73d0088..73d0088 100644
--- a/tvision/makes/config.nmk
+++ b/rhtvision/makes/config.nmk
diff --git a/tvision/makes/config.wat b/rhtvision/makes/config.wat
index 3be1cfd..3be1cfd 100644
--- a/tvision/makes/config.wat
+++ b/rhtvision/makes/config.wat
diff --git a/tvision/makes/extrimk.cc b/rhtvision/makes/extrimk.cc
index 53c76b2..53c76b2 100644
--- a/tvision/makes/extrimk.cc
+++ b/rhtvision/makes/extrimk.cc
diff --git a/tvision/makes/genimk.cc b/rhtvision/makes/genimk.cc
index 8b465d4..8b465d4 100644
--- a/tvision/makes/genimk.cc
+++ b/rhtvision/makes/genimk.cc
diff --git a/tvision/makes/includer.bmk b/rhtvision/makes/includer.bmk
index 117c2a8..117c2a8 100644
--- a/tvision/makes/includer.bmk
+++ b/rhtvision/makes/includer.bmk
diff --git a/tvision/makes/includer.imk b/rhtvision/makes/includer.imk
index ce82fac..ce82fac 100644
--- a/tvision/makes/includer.imk
+++ b/rhtvision/makes/includer.imk
diff --git a/tvision/makes/librhtv.bmk b/rhtvision/makes/librhtv.bmk
index f8b74d0..f8b74d0 100644
--- a/tvision/makes/librhtv.bmk
+++ b/rhtvision/makes/librhtv.bmk
diff --git a/tvision/makes/librhtv.gpr b/rhtvision/makes/librhtv.gpr
index 48a360a..48a360a 100644
--- a/tvision/makes/librhtv.gpr
+++ b/rhtvision/makes/librhtv.gpr
Binary files differ
diff --git a/tvision/makes/librhtv.imk b/rhtvision/makes/librhtv.imk
index 8fe1a70..8fe1a70 100644
--- a/tvision/makes/librhtv.imk
+++ b/rhtvision/makes/librhtv.imk
diff --git a/tvision/makes/librhtv.mkf b/rhtvision/makes/librhtv.mkf
index ebafbd5..ebafbd5 100644
--- a/tvision/makes/librhtv.mkf
+++ b/rhtvision/makes/librhtv.mkf
diff --git a/tvision/makes/librhtv.umk b/rhtvision/makes/librhtv.umk
index d575955..d575955 100644
--- a/tvision/makes/librhtv.umk
+++ b/rhtvision/makes/librhtv.umk
diff --git a/tvision/makes/maintain.mak b/rhtvision/makes/maintain.mak
index edaf036..edaf036 100644
--- a/tvision/makes/maintain.mak
+++ b/rhtvision/makes/maintain.mak
diff --git a/tvision/makes/mlink.c b/rhtvision/makes/mlink.c
index 547a08d..547a08d 100644
--- a/tvision/makes/mlink.c
+++ b/rhtvision/makes/mlink.c
diff --git a/tvision/makes/obj/delete.me b/rhtvision/makes/obj/delete.me
index 13340a4..13340a4 100644
--- a/tvision/makes/obj/delete.me
+++ b/rhtvision/makes/obj/delete.me
diff --git a/tvision/misc.cc b/rhtvision/misc.cc
index 1c901a8..1c901a8 100644
--- a/tvision/misc.cc
+++ b/rhtvision/misc.cc
diff --git a/tvision/miscperl.pl b/rhtvision/miscperl.pl
index 3843b2c..3843b2c 100644
--- a/tvision/miscperl.pl
+++ b/rhtvision/miscperl.pl
diff --git a/tvision/msgbox.cc b/rhtvision/msgbox.cc
index bc9eb93..bc9eb93 100644
--- a/tvision/msgbox.cc
+++ b/rhtvision/msgbox.cc
diff --git a/tvision/names/nbackgro.cc b/rhtvision/names/nbackgro.cc
index edfaa91..edfaa91 100644
--- a/tvision/names/nbackgro.cc
+++ b/rhtvision/names/nbackgro.cc
diff --git a/tvision/names/nbutton.cc b/rhtvision/names/nbutton.cc
index 28baee0..28baee0 100644
--- a/tvision/names/nbutton.cc
+++ b/rhtvision/names/nbutton.cc
diff --git a/tvision/names/ncalcdis.cc b/rhtvision/names/ncalcdis.cc
index ee2152b..ee2152b 100644
--- a/tvision/names/ncalcdis.cc
+++ b/rhtvision/names/ncalcdis.cc
diff --git a/tvision/names/ncalcula.cc b/rhtvision/names/ncalcula.cc
index 34f8293..34f8293 100644
--- a/tvision/names/ncalcula.cc
+++ b/rhtvision/names/ncalcula.cc
diff --git a/tvision/names/nchdirdi.cc b/rhtvision/names/nchdirdi.cc
index b3e9479..b3e9479 100644
--- a/tvision/names/nchdirdi.cc
+++ b/rhtvision/names/nchdirdi.cc
diff --git a/tvision/names/ncheckbo.cc b/rhtvision/names/ncheckbo.cc
index e88c908..e88c908 100644
--- a/tvision/names/ncheckbo.cc
+++ b/rhtvision/names/ncheckbo.cc
diff --git a/tvision/names/nclrdisp.cc b/rhtvision/names/nclrdisp.cc
index e75c0ba..e75c0ba 100644
--- a/tvision/names/nclrdisp.cc
+++ b/rhtvision/names/nclrdisp.cc
diff --git a/tvision/names/ncluster.cc b/rhtvision/names/ncluster.cc
index 58af44b..58af44b 100644
--- a/tvision/names/ncluster.cc
+++ b/rhtvision/names/ncluster.cc
diff --git a/tvision/names/ncollect.cc b/rhtvision/names/ncollect.cc
index 36287e7..36287e7 100644
--- a/tvision/names/ncollect.cc
+++ b/rhtvision/names/ncollect.cc
diff --git a/tvision/names/ncolordi.cc b/rhtvision/names/ncolordi.cc
index 757c22d..757c22d 100644
--- a/tvision/names/ncolordi.cc
+++ b/rhtvision/names/ncolordi.cc
diff --git a/tvision/names/ncolorgr.cc b/rhtvision/names/ncolorgr.cc
index fae7232..fae7232 100644
--- a/tvision/names/ncolorgr.cc
+++ b/rhtvision/names/ncolorgr.cc
diff --git a/tvision/names/ncolorit.cc b/rhtvision/names/ncolorit.cc
index d389dfb..d389dfb 100644
--- a/tvision/names/ncolorit.cc
+++ b/rhtvision/names/ncolorit.cc
diff --git a/tvision/names/ncolorse.cc b/rhtvision/names/ncolorse.cc
index a6f7484..a6f7484 100644
--- a/tvision/names/ncolorse.cc
+++ b/rhtvision/names/ncolorse.cc
diff --git a/tvision/names/ndesktop.cc b/rhtvision/names/ndesktop.cc
index b3beeb9..b3beeb9 100644
--- a/tvision/names/ndesktop.cc
+++ b/rhtvision/names/ndesktop.cc
diff --git a/tvision/names/ndialog.cc b/rhtvision/names/ndialog.cc
index 34235a6..34235a6 100644
--- a/tvision/names/ndialog.cc
+++ b/rhtvision/names/ndialog.cc
diff --git a/tvision/names/ndircoll.cc b/rhtvision/names/ndircoll.cc
index ae597c4..ae597c4 100644
--- a/tvision/names/ndircoll.cc
+++ b/rhtvision/names/ndircoll.cc
diff --git a/tvision/names/ndirlist.cc b/rhtvision/names/ndirlist.cc
index 9271af0..9271af0 100644
--- a/tvision/names/ndirlist.cc
+++ b/rhtvision/names/ndirlist.cc
diff --git a/tvision/names/neditor.cc b/rhtvision/names/neditor.cc
index 251f42a..251f42a 100644
--- a/tvision/names/neditor.cc
+++ b/rhtvision/names/neditor.cc
diff --git a/tvision/names/neditwi.cc b/rhtvision/names/neditwi.cc
index 55585ae..55585ae 100644
--- a/tvision/names/neditwi.cc
+++ b/rhtvision/names/neditwi.cc
diff --git a/tvision/names/nfilecol.cc b/rhtvision/names/nfilecol.cc
index fdb1afb..fdb1afb 100644
--- a/tvision/names/nfilecol.cc
+++ b/rhtvision/names/nfilecol.cc
diff --git a/tvision/names/nfiledia.cc b/rhtvision/names/nfiledia.cc
index b0e2ba6..b0e2ba6 100644
--- a/tvision/names/nfiledia.cc
+++ b/rhtvision/names/nfiledia.cc
diff --git a/tvision/names/nfiledtr.cc b/rhtvision/names/nfiledtr.cc
index 80c1c4f..80c1c4f 100644
--- a/tvision/names/nfiledtr.cc
+++ b/rhtvision/names/nfiledtr.cc
diff --git a/tvision/names/nfileinf.cc b/rhtvision/names/nfileinf.cc
index f174d54..f174d54 100644
--- a/tvision/names/nfileinf.cc
+++ b/rhtvision/names/nfileinf.cc
diff --git a/tvision/names/nfileinp.cc b/rhtvision/names/nfileinp.cc
index 5242715..5242715 100644
--- a/tvision/names/nfileinp.cc
+++ b/rhtvision/names/nfileinp.cc
diff --git a/tvision/names/nfilelis.cc b/rhtvision/names/nfilelis.cc
index c642b2b..c642b2b 100644
--- a/tvision/names/nfilelis.cc
+++ b/rhtvision/names/nfilelis.cc
diff --git a/tvision/names/nfilterv.cc b/rhtvision/names/nfilterv.cc
index 1ae5306..1ae5306 100644
--- a/tvision/names/nfilterv.cc
+++ b/rhtvision/names/nfilterv.cc
diff --git a/tvision/names/nframe.cc b/rhtvision/names/nframe.cc
index 9d74cdf..9d74cdf 100644
--- a/tvision/names/nframe.cc
+++ b/rhtvision/names/nframe.cc
diff --git a/tvision/names/ngroup.cc b/rhtvision/names/ngroup.cc
index 2983a45..2983a45 100644
--- a/tvision/names/ngroup.cc
+++ b/rhtvision/names/ngroup.cc
diff --git a/tvision/names/nhistory.cc b/rhtvision/names/nhistory.cc
index 8f7acde..8f7acde 100644
--- a/tvision/names/nhistory.cc
+++ b/rhtvision/names/nhistory.cc
diff --git a/tvision/names/nindicat.cc b/rhtvision/names/nindicat.cc
index 60e29cb..60e29cb 100644
--- a/tvision/names/nindicat.cc
+++ b/rhtvision/names/nindicat.cc
diff --git a/tvision/names/ninputli.cc b/rhtvision/names/ninputli.cc
index b5a69ee..b5a69ee 100644
--- a/tvision/names/ninputli.cc
+++ b/rhtvision/names/ninputli.cc
diff --git a/tvision/names/nlabel.cc b/rhtvision/names/nlabel.cc
index 12fa3b6..12fa3b6 100644
--- a/tvision/names/nlabel.cc
+++ b/rhtvision/names/nlabel.cc
diff --git a/tvision/names/nlistbox.cc b/rhtvision/names/nlistbox.cc
index 8d05d81..8d05d81 100644
--- a/tvision/names/nlistbox.cc
+++ b/rhtvision/names/nlistbox.cc
diff --git a/tvision/names/nlistvie.cc b/rhtvision/names/nlistvie.cc
index 8713f93..8713f93 100644
--- a/tvision/names/nlistvie.cc
+++ b/rhtvision/names/nlistvie.cc
diff --git a/tvision/names/nlookupv.cc b/rhtvision/names/nlookupv.cc
index 7effd43..7effd43 100644
--- a/tvision/names/nlookupv.cc
+++ b/rhtvision/names/nlookupv.cc
diff --git a/tvision/names/nmemo.cc b/rhtvision/names/nmemo.cc
index 9853a19..9853a19 100644
--- a/tvision/names/nmemo.cc
+++ b/rhtvision/names/nmemo.cc
diff --git a/tvision/names/nmenubar.cc b/rhtvision/names/nmenubar.cc
index d35f3f5..d35f3f5 100644
--- a/tvision/names/nmenubar.cc
+++ b/rhtvision/names/nmenubar.cc
diff --git a/tvision/names/nmenubox.cc b/rhtvision/names/nmenubox.cc
index c22e716..c22e716 100644
--- a/tvision/names/nmenubox.cc
+++ b/rhtvision/names/nmenubox.cc
diff --git a/tvision/names/nmenuvie.cc b/rhtvision/names/nmenuvie.cc
index 3061c99..3061c99 100644
--- a/tvision/names/nmenuvie.cc
+++ b/rhtvision/names/nmenuvie.cc
diff --git a/tvision/names/nmonosel.cc b/rhtvision/names/nmonosel.cc
index 9de1f0d..9de1f0d 100644
--- a/tvision/names/nmonosel.cc
+++ b/rhtvision/names/nmonosel.cc
diff --git a/tvision/names/nparamte.cc b/rhtvision/names/nparamte.cc
index 38e342d..38e342d 100644
--- a/tvision/names/nparamte.cc
+++ b/rhtvision/names/nparamte.cc
diff --git a/tvision/names/npxvalid.cc b/rhtvision/names/npxvalid.cc
index 28bbe5f..28bbe5f 100644
--- a/tvision/names/npxvalid.cc
+++ b/rhtvision/names/npxvalid.cc
diff --git a/tvision/names/nradiobu.cc b/rhtvision/names/nradiobu.cc
index 252622a..252622a 100644
--- a/tvision/names/nradiobu.cc
+++ b/rhtvision/names/nradiobu.cc
diff --git a/tvision/names/nrangeva.cc b/rhtvision/names/nrangeva.cc
index 2a3ce6a..2a3ce6a 100644
--- a/tvision/names/nrangeva.cc
+++ b/rhtvision/names/nrangeva.cc
diff --git a/tvision/names/nresourc.cc b/rhtvision/names/nresourc.cc
index d0b309e..d0b309e 100644
--- a/tvision/names/nresourc.cc
+++ b/rhtvision/names/nresourc.cc
diff --git a/tvision/names/nscrollb.cc b/rhtvision/names/nscrollb.cc
index 7e7ed3f..7e7ed3f 100644
--- a/tvision/names/nscrollb.cc
+++ b/rhtvision/names/nscrollb.cc
diff --git a/tvision/names/nscrolle.cc b/rhtvision/names/nscrolle.cc
index 3497616..3497616 100644
--- a/tvision/names/nscrolle.cc
+++ b/rhtvision/names/nscrolle.cc
diff --git a/tvision/names/nsortedc.cc b/rhtvision/names/nsortedc.cc
index c7b1c56..c7b1c56 100644
--- a/tvision/names/nsortedc.cc
+++ b/rhtvision/names/nsortedc.cc
diff --git a/tvision/names/nsortedl.cc b/rhtvision/names/nsortedl.cc
index 13858b8..13858b8 100644
--- a/tvision/names/nsortedl.cc
+++ b/rhtvision/names/nsortedl.cc
diff --git a/tvision/names/nstatict.cc b/rhtvision/names/nstatict.cc
index 4ce7c42..4ce7c42 100644
--- a/tvision/names/nstatict.cc
+++ b/rhtvision/names/nstatict.cc
diff --git a/tvision/names/nstatusl.cc b/rhtvision/names/nstatusl.cc
index 5225152..5225152 100644
--- a/tvision/names/nstatusl.cc
+++ b/rhtvision/names/nstatusl.cc
diff --git a/tvision/names/nstringc.cc b/rhtvision/names/nstringc.cc
index 8f00657..8f00657 100644
--- a/tvision/names/nstringc.cc
+++ b/rhtvision/names/nstringc.cc
diff --git a/tvision/names/nstringl.cc b/rhtvision/names/nstringl.cc
index 2397e8a..2397e8a 100644
--- a/tvision/names/nstringl.cc
+++ b/rhtvision/names/nstringl.cc
diff --git a/tvision/names/nvalidat.cc b/rhtvision/names/nvalidat.cc
index 3663dbb..3663dbb 100644
--- a/tvision/names/nvalidat.cc
+++ b/rhtvision/names/nvalidat.cc
diff --git a/tvision/names/nview.cc b/rhtvision/names/nview.cc
index 5da58a6..5da58a6 100644
--- a/tvision/names/nview.cc
+++ b/rhtvision/names/nview.cc
diff --git a/tvision/names/nwindow.cc b/rhtvision/names/nwindow.cc
index d8d9676..d8d9676 100644
--- a/tvision/names/nwindow.cc
+++ b/rhtvision/names/nwindow.cc
diff --git a/tvision/newstr.cc b/rhtvision/newstr.cc
index 33184e0..33184e0 100644
--- a/tvision/newstr.cc
+++ b/rhtvision/newstr.cc
diff --git a/tvision/qnxrtp/tvision.qpg b/rhtvision/qnxrtp/tvision.qpg
index 9086b12..9086b12 100644
--- a/tvision/qnxrtp/tvision.qpg
+++ b/rhtvision/qnxrtp/tvision.qpg
diff --git a/tvision/qnxrtp/tvision.qpg.in b/rhtvision/qnxrtp/tvision.qpg.in
index 7fa16aa..7fa16aa 100644
--- a/tvision/qnxrtp/tvision.qpg.in
+++ b/rhtvision/qnxrtp/tvision.qpg.in
diff --git a/tvision/readme.in b/rhtvision/readme.in
index e8ff2eb..e8ff2eb 100644
--- a/tvision/readme.in
+++ b/rhtvision/readme.in
diff --git a/tvision/readme.txt b/rhtvision/readme.txt
index 3d30c4c..3d30c4c 100644
--- a/tvision/readme.txt
+++ b/rhtvision/readme.txt
diff --git a/tvision/redhat/.cvsignore b/rhtvision/redhat/.cvsignore
index 6c51ab1..6c51ab1 100644
--- a/tvision/redhat/.cvsignore
+++ b/rhtvision/redhat/.cvsignore
diff --git a/tvision/redhat/README b/rhtvision/redhat/README
index 357ce11..357ce11 100644
--- a/tvision/redhat/README
+++ b/rhtvision/redhat/README
diff --git a/tvision/redhat/config-rpm.sh b/rhtvision/redhat/config-rpm.sh
index 8d4ca72..8d4ca72 100755
--- a/tvision/redhat/config-rpm.sh
+++ b/rhtvision/redhat/config-rpm.sh
diff --git a/tvision/redhat/create-dirs.sh b/rhtvision/redhat/create-dirs.sh
index 0e24b8c..0e24b8c 100755
--- a/tvision/redhat/create-dirs.sh
+++ b/rhtvision/redhat/create-dirs.sh
diff --git a/tvision/redhat/create-rpms.sh b/rhtvision/redhat/create-rpms.sh
index 8083e46..8083e46 100755
--- a/tvision/redhat/create-rpms.sh
+++ b/rhtvision/redhat/create-rpms.sh
diff --git a/tvision/redhat/librhtv.spec.in b/rhtvision/redhat/librhtv.spec.in
index a26d1f1..a26d1f1 100644
--- a/tvision/redhat/librhtv.spec.in
+++ b/rhtvision/redhat/librhtv.spec.in
diff --git a/tvision/rhide.env b/rhtvision/rhide.env
index fa35d8b..fa35d8b 100644
--- a/tvision/rhide.env
+++ b/rhtvision/rhide.env
diff --git a/tvision/rhtv-config.c b/rhtvision/rhtv-config.c
index ab08932..ab08932 100644
--- a/tvision/rhtv-config.c
+++ b/rhtvision/rhtv-config.c
diff --git a/tvision/searchstrs.sh b/rhtvision/searchstrs.sh
index 3187b28..3187b28 100755
--- a/tvision/searchstrs.sh
+++ b/rhtvision/searchstrs.sh
diff --git a/tvision/snapshot.pl b/rhtvision/snapshot.pl
index 1e8ec6b..1e8ec6b 100644
--- a/tvision/snapshot.pl
+++ b/rhtvision/snapshot.pl
diff --git a/tvision/stream/sbackgro.cc b/rhtvision/stream/sbackgro.cc
index 3f03b93..3f03b93 100644
--- a/tvision/stream/sbackgro.cc
+++ b/rhtvision/stream/sbackgro.cc
diff --git a/tvision/stream/sbutton.cc b/rhtvision/stream/sbutton.cc
index 87004f1..87004f1 100644
--- a/tvision/stream/sbutton.cc
+++ b/rhtvision/stream/sbutton.cc
diff --git a/tvision/stream/scalcdis.cc b/rhtvision/stream/scalcdis.cc
index d95dc00..d95dc00 100644
--- a/tvision/stream/scalcdis.cc
+++ b/rhtvision/stream/scalcdis.cc
diff --git a/tvision/stream/scalcula.cc b/rhtvision/stream/scalcula.cc
index dc87d6f..dc87d6f 100644
--- a/tvision/stream/scalcula.cc
+++ b/rhtvision/stream/scalcula.cc
diff --git a/tvision/stream/schdirdi.cc b/rhtvision/stream/schdirdi.cc
index 21143b3..21143b3 100644
--- a/tvision/stream/schdirdi.cc
+++ b/rhtvision/stream/schdirdi.cc
diff --git a/tvision/stream/scheckbo.cc b/rhtvision/stream/scheckbo.cc
index d2036bb..d2036bb 100644
--- a/tvision/stream/scheckbo.cc
+++ b/rhtvision/stream/scheckbo.cc
diff --git a/tvision/stream/sclrdisp.cc b/rhtvision/stream/sclrdisp.cc
index 667b56e..667b56e 100644
--- a/tvision/stream/sclrdisp.cc
+++ b/rhtvision/stream/sclrdisp.cc
diff --git a/tvision/stream/scluster.cc b/rhtvision/stream/scluster.cc
index d599de6..d599de6 100644
--- a/tvision/stream/scluster.cc
+++ b/rhtvision/stream/scluster.cc
diff --git a/tvision/stream/scolordi.cc b/rhtvision/stream/scolordi.cc
index 863710c..863710c 100644
--- a/tvision/stream/scolordi.cc
+++ b/rhtvision/stream/scolordi.cc
diff --git a/tvision/stream/scolorgr.cc b/rhtvision/stream/scolorgr.cc
index 6067463..6067463 100644
--- a/tvision/stream/scolorgr.cc
+++ b/rhtvision/stream/scolorgr.cc
diff --git a/tvision/stream/scolorit.cc b/rhtvision/stream/scolorit.cc
index 67a6089..67a6089 100644
--- a/tvision/stream/scolorit.cc
+++ b/rhtvision/stream/scolorit.cc
diff --git a/tvision/stream/scolorse.cc b/rhtvision/stream/scolorse.cc
index 1d3863e..1d3863e 100644
--- a/tvision/stream/scolorse.cc
+++ b/rhtvision/stream/scolorse.cc
diff --git a/tvision/stream/sdesktop.cc b/rhtvision/stream/sdesktop.cc
index 4a8f290..4a8f290 100644
--- a/tvision/stream/sdesktop.cc
+++ b/rhtvision/stream/sdesktop.cc
diff --git a/tvision/stream/sdialog.cc b/rhtvision/stream/sdialog.cc
index 9227401..9227401 100644
--- a/tvision/stream/sdialog.cc
+++ b/rhtvision/stream/sdialog.cc
diff --git a/tvision/stream/sdircoll.cc b/rhtvision/stream/sdircoll.cc
index b08694b..b08694b 100644
--- a/tvision/stream/sdircoll.cc
+++ b/rhtvision/stream/sdircoll.cc
diff --git a/tvision/stream/sdirlist.cc b/rhtvision/stream/sdirlist.cc
index 8a49c1f..8a49c1f 100644
--- a/tvision/stream/sdirlist.cc
+++ b/rhtvision/stream/sdirlist.cc
diff --git a/tvision/stream/seditor.cc b/rhtvision/stream/seditor.cc
index 54a81d4..54a81d4 100644
--- a/tvision/stream/seditor.cc
+++ b/rhtvision/stream/seditor.cc
diff --git a/tvision/stream/seditwin.cc b/rhtvision/stream/seditwin.cc
index 8a48b13..8a48b13 100644
--- a/tvision/stream/seditwin.cc
+++ b/rhtvision/stream/seditwin.cc
diff --git a/tvision/stream/sfilecol.cc b/rhtvision/stream/sfilecol.cc
index 15945dc..15945dc 100644
--- a/tvision/stream/sfilecol.cc
+++ b/rhtvision/stream/sfilecol.cc
diff --git a/tvision/stream/sfiledia.cc b/rhtvision/stream/sfiledia.cc
index b6b5875..b6b5875 100644
--- a/tvision/stream/sfiledia.cc
+++ b/rhtvision/stream/sfiledia.cc
diff --git a/tvision/stream/sfileedi.cc b/rhtvision/stream/sfileedi.cc
index 0e8b8eb..0e8b8eb 100644
--- a/tvision/stream/sfileedi.cc
+++ b/rhtvision/stream/sfileedi.cc
diff --git a/tvision/stream/sfileinf.cc b/rhtvision/stream/sfileinf.cc
index 6d8c441..6d8c441 100644
--- a/tvision/stream/sfileinf.cc
+++ b/rhtvision/stream/sfileinf.cc
diff --git a/tvision/stream/sfileinp.cc b/rhtvision/stream/sfileinp.cc
index 24fc160..24fc160 100644
--- a/tvision/stream/sfileinp.cc
+++ b/rhtvision/stream/sfileinp.cc
diff --git a/tvision/stream/sfilelis.cc b/rhtvision/stream/sfilelis.cc
index 40365b2..40365b2 100644
--- a/tvision/stream/sfilelis.cc
+++ b/rhtvision/stream/sfilelis.cc
diff --git a/tvision/stream/sfilterv.cc b/rhtvision/stream/sfilterv.cc
index cfd438d..cfd438d 100644
--- a/tvision/stream/sfilterv.cc
+++ b/rhtvision/stream/sfilterv.cc
diff --git a/tvision/stream/sframe.cc b/rhtvision/stream/sframe.cc
index b08f2b0..b08f2b0 100644
--- a/tvision/stream/sframe.cc
+++ b/rhtvision/stream/sframe.cc
diff --git a/tvision/stream/sgroup.cc b/rhtvision/stream/sgroup.cc
index 7d45da2..7d45da2 100644
--- a/tvision/stream/sgroup.cc
+++ b/rhtvision/stream/sgroup.cc
diff --git a/tvision/stream/shistory.cc b/rhtvision/stream/shistory.cc
index 5ad00f2..5ad00f2 100644
--- a/tvision/stream/shistory.cc
+++ b/rhtvision/stream/shistory.cc
diff --git a/tvision/stream/sindicat.cc b/rhtvision/stream/sindicat.cc
index 3d7b2ff..3d7b2ff 100644
--- a/tvision/stream/sindicat.cc
+++ b/rhtvision/stream/sindicat.cc
diff --git a/tvision/stream/sinputli.cc b/rhtvision/stream/sinputli.cc
index c86774a..c86774a 100644
--- a/tvision/stream/sinputli.cc
+++ b/rhtvision/stream/sinputli.cc
diff --git a/tvision/stream/slabel.cc b/rhtvision/stream/slabel.cc
index f05c225..f05c225 100644
--- a/tvision/stream/slabel.cc
+++ b/rhtvision/stream/slabel.cc
diff --git a/tvision/stream/slistbox.cc b/rhtvision/stream/slistbox.cc
index 249f531..249f531 100644
--- a/tvision/stream/slistbox.cc
+++ b/rhtvision/stream/slistbox.cc
diff --git a/tvision/stream/slistvie.cc b/rhtvision/stream/slistvie.cc
index 619c2cf..619c2cf 100644
--- a/tvision/stream/slistvie.cc
+++ b/rhtvision/stream/slistvie.cc
diff --git a/tvision/stream/slookupv.cc b/rhtvision/stream/slookupv.cc
index cc0662a..cc0662a 100644
--- a/tvision/stream/slookupv.cc
+++ b/rhtvision/stream/slookupv.cc
diff --git a/tvision/stream/smemo.cc b/rhtvision/stream/smemo.cc
index 72deb15..72deb15 100644
--- a/tvision/stream/smemo.cc
+++ b/rhtvision/stream/smemo.cc
diff --git a/tvision/stream/smenubar.cc b/rhtvision/stream/smenubar.cc
index a6abf62..a6abf62 100644
--- a/tvision/stream/smenubar.cc
+++ b/rhtvision/stream/smenubar.cc
diff --git a/tvision/stream/smenubox.cc b/rhtvision/stream/smenubox.cc
index fa0727e..fa0727e 100644
--- a/tvision/stream/smenubox.cc
+++ b/rhtvision/stream/smenubox.cc
diff --git a/tvision/stream/smenuvie.cc b/rhtvision/stream/smenuvie.cc
index cd4a362..cd4a362 100644
--- a/tvision/stream/smenuvie.cc
+++ b/rhtvision/stream/smenuvie.cc
diff --git a/tvision/stream/smonosel.cc b/rhtvision/stream/smonosel.cc
index 0cfe669..0cfe669 100644
--- a/tvision/stream/smonosel.cc
+++ b/rhtvision/stream/smonosel.cc
diff --git a/tvision/stream/sparamte.cc b/rhtvision/stream/sparamte.cc
index 9ceee1f..9ceee1f 100644
--- a/tvision/stream/sparamte.cc
+++ b/rhtvision/stream/sparamte.cc
diff --git a/tvision/stream/spxvalid.cc b/rhtvision/stream/spxvalid.cc
index a1f8cc3..a1f8cc3 100644
--- a/tvision/stream/spxvalid.cc
+++ b/rhtvision/stream/spxvalid.cc
diff --git a/tvision/stream/sradiobu.cc b/rhtvision/stream/sradiobu.cc
index 81f4249..81f4249 100644
--- a/tvision/stream/sradiobu.cc
+++ b/rhtvision/stream/sradiobu.cc
diff --git a/tvision/stream/srangeva.cc b/rhtvision/stream/srangeva.cc
index 69e99f2..69e99f2 100644
--- a/tvision/stream/srangeva.cc
+++ b/rhtvision/stream/srangeva.cc
diff --git a/tvision/stream/sresourc.cc b/rhtvision/stream/sresourc.cc
index 4bd502d..4bd502d 100644
--- a/tvision/stream/sresourc.cc
+++ b/rhtvision/stream/sresourc.cc
diff --git a/tvision/stream/sscrollb.cc b/rhtvision/stream/sscrollb.cc
index 6827634..6827634 100644
--- a/tvision/stream/sscrollb.cc
+++ b/rhtvision/stream/sscrollb.cc
diff --git a/tvision/stream/sscrolle.cc b/rhtvision/stream/sscrolle.cc
index 26f8ce9..26f8ce9 100644
--- a/tvision/stream/sscrolle.cc
+++ b/rhtvision/stream/sscrolle.cc
diff --git a/tvision/stream/sstatict.cc b/rhtvision/stream/sstatict.cc
index f222028..f222028 100644
--- a/tvision/stream/sstatict.cc
+++ b/rhtvision/stream/sstatict.cc
diff --git a/tvision/stream/sstatusl.cc b/rhtvision/stream/sstatusl.cc
index dfa77df..dfa77df 100644
--- a/tvision/stream/sstatusl.cc
+++ b/rhtvision/stream/sstatusl.cc
diff --git a/tvision/stream/sstringc.cc b/rhtvision/stream/sstringc.cc
index f3ec096..f3ec096 100644
--- a/tvision/stream/sstringc.cc
+++ b/rhtvision/stream/sstringc.cc
diff --git a/tvision/stream/sstringl.cc b/rhtvision/stream/sstringl.cc
index 5c92211..5c92211 100644
--- a/tvision/stream/sstringl.cc
+++ b/rhtvision/stream/sstringl.cc
diff --git a/tvision/stream/sview.cc b/rhtvision/stream/sview.cc
index 4d71107..4d71107 100644
--- a/tvision/stream/sview.cc
+++ b/rhtvision/stream/sview.cc
diff --git a/tvision/stream/swindow.cc b/rhtvision/stream/swindow.cc
index 74be814..74be814 100644
--- a/tvision/stream/swindow.cc
+++ b/rhtvision/stream/swindow.cc
diff --git a/tvision/update b/rhtvision/update
index 5cfdf3b..5cfdf3b 100755
--- a/tvision/update
+++ b/rhtvision/update
diff --git a/tvision/update.bat b/rhtvision/update.bat
index 90ec742..90ec742 100755
--- a/tvision/update.bat
+++ b/rhtvision/update.bat
diff --git a/tvision/version.txt b/rhtvision/version.txt
index ccbccc3..ccbccc3 100644
--- a/tvision/version.txt
+++ b/rhtvision/version.txt
diff --git a/tvision/win32/readme.txt b/rhtvision/win32/readme.txt
index 6dfa3b0..6dfa3b0 100644
--- a/tvision/win32/readme.txt
+++ b/rhtvision/win32/readme.txt
diff --git a/tvision/winnt/Makefile b/rhtvision/winnt/Makefile
index c7cd71b..c7cd71b 100644
--- a/tvision/winnt/Makefile
+++ b/rhtvision/winnt/Makefile
diff --git a/tvision/winnt/Makefile.nmk b/rhtvision/winnt/Makefile.nmk
index f65569a..f65569a 100644
--- a/tvision/winnt/Makefile.nmk
+++ b/rhtvision/winnt/Makefile.nmk
diff --git a/tvision/winnt/bccmake.in b/rhtvision/winnt/bccmake.in
index 5035b44..5035b44 100644
--- a/tvision/winnt/bccmake.in
+++ b/rhtvision/winnt/bccmake.in
diff --git a/tvision/winnt/include/msvc/dir.h b/rhtvision/winnt/include/msvc/dir.h
index 6be63ed..6be63ed 100644
--- a/tvision/winnt/include/msvc/dir.h
+++ b/rhtvision/winnt/include/msvc/dir.h
diff --git a/tvision/winnt/include/msvc/dirent.h b/rhtvision/winnt/include/msvc/dirent.h
index b5debca..b5debca 100644
--- a/tvision/winnt/include/msvc/dirent.h
+++ b/rhtvision/winnt/include/msvc/dirent.h
diff --git a/tvision/winnt/include/msvc/strstream.h b/rhtvision/winnt/include/msvc/strstream.h
index 694c39a..694c39a 100644
--- a/tvision/winnt/include/msvc/strstream.h
+++ b/rhtvision/winnt/include/msvc/strstream.h
diff --git a/tvision/winnt/include/tv/configtv.h b/rhtvision/winnt/include/tv/configtv.h
index 9d60de5..9d60de5 100644
--- a/tvision/winnt/include/tv/configtv.h
+++ b/rhtvision/winnt/include/tv/configtv.h
diff --git a/tvision/winnt/msvcmake.in b/rhtvision/winnt/msvcmake.in
index 35c831d..35c831d 100644
--- a/tvision/winnt/msvcmake.in
+++ b/rhtvision/winnt/msvcmake.in
diff --git a/tvision/winnt/obj_ms/delete.me b/rhtvision/winnt/obj_ms/delete.me
index 13340a4..13340a4 100644
--- a/tvision/winnt/obj_ms/delete.me
+++ b/rhtvision/winnt/obj_ms/delete.me
diff --git a/tvision/winnt/objs/delete.me b/rhtvision/winnt/objs/delete.me
index 13340a4..13340a4 100644
--- a/tvision/winnt/objs/delete.me
+++ b/rhtvision/winnt/objs/delete.me
diff --git a/tvision/winnt/readme.txt b/rhtvision/winnt/readme.txt
index c892df5..c892df5 100644
--- a/tvision/winnt/readme.txt
+++ b/rhtvision/winnt/readme.txt
diff --git a/tvision/winnt/tvex.cc b/rhtvision/winnt/tvex.cc
index 32900c5..32900c5 100644
--- a/tvision/winnt/tvex.cc
+++ b/rhtvision/winnt/tvex.cc
diff --git a/tvision/www-site/bvucs-n1.jpg b/rhtvision/www-site/bvucs-n1.jpg
index 9d33dc9..9d33dc9 100644
--- a/tvision/www-site/bvucs-n1.jpg
+++ b/rhtvision/www-site/bvucs-n1.jpg
Binary files differ
diff --git a/tvision/www-site/contrib.html b/rhtvision/www-site/contrib.html
index 3e79cbf..3e79cbf 100644
--- a/tvision/www-site/contrib.html
+++ b/rhtvision/www-site/contrib.html
diff --git a/tvision/www-site/envelp.gif b/rhtvision/www-site/envelp.gif
index fba0301..fba0301 100644
--- a/tvision/www-site/envelp.gif
+++ b/rhtvision/www-site/envelp.gif
Binary files differ
diff --git a/tvision/www-site/history.html b/rhtvision/www-site/history.html
index 7dc8c36..7dc8c36 100644
--- a/tvision/www-site/history.html
+++ b/rhtvision/www-site/history.html
diff --git a/tvision/www-site/index.html b/rhtvision/www-site/index.html
index 3c3ce47..3c3ce47 100644
--- a/tvision/www-site/index.html
+++ b/rhtvision/www-site/index.html
diff --git a/tvision/www-site/sf.css b/rhtvision/www-site/sf.css
index 115f0d8..115f0d8 100644
--- a/tvision/www-site/sf.css
+++ b/rhtvision/www-site/sf.css
diff --git a/tvision/www-site/update b/rhtvision/www-site/update
index fc0ed2c..fc0ed2c 100755
--- a/tvision/www-site/update
+++ b/rhtvision/www-site/update